Косой_Карлик
Умник
у команду /usedrugs некорректно выдается хп, ставлю себе хп 1, начинаю использовать /usedrugs 1 выдает по 5 хп до 96 потом сколько угодно используй команду не выдает хп, если даже зависимость увеличить и использовать по 15 все равно выдает не правильно.
C++:
CMD:usedrugs(playerid,params[])
{
if(sscanf(params, "i", params[0]))
return SendClientMessage(playerid, -1,"Используйте: /usedrugs [количество]");
new str[128];
if(GetPVarInt(playerid, "on_dmarena"))
return SendClientMessage(playerid, COLOR_GREY, !"Ошибка: Вы на дм арене.");
if(params[0] > 15 || params[0] < 1)
return SendClientMessage(playerid, COLOR_GREY,!"Ошибка: Доступно только от 1 до 15 грамм");
/*if(GetPVarInt(playerid,"AntiFloodDrugs") > gettime()){
format(str,sizeof(str),"Доступно через %d секунд",GetPVarInt(playerid,"AntiFloodDrugs")-gettime());
return SendClientMessage(playerid,COLOR_GREY,str);
}*/
new Float:health,
drug_addict;
GetPlayerHealth(playerid,health);
if(PlayerInfo[playerid][pDrugs] < params[0]) return SendClientMessage(playerid, COLOR_GREY,"Недостаточно наркотиков");
switch(params[0]) {
case 1: drug_addict = 0;
case 10..15: drug_addict = 1000;
default: drug_addict = params[0]*100;
}
if(PlayerInfo[playerid][pNarcoLomka] < drug_addict) {
format(str,sizeof(str),"Ошибка: Ваша наркозависимость меньше %d", drug_addict);
return SendClientMessage(playerid, COLOR_GREY, str);
}
if(health + params[0]*5 <= 100)
SetPlayerHealthAC(playerid, health + params[0]*5);
PlayerInfo[playerid][pDrugs] -= params[0];
PlayerInfo[playerid][pSatiety] -= 1*params[0];
PlayerInfo[playerid][pNarcoLomka] += params[0];
SetPlayerDrunkLevel(playerid, params[0] > 9 ? 5000 : params[0] * 500);
//
GetPlayerHealth(playerid, health);
SendClientMessage(playerid, -1,"");
SendMes(playerid, -1, "Здоровье пополнено на: %0.0f", health);
SendMes(playerid, -1, "Вы приняли %d грамм наркотиков", params[0]);
SendMes(playerid, -1, "Осталось грамм наркотиков при себе %d", PlayerInfo[playerid][pDrugs]);
SendClientMessage(playerid, -1,"");
SetPlayerChatBubble(playerid,"употребил(-а) наркотик",COLOR_PURPLE,30.0,10000);
//
if(PlayerCuffed[playerid] == 0)
{
switch(random(3)){
case 0: FIXES_ApplyAnimation(playerid, "SMOKING", "M_smk_drag", 4.1, 0, 0, 0, 0, 0, 1);
case 1: FIXES_ApplyAnimation(playerid, "SMOKING", "M_smk_in", 3.0, 0, 0, 0, 0, 0);
case 2: FIXES_ApplyAnimation(playerid,"SMOKING","M_SMK_DRAG" ,4.0,0,0,0,0,0, 1);
}
AntiSbiv[playerid] = gettime()+10;
SetPlayerAttachedObject(playerid, 7, 3027, 6, 0.103999,0.022999,0.018999,-37.600025,24.899974,55.599994,1.000000,1.000000,1.000000);
HealmeObject[playerid] = 30;
}
usegrugss[playerid] = 1;
narkotimer = SetTimerEx( "NarkoTimer", 10000 , false, "i", playerid);
if(startnarko[playerid] == 1)
{
startnarko[playerid] = 0;
if(PlayerCuffed[playerid] == 0) { ApplyAnimation(playerid,"SMOKING","M_smk_drag",4.1,0,0,0,0,0,1);
}
send[playerid] = 0;
}
SetPlayerTime(playerid, 17, 0);
SetPlayerWeather(playerid, -68);
new hour, minute;
gettime(hour, minute);
SetPlayerTime(playerid, hour, minute);
UpdatePlayerHunger(playerid);
UpdatePlayerInv(playerid);
SetPVarInt(playerid, "DrugsObj", 5);
SetTimerEx("drug_effect", 30000, false, "i", playerid);
SetTimerEx( "usedrugssTimer", 4000 , false, "i", playerid);
//SetPVarInt(playerid,"AntiFloodDrugs",gettime() + 60);
return true;
}
