高手请进:关于Special Knife插件的问题!
Special Knife插件的功能如下:1. 当玩家使用刀子时,按左键可以用拳头打人,按右键可以用脚踢人.(参见游戏截图)
2. 插件的开关:sk_enabled 1/0 当开启插件时,玩家使用刀子会变成拳打/脚踢的姿势,关闭插件时,则恢复正常的刀子模型.
Special Knife插件下载地址:
http://www.dt-club.net/forum/thread/71/37539.htm
目前,我觉得这个插件还有两个地方需要完善:
A. 当玩家以第三人称观察时,应该去除手上的小刀模型,这样一来的话,就相当于用拳头打人了.
B. 如何改变小刀攻击时的音效,我想用别的音效去替换原来的,毕竟小刀已经变成拳头了.
对于问题A,我已经解决了,其实只要让插件再加载一个"p_hands.md"模型就行了,这个模型如果大家用HL View工具查看一下就明白了,它是无法打开的,是一个空模型,但想要屏蔽掉第三人称的小刀模型时则必须要用到.
#include <amxmodx>
#include <engine>
new g_sk_enabled
public plugin_init(){
register_plugin("Special Knife","1.0","X-man")
g_sk_enabled=register_cvar("sk_enabled","1")
register_event("CurWeapon","wpnchange","be","1=1")
return PLUGIN_CONTINUE
}
public plugin_precache(){
precache_model("models/v_hands.mdl")
precache_model("models/p_hands.mdl")
return PLUGIN_CONTINUE
}
public wpnchange(id){
if(get_pcvar_num(g_sk_enabled)){
chuckyknife(id)
}
else{
chuckyknifewob(id)
}
}
public chuckyknife(id){
new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)
if (wpnid == CSW_KNIFE) {
entity_set_string(id, EV_SZ_viewmodel, "models/v_hands.mdl")
entity_set_string(id,EV_SZ_weaponmodel,"models/p_hands.mdl")
}
return PLUGIN_HANDLED
}
public chuckyknifewob(id){
new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)
if (wpnid == CSW_KNIFE) {
entity_set_string(id, EV_SZ_viewmodel, "models/v_knife.mdl")
}
return PLUGIN_HANDLED
}
对于问题B,我们知道,CS游戏系统里关于小刀的相关音效有9个,分别是:
knife_deploy1.wav
knife_hit1.wav
knife_hit2.wav
knife_hit3.wav
knife_hit4.wav
knife_hitwall1.wav
knife_slash1.wav
knife_slash2.wav
knife_stab.wav
如何获取小刀相关事件所要调用的音频代码,我就没办法了,希望高手们能出一下点子.另外,我在网上找到了一个不但可以更换小刀模型,而且还可以更换小刀声音的插件(knife_replacer.amxx),大家看看能不能从里面提取一下关于小刀音频替换的代码.
#include <amxmisc>
#include <fakemeta>
#define TOTAL_MODELS 50
#if !defined charsmax
#define charsmax(%1) sizeof %1 - 1
#endif
#define ADMIN_LEVEL ADMIN_KICK
#define MODEL_PLAYER 0
#define MODEL_ADMIN 1
#define VERSION "1.5"
enum knife_sounds
{
deploy,
hit1,
hit2,
hit3,
hit4,
hitwall,
slash1,
slash2,
stab
}
enum ( += 32 )
{
TASK_SHOWKNIFE
}......
回复: 高手请进:关于Special Knife插件的问题!
哈哈,我知道解决的方法了!回复: 高手请进:关于Special Knife插件的问题!
汗,这个插件运行一阵子会造至服务器出错崩溃! 大哥能不能在这个插件上加个权限啊?? 顶下再看哈
页:
[1]