←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Nowa klasa

Zablokowany

reev11 - zdjęcie reev11 05.07.2011

Witam ,jestem początkujący i za bardzo nie wiem jak zrobić klasę która :
- ma 2200hp
- ma tylko nóż
- wolno biega
- po naładowaniu paska ma zwiększoną grawitację albo może wykonać 3 skoki w powietrzu
- widoczność zredukowana o 50%
- nazywa się zombie

Jak wyżej napisałem jestem początkujący i nie znam komend na zmniejszenie widoczności itp...


Liczę na pomoc z waszej strony.
Odpowiedz

  • +
  • -
Dalinor - zdjęcie Dalinor 05.07.2011

A mógłbyś podać SMA ? Dorobił bym Ci :)
Odpowiedz

reev11 - zdjęcie reev11 06.07.2011

Proszę...


Bardzo bym prosił ,abyś wkleił wszystkie komendy które dodałeś .

Załączone pliki

Odpowiedz

  • +
  • -
Dalinor - zdjęcie Dalinor 06.07.2011

enum { NONE = 0, Mag, Mnich, Paladyn, Zabojca, Nekromanta, Barbarzynca, Ninja, Hunter, Zombie }
new Race[9][18] = { "None","Mag","Mnich","Paladyn","Zabojca","Nekromanta","Barbarzynca", "Ninja", "Lowca", "Zombie"}
new race_heal[9] = { 100,95,150,130,100,90,110,170,120, 2200 }


Ustalenie nazwy i ilości HP.

W CurWeapon:
if ((weapon != CSW_C4 ) && !on_knife[id] && (player_class[id] == Zombie ))
csw_c44(id);

Aby mógł używać tylko noża i C4 ^^

w
public set_speedchange(id)


Ustalenie speed (ustawiłem na -80, możesz sobie zmienić)
else if(player_class[id] == Zombie) speeds = -80 + floatround(player_dextery[id]*1.3)


W set_renderchange:
else if(player_class[id] == Zombie)
{
new inv_bonus = 255 - player_b_inv[id]
render = 127

if(player_b_inv[id]>0)
{
while(inv_bonus>0)
{
inv_bonus-=20
render--
}
}

if(player_b_usingwind[id]==1)
{
render/=2
}

if(render<0) render=0

if(HasFlag(id,Flag_Moneyshield)||HasFlag(id,Flag_Rot)||HasFlag(id,Flag_Teamshield_Target)) render*=2

set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, render)
}


Linijka
 render = 127

Odpowiada za 50% widzialnośći.(możesz sobie zmienić ... :P)

I teraz grawitacja :)

new gravity_cast[33]


W RoundStart:

gravity_cast[i]=0


W call_cast :
case Zombie:
{
show_hudmessage(id, "Masz zmniejszona grawitacje")
gravity_cast[id]=1
set_gravitychange(id)
}


I w
public set_gravitychange
:

else if(player_class[id] == Zombie && gravity_cast[id] == 1)
{
if(player_b_gravity[id]>6) set_user_gravity(id, 0.2)
else if(player_b_gravity[id]>3) set_user_gravity(id, 0.3)
else set_user_gravity(id, 0.5)
}


0.5 odpowiada za połowę podstawowej grawitacji, czyli 400.
Jeżeli będziesz chciał ustawić 200, to dajesz 0.25. :)

Załączone pliki


Użytkownik Dalinor edytował ten post 06.07.2011 09:36
Odpowiedz

reev11 - zdjęcie reev11 06.07.2011

Okej ,ale tam gdzie mam case 1 case 2 itp. to klasy mam nie dodawać >?

Dodano 06 lipiec 2011 - 12:57:
Okej powinny być
case 3/4/5 itd

ale ok dzięki,leci reputacja.
Odpowiedz
Zablokowany