Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Eustachy8
Rejestracja: 17.12.2011Aktualnie: Nieaktywny
Poza forum Ostatnio: 28.01.2023 04:34




Statystyki
- Grupa: Użytkownik
- Całość postów: 304
- Odwiedzin: 5 180
- Tytuł: Wszechpomocny
- Wiek: 32 lat
- Urodziny: Marzec 10, 1993
-
Imię
Kuba
-
Płeć
Mężczyzna
-
Lokalizacja
Buczacz
Kontakt
Narzędzia użytkownika
Ostatnio byli
#470554 Klasy +Special
Napisane przez Eustachy8
w 22.10.2012 20:40
#470293 Klasy +Special
Napisane przez Eustachy8
w 21.10.2012 21:26
#441033 Klasa Najemnik
Napisane przez Eustachy8
w 05.08.2012 12:12
Przedstawiam prostą klasę premium, która posiada famasa i galila, z którymi nie ma rozrzutu.
Statystyki
new const nazwa[] = "Najemnik"; new const opis[] = "Posiada eliminator rozrzutu"; new const bronie = 1<<CSW_FAMAS | 1<<CSW_GALIL; new const zdrowie = 20; new const kondycja = 40; new const inteligencja = 0; new const wytrzymalosc = 10;
Załączone pliki
-
codclass_najemnik.sma 1,16 KB 153 Ilość pobrań
codclass_najemnik.amxx
#441027 Klasa Weteran Galil
Napisane przez Eustachy8
w 05.08.2012 12:00
Klasa nie jest moja, znalazłem ją kiedyś w sieci i przystosowałem do mojego serwera,autor nie jest mi znany
Statystyki
new const nazwa[] = "Weteran Galil"; new const opis[] = "1/2 szansy na zamrozenie wroga"; new const bronie = 1<<CSW_GALI; new const zdrowie = 10; new const kondycja = 20; new const inteligencja = 0; new const wytrzymalosc = 0;
Instalacja
sma i amx standardowo
shockwave.spr do cstrike/sprites
Załączone pliki
-
shockwave.spr 4,81 KB 272 Ilość pobrań
-
codclass_weterangaila.sma 2,66 KB 368 Ilość pobrań
codclass_weterangaila.amxx
#440456 Klasa Space Division
Napisane przez Eustachy8
w 04.08.2012 07:36
Przedstawiam klasę premium "Space Division", posiada ona karabin plazmowy. Od razu zaznaczę, że nie napisałem tego pluginu, tylko przerobiłem go na CoD moda.
Statystyki
new const nazwa[] = "Space division"; new const opis[] = "Masz karabin plazmowy"; new const bronie = 1<<CSW_FAMAS; new const zdrowie = 20; new const kondycja = 5; new const inteligencja = 0; new const wytrzymalosc = 20;
W tym miejscu zmieniamy parametry broni (szybkość strzelania, dmg, dmg po trafienie w głowę (multi_demage)):
#define FIRERATE 0.2 // szybkość strzelania #define HITSD 0.7 // Trafienie spowalnia #define RELOADSPEED 5.0 // szybkość przeładowania #define DAMAGE 250.0 // obrażenia #define DAMAGE_MULTI 3.0 // mnożnik obrażeń po trafieniu w głowę
Screeny:
https://forums.allie...67&d=1303639046
Instalacja:
plik amxx i sma standardowo. Foldery models, sound i sprites po prostu do cstrike
Załączone pliki
-
codclass_spacedivision.sma 11,27 KB 324 Ilość pobrań
codclass_spacedivision.amxx
-
Space Division.rar 399,89 KB 347 Ilość pobrań
#428975 Parę tutków na dodatki do klas
Napisane przez Eustachy8
w 05.07.2012 22:47
#418106 Klasa z perkiem dash .
Napisane przez Eustachy8
w 05.06.2012 20:48
#410402 [ROZWIĄZANE] Problem z komplikacją klasy od lvl'a
Napisane przez Eustachy8
w 14.05.2012 14:54
#409071 Edycja klasy
Napisane przez Eustachy8
w 11.05.2012 14:33
tu dorzucasz jeszcze tamten wqarunek
public fwTakeDamage_JedenZ(this, idInf, idAtt, Float:fDmg, dmgBits){
if(!is_user_alive(idAtt) || !ma_klase[idAtt] || !(dmgBits & (1<<1) ) || random_num(1, 5) != 1 )
return HAM_IGNORED;
cs_set_user_armor(this, 0, CS_ARMOR_NONE);
SetHamParamFloat(4, float(get_user_health(this) + 1));
return HAM_HANDLED;
}
czyli wygląda tak
[/color]
[color=#000088][size=2]public[/size][/color][color=#000000][size=2] fwTakeDamage_JedenZ[/size][/color][color=#666600][size=2]([/size][/color][color=#000088][size=2]this[/size][/color][color=#666600][size=2],[/size][/color][color=#000000][size=2] idInf[/size][/color][color=#666600][size=2],[/size][/color][color=#000000][size=2] idAtt[/size][/color][color=#666600][size=2],[/size][/color][color=#660066][size=2]Float[/size][/color][color=#666600][size=2]:[/size][/color][color=#000000][size=2]fDmg[/size][/color][color=#666600][size=2],[/size][/color][color=#000000][size=2] dmgBits[/size][/color][color=#666600][size=2])[/size][/color]
[color=#666600][size=2]{[/size][/color]
[color=#000088][size=2]if[/size][/color][color=#666600][size=2](![/size][/color][color=#000000][size=2]is_user_alive[/size][/color][color=#666600][size=2]([/size][/color][color=#000000][size=2]idAtt[/size][/color][color=#666600][size=2])[/size][/color][size=2][color=#666600]&&[/color][/size][color=#666600][size=2]![/size][/color][color=#000000][size=2]ma_klase[/size][/color][color=#666600][size=2][[/size][/color][color=#000000][size=2]idAtt && [/size][/color][color=#666600][size=2]weapon == CSW_AWP && damage > 10.0 && random_num(1,5) == 1[/size][/color][color=#666600][size=2])[/size][/color]
[color=#000088][size=2]return[/size][/color][color=#000000][size=2] HAM_IGNORED[/size][/color][color=#666600][size=2];[/size][/color]
[color=#000000][size=2]cs_set_user_armor[/size][/color][color=#666600][size=2]([/size][/color][color=#000088][size=2]this[/size][/color][color=#666600][size=2],[/size][/color][color=#006666][size=2]0[/size][/color][color=#666600][size=2],[/size][/color][color=#000000][size=2] CS_ARMOR_NONE[/size][/color][color=#666600][size=2]);[/size][/color]
[color=#660066][size=2]SetHamParamFloat[/size][/color][color=#666600][size=2]([/size][/color][color=#006666][size=2]4[/size][/color][color=#666600][size=2],[/size][/color][color=#000088][size=2]float[/size][/color][color=#666600][size=2]([/size][/color][color=#000000][size=2]get_user_health[/size][/color][color=#666600][size=2]([/size][/color][color=#000088][size=2]this[/size][/color][color=#666600][size=2])[/size][/color][color=#666600][size=2]+[/size][/color][color=#006666][size=2]1[/size][/color][color=#666600][size=2]));[/color]
[color=#666600]return HAM_HANDLED;
}
i tak w ogole, to nie || lecz &&
JAKIE TO autouzupełnianie jest głupie!!!!
nie chce mi sie znow twojego przerabiać, łap z mojej klasy
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_klase[idattacker])
return HAM_IGNORED;
if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);
if(weapon == CSW_AWP && damage > 10.0 && random_num(1,5) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
}
return HAM_IGNORED;
}
#408675 Edycja klasy
Napisane przez Eustachy8
w 09.05.2012 19:59
#407558 Klasa Rambo :)
Napisane przez Eustachy8
w 06.05.2012 19:32
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <codmod>
#include <fakemeta>
new const nazwa[] = "Rambo";
new const opis[] = "Ma podwojny skok, 40 hp oraz pelen magazynak za kazde zabojstwo";
new const bronie = 1<<CSW_FAMAS | 1<<CSW_DEAGLE;
new const zdrowie = 150;
new const kondycja = 20;
new const inteligencja = 0;
new const wytrzymalosc = 20;
new bool:ma_klase[33];
new bool:moze_skoczyc[33];
new const maxClip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 };
public plugin_init() {
register_plugin(nazwa, "1.0", "QTM_Peyote");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_forward(FM_CmdStart, "CmdStart");
register_event("DeathMsg", "DeathMsg", "ade");
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[Rambo] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
ma_klase[id] = true;
return COD_CONTINUE;
}
public cod_class_disabled(id)
ma_klase[id] = false;
public CmdStart(id, uc_handle)
{
if(!ma_klase[id])
return FMRES_IGNORED;
new button = get_uc(uc_handle, UC_Buttons);
new oldbutton = pev(id, pev_oldbuttons);
new flags = pev(id, pev_flags);
if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && moze_skoczyc[id])
{
moze_skoczyc[id] = false;
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)
moze_skoczyc[id] = true;
return FMRES_IGNORED;
}
public DeathMsg()
{
new killer = read_data(1);
new victim = read_data(2);
if(!is_user_connected(killer))
return PLUGIN_CONTINUE;
if(ma_klase[victim] && !ma_klase[killer])
cod_set_user_xp(killer, cod_get_user_xp(killer)+10);
if(ma_klase[killer])
{
new cur_health = pev(killer, pev_health);
new Float:max_health = 100.0+cod_get_user_health(killer);
new Float:new_health = cur_health+40.0<max_health? cur_health+40.0: max_health;
set_pev(killer, pev_health, new_health);
new weapon = get_user_weapon(killer);
if(maxClip[weapon] != -1)
set_user_clip(killer, maxClip[weapon]);
}
return PLUGIN_CONTINUE;
}
stock set_user_clip(id, ammo)
{
new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
get_weaponname(weapon, weaponname, 31);
while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)
if (pev(weaponid, pev_owner) == id) {
set_pdata_int(weaponid, 51, ammo, 4);
return weaponid;
}
return 0;
}
#407512 1/x na oslepienie z danej broni
Napisane przez Eustachy8
w 06.05.2012 18:12
#407243 1/x na oslepienie z danej broni
Napisane przez Eustachy8
w 06.05.2012 11:41
register_event("Damage", "Damage", "b", "2!=0");
g_msg_screenfade = get_user_msgid("ScreenFade");
w pluginie:
public Damage(id)
{
new idattacker = get_user_attacker(id);
if(!is_user_connected(idattacker) || get_user_team(id) == get_user_team(idattacker))
return PLUGIN_CONTINUE;
if(ma_klase[idattacker] && random_num(1, 6) == 1)
Display_Fade(id, 1<<14, 1<<14 ,1<<16, 0, 255, 0, 230);
return PLUGIN_CONTINUE;
}
stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
{
message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
write_short( duration );
write_short( holdtime );
write_short( fadetype );
write_byte ( red );
write_byte ( green );
write_byte ( blue );
write_byte ( alpha );
message_end();
}
oczywiście musi być też ma klase zrobione. I teraz masz 1/6 na oślepienie.
A tak w ogóle, staraj się sam coś popracować, kod ten jest żywo skopiowany z klasy "terrorysta"
#406894 Przerobienie perków.
Napisane przez Eustachy8
w 05.05.2012 16:55
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <engine>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <fakemeta_util>
#include <codmod>
#define MAKE_MATTERY 7045
new const nazwa[] = "BFG10000";
new const opis[] = "Posiadasz bron z 2 wiazkami, ktora zadaje powazne obrazenia wrogom znajdujacym sie w poblizu";
new bool: ma_perk[33], bool: ma_bron[33];
new Float:idle[33]
new bfg10k_ammo[33]
new bfg_shooting[33];
enum {NONE = 0, SHOOTING, SHOOTED };
new sprite_blast;
new sprite_laser;
public plugin_init()
{
register_plugin(nazwa, "1.0", "Hleb & Wi'Waldi");
cod_register_perk(nazwa, opis);
register_forward(FM_CmdStart, "CmdStart")
register_forward(FM_PlayerPreThink, "PreThink");
RegisterHam(Ham_Item_Deploy, "weapon_p90", "Weapon_Deploy", 1);
RegisterHam(Ham_Weapon_WeaponIdle, "weapon_p90", "Weapon_WeaponIdle");
register_event("ResetHUD", "ResetHUD", "abe");
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0");
register_touch("bfg10000", "*" , "DotykWiazki");
register_think("bfg10000", "BFGThink");
}
public plugin_precache()
{
sprite_blast = precache_model("sprites/dexplo.spr");
sprite_laser = precache_model("sprites/dot.spr")
precache_sound("weapons/bfg_fire.wav");
precache_model("models/bfg_mattery.mdl");
precache_model("models/v_bfg10000.mdl");
precache_model("models/p_bfg10000.mdl");
}
public cod_perk_enabled(id)
{
cod_give_weapon(id, CSW_P90)
ma_perk[id] = true;
ma_bron[id] = true;
bfg10k_ammo[id] = 2;
}
public cod_perk_disabled(id)
{
cod_take_weapon(id, CSW_P90)
ma_perk[id] = false;
ma_bron[id] = false;
bfg10k_ammo[id] = 0;
}
public CmdStart(id, uc_handle)
{
new weapon = get_user_weapon(id);
if(!is_user_alive(id))
return PLUGIN_CONTINUE;
if(weapon == 30 && ma_bron[id])
{
if(!ma_perk[id])
return FMRES_IGNORED
if(!bfg10k_ammo[id] && (pev(id, pev_oldbuttons) & IN_ATTACK))
{
client_print(id, print_center, "Wykorzystales juz wszystkie wiazki!");
return PLUGIN_CONTINUE;
}
new Button = get_uc(uc_handle, UC_Buttons)
new OldButton = pev(id, pev_oldbuttons)
new ent = fm_find_ent_by_owner(-1, "weapon_p90", id);
if(Button & IN_ATTACK && !(OldButton & IN_ATTACK) && bfg_shooting[id] == NONE)
{
Button &= ~IN_ATTACK;
set_uc(uc_handle, UC_Buttons, Button);
if(!bfg10k_ammo[id] || !idle[id])
return FMRES_IGNORED;
if(idle[id] && (get_gametime()-idle[id]<=0.7))
return FMRES_IGNORED;
set_pev(id, pev_weaponanim, 4);
emit_sound(id, CHAN_ITEM, "weapons/bfg_fire.wav", 0.5, ATTN_NORM, 0, PITCH_NORM);
message_begin(MSG_ONE, get_user_msgid("BarTime"), {0, 0, 0}, id)
write_byte(1)
write_byte(0)
message_end()
bfg_shooting[id] = SHOOTING
set_task(0.8, "MakeMattery", id+MAKE_MATTERY)
return FMRES_IGNORED
}
if(bfg_shooting[id] == SHOOTING && (Button & (IN_USE | IN_ATTACK2 | IN_BACK | IN_FORWARD | IN_CANCEL | IN_JUMP | IN_MOVELEFT | IN_MOVERIGHT | IN_RIGHT)))
{
remove_task(id+MAKE_MATTERY)
message_begin(MSG_ONE, get_user_msgid("BarTime"), {0, 0, 0}, id)
write_byte(0)
write_byte(0)
message_end()
bfg_shooting[id] = NONE
emit_sound(id, CHAN_ITEM, "weapons/bfg_fire.wav", 0.5, ATTN_NORM, (1<<5), PITCH_NORM)
return FMRES_IGNORED
}
if(Button & IN_RELOAD)
{
Button &= ~IN_RELOAD;
set_uc(uc_handle, UC_Buttons, Button);
set_pev(id, pev_weaponanim, 0);
set_pdata_float(id, 83, 0.5, 4);
if(ent)
set_pdata_float(ent, 48, 0.5+3.0, 4);
}
if(ent)
cs_set_weapon_ammo(ent, -1);
cs_set_user_bpammo(id, 30, bfg10k_ammo[id]);
}
else if(weapon != 30 && ma_bron[id])
{
idle[id] = 0.0;
if(task_exists(id+MAKE_MATTERY))
{
remove_task(id+MAKE_MATTERY)
message_begin(MSG_ONE, get_user_msgid("BarTime"), {0, 0, 0}, id)
write_byte(0)
write_byte(0)
message_end()
bfg_shooting[id] = NONE
emit_sound(id, CHAN_ITEM, "weapons/bfg_fire.wav", 0.5, ATTN_NORM, (1<<5), PITCH_NORM)
return FMRES_IGNORED
}
}
return FMRES_IGNORED
}
public MakeMattery(id)
{
id-=MAKE_MATTERY
bfg_shooting[id] = SHOOTED
bfg10k_ammo[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);
set_pev(id, pev_weaponanim, 2);
new ent = create_entity("info_target");
entity_set_string(ent, EV_SZ_classname, "bfg10000");
entity_set_model(ent, "models/bfg_mattery.mdl");
fm_set_user_rendering(ent, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 255)
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenShake"),_, id);
write_short(255<<14);
write_short(2<<12);
write_short(255<<14);
message_end();
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, 300 , Velocity);
entity_set_vector(ent, EV_VEC_velocity ,Velocity);
entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
}
public DotykWiazki(ent)
{
if (!is_valid_ent(ent))
return PLUGIN_CONTINUE;
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[i] = floatround(fOrigin[i]);
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", 120.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) || !(pev(ent, pev_flags) & FL_ONGROUND))
continue;
cod_inflict_damage(attacker, pid, 500.0, 0.0, ent, (1<<24));
}
remove_entity(ent);
bfg_shooting[attacker] = NONE
return PLUGIN_CONTINUE
}
public ResetHUD(id)
{
bfg10k_ammo[id] = 2;
bfg_shooting[id] = NONE
}
public client_disconnect(id)
{
new ent = find_ent_by_class(0, "bfg10000");
while(ent > 0)
{
if(entity_get_edict(id, EV_ENT_owner) == id)
remove_entity(ent);
ent = find_ent_by_class(ent, "bfg10000");
}
}
public BFGThink(ent)
{
if(entity_get_int(ent, EV_INT_iuser2))
return PLUGIN_CONTINUE;
entity_set_int(ent, EV_INT_iuser1, 1);
new attacker = entity_get_edict(ent, EV_ENT_owner);
new entlist[33];
new numfound = find_sphere_class(ent, "player", 500.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))
{
cod_inflict_damage(attacker, pid, 300.0, 0.0, ent, (1<<24));
new Float:vec1[3]
entity_get_vector(ent, EV_VEC_origin, vec1);
new vec2[3]
get_user_origin(pid, vec2)
new iOrigin[3];
for(new i=0;i<3;i++)
iOrigin[i] = floatround(vec1[i]);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte (0) //TE_BEAMENTPOINTS 0
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
write_coord(vec2[0])
write_coord(vec2[1])
write_coord(vec2[2])
write_short(sprite_laser)
write_byte(1) // framestart
write_byte(5) // framerate
write_byte(2) // life
write_byte(10) // width
write_byte(0) // noise
write_byte(0) // r, g, b
write_byte(255) // r, g, b
write_byte(0) // r, g, b
write_byte(255) // brightness
write_byte(150) // speed
message_end()
}
}
entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
return PLUGIN_CONTINUE;
}
public Weapon_Deploy(ent)
{
new id = get_pdata_cbase(ent, 41, 4);
if(ma_bron[id])
{
set_pev(id, pev_viewmodel2, "models/v_bfg10000.mdl");
set_pev(id, pev_weaponmodel2, "models/p_bfg10000.mdl");
}
return PLUGIN_CONTINUE;
}
public Weapon_WeaponIdle(ent)
{
new id = get_pdata_cbase(ent, 41, 4);
if(get_user_weapon(id) == 30 && ma_bron[id])
{
if(!idle[id])
idle[id] = get_gametime();
}
}
public Nowa_Runda()
{
new ent = find_ent_by_class(-1, "bfg10000");
while(ent > 0)
{
remove_entity(ent);
ent = find_ent_by_class(ent, "bfg10000");
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
#406737 Przerobienie perków.
Napisane przez Eustachy8
w 05.05.2012 10:17
3.
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <engine>
#include <hamsandwich>
#include <fakemeta_util>
#include <colorchat>
#define VERSION "1.0"
#define AUTHOR "author"
new ma_perk[33];
new ma_skok[33];
#define DAMAGE 300.0 //Damage trzesienia
#define DAMAGE_INT 1.0 //Ilosc wzrostu damage przy dodaniu 1 pkt inteligencji
#define ODLEGLOSC 200.0 //odleglosc razenia trzesienia
#define ILOSC_SKOKOW 2
#define nazwa "Skrzydla Archaniola"
#define opis "Masz zmniejszona grawitacje, kiedy podczas skoku uzyjesz go spadasz na ziemie i wywolujesz trzesienie"
public plugin_init() {
register_plugin(nazwa, "1.0", "d0n tHe Pr0oo")
cod_register_perk(nazwa, opis);
RegisterHam(Ham_Spawn, "player", "fwSpawn", 1);
register_event("ResetHUD", "ResetHUD", "abe");
}
public fwSpawn(id)
{
if(ma_perk[id])
{
fm_set_user_gravity(id, 0.4);
}
}
public cod_perk_used(id)
{
if(!is_user_alive(id) || !ma_perk[id])
return PLUGIN_CONTINUE;
if (!ma_skok[id])
{
ColorChat(id, GREEN, "Wykorzystałeś już skoki.");
return PLUGIN_CONTINUE;
}
new flags = pev(id, pev_flags);
if(!(flags & FL_ONGROUND))
{
new Float:velocity[3];
pev(id, pev_velocity, velocity);
velocity[2] = -800.0
set_pev(id, pev_velocity, velocity);
TrzesienieZiemi(id);
}
return PLUGIN_CONTINUE;
}
public ResetHUD(id)
{
ma_skok[id] = ILOSC_SKOKOW;
}
public cod_perk_enabled(id)
{
ma_perk[id] = 1;
ma_skok[id] = ILOSC_SKOKOW;
fwSpawn(id);
}
public cod_perk_disabled(id)
{
ma_perk[id] = 0;
ma_skok[id] = 0;
}
public TrzesienieZiemi(id)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<13);
write_short(1<<14);
message_end();
new entlist[33];
new numfound = find_sphere_class(id, "player", ODLEGLOSC, entlist, 32);
for (new i=0; i < numfound; i++)
{
new pid = entlist[i];
if (is_user_alive(pid) && get_user_team(id) != get_user_team(pid))
cod_inflict_damage(id, pid, DAMAGE, DAMAGE_INT);
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: Eustachy8
- Regulamin


Dodatki SourceMod



Moja zawartość
