←  Poradniki oraz Łatki

AMXX.pl: Support AMX Mod X i SourceMod

»

Dodatek
Rakety Do DiabloModa

Ocet:) - zdjęcie Ocet:) 30.05.2011

Na wstepie mowie Ja tylko wyciagnalem kod z DiabloModa modified by OnYkE

Chcesz dodac do Klasy Rakiety?A Niewiesz Jak?

Ten Poradnik jest dla Ciebie!

Znajdz:

#include <csx>


Dodaj pod:

#include <hamsandwich>

Znajdz:

new player_ring[33]        //ring stats bust +5


Dodaj pod:

new Float:poprzednia_rakieta_gracza[33];
new ilosc_rakiet_gracza[33];


Jesli chcesz Zrobic na Binda to:

register_concmd("rakieta","StworzRakiete")


I teraz w consoli wpisujemy bind "Klawisz" "rakieta"

Jak chesz miec na R na Kosie to tak:


Szukasz:

//bow model


Dajesz pod:

if (button2 & IN_RELOAD && on_knife[id] && button[id]==0 && player_class[id]==Twoja_Klasa){
StworzRakiete(id)
}


Szukamy:

register_touch("func_breakable", "xbow_arrow",        "touchbreakable")


Dodaj Pod:

register_touch("Rocket", "*" , "DotykRakiety");



Dodaj na Koniec .sma DiabloModa:

[spojler]public StworzRakiete(id)
{
if (!ilosc_rakiet_gracza[id] && is_user_alive(id))
{
client_print(id, print_center, "Wykorzystales juz wszystkie rakiety!");
return PLUGIN_CONTINUE;
}

if(poprzednia_rakieta_gracza[id] + 3.0 > get_gametime())
{
client_print(id, print_center, "Rakiet mozesz uzywac co 3 sekundy!");
return PLUGIN_CONTINUE;
}

if (is_user_alive(id))
{
if(player_intelligence[id] < 1)
client_print(id, print_center, "Aby wzmocnic rakiete, zwieksz inteligencje!");

poprzednia_rakieta_gracza[id] = get_gametime();
ilosc_rakiet_gracza[id]--;

new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];

entity_get_vector(id, EV_VEC_v_angle, vAngle);
entity_get_vector(id, EV_VEC_origin , Origin);

new Ent = create_entity("info_target");

entity_set_string(Ent, EV_SZ_classname, "Rocket");
entity_set_model(Ent, "models/rpgrocket.mdl");

vAngle[0] *= -1.0;

entity_set_origin(Ent, Origin);
entity_set_vector(Ent, EV_VEC_angles, vAngle);

entity_set_int(Ent, EV_INT_effects, 2);
entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
entity_set_edict(Ent, EV_ENT_owner, id);

VelocityByAim(id, 1000 , Velocity);
entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
}
return PLUGIN_CONTINUE;
}
public DotykRakiety(ent)
{
if ( !is_valid_ent(ent))
return;

new attacker = entity_get_edict(ent, EV_ENT_owner);

new Float:fOrigin[3], iOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
write_byte(TE_EXPLOSION);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_short(sprite_blast);
write_byte(32); // scale
write_byte(20); // framerate
write_byte(0);// flags
message_end();

new entlist[33];
new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
continue;
ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 50.0+float(player_intelligence[attacker])/2 , 1);
}
remove_entity(ent);
}[/spojler]


Teraz jak dodac dana Ilosc Rakiet klasie:


Szukasz:

for (new i=0; i < 33; i++){


Dajesz Pod:

if(player_class[i] == Twoja_Klasa) ilosc_rakiet_gracza[i]=Ilosc_Rakiet
else if(player_class[i] == Twoja_Klasa) ilosc_rakiet_gracza[i]=Ilosc_Rakiet
else if(player_class[i] == Twoja_Klasa) ilosc_rakiet_gracza[i]=Ilosc_Rakiet


I Gotowe!

Poradnik napisany dla Bardziej Zielonych

Jesli zoc Zapomnialem ( Pomylilem ) Pisz w Komentarzach Poprawie!

Pozdrawiam!

:)

Odpowiedz

  • +
  • -
Onyke - zdjęcie Onyke 30.05.2011

Jak już to
[spoiler][sma]kod[/sma][/spoiler]
Jak napisałeś to:
if (button2 & IN_RELOAD && on_knife[id] && button[id]==0 && player_class[id]==Twoja_Klasa){
StworzRakiete(id)
}

i pod tym
register_touch("func_breakable", "xbow_arrow",        "touchbreakable")

To ci całkiem zieloni mogą pomyśleć że jeżeli chce się mieć na bind to tego nie trzeba.
I nie OnYkE, tylko Onyke ale to już szczegół
Oraz nazwa tematu zawiera błąd.
Odpowiedz

JLB. Leo - zdjęcie JLB. Leo 30.05.2011

Czyżby multi starego octa? :)

poradnik bez zgody autora z tego co widze, raczej do kosza...

@down to do mnie?
Użytkownik JLB. Leo edytował ten post 30.05.2011 19:55
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 30.05.2011

poradnik bez zgody autora z tego co widze, raczej do kosza...


Link?
Odpowiedz