Problema DMG -
None1337 - 27.08.2017
Salut, am pus o restrictie atunci cand jucatorul are /freeze nimeni sa nu ii poata lua DMG, insa nu stiu de ce..
Uitati codul meu:
Am pus la OnPlayerGiveDamage
Код:
if(PlayerInfo[damagedid][pFreezeTime] != 0)
{
amount = 0;
}
Re: Problema DMG -
10MIN - 27.08.2017
Ia incearca asa:
Код:
if(PlayerInfo[damagedid][pFreezeTime] != 0)
{
new Float:burduf_hp; //ignora numele, ii pus asa ca poate mai ai hp definit pe undeva
GetPlayerHealth(damagedid,burduf_hp);
SetPlayerHealth(damagedid, (burduf_hp + amount ) ); //am pus 2 paranteze ca sa fiu sigur ca iese cum trebuie
}
Re: Problema DMG -
None1337 - 27.08.2017
E ok merge, insa mai o intrebare. Daca as pune de exemplu la OnPlayerGiveDamage jos de tot ceva de genu
Код:
if(amount == 0)
{
new hp;
GetPlayerHealth(playerid, hp);
SetPlayerHealthEx(playerid,hp);
}
Ar fi ok, ar functiona corect pentru tot publicul OnPlayerGiveDamage?
Spun asta pentru ca am mai multe in cod in care trebuie sa nu primeasca jucatorul dmg..si de aceea as vrea sa fac acest lucru.
Re: Problema DMG -
10MIN - 27.08.2017
Pai daca amount = 0 (foarte imposibil) nu cred ca OnPlayerGiveDamage ar fi executat...
Cea mai simpla metoda e ca in cealalta postare a mea, poti sa o "expandezi" dupa modelul asta:
Код:
if(god[blabla] || PlayerInfo[blabla][pAdmin] || disabled damage) //Si asa mai departe.....
Re: Problema DMG -
None1337 - 28.08.2017
Nu prea inteleg.
Cum am zis, eu am ceva de genu
Код:
if(gMember(playerid) == gMember(damageid))
{
amount = 0;
return 0;
}
Corect? Ar trebui sa nu ii ia hp. Insa ii IA
Varianta care ai spus-o tu e ok, e buna, insa problema e ca am mai multe din astea cu amount = 0, si ar sta sa faca o gramada de verificari in anumite cazuri, si nu prea as vrea asta.
Re: Problema DMG -
10MIN - 29.08.2017
Pai poti sa faci if-urile cu multe conditii. De exemplu:
PHP код:
if(a = b || c > b || a > c)
Si poti sa le faci pe toate intr-un if. RETINE: Semnul || inseamna "sau" intr-un if...
Re: Problema DMG -
DimaShift - 30.09.2017
OnPlayerTakeDamage e mai bun decit OnPlayerGiveDamage
Re: Problema DMG -
KessMan - 04.10.2017
Varianta corecta pentru aceasta problema este folosirea callback-ului "OnPlayerWeaponShot".
Returneaza cu 0 (return 0
daca vrei sa nu mai primeasca Damage sub nici-o forma. (Exceptii explozie si uciderea de cutit (pe la spate cu Knife))