Osker Lee 发表于 2007-12-28 20:42:16

插件修改:当双方都只剩下一人时强制用小刀PK插件

记得之前有一个当双方都只剩下一人时可以赌博的插件,我今天找到了一个当双方都只剩下一人时可以发起用小刀PK挑战的插件(automatic_knife_duel.amxx),功能如下:

当对战的双方都只剩下一人时,其中的一个玩家可以发起用小刀PK的挑战,只要他拿小刀朝着墙壁或其他实物刺三下,对方的玩家就会在屏幕看到挑战书,并且给予其10秒钟的考虑时间.若对方同意,则进入小刀PK模式,若对方玩家不同意或超过10秒都不予答复,则发起的挑战失败,玩家只能自行决战了.

我想把插件修改一下,改成当双方都只剩下一人时强制用小刀PK插件,不允许发起挑战书,而是强制双方进入小刀PK模式.

米高佐敦 发表于 2007-12-29 09:34:31

回复: 插件修改:当双方都只剩下一人时强制用小刀PK插件

:rolleyes: 这个有点意思~

apocalyptic 发表于 2007-12-29 10:34:44

回复: 插件修改:当双方都只剩下一人时强制用小刀PK插件

如果对着墙刻字的时候被人用刀子捅屁股……
哈哈!

减少一点代码就行啦!

zwfgdlc 发表于 2007-12-29 13:18:03

回复: 插件修改:当双方都只剩下一人时强制用小刀PK插件

改一个还不如做一个快,自己试下吧,加BOT测试没问题.

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Administrator"
new bool:knifematic=false
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("CurWeapon", "event_holdwpn", "be", "1=1")
register_event("DeathMsg", "event_death", "a")
register_event("SendAudio","event_round_end","a","2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw")
// Add your code here...
}
public event_death()
{
if(get_playersnum(0)<2) return

new Tnum=0,CTnum=0
new playerlist,num
get_players(playerlist,num,"a")
for(new i=0;i<num;i++)
{
new team=get_user_team(playerlist)
if(team==1)
   ++Tnum
else
   ++CTnum
}
log_amx("T is %d,CT is %d",Tnum,CTnum)
if(Tnum==1&&CTnum==1)
{
knifematic=true
new players,snum
get_players(players,snum,"a")
for(new i=0;i<snum;i++)
{
   engclient_cmd(players,"weapon_knife")
}
}
}
public event_holdwpn(id)
{
new wpnid=read_data(2)
if(wpnid!=CSW_KNIFE && knifematic)
engclient_cmd(id,"weapon_knife")
}
public event_round_end()
{
knifematic=false
}

Osker Lee 发表于 2007-12-29 14:51:43

回复: 插件修改:当双方都只剩下一人时强制用小刀PK插件

测试成功!再次感谢zwfgdlc楼主!不过我又稍微做了一下改动,把相关信息用hud的方式显示,用来提醒玩家:已经进入小刀PK模式!(参见游戏截图)
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Automatic Knife Duel"
#define VERSION "1.0"
#define AUTHOR "Administrator"
new bool:knifematic=false
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("CurWeapon", "event_holdwpn", "be", "1=1")
register_event("DeathMsg", "event_death", "a")
register_event("SendAudio","event_round_end","a","2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw")
// Add your code here...
}
public event_death()
{
if(get_playersnum(0)<2) return

new Tnum=0,CTnum=0
new playerlist,num
get_players(playerlist,num,"a")
for(new i=0;i<num;i++)
{
new team=get_user_team(playerlist)
if(team==1)
   ++Tnum
else
   ++CTnum
}
//log_amx("T is %d,CT is %d",Tnum,CTnum)
if(Tnum==1&&CTnum==1)
{
knifematic=true
new players,snum
get_players(players,snum,"a")
for(new i=0;i<snum;i++)
{
   engclient_cmd(players,"weapon_knife")
   set_hudmessage(32, 202, 32, -1.0, 0.35, 0, 6.0, 6.0, 0.5, 0.15, -1)
   show_hudmessage(0,"Now start to knife duel^n%d T vs %d CT",Tnum,CTnum)
}
}
}
public event_holdwpn(id)
{
new wpnid=read_data(2)
if(wpnid!=CSW_KNIFE && knifematic)
engclient_cmd(id,"weapon_knife")
}
public event_round_end()
{
knifematic=false
}

whzzr 发表于 2008-1-2 19:10:09

回复: 插件修改:当双方都只剩下一人时强制用小刀PK插件

上传你修改好的啊~~wo 象要~

zhangsheng 发表于 2008-2-5 23:26:10

回复: 插件修改:当双方都只剩下一人时强制用小刀PK插件

这个插件绝对有问题.如果上一局被PK的玩家.到下一局全部人都变成刀了.枪都用不了

Osker Lee 发表于 2008-2-7 23:41:51

回复: 插件修改:当双方都只剩下一人时强制用小刀PK插件

这个插件绝对有问题.如果上一局被PK的玩家.到下一局全部人都变成刀了.枪都用不了
这个问题确实是存在的,但只会在下面的情况发生:当双方进入小刀PK模式之后,如果这时刷新一下服务器的话,上面的问题就出现了.因此还得麻烦zwfgdlc楼主对插件的这个BUG做一下修复.

野*人 发表于 2008-2-10 14:48:26

回复: 插件修改:当双方都只剩下一人时强制用小刀PK插件

:super: 期待~~~~~~~~~~

zwfgdlc 发表于 2008-2-10 18:33:03

回复: 插件修改:当双方都只剩下一人时强制用小刀PK插件

解决方法跟W3C的解决方法一样,自己试下吧
页: [1] 2
查看完整版本: 插件修改:当双方都只剩下一人时强制用小刀PK插件