|
Member
Join Date: Oct 2012
Location: Chile (Anoquegenial)
|

12-09-2012
, 09:37
Re: Pedido , Campo de fuerza [HNS]
|
#14
|
Quote:
Originally Posted by claans
Si esta en todas partes se la podrias pasar no ?
Me acuerdo que hace banda yo usaba esta , pero cada ratos si tiraban 3 o 4 en la misma ronda se cai el sv :C , preguntale a lucas por que ..
Es la del Zp de lucas , y Lawer la paso para utilizarla en Hns Comun ..
PHP Code:
#include <amxmodx> #include <engine> #include <hamsandwich> #include <cstrike> #include <fakemeta_util>
#define PLUGIN "Campo de Fuerza" #define VERSION "2.2" #define AUTHOR "lucas_7_94" // Modificación a 'mod comun': Lawer
#define ValidTouch(%1) ( is_user_alive(%1) && ( zp_get_user_zombie(%1) || zp_get_user_nemesis(%1) ) )
/*=============================[Plugin Customization]=============================*/ #define CAMPO_TASK #define TASK_TIME 30.0
#define RANDOM_COLOR //#define ONE_COLOR
new const NADE_TYPE_CAMPO = 3679
#if defined ONE_COLOR new Float:CampoColors[3] = { 255.0 , // r 0.0 , // g 0.0 // b } #endif
new const model_grenade[] = "models/zombie_plague/v_auragren.mdl" new const model[] = "models/zombie_plague/aura8.mdl" new const w_model[] = "models/zombie_plague/w_aura.mdl" new const sprite_grenade_trail[] = "sprites/laserbeam.spr" new const entclas[] = "campo_grenade_forze" new const recieving_sound[] = "items/9mmclip1.wav"
new g_trailSpr, cvar_push, g_SayText, g_msgAmmoPickup, g_maxplayers
new bool:g_bomb[33]
const item_cost = 15 /*=============================[End Customization]=============================*/
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade") RegisterHam(Ham_Killed, "player", "fw_PlayerKilled") register_event("CurWeapon", "Event_CurWeapon", "be","1=1") register_forward(FM_SetModel, "fw_SetModel") register_forward(FM_Touch, "fw_touch") register_message(g_msgAmmoPickup, "message_ammopickup") register_event("HLTV", "event_round_start", "a", "1=0", "2=0") register_clcmd("say /campo", "CampoOn") g_SayText = get_user_msgid("SayText") g_msgAmmoPickup = get_user_msgid("AmmoPickup") // Push cvar, (Only float's numbers) cvar_push = register_cvar("zp_forze_push", "7.5") g_maxplayers = get_maxplayers() }
public plugin_precache() { g_trailSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_trail) engfunc(EngFunc_PrecacheModel, model_grenade) engfunc(EngFunc_PrecacheModel, model) engfunc(EngFunc_PrecacheModel, w_model) engfunc(EngFunc_PrecacheSound, recieving_sound) }
public event_round_start() { remove_entity_name(entclas) for (new id=1; id<=g_maxplayers; id++) g_bomb[id] = false }
public client_disconnect(id) g_bomb[id] = false public CampoOn(id) g_bomb[id] = true public Event_CurWeapon(id) { if (get_user_weapon(id) == CSW_SMOKEGRENADE && g_bomb[id]) set_pev(id, pev_viewmodel2, model_grenade) } public fw_PlayerKilled(victim, attacker, shouldgib) g_bomb[victim] = false
public fw_ThinkGrenade(entity) { if(!pev_valid(entity)) return HAM_IGNORED static Float:dmgtime pev(entity, pev_dmgtime, dmgtime) if (dmgtime > get_gametime()) return HAM_IGNORED if(pev(entity, pev_flTimeStepSound) == NADE_TYPE_CAMPO) { crear_ent(entity) return HAM_SUPERCEDE } return HAM_IGNORED }
public fw_SetModel(entity, const model[]) { static Float:dmgtime pev(entity, pev_dmgtime, dmgtime) if (dmgtime == 0.0) return FMRES_IGNORED if (equal(model[7], "w_sm", 4)) { new owner = pev(entity, pev_owner) if(g_bomb[owner] && is_user_alive(owner) && cs_get_user_team(owner) == CS_TEAM_T) { g_bomb[owner] = false fm_set_rendering(entity, kRenderFxGlowShell, 000, 255, 255, kRenderNormal, 16) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) // TE id write_short(entity) // entity write_short(g_trailSpr) // sprite write_byte(10) // life write_byte(10) // width write_byte(000) // r write_byte(255) // g write_byte(255) // b write_byte(500) // brightness message_end() set_pev(entity, pev_flTimeStepSound, NADE_TYPE_CAMPO) set_task(TASK_TIME, "DeleteEntityGrenade" ,entity) entity_set_model(entity, w_model) return FMRES_SUPERCEDE } } return FMRES_IGNORED }
public DeleteEntityGrenade(entity) remove_entity(entity)
public crear_ent(id) { // Create entitity new iEntity = create_entity("info_target") if(!is_valid_ent(iEntity)) return PLUGIN_HANDLED new Float: Origin[3] entity_get_vector(id, EV_VEC_origin, Origin) entity_set_string(iEntity, EV_SZ_classname, entclas) entity_set_vector(iEntity,EV_VEC_origin, Origin) entity_set_model(iEntity,model) entity_set_int(iEntity, EV_INT_solid, SOLID_TRIGGER) entity_set_size(iEntity, Float: {-100.0, -100.0, -100.0}, Float: {100.0, 100.0, 100.0}) entity_set_int(iEntity, EV_INT_renderfx, kRenderFxGlowShell) entity_set_int(iEntity, EV_INT_rendermode, kRenderTransAlpha) entity_set_float(iEntity, EV_FL_renderamt, 50.0) #if defined RANDOM_COLOR if(is_valid_ent(iEntity)) { new Float:vColor[3] for(new i; i < 3; i++) vColor[i] = random_float(0.0, 255.0) entity_set_vector(iEntity, EV_VEC_rendercolor, vColor) } #endif #if defined ONE_COLOR entity_set_vector(iEntity, EV_VEC_rendercolor, CampoColors) #endif #if defined CAMPO_TASK set_task(TASK_TIME, "DeleteEntity", iEntity) #endif return PLUGIN_CONTINUE; }
public fw_touch(ent, id) { if ( !pev_valid(ent) ) return FMRES_IGNORED; static entclass[32]; pev(ent, pev_classname, entclass, 31); if ( equali(entclass, entclas) ) { if(cs_get_user_team(id) == CS_TEAM_CT) { new Float:pos_ptr[3], Float:pos_ptd[3], Float:push_power = get_pcvar_float(cvar_push) pev(ent, pev_origin, pos_ptr) pev(id, pev_origin, pos_ptd) for(new i = 0; i < 3; i++) { pos_ptd[i] -= pos_ptr[i] pos_ptd[i] *= push_power } set_pev(id, pev_velocity, pos_ptd) set_pev(id, pev_impulse, pos_ptd) } } return PLUGIN_HANDLED }
public DeleteEntity(entity) { if(is_valid_ent(entity)) remove_entity(entity) }
stock Color(const id, const input[], any:...) { static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!t", "^3") message_begin(MSG_ONE_UNRELIABLE, g_SayText, _, id) write_byte(id) write_string(msg) message_end() }
|
Me Funciono  , Ahora el dilema es ._. como lo colocaria en un shop? y que al colocar /campo te reste $6000 de dinero D:
Last edited by KillerSt; 12-09-2012 at 09:41.
Reason: jeje
|
|