以文本方式查看主题

-  索沛CS1.6论坛 CS反作弊 CS1.6下载 amxx sma插件 cs对战平台  (http://106.53.153.14:27015:27015/index.asp)
--  AMXX插件脚本  (http://106.53.153.14:27015:27015/list.asp?boardid=15)
----  [原创]ZP灵气插件源码(默认闪电自行修改)  (http://106.53.153.14:27015:27015/dispbbs.asp?boardid=15&id=2494814)

--  作者:CS0123456789
--  发布时间:2017-12-13 0:33:00
--  [原创]ZP灵气插件源码(默认闪电自行修改)

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <engine>
#include <zombieplague>
#include <xs>
#include <Vexd_Utilities>

new lingqi[33]

new g_exploSpr,Thunder
new const sprite_grenade_ring[] = "sprites/shockwave.spr"

new const lgtning[] = "sprites/lgtning.spr"

#define ID_NVISION (taskid - TASK_NVISION)
#define ID_GUANGHUANG (taskid - TASK_GUANGHUANG)
#define ID_LINGQI (taskid - TASK_LINGQI)
#define ID_LINGQI_WAIT (taskid - TASK_LINGQI_WAIT)

enum (+= 100)
{
TASK_NVISION,
TASK_GUANGHUANG,
TASK_LINGQI,
TASK_LINGQI_WAIT
}
public plugin_init()
{
register_plugin("lingqi", "1.0", "weiji")
register_concmd("shandian", "shandian")
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
}

public fw_PlayerSpawn_Post(id)
{
remove_task(id+TASK_NVISION)
remove_task(id+TASK_GUANGHUANG)
remove_task(id+TASK_LINGQI)
lingqi[id] = 0
}


public plugin_precache()
{
g_exploSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_ring)
precache_sound( "ambience/thunder_clap.wav" )
Thunder = engfunc(EngFunc_PrecacheModel, lgtning)
}

public zp_user_infected_post( id,Infector )
{
remove_task(id+TASK_NVISION)
remove_task(id+TASK_GUANGHUANG)
remove_task(id+TASK_LINGQI)
fm_set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 1)
lingqi[id] = 0
}

public zp_user_humanized_post ( id, Survivor )
{
remove_task(id+TASK_NVISION)
remove_task(id+TASK_GUANGHUANG)
remove_task(id+TASK_LINGQI)
fm_set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 1)
lingqi[id] = 0
}
public shandian(id)
{
lingqi[id]=1
fm_set_rendering(id, kRenderFxGlowShell, 255, 255, 255, kRenderTransAlpha, 30)
create_blast5(id)
lqshandian(id)
remove_task(id+TASK_NVISION)
remove_task(id+TASK_GUANGHUANG)
remove_task(id+TASK_LINGQI)
set_task(0.1, "set_user_nvision", id+TASK_NVISION, _, _, "b")
set_task(3.0, "guanghuan", id+TASK_GUANGHUANG, _, _, "b")
set_task(2.5, "lqshandian", id+TASK_LINGQI, _, _, "b")
return
}

public set_user_nvision(taskid)
{
static origin[3]
get_user_origin(ID_NVISION, origin)
message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, ID_NVISION)
write_byte(TE_DLIGHT) // TE id
write_coord(origin[0]) // x
write_coord(origin[1]) // y
write_coord(origin[2]) // z
write_byte(15) // radius
write_byte(255) // r
write_byte(255) // g
write_byte(255) // b
write_byte(4) // life
write_byte(0) // decay rate
message_end()

}

public lqshandian(taskid)
{
if (!is_user_alive(ID_LINGQI))
return;
if (zp_get_user_zombie(ID_LINGQI))
return;
new maxplayers = get_maxplayers();
for (new id2; id2 <= maxplayers; id2++)
{

fangwei(ID_LINGQI, id2)

}
}

public guanghuan(taskid)
{
if (zp_get_user_zombie(ID_GUANGHUANG))
return;
if (!is_user_alive(ID_GUANGHUANG))
return;
create_blast5(ID_GUANGHUANG) 
}

