/* 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 } */
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.
|
Guest Message by DevFuse
adept
Rejestracja: 03.05.2012Aktualnie: Nieaktywny
Poza forum Ostatnio: 31.05.2012 04:41





Statystyki
- Grupa: Użytkownik
- Całość postów: 11
- Odwiedzin: 562
- Tytuł: Początkujący
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Płeć
Mężczyzna
-
Lokalizacja
Łódz
Kontakt
#406894 Przerobienie perków.
Napisane przez Eustachy8
w 05.05.2012 16:55
proszę:
#406737 Przerobienie perków.
Napisane przez Eustachy8
w 05.05.2012 10:17
1. 300 dmg od wybuchu? czy od laserów? sprecyzuj...
3.
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 } */
#406337 Prośba o klase
Napisane przez Engi
w 04.05.2012 16:12
Perk
Klasa
Ten indywidualny limit zaraz zrobię
http://amxx.pl/kompi...name=codmod.sma
Spoiler
#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#include <fakemeta>
#define DMG_BULLET (1<<1)
new bool:ma_perk[33];
new const perk_name[] = "Noz komandosa";
new const perk_desc[] = "1/1 z kosy PPM";
public plugin_init(){
register_plugin(perk_name, "1.0", "QTM_Peyote")
cod_register_perk(perk_name, perk_desc);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_perk_enabled(id)
{
ma_perk[id] = true;
}
public cod_perk_disabled(id)
{
ma_perk[id] = false;
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker) || !ma_perk[idattacker])
return HAM_IGNORED
if(get_user_weapon(idattacker) == CSW_KNIFE && pev(idattacker, pev_button) & IN_ATTACK2)
{
SetHamParamFloat(4, float(pev(this, pev_health)))
return HAM_HANDLED
}
return HAM_IGNORED;
}
Klasa
Spoiler
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#define DMG_BULLET (1<<1)
new const nazwa[] = "Ninja";
new const opis[] = "1/4 z noza PPM , bardzo mało widoczny i 2 skoki.";
new const bronie = 0;
new const zdrowie = 100;
new const kondycja = 100;
new const inteligencja = 0;
new const wytrzymalosc = 0;
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_forward(FM_CmdStart, "fwCmdStart_MultiJump");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 50);
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
ma_klase[id] = false;
}
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] = 1;
return FMRES_IGNORED;
}
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_KNIFE && damage > 1.0 && random_num(1,4) == 1 & IN_ATTACK2)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
}
return HAM_IGNORED;
}
Ten indywidualny limit zaraz zrobię
http://amxx.pl/kompi...name=codmod.sma
#406217 Prośba o klase
Napisane przez
Kaski
w 04.05.2012 12:23
Spoko już sprawdzam co nie tak 
Spoko już trzymaj
Heh proszę jeszcze perk

Spoko już trzymaj

Heh proszę jeszcze perk
![:]](https://amxx.pl/public/style_emoticons/default/cwaniak.gif)
Załączone pliki
-
codclass_Ninja.sma 1,84 KB 18 Ilość pobrań
codclass_Ninja.amxx
-
codperk_nozkomandosa.sma 1,32 KB 28 Ilość pobrań
codperk_nozkomandosa.amxx
#406100 Prośba o klase
Napisane przez
Kaski
w 04.05.2012 09:01
#405968 Prośba o klase
Napisane przez sCerR..*!
w 03.05.2012 21:53
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <hamsandwich> #include <engine> #include <codmod> new const perk_name[] = "Noz Komandosa"; new const perk_desc[] = "Natychmiastowe zabicie z noza"; new komandos_id; new bool:ma_perk[33]; public plugin_init() { register_plugin(perk_name, "1.0", "QTM_Peyote"); cod_register_perk(perk_name, perk_desc); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); komandos_id = cod_get_classid("Komandos"); } public cod_perk_enabled(id) { if(cod_get_user_class(id) == komandos_id) return COD_STOP; ma_perk[id] = true; return COD_CONTINUE; } public cod_perk_disabled(id) ma_perk[id] = false; public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_perk[this]) return HAM_IGNORED; if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && damage > 20) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); return HAM_IGNORED; } /* 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: adept
- Regulamin