Neveikia žalos padidinimas

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Neveikia žalos padidinimas

Post by xFrostas »

Kodėl neveikia žalos didinimas? Pats kodas suveikia, nes parašo tekstą. Ir dar kai jis suveikia nebeišsijungia, kaskart rašo tekstą.

Code: Select all

#define IsPlayer(%1) (1 <= %1 <= MaxPlayers)#define Chance(%1) (%1 > random(100)) #define TaskID_Injury 2222 new const Float: Injury_PerLevel[] = { 5.0, 10.0, 20.0 } new Injury_Level[33] new Injury public Ham_PlayerDamage(victim, inflictor, attacker, Float: damage, damage_type) {    if (!IsPlayer(attacker))            return HAM_IGNORED     if (attacker && damage && (attacker != victim))    {        if (Injury_Level[attacker] > 0)        {            if (!GetBit(Injury, attacker) && Chance(30))            {                SetBit(Injury, attacker)                set_task(1.0, "Injury_Remove", attacker)            }            if (GetBit(Injury, attacker))            {                                                   client_print(attacker, 3, "[!] Injury")                SetHamParamFloat(4, damage * Injury_PerLevel[Injury_Level[attacker]])                 return HAM_OVERRIDE            }        }    }    return HAM_HANDLED} public Injury_Remove(id){    id -= TaskID_Injury    remove_task(id + TaskID_Injury)     ResetBit(Injury, id)}

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: Neveikia žalos padidinimas

Post by hleV »

Tu padarai

Code: Select all

SetBit(Injury, attacker)
ir po to iškart tikrini

Code: Select all

if (GetBit(Injury, attacker))
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

User avatar
xFrostas
Flooderis arba specialistas
Posts: 660
Joined: 2010 Sep 02 15:47
Skype: frost.lt

Re: Neveikia žalos padidinimas

Post by xFrostas »

Code: Select all

    if (!GetBit(Injury, attacker) && Chance(30))            {                 client_print(attacker, 3, "[!] Injury")                SetHamParamFloat(4, damage * Injury_PerLevel[Injury_Level[attacker]])                 set_task(1.0, "Injury_Remove", attacker)            }            /*if (GetBit(Injury, attacker))            {                client_print(attacker, 3, "[!] Injury")                SetHamParamFloat(4, damage * Injury_PerLevel[Injury_Level[attacker]])                 return HAM_OVERRIDE*/            }
Tai taip kažkaip?

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest