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
}


Dodatki SourceMod



Temat jest zamknięty









