Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Усовершенствованная система конопли

Статус
В этой теме нельзя размещать новые ответы.

habarko

Ученик
Здравствуйте уважаемые пользователи pawno-info! Сегодня я вам покажу, как сделать усовершенствованную систему конопли для мода RLS. Если где-то нету оптимизации не пишите про это сюда, потому-что павно начал учить недавно.

В enum pInfo
PHP:
    pKonop,
Ко всем new
PHP:
new pickkonop[7];
new konop1[MAX_PLAYERS][5];
Потом в public OnGameModeInit
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);
В public OnDialogResponse

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;
                          }
           }
}
Далее в public OnPlayerPickUpPickup(playerid, pickupid)

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Собрать несколько кустов", "Ок", "Отмена");
    }
Потом в public OnPlayerEnterCheckpoint

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;
}
Далее в public OnPlayerRegister

PHP:
ini_setInteger(File,"Konopla",PlayerInfo[playerid][pKonop]);
Потом в public OnPlayerUpdateRL(playerid)

PHP:
ini_setInteger(File,"Konopla",PlayerInfo[playerid][pKonop]);
Теперь создадим команду для просмотра кол-ва конопли в public OnPlayerCommandText(playerid, cmdtext[])

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пасибо"
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу