Jordan_Adams
Новичок
Здравствуйте, нужна команда с usedrugs как на samp-rp, киньте пожалуйста, у кого есть, у меня не работает.
Делал всё как тут, но баги есть, ибо вырезано с РЛС:
В конец мода.
Это всё я сделал, ошибки исправил, но когда захожу в игру, первое - пополняет ХП до 280+, так же имеется баг с погодой - не убирается.
Делал всё как тут, но баги есть, ибо вырезано с РЛС:
PHP:
if(strcmp(cmd, "/usedrugs", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREY, "Введите: /usedrugs [количество]");
new moneys2 = strval(tmp);
new Float:health;
GetPlayerHealth(playerid, health);
new ammount;
if(GetPVarInt(playerid, "DrugsTime") > gettime()) return SendClientMessage(playerid, COLOR_GREY, "{F70000}x{ADAEAD} Употре***ть наркотики можно раз в 10 секунд!");
if(PlayerInfo[playerid][pDrugs] < moneys2) return SendClientMessage(playerid, COLOR_GREY, "{F70000}x{ADAEAD} Недостаточно наркотиков!");
switch(moneys2)
{
case 1..3:
{
SetTimerEx("DrugEffectGone", 60000, false, "i", playerid);
if(health < 120){ SetPlayerHealthNoCheat(playerid, health+10*moneys2); }
}
case 4..5:
{
if(PlayerInfo[playerid][pNarcoZavisimost] < 1500)return SendClientMessage(playerid, COLOR_GREY, "{F70000}x{ADAEAD} Неверное количество");
SetTimerEx("DrugEffectGone", 120000, false, "i", playerid);
if(health < 130){ SetPlayerHealthNoCheat(playerid, health+10*moneys2); }
}
case 6..8:
{
if(PlayerInfo[playerid][pNarcoZavisimost] < 2300)return SendClientMessage(playerid, COLOR_GREY, "{F70000}x{ADAEAD} Неверное количество");
SetTimerEx("DrugEffectGone", 180000, false, "i", playerid);
if(health < 140){ SetPlayerHealthNoCheat(playerid, health+10*moneys2); }
}
case 9,10:
{
if(PlayerInfo[playerid][pNarcoZavisimost] < 3500)return SendClientMessage(playerid, COLOR_GREY, "{F70000}x{ADAEAD} Неверное количество");
SetTimerEx("DrugEffectGone", 210000, false, "i", playerid);
if(health < 150){ SetPlayerHealthNoCheat(playerid, health+10*moneys2); }
}
case 11..15:
{
if(PlayerInfo[playerid][pNarcoZavisimost] < 5000)return SendClientMessage(playerid, COLOR_GREY, "{F70000}x{ADAEAD} Неверное количество");
SetTimerEx("DrugEffectGone", 300000, false, "i", playerid);
if(health < 160){ SetPlayerHealthNoCheat(playerid, health+10*moneys2); }
}
}
if(PlayerInfo[playerid][pDrugs] >= ammount)
{
if(PlayerInfo[playerid][p HP] >= 160)
{
SetPlayerWeather(playerid, -68);
PlayerStoned[playerid] = 0;
}
}
SetPlayerWeather(playerid, -68);//даём ефект под кайфом
PlayerStoned[playerid] += 1;//нарколомка
PlayerInfo[playerid][pDrugs] -= moneys2;//отнимаем нарко
ApplyAnimation(playerid,"SMOKING","M_smk_drag",4.1,0,0,0,0,0,1);//даём анимку типо глатает нарко
format(string,sizeof(string), "употребил(a) наркотики");//пишем над башкой
SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);//пишем над башкой
PlayerInfo[playerid][pNarcoZavisimost] += moneys2*20;//прибавляем наркозависимость
SetPVarInt(playerid, "DrugsTime", gettime()+10);//для ограничения
format(string, sizeof(string), "(( Здоровье пополнено до: %.1f ))", PlayerHealth[playerid]);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "%s употребил(а) наркотики", sendername);//пишем в чат
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);//пишем в чат
}
return true;
}
PHP:
forward DrugEffectGone(playerid);
public DrugEffectGone(playerid)
{
new time[3];
new pogoda;
gettime(time[0], time[1], time[2]);
SetPlayerTime(playerid, time[0], time[1]);
SetPlayerWeather(playerid, pogoda);
SetPlayerDrunkLevel (playerid, 0);
return 1;
}
