-
Hello.Defensive módba fordult elõ ez a hiba.A következõ a gondom:
Playerid-ként alkalmazom ID-n a parancsot,Felolvasztja,SendClientMessage megérkezik,viszont visszaesik animba,és újra kiírja hogy *valaki* összeesik.
Itt lenne a parancs:
CMD:felsegit(playerid, params[])
{
if(sscanf(params, \"u\", id)) return SendClientMessage(playerid, PIROS, \"Használat: /felsegít < Név / Id >\");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, PIROS, \"A játékos nem elérheto!\");
if(Serult[id] == false) return SendClientMessage(playerid, PIROS, \"Az illetot nem kell felsegíteni!\");
if(id == playerid) return SendClientMessage(playerid, PIROS, \"Magadat nem segítheted fel!\");
new Float: sX, Float: sY, Float: sZ;
GetPlayerPos(id, sX, sY, sZ);
if(IsPlayerInRangeOfPoint(playerid, 1.5, sX, sY, sZ))
{
KillTimer(SerultTimer[id]);
KillTimer(DrogOff[id]);
Serult[id] = false;
uzi1[id] = 0;
pInfo[id][pAnimban] = 0;
animotkapot1[playerid] = 0;
animotkapot2[playerid] = 0;
ClearAnimations(id), SetPlayerSpecialAction(id, SPECIAL_ACTION_NONE);
TogglePlayerControllable(id, true);
SetPlayerDrunkLevel(id, 0);
SetPlayerWeather(id, 3);
SendClientMessage(playerid, NARANCS, \"Felsegítetted az illetot!\");
SendClientMessage(id, NARANCS, \"Felsegítettek!\");
}
else
{
SendClientMessage(playerid, PIROS, \"Az illeto nincs a közeledben!\");
}
return 1;
}
Esetleg tudna valaki segíteni?megköszönném...
-
CMD:felsegit(playerid, params[]) {
new Float:hp; GetPlayerHealth(playerid, hp);
if(hp < 75) return SendClientMessage(playerid, PIROS, \"Ilyen kevés HP-val nem használhatod!\");
if(sscanf(params, \"u\", id)) return SendClientMessage(playerid, PIROS, \"Használat: /felsegít < Név / Id >\");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, PIROS, \"A játékos nem elérhetõ!\");
if(id == playerid) return SendClientMessage(playerid, PIROS, \"Magadat nem segítheted fel!\");
if(Serult[id] == false) return SendClientMessage(playerid, PIROS, \"Az illetõt nem kell felsegíteni!\");
new Float: sX, Float: sY, Float: sZ; GetPlayerPos(id, sX, sY, sZ);
if(!IsPlayerInRangeOfPoint(playerid, 1.5, sX, sY, sZ)) SendClientMessage(playerid, PIROS, \"Az illetõ nincs a közeledben!\");
KillTimer(SerultTimer[id]);
KillTimer(DrogOff[id]);
SetPlayerHealth(id, 100);
Serult[id] = false;
uzi1[id] = 0;
pInfo[id][pAnimban] = 0;
animotkapot1[playerid] = 0;
animotkapot2[playerid] = 0;
ClearAnimations(id), SetPlayerSpecialAction(id, SPECIAL_ACTION_NONE);
TogglePlayerControllable(id, true);
SetPlayerDrunkLevel(id, 0);
SetPlayerWeather(id, 3);
SendClientMessage(playerid, NARANCS, \"Felsegítetted az illetõt!\");
SendClientMessage(id, NARANCS, \"Felsegítettek!\");
return 1;
}
-
Olyan formában lenne erre szükségem hogy mondjuk a HP hányadosának 30%-a hiányzik,azaz 70% vagy azalatt van az élete,akkor ne lehessen használni a parancsot.
-
Hello.Defensive módba fordult elõ ez a hiba.A következõ a gondom:
Playerid-ként alkalmazom ID-n a parancsot,Felolvasztja,SendClientMessage megérkezik,viszont visszaesik animba,és újra kiírja hogy *valaki* összeesik.
Itt lenne a parancs:
CMD:felsegit(playerid, params[])
{
if(sscanf(params, \"u\", id)) return SendClientMessage(playerid, PIROS, \"Használat: /felsegít < Név / Id >\");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, PIROS, \"A játékos nem elérheto!\");
if(Serult[id] == false) return SendClientMessage(playerid, PIROS, \"Az illetot nem kell felsegíteni!\");
if(id == playerid) return SendClientMessage(playerid, PIROS, \"Magadat nem segítheted fel!\");
new Float: sX, Float: sY, Float: sZ;
GetPlayerPos(id, sX, sY, sZ);
if(IsPlayerInRangeOfPoint(playerid, 1.5, sX, sY, sZ))
{
KillTimer(SerultTimer[id]);
KillTimer(DrogOff[id]);
Serult[id] = false;
uzi1[id] = 0;
pInfo[id][pAnimban] = 0;
animotkapot1[playerid] = 0;
animotkapot2[playerid] = 0;
ClearAnimations(id), SetPlayerSpecialAction(id, SPECIAL_ACTION_NONE);
TogglePlayerControllable(id, true);
SetPlayerDrunkLevel(id, 0);
SetPlayerWeather(id, 3);
SendClientMessage(playerid, NARANCS, \"Felsegítetted az illetot!\");
SendClientMessage(id, NARANCS, \"Felsegítettek!\");
}
else
{
SendClientMessage(playerid, PIROS, \"Az illeto nincs a közeledben!\");
}
return 1;
}
Esetleg tudna valaki segíteni?megköszönném...
-
CMD:felsegit(playerid, params[]) {
new Float:hp; GetPlayerHealth(playerid, hp);
if(hp < 75) return SendClientMessage(playerid, PIROS, \"Ilyen kevés HP-val nem használhatod!\");
if(sscanf(params, \"u\", id)) return SendClientMessage(playerid, PIROS, \"Használat: /felsegít < Név / Id >\");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, PIROS, \"A játékos nem elérhetõ!\");
if(id == playerid) return SendClientMessage(playerid, PIROS, \"Magadat nem segítheted fel!\");
if(Serult[id] == false) return SendClientMessage(playerid, PIROS, \"Az illetõt nem kell felsegíteni!\");
new Float: sX, Float: sY, Float: sZ; GetPlayerPos(id, sX, sY, sZ);
if(!IsPlayerInRangeOfPoint(playerid, 1.5, sX, sY, sZ)) SendClientMessage(playerid, PIROS, \"Az illetõ nincs a közeledben!\");
KillTimer(SerultTimer[id]);
KillTimer(DrogOff[id]);
SetPlayerHealth(id, 100);
Serult[id] = false;
uzi1[id] = 0;
pInfo[id][pAnimban] = 0;
animotkapot1[playerid] = 0;
animotkapot2[playerid] = 0;
ClearAnimations(id), SetPlayerSpecialAction(id, SPECIAL_ACTION_NONE);
TogglePlayerControllable(id, true);
SetPlayerDrunkLevel(id, 0);
SetPlayerWeather(id, 3);
SendClientMessage(playerid, NARANCS, \"Felsegítetted az illetõt!\");
SendClientMessage(id, NARANCS, \"Felsegítettek!\");
return 1;
}
-
Olyan formában lenne erre szükségem hogy mondjuk a HP hányadosának 30%-a hiányzik,azaz 70% vagy azalatt van az élete,akkor ne lehessen használni a parancsot.
-
if(hp < 75) return SendClientMessage(playerid, PIROS, \"Ilyen kevés HP-val nem használhatod!\");
75-öt írd át 70-re.
-
Ez effektíven miben lesz jobb?Nem javítódik a hiba mert nincs külön változó létrehozva a sérülés mértékére...Így mentõs frakcióra sincs szükség kb...
-
new Float:hp; GetPlayerHealth(playerid, hp);
Szerinted ez mi?
Lekérdezi a playerid életének %-át (azért Float), aztán meg ha 70 alatt van a játékos élete akkor a parancs nem végrehajtható. Nem ezt szeretnéd elérni?
-
Úristen.Mekkora majom vagyok :DDDD Bocsánatot kérek,rohadt fáradt vagyok...Annyi kérdésem lenne hogy miért 70?Miért nem jó adott esetben a 70?
Továbbá mi okozza a visszaesést?:s
-
Serult[playerid] = false;
Ennyi kell bele.
-
Majd megprobalom.koszonom :)