搜索
查看: 6618|回复: 26

被队友闪到时,闪光为红色(源码)

[复制链接]
发表于 2008-3-8 02:45:35 | 显示全部楼层 |阅读模式 来自 中国–北京–北京
终于从老友下载下来了,希望点通的高手能够发扬光大
插件:OooH Team Flashed 被队友闪到时,闪光为红色
作者:PooHoo@老友记
来源:http://cs-friends.com.cn
[2007/11/20], CS/CZ 3329+, AMXX 1.76, 测试通过
功能:
当被队友闪到时,闪光为红色,被敌人或自己闪不改原有设置,依然是白色
说明:
team_flashed "1" // 插件开关(默认1)
附言:
这个插件,难就难在如何确定被闪时,这个闪光是谁扔的?
判断方法有好多种,在官方论坛里有几个关于闪光的插件
“No Team Flash”“Team Flash Snitch”。。等等
但处理方法不理想,不能100%正确判断扔雷的人。
我使用不同的处理方法,准确判断扔闪光的人100%有效。
正确获得扔雷的人后,我们可以修改扩展一下功能:
1,惩罚闪队友的人(掉血,扣金钱,没收武器。。)
2,进行计数,闪队友N次后,踢出,处死
3,去掉队友的闪光,
4,禁止他再购买或使用闪光弹
5,等等。。。
注意:如果惩罚过度,会激化玩家之间的矛盾,需谨慎。
*/
/*
插件:OooH Team Flashed 被队友闪到时,闪光为红色
作者:PooHoo@老友记
来源:http://cs-friends.com.cn
[2007/11/20], CS/CZ 3329+, AMXX 1.76, 测试通过
功能:
当被队友闪到时,闪光为红色,被敌人或自己闪不改原有设置,依然是白色
说明:
team_flashed "1" // 插件开关(默认1)
附言:
这个插件,难就难在如何确定被闪时,这个闪光是谁扔的?
判断方法有好多种,在官方论坛里有几个关于闪光的插件
“No Team Flash”“Team Flash Snitch”。。等等
但处理方法不理想,不能100%正确判断扔雷的人。
我使用不同的处理方法,准确判断扔闪光的人100%有效。
正确获得扔雷的人后,我们可以修改扩展一下功能:
1,惩罚闪队友的人(掉血,扣金钱,没收武器。。)
2,进行计数,闪队友N次后,踢出,处死
3,去掉队友的闪光,
4,禁止他再购买或使用闪光弹
5,等等。。。
注意:如果惩罚过度,会激化玩家之间的矛盾,需谨慎。
*/
#include <amxmodx>
#include <fakemeta>
#include <csx>
// 被队友闪后的颜色(R, G, B)
new const COLOR[3]={255, 50, 50} // 红色
enum FLASH{
Float:GameTime,
Duration,
HoldTime,
FadeType,
Alpha
}
new PLAYER[33][FLASH]
new pTeamFlashed
new gMsgScreenFade
new gMaxPlayers
new const FLASHSOUND[2][]={
"weapons/flashbang-1.wav",
"weapons/flashbang-2.wav"
}
public plugin_init()
{
register_plugin("OooH Team Flashed", "1.0", "PooHoo@cs-friends.com.cn")
register_forward(FM_EmitSound, "fw_FM_EmitSound")
register_event("ScreenFade", "event_ScreenFade", "be", "4=255", "5=255", "6=255", "7>199")
pTeamFlashed = register_cvar("team_flashed", "1")
gMsgScreenFade = get_user_msgid("ScreenFade")
gMaxPlayers = get_maxplayers()
}
public fw_FM_EmitSound(entity, channel, const sample[], Float:volume, Float:attenuation, fFlags, pitch)
{
if(!get_pcvar_num(pTeamFlashed))
return FMRES_IGNORED
// 闪光?
if(!equali(sample, FLASHSOUND[0]) && !equali(sample, FLASHSOUND[1]))
return FMRES_IGNORED
static flashed, Float:time, name[32], flasher, team
flashed = 0
flasher = pev(entity, pev_iuser3)
team = pev(entity, pev_iuser4)
time = get_gametime()
get_user_name(flasher, name, 31)
if (is_user_connected(flasher))
{
for(new id=1; id<=gMaxPlayers; id++)
{
// 如果这个闪光闪到队友,改变其闪光颜色
if (is_user_connected(id)
&& PLAYER[id][GameTime]==time
&& team==get_user_team(id)
&& flasher!=id)
{
client_print(id, print_chat, "[cs-friends.com.cn]: OooH, 队友[%s] 闪到你了", name)
FlashedEvent(id, PLAYER[id][Duration], PLAYER[id][HoldTime], PLAYER[id][FadeType], COLOR[0], COLOR[1], COLOR[2], PLAYER[id][Alpha])
flashed = 1
}
}
if (flashed)
{
// 这个闪光的人 flasher 通知或惩罚他
client_print(flasher, print_chat, "[cs-friends.com.cn]: OH NO, 老兄,你闪到队友了,要注意哦...")
// 添加其他惩罚代码。。。


}
}
return FMRES_IGNORED
}
// 记录被闪的人的闪光信息
public event_ScreenFade(id)
{
PLAYER[id][GameTime] = _:get_gametime()
PLAYER[id][Duration] = read_data(1)
PLAYER[id][HoldTime] = read_data(2)
PLAYER[id][FadeType] = read_data(3)
PLAYER[id][Alpha] = read_data(7)
}
// 记录仍雷人的信息
public grenade_throw(id, entity, WpnID)
{
if (WpnID == CSW_FLASHBANG)
{
set_pev(entity, pev_iuser3, id) // 这个雷是谁的
set_pev(entity, pev_iuser4, get_user_team(id)) // 他的队伍是?
}
}
// 发送闪光效果
stock FlashedEvent(id, iDuration, iHoldTime, iFadeType, iRed, iGreen, iBlue, iAlpha)
{
message_begin(MSG_ONE, gMsgScreenFade, {0,0,0}, id)
write_short(iDuration) // Duration
write_short(iHoldTime) // Hold time
write_short(iFadeType) // Fade type
write_byte (iRed) // Red
write_byte (iGreen) // Green
write_byte (iBlue) // Blue
write_byte (iAlpha) // Alpha
message_end()
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
发表于 2008-3-8 02:57:27 | 显示全部楼层 来自 中国–云南–西双版纳傣族自治州–景洪市

回复: 被队友闪到时,闪光为红色(源码)

郁闷我早就在老友记那里买过他的代码了100元啊刚开始他卖1000元呢.不过楼主能放出自己买的代码已经很不错了.在支持一下楼主的共享精神吧.此插件买来是没有惩罚代码的.要自己去写.不过我到是自己写好了!哎!估计过几天原插件名字又要被多少人改成污七八糟的名字了!
回复

使用道具 举报

发表于 2008-3-8 03:01:57 | 显示全部楼层 来自 中国–广西–百色

回复: 被队友闪到时,闪光为红色(源码)

不错,要是 能改成闪到队员惩罚就更加好了
支持楼主的共享精神


差点就坐到沙发了
回复

使用道具 举报

发表于 2008-3-8 03:17:07 | 显示全部楼层 来自 中国–广东–深圳–宝安区

回复: 被队友闪到时,闪光为红色(源码)

Post by cao869
终于从老友下载下来了,希望点通的高手能够发扬光大
插件:OooH Team Flashed 被队友闪到时,闪光为红色
作者:PooHoo@老友记
来源:http://cs-friends.com.cn
[2007/11/20], CS/CZ 3329+, AMXX 1.76, 测试通过
功能:
当被队友闪到时,闪光为红色,被敌人或自己闪不改原有设置,依然是白色
说明:
team_flashed "1" // 插件开关(默认1)
附言:
这个插件,难就难在如何确定被闪时,这个闪光是...

我在官方论坛上下载teamflashsnitch改的,被队友闪到了扣800金钱(用rulzy的金钱无限函数修改金钱),并提醒闪到自己人了。
有兴趣的测试一下。
准备跟colored_fb修正版-[作者grif.QQ&Osker Lee]结合在一起改改。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

 楼主| 发表于 2008-3-8 03:24:01 | 显示全部楼层 来自 中国–北京–北京

回复: 被队友闪到时,闪光为红色(源码)

终于大家都共享了,哎,现在的点通!
希望高手能做出更好的惩罚代码出来!
如果做出来了,请高手展示一下!
回复

使用道具 举报

发表于 2008-3-8 03:45:32 | 显示全部楼层 来自 中国–广东–深圳–宝安区

回复: 被队友闪到时,闪光为红色(源码)

Post by cao869
终于大家都共享了,哎,现在的点通!
希望高手能做出更好的惩罚代码出来!
如果做出来了,请高手展示一下!

我今天才想起来改这个插件,刚改好就看到你发这个源代码了。
我那个就加了个声音提示文件,再加了扣钱代码,其他也没什么的。
附件是官方论坛下载的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

 楼主| 发表于 2008-3-8 03:48:41 | 显示全部楼层 来自 中国–北京–北京

回复: 被队友闪到时,闪光为红色(源码)

希望能够把这个惩罚插件发扬一下!
回复

使用道具 举报

发表于 2008-3-8 10:21:35 | 显示全部楼层 来自 中国–广东–广州–天河区

回复: 被队友闪到时,闪光为红色(源码)

用那个新的模块不是更简单?????几行代码就够了,记录谁扔的,哪个队伍,很简单的。
回复

使用道具 举报

发表于 2008-3-8 13:04:10 | 显示全部楼层 来自 中国–广东–深圳–罗湖区

回复: 被队友闪到时,闪光为红色(源码)

不能100%正确判断扔雷的人。:sweat:
回复

使用道具 举报

发表于 2008-3-9 14:43:11 | 显示全部楼层 来自 中国–广东–东莞

回复: 被队友闪到时,闪光为红色(源码)

你厉害 。。。早就想要它的源码了。。
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表