←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

long jump

Zablokowany

Mesh - zdjęcie Mesh 17.06.2010

ten kod mi nie dziala tzn long jump'a ma tylko palek brak bledow przy komplikacji

new clip,ammo
new weapon = get_user_weapon(id,clip,ammo)
new button2 = get_user_button(id);
if(player_class[id]==Paladyn || player_class[id]==Jumper && weapon == CSW_KNIFE && freeze_ended)
{
if((button2 & IN_DUCK) && (button2 & IN_JUMP))
{
if(JumpsLeft[id]>0)
{
new flags = pev(id,pev_flags)
if(flags & FL_ONGROUND)
{
set_pev ( id, pev_flags, flags-FL_ONGROUND )

JumpsLeft[id]--

new Float:va[3],Float:v[3]
entity_get_vector(id,EV_VEC_v_angle,va)
v[0]=floatcos(va[1]/180.0*M_PI)*560.0
v[1]=floatsin(va[1]/180.0*M_PI)*560.0
v[2]=300.0
entity_set_vector(id,EV_VEC_velocity,v)
write_hud(id)
}
}
}
}
Odpowiedz

  • +
  • -
ZiuTeK - zdjęcie ZiuTeK 17.06.2010

player_class[id]==Paladyn || player_class[id]==Jumper
Ten warunek musi byc w nawiasie.
Odpowiedz

Mesh - zdjęcie Mesh 18.06.2010

if(player_class[id]==Paladyn || player_class[id]==Jumper && weapon == CSW_KNIFE && freeze_ended)

czyli jak to jest w nawiasie to musze zrobic tak?

if((player_class[id]==Paladyn || player_class[id]==Jumper) && weapon == CSW_KNIFE && freeze_ended)


na poczatku 2 nawiasy?
Odpowiedz

  • +
  • -
ZiuTeK - zdjęcie ZiuTeK 19.06.2010

Tak, bo to na pewno bylo bledem, moze masz jeszcze jakies inne ale tutaj bylo sprawdzane czy klient jest paladynem, jesli jest to juz go przepuszcza dalej, albo, czy jest Jumperem i ma noz i skonczone zamrazenie
teraz sprawdza czy jest jednym albo drugim i do tego przy obu klasach sprawdza czy ma noz i skonczone zamrazanie.
Nie twierdze ze to juz jest koniec bo nie wiem co wiecej zmieniales ale w tym kodzie to byl na pewno blad.
Odpowiedz

Mesh - zdjęcie Mesh 19.06.2010

zrobilem tak i wraz ma tylko paladyn long jumpa :[
Odpowiedz

  • +
  • -
ZiuTeK - zdjęcie ZiuTeK 19.06.2010

u mnie kawalek tej funkcji wyglada tak:
public client_PreThink ( id ) 
{	
	new button2 = get_user_button(id);
	new clip,ammo
	new weapon = get_user_weapon(id,clip,ammo)
	if((player_class[id]==Paladyn || player_b_lj[id] > 0) && weapon == CSW_KNIFE) 
    { 
        if((button2 & IN_DUCK) && (button2 & IN_JUMP) && !(get_user_oldbutton(id) & IN_JUMP)) 
        { 
            if(JumpsLeft[id]>0 && player_speed(id)>100 ) 
            { 
                new flags = pev(id,pev_flags) 
                if(flags & FL_ONGROUND) 
                { 
                    set_pev ( id, pev_flags, flags-FL_ONGROUND ) 
                    
                    JumpsLeft[id]-- 
                    
                    new Float:va[3],Float:v[3] 
                    entity_get_vector(id,EV_VEC_v_angle,va) 
                    v[0]=floatcos(va[1]/180.0*M_PI)*560.0 
                    v[1]=floatsin(va[1]/180.0*M_PI)*560.0 
                    v[2]=300.0 
                    entity_set_vector(id,EV_VEC_velocity,v) 
                } 
            } 
        } 
    }
W linijce

if((player_class[id]==Paladyn || player_b_lj[id] > 0) && weapon == CSW_KNIFE)

mam playr_b_lj poniewaz mam item na longjumpy, natomiast nie mam "&& freeze_ended"
nie wiem skad u ciebie sie znalazl ten kawalek kodu i co on oznacza.
Wgrywales fixa na longjumpy u palladyna z dzialu tutoriale i poradniki do diablomoda ?
Jesli nie to sprobuj wgrac tego fixa i wtedy edytowac kod.
Odpowiedz

Mesh - zdjęcie Mesh 19.06.2010

z forum poradnik na dzialajacy long jump podmienilem caly kod a teraz chcialem dac long jumpa 2 klasie sprobuje bez tego && freeze_ended
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 20.06.2010

TO nie jedyna funkcja od LJ ;>
Musisz w funkcji od "zliczania" skoków zmienić warunek.
bodajże count_jumps
Odpowiedz

Mesh - zdjęcie Mesh 21.06.2010

no znalazlem dwie ta od wyswietlania skokow i ta. ale skoro mowisz ze sa jeszcze to będę szukac ;P

21 czerwiec 2010 - 08:09:
nie wiem czemu wyzuca mi tu blad :/

public count_jumps(id)
{
if( is_user_connected(id))
{
if((player_class[id]==Paladyn || player_class[id]==Jumper) JumpsMax[id]=5+floatround(player_intelligence[id]/10.0)
else JumpsMax[id]=0


}
}

w takim stylu
error 001: expected token: ")", but found "-identifier-"

21 czerwiec 2010 - 08:11:

if( player_class[id]==Paladyn || player_class[id]==Jumper) JumpsMax[id]=5+floatround(player_intelligence[id]/10.0)


zrobilem tak i dziala ;P temat mozna zamknac
Odpowiedz

  • +
  • -
ZiuTeK - zdjęcie ZiuTeK 21.06.2010

To zle dziala, w tamtej linijce brakowalo ci zamkniecia nawiasu policze je za ciebie:
if(1(2player_class[id]==Paladyn || player_class[id]==Jumper)2 JumpsMax[id]=5+floatround(3player_intelligence[id]/10.0)3
else JumpsMax[id]=0

A gdzie zamykasz 1 ? Ano nie zamykasz a powinien byc w linijce zaraz po trzecim
Odpowiedz
Zablokowany