habarko
Ученик
Здравствуйте уважаемые пользователи pawno-info! Сегодня я вам покажу, как сделать усовершенствованную систему конопли для мода RLS. Если где-то нету оптимизации не пишите про это сюда, потому-что павно начал учить недавно.
В enum pInfo
Ко всем new
Потом в public OnGameModeInit
В public OnDialogResponse
Далее в public OnPlayerPickUpPickup(playerid, pickupid)
Потом в public OnPlayerEnterCheckpoint
Далее в public OnPlayerRegister
Потом в public OnPlayerUpdateRL(playerid)
Теперь создадим команду для просмотра кол-ва конопли в public OnPlayerCommandText(playerid, cmdtext[])
Создадим команду для продажи конопли в нарко-притоне.
Тоже в public OnPlayerCommandText(playerid, cmdtext[])
Вот и всё теперь когда вы соберете коноплю она у вас будет сохранатся при выходе с сервера.
Кому пригодилось ставим "Cпасибо"
В enum pInfo
PHP:
pKonop,
PHP:
new pickkonop[7];
new konop1[MAX_PLAYERS][5];
PHP:
pickkonop[1] = CreatePickup(1578, 2, 2456.6504,-1719.0106,13.5927);//// пикапы находятся на грув ст. за домом Райдера
pickkonop[2] = CreatePickup(1578, 2, 2461.0623,-1714.6681,13.5317);
pickkonop[3] = CreatePickup(1578, 2, 2456.7336,-1709.2535,13.5891);
pickkonop[4] = CreatePickup(1578, 2, 2451.7156,-1713.1641,13.6611);
pickkonop[5] = CreatePickup(1578, 2, 2466.2634,-1709.7363,13.4999);
pickkonop[6] = CreatePickup(1578, 2, 2468.5083,-1713.5162,13.5008);
PHP:
case 103434:
{
if(response)
{
if(listitem == 0)
{
ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.1,0,1,1,1,1);///===анимация
new randomgift = random(6);
if(randomgift == 0)
{
PlayerInfo[playerid][pKonop] += 6;
}
else if(randomgift == 1)
{
PlayerInfo[playerid][pKonop] += 5;
}
else if(randomgift == 2)
{
PlayerInfo[playerid][pKonop] += 7;
}
else if(randomgift == 3)
{
PlayerInfo[playerid][pKonop] += 1;
}
else if(randomgift == 4)
{
PlayerInfo[playerid][pKonop] += 2;
}
else if(randomgift == 5)
{
PlayerInfo[playerid][pKonop] += 3;
}
else if(randomgift == 6)
{
PlayerInfo[playerid][pKonop] += 4;
}
new giftname[256];
switch(randomgift)
{
case 0:giftname = "Вы сорвали 6 листов конопли";
case 1:giftname = "Вы сорвали 5 листов конопли";
case 2:giftname = "Вы сорвали 7 листов конопли";
case 3:giftname = "Вы сорвали 1 лист конопли";
case 4:giftname = "Вы сорвали 2 листа конопли";
case 5:giftname = "Вы сорвали 3 листа конопли";
case 6:giftname = "Вы сорвали 4 листов конопли";
}
format(string, sizeof(string), "%s",giftname);
SendClientMessage(playerid, COLOR_YELLOW2, string);
return 1;
}
if(listitem == 1)
{
konop1[playerid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "Начинай собирать кусты");
SetPlayerCheckpoint(playerid,2465.6406,-1711.9458,13.5015,3.0);
return 1;
}
}
}
PHP:
if(pickupid == pickkonop[1])
{
ShowPlayerDialog(playerid, 103434, DIALOG_STYLE_LIST, "Действия", "Собрать один куст\nСобрать несколько кустов", "Ок", "Отмена");
}
if(pickupid == pickkonop[2])
{
ShowPlayerDialog(playerid, 103434, DIALOG_STYLE_LIST, "Действия", "Собрать один куст\nСобрать несколько кустов", "Ок", "Отмена");
}
if(pickupid == pickkonop[3])
{
ShowPlayerDialog(playerid, 103434, DIALOG_STYLE_LIST, "Действия", "Собрать один куст\nСобрать несколько кустов", "Ок", "Отмена");
}
if(pickupid == pickkonop[4])
{
ShowPlayerDialog(playerid, 103434, DIALOG_STYLE_LIST, "Действия", "Собрать один куст\nСобрать несколько кустов", "Ок", "Отмена");
}
if(pickupid == pickkonop[5])
{
ShowPlayerDialog(playerid, 103434, DIALOG_STYLE_LIST, "Действия", "Собрать один куст\nСобрать несколько кустов", "Ок", "Отмена");
}
if(pickupid == pickkonop[6])
{
ShowPlayerDialog(playerid, 103434, DIALOG_STYLE_LIST, "Действия", "Собрать один куст\nСобрать несколько кустов", "Ок", "Отмена");
}
PHP:
if(konop1[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
konop1[playerid] = 0;
konop2[playerid] = 1;
SetPlayerCheckpoint(playerid,2456.9463,-1711.7218,13.5867,3.0);
return 1;
}
if(konop2[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
konop2[playerid] = 0;
konop3[playerid] = 1;
SetPlayerCheckpoint(playerid,2452.8984,-1716.2993,13.6452,3.0);
return 1;
}
if(konop3[playerid] == 1) //
{
DisablePlayerCheckpoint(playerid);
konop3[playerid] = 0;
konop4[playerid] = 1;
SetPlayerCheckpoint(playerid,2449.0891,-1710.4269,13.7042,3.0);
return 1;
}
if(konop4[playerid] == 1) //
{
DisablePlayerCheckpoint(playerid);
konop4[playerid] = 0;
konop5[playerid] = 1;
SetPlayerCheckpoint(playerid,2458.8767,-1711.3588,13.5593,3.0);
return 1;
}
if(konop5[playerid] == 1) //
{
DisablePlayerCheckpoint(playerid);
konop5[playerid] = 0; //
PlayerInfo[playerid][pKonop] += 22;
SendClientMessage(playerid, COLOR_WHITE,"Вы собрали 22 листа конопли");
return 1;
}
PHP:
ini_setInteger(File,"Konopla",PlayerInfo[playerid][pKonop]);
PHP:
ini_setInteger(File,"Konopla",PlayerInfo[playerid][pKonop]);
PHP:
if (strcmp("/ruk", cmdtext, true, 10) == 0)
{
new konopl = PlayerInfo[playerid][pKonop];
new coordsstring[1200];
new msg[] = "Конопля: {8A8A8A}%d";
format(coordsstring, 1000, msg, konopl);
ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_MSGBOX,"Рюкзак",coordsstring,"Ок","");
}
Тоже в public OnPlayerCommandText(playerid, cmdtext[])
PHP:
if(strcmp(cmd,"/sellhemp",true)==0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /sellhemp [количество]");
if(PlayerToPoint(3.0,playerid,322.1280,1118.8314,1083.8828))
{
new hemp;
hemp = strval(tmp);
if(PlayerInfo[playerid][pKonop] >= 100) { SendClientMessage(playerid, COLOR_GREY, "Нельзя продать больше"); return 1; }
if(hemp > 100 || hemp < 1) { SendClientMessage(playerid, COLOR_GREY, "Нельзя меньше 1 или больше 100!"); return 1; }
if(PlayerInfo[playerid][pKonop] < hemp) { SendClientMessage(playerid, COLOR_GREY, "У вас нет столько конопли"); return 1; }
PlayerInfo[playerid][pCash] +=hemp*35;
PlayerInfo[playerid][pKonop] -= hemp;
format(string, sizeof(string), "Вы продали %d листов конопли", hemp,hemp*35);
SendClientMessage(playerid, 0x6495EDFF, string);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Вы не в притоне");
return 1;
}
}
return 1;
}
Кому пригодилось ставим "Cпасибо"
Последнее редактирование:
