Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Eustachy8 - zdjęcie

Eustachy8

Rejestracja: 17.12.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 28.01.2023 04:34
-----

#470554 Klasy +Special

Napisane przez Eustachy8 w 22.10.2012 20:40

zrób faktycznie nowy temat. Wszystkie klasy były testowane i działają na 100 procent. Podejrzewam, że modele nie są w tych folderach co określiłem w sma klasy i dlatego serwer pada
  • +
  • -
  • 1


#470293 Klasy +Special

Napisane przez Eustachy8 w 21.10.2012 21:26

czyli po prostu usunąć radar?
  • +
  • -
  • 1


#441033 Klasa Najemnik

Napisane przez Eustachy8 w 05.08.2012 12:12

Witam!

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


  • +
  • -
  • 2


#441027 Klasa Weteran Galil

Napisane przez Eustachy8 w 05.08.2012 12:00

Witam!

Klasa nie jest moja, znalazłem ją kiedyś w sieci i przystosowałem do mojego serwera,autor nie jest mi znany ;). Klasa ma 1/2 szansy na "zamrożenie" wroga, powstaje w okół niego "fala uderzeniowa" i jest unieruchamiany ;)

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


  • +
  • -
  • 3


#440456 Klasa Space Division

Napisane przez Eustachy8 w 04.08.2012 07:36

Witam!

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


  • +
  • -
  • 7


#428975 Parę tutków na dodatki do klas

Napisane przez Eustachy8 w 05.07.2012 22:47

oraz gdy medyk położy apteczkę
  • +
  • -
  • 1


#418106 Klasa z perkiem dash .

Napisane przez Eustachy8 w 05.06.2012 20:48

proszę ;)

Załączone pliki


  • +
  • -
  • 1


#410402 [ROZWIĄZANE] Problem z komplikacją klasy od lvl'a

Napisane przez Eustachy8 w 14.05.2012 14:54

niewielka pomyłka, często się to zdarza ;D

if(level =< 800)

nie może być równe lub mniejsze ;D
musi być mniejsze lub równe
if (level <= 800)
i teraz sie będzie kompilować
  • +
  • -
  • 1


#409071 Edycja klasy

Napisane przez Eustachy8 w 11.05.2012 14:33

no normalnie
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;
}

  • +
  • -
  • 1


#408675 Edycja klasy

Napisane przez Eustachy8 w 09.05.2012 19:59

dodaj ten warunek:
if (get_user_weapon(id) == CSW_AWP) 

wtedy będzie działać to co chcesz tylko gdy ktoś będzie miał AWP ;)
  • +
  • -
  • 1


#407558 Klasa Rambo :)

Napisane przez Eustachy8 w 06.05.2012 19:32

w sumie no nie widzę jakiegoś błędu, jest to lekko przerobiona klasa admirał, więc przerobiłem ją jeszcze raz (btw, popełniłeś lekki błąd gdzie indziej, naprawiłem go, w jednym miejscu nie zamieniłeś 20 na 40)


/* 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;
}


  • +
  • -
  • 1


#407512 1/x na oslepienie z danej broni

Napisane przez Eustachy8 w 06.05.2012 18:12

tworzysz nowy warunek logiczny i:

wp = get_user_weapon(id);

if(wp == CSW_M4A1 || wp == CSW_USP || wp == CSW_FAMAS || wp == CSW_GLOCK18 || wp == CSW_AUG || wp == CSW_SG552)

masz na 6 broni nawet ;D
  • +
  • -
  • 1


#407243 1/x na oslepienie z danej broni

Napisane przez Eustachy8 w 06.05.2012 11:41

do plugin_init

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"
  • +
  • -
  • 1


#406894 Przerobienie perków.

Napisane przez Eustachy8 w 05.05.2012 16:55

proszę:

/* 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 }
*/

  • +
  • -
  • 1


#406737 Przerobienie perków.

Napisane przez Eustachy8 w 05.05.2012 10:17

1. 300 dmg od wybuchu? czy od laserów? sprecyzuj...

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 }
*/


  • +
  • -
  • 1