【开源】自动重生插件,只用fakemeta模块的说。。。
cs插件吧
全部回复
仅看楼主
level 13
lein神上 楼主
这不是我的原创,只是修改来自
AlliedModders 论坛的MeRcyLeZZ大神的源码。
更多请移步到隔壁贴吧https://tieba.baidu.com/p/2221812103
2L放源码!
2013年03月20日 05点03分 1
level 13
lein神上 楼主
/*
* 自动重生插件V0.3
* (使用fakemeta模块)
* 在Amxx.cfg中输入
* lein_respawn 1 插件开启/0关闭
* lein_spawn_delay 3.0 重生延迟时间
* lein.ys168.com
*/
#include <amxmodx>
#include <fakemeta>
#include <cstrike>
new cvar_spawn_delay
public plugin_init()
{
register_plugin("lein_respawn","0.3","lein")
register_event("DeathMsg","deathmsg","a")
register_cvar("lein_respawn","0")
cvar_spawn_delay = register_cvar("lein_spawn_delay","3.0") // 获取写在Amxx.cfg里的延迟时间
}
public deathmsg()
{
if (get_cvar_num("lein_respawn") == 1) //如果lein_respawn的值为1,则。。。
{
set_task(get_pcvar_float(cvar_spawn_delay), "respawn_player", read_data(2))
// 事件DeathMsg返回的第二个数据read_data(2) 就是被杀者id
// 用set_task设置延时及传递获取到的任务id给"respawn_player"这个public!
}
return PLUGIN_CONTINUE //否则退出public “deathmsg”
}
public respawn_player(id)
{
// Disconnected, already spawned, or switched to Spectator
// 这里是几个判断,判断玩家如果没有连接&还或者&是观察者,则return这个public,即不执行后面参数,防插件出错!
if (!is_user_connected(id) || is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR)
return;
// (Debug only)
// client_print(0, print_chat, "Player %d is being respawned", id)
// Try to spawn the player setting the appropiate dead flag and forcing a think
//使用fakemeta模块对玩家进行重生!
set_pev(id, pev_deadflag, DEAD_RESPAWNABLE)
dllfunc(DLLFunc_Think, id)
// Fix for CZ Bots: DLLFunc_Think won't work on them,
// but DLLFunc_Spawn does the job without any bugs.
// (for some reason I'm not suprised...)
//下面是针对ZBOT的fix,因为fakemeta模块了的 DLLFunc_Think对Zbot不起作用,但是DLLFunc_Spawn可以!
if (is_user_bot(id) && pev(id, pev_deadflag) == DEAD_RESPAWNABLE)
{
dllfunc(DLLFunc_Spawn, id)
}
}
2013年03月20日 05点03分 2
level 13
lein神上 楼主
关于复活保护,我还是推荐用MeRcyLeZZ大神的ZP2.0里面的zp50_spawn_protection.sma
由于这个插件还会用到cs_ham_bots_api.sma这个api插件,所以这里就不放出来了,需要的去ZP5.0里面找。
2013年03月20日 05点03分 3
前面打错字,是ZP5.0…
2013年03月20日 05点03分
回复 lein神上 :大神,说话要说完啊。能不能发一下传说中的ZP5.0源码?
2014年03月08日 09点03分
@源源想飞 你把一年前的老帖子翻出来干嘛?如果是一年前,我会叫你去我网盘。现在嘛,自己去Allied论坛下载吧,那里算是官方发布吧…
2014年03月08日 11点03分
level 13
lein神上 楼主
如果你就是爱用fun模块,不喜欢用fakemeta的话,你可以:
/* Spawns entity. */
native spawn(index);
复活玩家。
/* Sets player godmode. If you want to disable godmode set only first parameter. */
native set_user_godmode(index, godmode = 0);
设置玩家无敌。
/* Sets player rendering mode. */
native set_user_rendering(index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16);
让玩家发光(这个功能实际上用的就是fakemeta模块的stock的说,所以不如就用fakemeta)。
至于用fun模块到底怎么写,别问我,这么简单的东西,新人自己看着办。。。
2013年03月20日 05点03分 4
怎么写?[睡觉]
2013年03月20日 05点03分
@絕z情 在源码基础上添加#include <fun>,把那个 //使用fakemeta模块对玩家进行重生!后面内容删掉,换成fun模块的重生(部分版本CS有BUG),后面还就RegisterHam(Ham_spawn,"**",1),这里是用ham模块……不写了,自己学去…
2013年03月20日 05点03分
回复 lein神上 :- -随便问问的啦!呵呵!
2013年03月20日 05点03分
顺便认真地问一个问题:“究竟怎么才能用另外一个cfg来写入参数不是用amxx.cfg呀?我想学!之前一直不会!
2013年03月20日 10点03分
level 11
[来]
2013年03月20日 05点03分 5
level 11
好东西!收下了!别删帖!
2013年03月20日 05点03分 6
你刚刚发了什么垃圾?都被度娘删了!
2013年03月20日 05点03分
= =你确定度娘删了我的回复?
2013年03月20日 05点03分
@絕z情 你自己去回收站看!
2013年03月20日 09点03分
回复 lein神上 :我现在敢肯定没有被度娘删了我的回复
2013年03月20日 09点03分
level 1

2013年03月20日 12点03分 7
level 10
用了FM就别用CS模块,不然就跟没用FM一样
2013年03月20日 14点03分 9
这是Allied论坛那个写了ZP5.0、同时也是AMXX制作人之一的大神写的,我只是少量修改…
2013年03月20日 14点03分
回复 lein神上 :他写的东西效率也不见得高,不必要盲目崇拜.你看看楼下回复就知道了,指出他毛病的人多着呢
2013年03月20日 14点03分
@我是那鸡 哦,我只是认为他是Dev团队的,参与了AMXX的开发,对模块的理解应该比一般人高…还有,哪里有人指出了他的错?他的回复在19楼…
2013年03月20日 14点03分
回复 lein神上 :用fun,fakemeta,2个模块一起用,
2013年03月21日 07点03分
level 11
@我是 那鸡 人家神上难得发一次贴子,别计较太多,小心我叫凤姐搞你哦[睡觉]
话说Fake不止这些用途
2013年03月22日 01点03分 10
还有就是为什么他连用了
#include <fun> #
include
2013年03月22日 02点03分
@度娘灬魂手 没有用fun的说…
2013年03月22日 02点03分
回复 lein神上 :明白
2013年03月22日 02点03分
1