Maks_Fender
Компетентный
Когда употре***ешь наркотики (/usedrugs) эффект от него не пропадает до тех пор, пока не наступит PayDay или не сменится погода. Как сделать так, чтобы например, 10 секунд шел эффект?
PHP:
else if(strcmp(cmd,"/usedrugs",true)==0)
{
if(PlayerPaintballing[playerid] != false) return SendMe(playerid, CGRADD, NotFunkcia);
if(PlayerToPoint(40.0,playerid,2398.0242,-1632.5675,858.9211) && GetPlayerVirtualWorld(playerid) ==1) return SendMe(playerid, CGRADD, "Команда недоступна на территори больницы");
if(GetPVarInt(playerid,"Antiusedrugs") > gettime() ) return SendMe(playerid, CGRADD, "Вы слишком часто употре***ете, подождите 10 секунд.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendMe(playerid, 0x00D900C8, "- Подсказка:{FFFFFF} /usedrugs [количество]");
new ammo;
ammo = strval(tmp);
if(PINFO[playerid][pDrugs] < ammo) return SendMe(playerid,CGRADD,"У вас нет столько наркотиков");
if(ammo > 7 || ammo < 1) return SendMe(playerid, 0x00D900C8, "Подсказка: {FFFFFF}Допустимые значения: 1 - 7");
SendMes(playerid,-1,"Вы употребили %i грамм(а) наркотиков",ammo);
new Float:health;
GetPlayerHealth(playerid, health);
PINFO[playerid][pDrugs] -= ammo;
if(health <= 160)
{
SetPlayerHealthAC(playerid, health + ammo*10);
format(string,sizeof(string),"~g~ +%i HP",ammo*10);
GameTextForPlayer(playerid, string, 1000, 1);
}
if(PINFO[playerid][pNZavism] < 2000)
{
if(health > 120)
{
SetPlayerHealthAC(playerid, 120.0);
}
}
else if (PINFO[playerid][pNZavism] < 3000)
{
if(health > 130)
{
SetPlayerHealthAC(playerid, 130.0);
}
}
else if (PINFO[playerid][pNZavism] < 4000)
{
if(health > 140)
{
SetPlayerHealthAC(playerid, 140.0);
}
}
else if (PINFO[playerid][pNZavism] < 5000)
{
if(health > 150)
{
SetPlayerHealthAC(playerid, 150.0);
}
}
else if (PINFO[playerid][pNZavism] > 5000)
{
if(health > 160)
{
SetPlayerHealthAC(playerid, 160.0);
}
}
SetPlayerDrunkLevel (playerid, ammo*500);
if(GetPVarInt(playerid,"startnarko") == 1)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { ApplyAnimation(playerid,"SMOKING","M_smk_drag",4.1,0,1,1,0,0,1); }
SetPVarInt(playerid, "startnarko", 0);
PlayerStoned[playerid] = 0;
}
if(PINFO[playerid][pNZavism] < 3000)
{
SetPlayerTime(playerid,12,0); //noon
SetPlayerWeather(playerid, -68);
}
PlayerStoned[playerid] += ammo;
if(PlayerStoned[playerid] >=25)
{
SendMe(playerid, CREDD, "Вы приняли слишком много наркотиков! Передозировка");
SendMe(playerid, CYELLOW, "Примите наркотик или вызовите медика");
SetPVarInt(playerid, "startnarko", 1);
}
KillTimer(Timer_Drugs[playerid]);
Timer_Drugs[playerid] = SetTimerEx("DrugsEffect_OFF" , 120000, false, "i", playerid);//
SetPlayerChatBubble(playerid,"употребил(a) наркотики",0xC2A2DAAA,20.0,10000);
format(string, sizeof(string), "%s употребил(а) наркотики",GN(playerid));
ProxDetector(25.0, playerid, string, 0xC2A2DAAA,0xC2A2DAAA,0xC2A2DAAA,0xC2A2DAAA,0xC2A2DAAA);
PINFO[playerid][pNZavism] += ammo;
SetPVarInt(playerid,"Antiusedrugs",gettime() + 10);
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { ApplyAnimation(playerid,"SMOKING","M_smk_drag",4.1,0,0,0,0,0,1); }
return true;
}