public fangwei(id1, id2)
{
if (!is_user_alive(id1))
return
static Float:vOrigin[3], Float:vOrigin2[3]
pev(id1, pev_origin, vOrigin)
pev(id2, pev_origin, vOrigin2)

if(vector_distance(vOrigin, vOrigin2) < 240)
{

if (!is_user_alive(id2))
return

if (!zp_get_user_zombie(id2))
return
static health
health = pev(id2, pev_health)
if (health - 150 > 0)
{
set_pev(id2, pev_health, health - 150.0)
}
else
{
log_kill(id1,id2,"闪电灵气",0)
UpdateFrags(id1)  
}
new vorigin[3],srco[3];
get_user_origin(id2, vorigin)
vorigin[2] -= 26
srco[0] = vorigin[0] + 150
srco[1] = vorigin[1] + 150
srco[2] = vorigin[2] + 800
set_user_rendering(id2, kRenderFxGlowShell, 255, 255, 255, kRenderNormal, 16)
emit_sound(id2 ,CHAN_ITEM, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
ThunderCarabine(srco,vorigin)
ThunderCarabine(srco,vorigin)
ThunderCarabine(srco,vorigin)  
zp_set_user_frozen(id2, true, 0.5)
}

}


ThunderCarabine(vec1[3],vec2[3])
{
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(0);
write_coord(vec1[0]);
write_coord(vec1[1]);
write_coord(vec1[2]);
write_coord(vec2[0]);
write_coord(vec2[1]);
write_coord(vec2[2]);
write_short(Thunder);
write_byte(1);
write_byte(5);
write_byte(2);
write_byte(20);
write_byte(30);
write_byte(200);
write_byte(200);
write_byte(200);
write_byte(200);
write_byte(200);
message_end();

message_begin( MSG_PVS, SVC_TEMPENTITY,vec2);
write_byte(9);
write_coord(vec2[0]);
write_coord(vec2[1]);
write_coord(vec2[2]);
message_end();

}

create_blast5(id)
{
// Smallest ring
static Float:originF[3];
pev(id,pev_origin,originF);

engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_BEAMCYLINDER) // TE id
engfunc(EngFunc_WriteCoord, originF[0]) // x
engfunc(EngFunc_WriteCoord, originF[1]) // y
engfunc(EngFunc_WriteCoord, originF[2]) // z
engfunc(EngFunc_WriteCoord, originF[0]) // x axis
engfunc(EngFunc_WriteCoord, originF[1]) // y axis
engfunc(EngFunc_WriteCoord, originF[2]+300.0) // z axis
write_short(g_exploSpr) // sprite
write_byte(0) // startframe
write_byte(0) // framerate
write_byte(4) // life
write_byte(60) // width
write_byte(0) // noise
write_byte(255) // red5
write_byte(255) // green
write_byte(255) // blue
write_byte(255) // brightness
write_byte(0) // speed
message_end()

stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
new Float:RenderColor[3];
RenderColor[0] = float(r);
RenderColor[1] = float(g);
RenderColor[2] = float(b);

set_pev(entity, pev_renderfx, fx);
set_pev(entity, pev_rendercolor, RenderColor);
set_pev(entity, pev_rendermode, render);
set_pev(entity, pev_renderamt, float(amount));

return 1;
}

stock log_kill(killer, victim, weapon[], headshot)
{
// code from MeRcyLeZZ
set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET)
ExecuteHamB(Ham_Killed, victim, killer, 2) // set last param to 2 if you want victim to gib
set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT)


message_begin(MSG_BROADCAST, get_user_msgid("DeathMsg"))
write_byte(killer)
write_byte(victim)
write_byte(headshot)
write_string(weapon)
message_end()
//

if(get_user_team(killer)!=get_user_team(victim))
set_user_frags(killer,get_user_frags(killer) +1)
if(get_user_team(killer)==get_user_team(victim))
set_user_frags(killer,get_user_frags(killer) -1)

new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10]

get_user_name(killer, kname, 31)
get_user_team(killer, kteam, 9)
get_user_authid(killer, kauthid, 31)

get_user_name(victim, vname, 31)
get_user_team(victim, vteam, 9)
get_user_authid(victim, vauthid, 31)

log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"",
kname, get_user_userid(killer), kauthid, kteam,
vname, get_user_userid(victim), vauthid, vteam, weapon)

return PLUGIN_CONTINUE;
}

stock UpdateFrags(attacker)
{
zp_set_user_ammo_packs(attacker,zp_get_user_ammo_packs(attacker) + 10)

}

[此贴子已经被作者于2017-12-18 21:31:51编辑过]

--  作者:CS0123456789
--  发布时间:2017-12-13 0:35:00
--  

玩别的服务器的时候发现有一个灵气道具 觉得很不错,于是就写了一个 分享其中一个,其实大部分都差不多,可以自行修改


--  作者:谦友
--  发布时间:2017-12-13 0:40:00
--  
辛苦了
--  作者:QianY
--  发布时间:2017-12-13 0:59:00
--  
辛苦了
--  作者:Hercules_
--  发布时间:2017-12-13 1:05:00
--  
图片点击可在新窗口打开查看
--  作者:Hercules_
--  发布时间:2017-12-13 3:05:00
--  
Bind it
--  作者:qq1822854320
--  发布时间:2021-06-07 18:21:00
--  
好的 我好好研究一下
--  作者:laobaie
--  发布时间:2021-06-07 22:35:00
--  
呵呵呵呵呵呵呵
--  作者:MeiJiao
--  发布时间:2021-06-08 18:35:00
--  
好的我自己改一改吧
--  作者:shengdanlaoren
--  发布时间:2024-01-22 18:25:00
--  
好好好好好好好好