Tutuaj SMA:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fakemeta> #include <fun> new MODEL_GRANAT_GRACZ[] = "models/pzb_dr/v_granat.mdl" new MODEL_GRANAT_WSZYSCY[] = "models/pzb_dr/w_granat.mdl" new MODEL_GRANAT_LINIA[] = "sprites/laserbeam.spr" new rendering, trail, g_trail public plugin_init() { register_plugin("New Plug-In", "1.0", "Mis") register_event("TeamInfo", "vip", "a") register_event("TeamInfo", "admin", "a") register_event("TeamInfo", "gracz", "a") register_logevent("granat", 2, "1=Round_Start") rendering = register_cvar("granat_rendering","1") trail = register_cvar("granat_linia","1") register_forward(FM_SetModel,"granat_model2") register_event("CurWeapon","granat_model","be","1=1") register_cvar("sv_cl_dlmax","80") return PLUGIN_CONTINUE } public has_flags(id,string[]) { new ret=1 new byte new len = strlen(string) new p_flag = get_user_flags(id) for(new i=0;i<=len;i++) { if(string[i]>='a' && string[i]<='z') byte = (1<<(string[i]-'a')) else if(string[i]>='A' && string[i]<='Z') byte = (1<<(string[i]-'A')) else if(string[i]==',' && ret==1) return 1 else if(string[i]==',') ret=1 if(byte!=0 && !(p_flag & byte)) ret=0 byte=0 } return ret } stock set_trail(id,r,g,b,bright) { message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(22) write_short(id) write_short(g_trail) write_byte(25) write_byte(5) write_byte(r) write_byte(g) write_byte(<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' /> write_byte(bright) message_end() } stock set_rendering(index, fx=kRenderFxNone, r=0, g=0, b=0, render=kRenderNormal, amount=16) { set_pev(index, pev_renderfx, fx) new Float:RenderColor[3] RenderColor[0] = float(r) RenderColor[1] = float(g) RenderColor[2] = float(<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' /> set_pev(index, pev_rendercolor, RenderColor) set_pev(index, pev_rendermode, render) set_pev(index, pev_renderamt, float(amount)) } public client_connect(id) { client_cmd(id,"cl_dlmax %d", get_cvar_num("sv_cl_dlmax")) } public client_authorized(id) { client_cmd(id,"cl_dlmax %d", get_cvar_num("sv_cl_dlmax")) } public admin() { new id=read_data(1) if (has_flag(id,"d")) { new team[32] read_data(2,team,31) if(equal("TERRORIST",team)) cs_set_user_model(id,"pzb_admte") if(equal("CT",team)) cs_set_user_model(id,"pzb_admct") } } public vip() { new id=read_data(1) if (has_flag(id,"b")) { new team[32] read_data(2,team,31) if(equal("TERRORIST",team)) cs_set_user_model(id,"pzb_vipte") if(equal("CT",team)) cs_set_user_model(id,"pzb_vipct") } } public gracz() { new id=read_data(1) if (has_flag(id,"z")) { new team[32] read_data(2,team,31) if(equal("TERRORIST",team)) cs_set_user_model(id,"pzb_grate") if(equal("CT",team)) cs_set_user_model(id,"pzb_gract") } } public granat(id) { new players[32], player, pnum; get_players(players, pnum, "a"); for(new i = 0; i < pnum; i++) { player = players[i]; if (has_flag(id,"a,b,z")) { give_item(player, "weapon_smokegrenade") } } } public granat_model(id) { new weapon_id = read_data(2) if(weapon_id == CSW_SMOKEGRENADE) { set_pev(id, pev_viewmodel, engfunc(EngFunc_AllocString, MODEL_GRANAT_GRACZ)) } } public granat_model2(entity,const model[]) { if(!pev_valid(entity)) { return FMRES_IGNORED } new rend = get_pcvar_num(rendering) new tr = get_pcvar_num(trail) if(equali(model,"models/w_smokegrenade.mdl")) { engfunc(EngFunc_SetModel,entity,MODEL_GRANAT_WSZYSCY) if(rend) { set_rendering(entity,kRenderFxGlowShell,0,255,0,kRenderNormal,255) } if(tr) { set_trail(entity,0,255,0,255) } return FMRES_SUPERCEDE } return FMRES_IGNORED } public plugin_precache() { precache_model("models/player/pzb_vipct/pzb_vipct.mdl") precache_model("models/player/pzb_vipte/pzb_vipte.mdl") precache_model("models/player/pzb_admct/pzb_admct.mdl") precache_model("models/player/pzb_admte/pzb_admte.mdl") precache_model("models/player/pzb_gract/pzb_gract.mdl") precache_model("models/player/pzb_grate/pzb_grate.mdl") precache_model("models/player/pzb_vipte/pzb_vipteT.mdl") precache_model("models/player/pzb_grate/pzb_grateT.mdl") engfunc(EngFunc_PrecacheModel,MODEL_GRANAT_GRACZ) engfunc(EngFunc_PrecacheModel,MODEL_GRANAT_WSZYSCY) g_trail = engfunc(EngFunc_PrecacheModel,MODEL_GRANAT_LINIA) return PLUGIN_CONTINUE }