←  Poradniki oraz Łatki

AMXX.pl: Support AMX Mod X i SourceMod

»

Tutorial
Fireball co x sec zamiast 1 na runde

Zaszka - zdjęcie Zaszka 22.11.2010

Wiec tak Mamy item fireball chcemy zrobic by mozna go odpalac co x sec
Mozna rownierz zrobic tak z dagon i innymi itemami jednorazowymi xD

Pamietajcie ze jesli macie u maga Fireball na nozu to sie skasuje mozna zrobic moc dla klasy z tym firebalem
Spoiler



Tam gdzie jest X Wpisujecie czas w Sekundach np 5

I jesli chcecie moc dla klasy:
Spoiler

Tam gdzie jest Y Wpisujecie czas

Teraz jak to dodac do klasy:
Spoiler


Dziekuje za uwage i zapraszam do komentowania. Pozdrowienia !!!
Użytkownik Zaszka edytował ten post 26.11.2010 15:36
Odpowiedz

Drewno. - zdjęcie Drewno. 22.11.2010

Dobre,dobre,ale mógłbyś napisać jeszcze jak to można robić z LongJumpami,bo by było fajne;)
Odpowiedz

Zaszka - zdjęcie Zaszka 22.11.2010

Dobre,dobre,ale mógłbyś napisać jeszcze jak to można robić z LongJumpami,bo by było fajne;)



Wlasnie na tym pracuje ale dzisiaj na bank nie zdaze. Szkola ;/


Ale jutro raczej cos takiego bedzie ;d
Odpowiedz

Drewno. - zdjęcie Drewno. 23.11.2010

A ten fireball jest nie kończy się??

a w switch_key w c_fireball[id] = 200 to o to chodzi ze co 200 sekund mozesz go uzywac??
Odpowiedz

GoldeN - zdjęcie GoldeN 24.11.2010

A ten fireball jest nie kończy się??

a w switch_key w c_fireball[id] = 200 to o to chodzi ze co 200 sekund mozesz go uzywac??




Z tego co widzę to nie. W miejsce Y wpisujesz czas.


Poradnik średni. Skoro dajesz moc klasie, to po co w reset_item_skills(id) ją resetujesz?
Odpowiedz

Drewno. - zdjęcie Drewno. 25.11.2010

właśnie że w public reset_item_skills nie powinno się dodawać mocy klasowych,bo jak napiszesz /drop to ją tracisz;/
Odpowiedz

GoldeN - zdjęcie GoldeN 25.11.2010

właśnie że w public reset_item_skills nie powinno się dodawać mocy klasowych,bo jak napiszesz /drop to ją tracisz;/



No chyba to samo napisałem? :F

Popraw poradnik.
Odpowiedz

Drewno. - zdjęcie Drewno. 25.11.2010

ale ja tylko dodałem,ze po napisaniu /drop,to tą moc tracisz,jeśli dodajesz do reset_item_skills
Odpowiedz

Zaszka - zdjęcie Zaszka 26.11.2010

Dobra koniec spamu poprawilem.

Jezeli chcecie sie klucic to mozecie na priv a nie w tym temacie ;/
Odpowiedz

FreZZy - zdjęcie FreZZy 26.11.2010

Ech, zaszka zaszka... Wrzucam twoj poradnik w sma bo żenada - a poza tym masz troche błędów. Część poprawiłem, ale wole żeby przejrzał to goq, gutaj albo miczu

 
ITEM:

szukamy
new gravitytimer[33]

dopisujemy pod tym
new firetimer[33]

Szukamy w public reset_item_skills
gravitytimer[id] = 0

Dopisujemy pod tym
firetimer[id] = 0

W public item_fireball(id)
szukamy
	if (fired[id] > 0)
{
hudmsg(id,2.0,"Ognista Kule mozesz wyczarowac raz na runde!")
return PLUGIN_HANDLED
}

if (fired[id] == 0 && is_user_alive(id) == 1)

Zamieniamy na
	if (halflife_time()-firetimer[id] <= X)
{
hudmsg(id,2.0,"Mozesz wyczarowac fireballa co X sekund")
return PLUGIN_CONTINUE
}

firetimer[id] = floatround(halflife_time())

Możemy usunąć (jest poniżej)
fired[id] = 1


PS od tłumacza: jak widać, zmieniłem w dwóch miejscach kod i teraz jest tam "X". Zamiast tego "X" wstawicie co ile sekund ma się robić fireball

 
MOC DO KLASY:

szukamy
new player_b_fireball[33] = 1

dopisujemy pod tym
new player_b_fireball2[33] = 1

W public check_magic(id)
szukamy
if (player_b_fireball[id] > 0) item_fireball(id)

Dopisujemy pod tym
if (player_b_fireball2[id] > 0) item_fireball2(id)

szukamy
public item_fireball(id)

Dopisujemy nad tym
public item_fireball2(id)
{
if (halflife_time()-firetimer[id] <= Y)
{
hudmsg(id,2.0,"Mozesz wyczarowac fireballa co Y sekund")
return PLUGIN_CONTINUE
}

firetimer[id] = floatround(halflife_time())
if (is_user_alive(id) == 1)
{
new Float:vOrigin[3]
new fEntity
entity_get_vector(id,EV_VEC_origin, vOrigin)
fEntity = create_entity("info_target")
entity_set_model(fEntity, "models/rpgrocket.mdl")
entity_set_origin(fEntity, vOrigin)
entity_set_int(fEntity,EV_INT_effects,64)
entity_set_string(fEntity,EV_SZ_classname,"fireball")
entity_set_int(fEntity, EV_INT_solid, SOLID_BBOX)
entity_set_int(fEntity,EV_INT_movetype,5)
entity_set_edict(fEntity,EV_ENT_owner,id)



//Send forward
new Float:fl_iNewVelocity[3]
VelocityByAim(id, 800, fl_iNewVelocity)
entity_set_vector(fEntity, EV_VEC_velocity, fl_iNewVelocity)


message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(22)
write_short(fEntity)
write_short(sprite_beam)
write_byte(45)
write_byte(4)
write_byte(255)
write_byte(0)
write_byte(0)
write_byte(25)
message_end()
}
return PLUGIN_HANDLED
}


W 2 miejscach jest "Y" i tam trzeba wstawić co ile sek. ma być ten fireball robiony

W public select_class_menu(id, key) wybieramy klase, która ma mieć fireballa (np. ja chce na Magu)
	case 0: 
{
player_class[id] = Mag
}

Zmieniamy na
	case 0: 
{
player_class[id] = Mag
player_c_fireball[id] = 500
}

Użytkownik FreZZy edytował ten post 26.11.2010 16:12
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 26.11.2010

Gdy już dodamy ten firebal wystrzeliwany co ileś tam sekund w itemie, to można jeszcze zrobić tak ;]
Spoiler


Można to też dać dla klasy, a nie do itemu i wtedy wzorujemy się na tym co jest we wcześniejszych postach.
Odpowiedz