Skocz do zawartości

[ZAMKNIĘTY propozycja


Gość

Rekomendowane odpowiedzi

Mam Propozycje dodania nowej klasy

 

klasa nazywala by sie Antyterrorysta  klasa posiadalaby m4 i deagla 2 rakietki 1/9 z all broni i była by klasa premium

 

#include

#include

#include

#include

#include

#include

#include

#include

        

new const nazwa[]   = "";

new const opis[]    = "";

new const bronie    = (1<

new const zdrowie   = 0;

new const kondycja  = 0;

new const inteligencja = 0;

new const wytrzymalosc = 0;

    

new sprite_blast;

new ilosc_rakiet_gracza[33];

new poprzednia_rakieta_gracza[33];

 

new skoki[33];

 

new ma_klase[33];

 

public plugin_init()

{

register_plugin(nazwa, "1.0", "amxx.pl");

 

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

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

RegisterHam(Ham_Spawn, "player", "fwSpawn_Rakiety", 1);

 

   

register_forward(FM_CmdStart, "fwCmdStart_MultiJump");

 

   

RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenZ");

 

}

 

public plugin_precache()

{

 

sprite_blast = precache_model("sprites/dexplo.spr");

precache_model("models/rpgrocket.mdl");

 

}

 

public client_disconnect(id)

{

 

new entRakiety = find_ent_by_class(0, "rocket");

while(entRakiety > 0)

{

if(entity_get_edict(entRakiety, EV_ENT_owner) == id)

remove_entity(entRakiety);

entRakiety = find_ent_by_class(entRakiety, "rocket");

}

 

}

 

public cod_class_enabled(id)

{

if(!(get_user_flags(id) & ADMIN_LEVEL_H))

{

client_print(id, print_chat, "[] Nie masz uprawnien, aby uzywac tej klasy.")

return COD_STOP;

}

 

ilosc_rakiet_gracza[id] = 2;

give_item(id, "weapon_hegrenade");

ma_klase[id] = true;

   

return COD_CONTINUE;

}

 

public cod_class_disabled(id)

{

ma_klase[id] = false;

 

}

 

public cod_class_skill_used(id)

{

 

if (!ilosc_rakiet_gracza[id])

{

client_print(id, print_center, "Wykorzystales juz wszystkie rakiety!");

}

else

{

if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime())

{

client_print(id, print_center, "Rakiet mozesz uzywac co 2 sekundy!");

}

 

else

{

if (is_user_alive(id))

{

poprzednia_rakieta_gracza[id] = floatround(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);

}

}

}

 

}

 

public fwSpawn_Rakiety(id)

{

if(is_user_alive(id))

ilosc_rakiet_gracza[id] = 2;

}

 

public DotykRakiety(ent)

{

if (!is_valid_ent(ent))

return;

 

new attacker = entity_get_edict(ent, EV_ENT_owner);

 

 

new Float:fOrigin[3];

entity_get_vector(ent, EV_VEC_origin, fOrigin);

 

new iOrigin[3];

for(new i=0;i<3;i++)

iOrigin = floatround(fOrigin);

 

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);

write_byte(20);

write_byte(0);

message_end();

 

new entlist[33];

new numfound = find_sphere_class(ent, "player", 190.0, entlist, 32);

 

for (new i=0; i < numfound; i++)

{

new pid = entlist;

 

if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))

continue;

cod_inflict_damage(attacker, pid, 55.0, 0.9, ent, (1<<24));

}

remove_entity(ent);

}

 

public fwCmdStart_MultiJump(id, uc_handle)

{

if(!is_user_alive(id) || !ma_klase[id])

return FMRES_IGNORED;

 

new flags = pev(id, pev_flags);

 

if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])

{

skoki[id]--;

new Float:velocity[3];

pev(id, pev_velocity,velocity);

velocity[2] = random_float(265.0,285.0);

set_pev(id, pev_velocity,velocity);

}

else if(flags & FL_ONGROUND)

skoki[id] = 3;

 

return FMRES_IGNORED;

}

 

public fwTakeDamage_JedenZ(this, idInf, idAtt, Float:fDmg, dmgBits){

if(!is_user_alive(idAtt) || !ma_klase[idAtt] || !(dmgBits & (1<<1) ) || random_num(1, 9) != 1 )

return HAM_IGNORED;

 

cs_set_user_armor(this, 0, CS_ARMOR_NONE);

SetHamParamFloat(4, float(get_user_health(this) + 1));

 

return HAM_HANDLED;

}

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...