Problema DMG
#1

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;
        }
Reply
#2

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
}
Reply
#3

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.
Reply
#4

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.....
Reply
#5

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.
Reply
#6

Pai poti sa faci if-urile cu multe conditii. De exemplu:
PHP код:
if(|| || c
Si poti sa le faci pe toate intr-un if. RETINE: Semnul || inseamna "sau" intr-un if...
Reply
#7

OnPlayerTakeDamage e mai bun decit OnPlayerGiveDamage
Reply
#8

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))
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)