Page 1 of 2

Knife damage kas yra???

Posted: 2013 Jun 07 08:51
by Giltinas
Sveiki, taigi man nemeta jokiu error tačiau kažkur yra klaida kuri neduoda tokio dmg koki nustačiau cvar'e.

Čia klaida kažkur:

Code: Select all

public FwdTakeDamage(victim, inflictor, uc_Handle, seed, attacker, Float:damage, damage_bits){    if (is_valid_player(attacker) && get_user_weapon(attacker) == CSW_KNIFE)       {        static button        button = set_uc(uc_Handle,UC_Buttons, button);                if(get_user_team(attacker) == 1)        {            if(TCuchillo[attacker])            {                       if(button & IN_ATTACK)                {                    SetHamParamFloat(4, get_pcvar_float(TDefaultDano))                                        if(get_pdata_int(victim, 75) == HIT_HEAD)                    {                        SetHamParamFloat(4, get_pcvar_float(hTDefaultDano))                    }                }                if(button & IN_ATTACK2)                {                                  SetHamParamFloat(4, get_pcvar_float(TDefaultDano2))                                        if(get_pdata_int(victim, 75) == HIT_HEAD)                    {                        SetHamParamFloat(4, get_pcvar_float(hTDefaultDano2))                    }                }            }        }        if(get_user_team(attacker) == 2)        {            if(CTCuchillo[attacker])            {                    if(button & IN_ATTACK)                {                    SetHamParamFloat(4, get_pcvar_float(CTDefaultDano))                                        if(get_pdata_int(victim, 75) == HIT_HEAD)                    {                        SetHamParamFloat(4, get_pcvar_float(hCTDefaultDano))                    }                }                if(button & IN_ATTACK2)                {                    SetHamParamFloat(4, get_pcvar_float(CTDefaultDano2))                                        if(get_pdata_int(victim, 75) == HIT_HEAD)                    {                        SetHamParamFloat(4, get_pcvar_float(hCTDefaultDano2))                    }                }            }        }    }      return HAM_HANDLED;}
Vienas cvar:

Code: Select all

TDefaultDano = register_cvar("jb_dKnifeT", "25")
Dar klausimas kokiu budu galima padaryti kad dmg butu nuo 1 iki 10?(cvar'e)

Re: Knife damage kas yra???

Posted: 2013 Jun 07 12:41
by beast
Sudėk debug žinutes ir žiūrėk kur nepraeina.

Re: Knife damage kas yra???

Posted: 2013 Jun 07 15:59
by Giltinas
Tame ir esmė jeigu kažka ten rodytu tai gal ir pats susitvarkyčiau o dabar logos'e nieko nerodo. O taip tvarkingas kodas nera klaidos? Jeigu reikia įdėsiu pilną kodą.

Re: Knife damage kas yra???

Posted: 2013 Jun 07 16:14
by newb
Tau gi sako pridet papildomu zinuciu, kad zinotum kur praena tie ifai kur ne, o ne erroru ieskot loguose.

Re: Knife damage kas yra???

Posted: 2013 Jun 07 17:13
by InvIs
Išvis, takedamage eventuose naudojami tie uc_handle ir seed? Man rodos, tiesiog per daug kintamųjų prirašyta, todėl ir neskaito damage tipo.

Re: Knife damage kas yra???

Posted: 2013 Jun 07 17:15
by Giltinas
Gali būti dabar nesenai įdėjau message į if'us ir nei vienas if'as nesuveikė.

Re: Knife damage kas yra???

Posted: 2013 Jun 07 17:36
by InvIs
Išimk uc_handle ir seed.

Vietoj mygtukų, tikrink damage dydį.

Code: Select all

/* Pirma tikrink ginklą */ if(get_user_weapon(id) == CSW_KNIFE)switch(damage){  case 15.0,60.0: // Slash (Attack1), paprastas arba į galvą  default: // Stab (Attack2)}// Arbaif(damage >= 65.0) // Attack2 ir nekitaipelse // Attack1{  ...}

Re: Knife damage kas yra???

Posted: 2013 Jun 07 17:46
by Giltinas
Na man nekažkas gaunasi su tavo kodu. Gal gali pats sutvarkyt?

P.S Pasirinkau 1 varijantą.

Re: Knife damage kas yra???

Posted: 2013 Jun 07 18:43
by InvIs

Code: Select all

public FwdTakeDamage(victim, inflictor, attacker, Float:damage, damage_bits){    if (is_valid_player(attacker) && get_user_weapon(attacker) == CSW_KNIFE)      {        if(get_user_team(attacker) == 1)        {            if(TCuchillo[attacker])            {                      if(damage < 65.0)                {                    SetHamParamFloat(4, get_pcvar_float(TDefaultDano))                                       if(get_pdata_int(victim, 75) == HIT_HEAD)                    {                        SetHamParamFloat(4, get_pcvar_float(hTDefaultDano))                    }                }                else                {                                  SetHamParamFloat(4, get_pcvar_float(TDefaultDano2))                                       if(get_pdata_int(victim, 75) == HIT_HEAD)                    {                        SetHamParamFloat(4, get_pcvar_float(hTDefaultDano2))                    }                }            }        }        else if(get_user_team(attacker) == 2)        {            if(CTCuchillo[attacker])            {                    if(damage < 65.0)                {                    SetHamParamFloat(4, get_pcvar_float(CTDefaultDano))                                       if(get_pdata_int(victim, 75) == HIT_HEAD)                    {                        SetHamParamFloat(4, get_pcvar_float(hCTDefaultDano))                    }                }                else                {                    SetHamParamFloat(4, get_pcvar_float(CTDefaultDano2))                                       if(get_pdata_int(victim, 75) == HIT_HEAD)                    {                        SetHamParamFloat(4, get_pcvar_float(hCTDefaultDano2))                    }                }            }        }    }      return HAM_HANDLED;}
Bandyk

Re: Knife damage kas yra???

Posted: 2013 Jun 07 18:56
by Giltinas
Dq, viskas puikei veikia tik dar keli klausimai :)

Kodėl butent 65.0 ?

Code: Select all

if(damage < 65.0)
Ir kaip galiu padaryti kad dmg butu nuo 1 iki 10 su mouse1?

Na ta prasme:

Code: Select all

CTDefaultDano = register_cvar("jb_dKnifeCT", "1-10")
Bet taip negalima :/