oTmOpo3oK
Ученик
Вот когда то сам делал общаки,решил выложить сюда уроком, т.к. люди смотрю интересуются.
1.Содаём переменные в начале мода
числов с квадратных скобках (индекс) можно менять при желании добавить общак для очередной банды/мафии.
2.Теперь создадим файл в котором будут сохраняться данные,рассмотрим на примере мафии РМ
3.Так теперь создадим пикап с диалогом
4.Дальше идём в public OnPlayerPickUpPickup(playerid, pickupid)
и создаём в нём диалог
дальше идём в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
и делаем там вот что:
ну вот вроде и всё.
Если помог ставь +
1.Содаём переменные в начале мода
PHP:
new obwyak[0];
new GangMoney[0];
new GangDrugs[0];
new GangMats[0];
2.Теперь создадим файл в котором будут сохраняться данные,рассмотрим на примере мафии РМ
PHP:
public LoadRM()
{
new arrCoords[15][64];
new strFromFile2[256];
new File: file = fopen("[obwyak]/rm.ini", io_read);
if (file)
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
GangMoney[0] = strval(arrCoords[0]);
GangDrugs[0] = strval(arrCoords[1]);
GangMats[0] = strval(arrCoords[2]);
fclose(file);
if(Security == 0 || Security == 1)
{
}
else
{
GameModeExit();
}
}
else
{
GameModeExit();
}
return 1;
}
public SaveRM()
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d,%d,%d", GangMoney[10], GangDrugs[10], GangMats[10]);
new File: file2 = fopen("[obwyak]/rm.ini", io_write);
fwrite(file2, coordsstring);
fclose(file2);
return 1;
}
PHP:
obwyak[0] = CreatePickup(1239,2, -2715.1563,-311.9225,7.1764);
и создаём в нём диалог
PHP:
if(pickupid == obwyak[10])
{
new s[512];
format(s,sizeof(s),"Деньги\nНаркотики\nМатериалы");
ShowPlayerDialog(playerid,340,DIALOG_STYLE_LIST,"Russian Mafia",s,"Открыть","Отмена");
}
и делаем там вот что:
PHP:
//******************************************************************************
//============================================================================rm
//******************************************************************************
if(dialogid == 440)
{
if(response)
{
//---------------------------------------------money----------------------------
if(listitem == 0)
{
format(string, sizeof(string), "Положить\nВзять\nПросмотреть");
ShowPlayerDialog(playerid,4400,2,"Деньги",string,"Дальше","Отмена");
}
//---------------------------------------------drugs----------------------------
if(listitem == 1)
{
format(string, sizeof(string), "Положить\nВзять\nПросмотреть");
ShowPlayerDialog(playerid,4401,2,"Наркотики",string,"Дальше","Отмена");
}
//--------------------------------------------mats------------------------------
if(listitem == 2)
{
format(string, sizeof(string), "Положить\nВзять\nПросмотреть");
ShowPlayerDialog(playerid,4402,2,"Материалы",string,"Дальше","Отмена");}
//--------------------------------------------resp------------------------------
}
}
//==============================================================================
if(dialogid == 4400)
{
if(response)
{
if(listitem == 0)
{
format(string, sizeof(string), "Сумма деняг");
ShowPlayerDialog(playerid,4404,1,"Отдать банде",string,"Отдать","Назад");
}
if(listitem == 1)
{
format(string, sizeof(string), "Взять денги");
ShowPlayerDialog(playerid,4405,1,"Взять с склада",string,"Взять","Назад");
}
if(listitem == 2)
{
LoadRM();
format(string, sizeof(string), "У вашей банды %d доларов", GangMoney[10]);
SendClientMessage(playerid, COLOR_GREEN, string);
SaveRM();
}
}
}
if(dialogid == 4404)
{
if(response)
{
LoadRM();
new cashdeposit = strval(inputtext);
if (cashdeposit > GetPlayerMoney(playerid) || cashdeposit < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, " Вы не имеете так много ! ");
}
else
{
GivePlayerMoney(playerid,-cashdeposit);
format(string, sizeof(string), " Вы положили %d в общяк банды ", cashdeposit);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
new babki = GangMoney[10] + cashdeposit;
GangMoney[10] = babki;
SaveRM();
return 1;
}
}
}
if(dialogid == 4405)
{
if(response)
{
LoadRM();
new cashdeposit = strval(inputtext);
if(PlayerInfo[playerid][pMember] == 20 && PlayerInfo[playerid][pRank] < 7 || PlayerInfo[playerid][pLeader] == 20)
{
if (cashdeposit > GangMoney[10] || GangMoney[10] < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, " У банды нет столько ");
}
else
{
GivePlayerMoney(playerid,cashdeposit);
format(string, sizeof(string), " Вы взяли %d с общяка банды ", cashdeposit);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
new babki = GangMoney[10] - cashdeposit;
GangMoney[10] = babki;
SaveRM();
return 1;
}
}
else
{
SendClientMessage(playerid,COLOR_RED, "Вам нужен 7 ранг");
return 1;
}
}
}
Если помог ставь +
Последнее редактирование:
