搜索
查看: 3707|回复: 4

高手请进:关于Special Knife插件的问题!

[复制链接]
发表于 2007-12-22 20:54:06 | 显示全部楼层 |阅读模式 来自 中国–甘肃–兰州
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工具查看一下就明白了,它是无法打开的,是一个空模型,但想要屏蔽掉第三人称的小刀模型时则必须要用到.
[php]#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
}[/php]
对于问题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),大家看看能不能从里面提取一下关于小刀音频替换的代码.
[php]#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
}......[/php]

本帖子中包含更多资源

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

×
 楼主| 发表于 2007-12-22 22:07:00 | 显示全部楼层 来自 中国–甘肃–兰州

回复: 高手请进:关于Special Knife插件的问题!

哈哈,我知道解决的方法了!
回复

使用道具 举报

发表于 2007-12-23 01:59:05 | 显示全部楼层 来自 中国–广东–广州–番禺区

回复: 高手请进:关于Special Knife插件的问题!

汗,这个插件运行一阵子会造至服务器出错崩溃!
回复

使用道具 举报

发表于 2012-4-19 01:41:18 | 显示全部楼层 来自 中国–四川–广元
大哥能不能在这个插件上加个权限啊??
回复

使用道具 举报

发表于 2012-4-28 10:14:10 | 显示全部楼层 来自 中国–四川–泸州
顶下再看哈
回复

使用道具 举报

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

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