Maxim_Shmakov
Компетентный
Помогите, при использовании нарко (/usedrugs) если наркозависимость становится более 1000, то начинается ломка
То что начинается ломка это нормально, но если я снова принимаю дозу то ломка не проходит, просто бесконечно спамит это сообщение в чат.
Вот сама команда usedrugs
PHP:
if(PlayerLomkaTime[i] > 0)
{
GetPlayerName(i,sendername,sizeof(sendername));
PlayerLomkaTime[i] --;
if(PlayerLomkaTime[i] == 0)
{
TogglePlayerControllable(i,1);
ClearAnimations(i);
format(string, sizeof(string), "%s очнулся", sendername);
ProxDetector(30.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
}
if(PlayerInfo[i][pNarcoZavisimost] > 1000)
{
PlayerInfo[i][pNarcoLomka] --;
if(PlayerLomkaTime[i] == 0)
{
GetPlayerName(i,sendername,sizeof(sendername));
ApplyAnimation(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
SendClientMessage(i,COLOR_REDD,"--== У Вас началась ломка ==--");
SendClientMessage(i,COLOR_WHITE,"[1] Принять дозу: /usedrugs [2] Вызвать скорую: /c ");
PlayerInfo[i][pNarcoLomka] = 400;
}
}
Вот сама команда usedrugs
if(strcmp(cmdtext, "/usedrugs", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pDrugs] >= 1)
{
new Float:health;
GetPlayerHealth(playerid, health);
narkotimer = SetTimerEx( "NarkoTimer", 15000 , false, "i", playerid);
if(health >= 160) { SetPlayerWeather(playerid, -68); PlayerStoned[playerid] = 0;}
if(PlayerInfo[playerid]PHP:>=160) { return 1;} SetPlayerHealthAC(playerid, health + 20.0); PlayerInfo[playerid][pHP] +=20; SetPlayerTime(playerid,17,0); //noon SetPlayerWeather(playerid, -68); PlayerStoned[playerid] += 1; PlayerInfo[playerid][pDrugs] -= 1; PlayerInfo[playerid][pKongfuSkill] -=50; PlayerInfo[playerid][pBoxSkill] -= 50; PlayerInfo[playerid][pKickboxSkill] -= 50; SetPlayerDrunkLevel (playerid, 3000); GetPlayerName(playerid, sendername, sizeof(sendername)); 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); if(startnarko[playerid] == 1) { startnarko[playerid] = 0; ApplyAnimation(playerid,"SMOKING","M_smk_drag",4.1,0,0,0,0,0,1); send[playerid] = 0; } SetPlayerWeather(playerid, -68); PlayerInfo[playerid][pNarcoZavisimost] += 5; PlayerInfo[playerid][pNarcoZavisimost] += 5; //SetPlayerSpecialAction(playerid,21); } else { SendClientMessage(playerid, COLOR_GREY, "Не достаточно наркотиков!"); } }//not connected return 1; }[/QUOTE] Как сделать что бы после очередного употребления нарко ломка кончалась и через определенное время начиналась.
