设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1235|回复: 9

[求助] cs1.6区分男女语音和男女手臂的教程 [复制链接]

Rank: 2

帖子
17
精华
0
声望
247 点
金币
43 Mold
被赞许
1 次
注册时间
2012-4-14
发表于 2012-4-17 08:24:51 |显示全部楼层
新人无搜索权限,还望各位大大帮忙找一下,谢谢~~

使用道具 举报

Honorary Member

冇有模型的斑竹

Rank: 7Rank: 7Rank: 7

帖子
2870
精华
0
声望
14752 点
金币
255 Mold
被赞许
195 次
注册时间
2011-6-15

MTT职员 可爱小猫 懒人勋章 Modchina灌水王

发表于 2012-4-17 08:42:50 |显示全部楼层
我找了,找不到,改这种东西要插件的

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
558
精华
0
声望
2806 点
金币
415 Mold
被赞许
7 次
注册时间
2011-9-24

懒人勋章

发表于 2012-4-17 12:38:06 |显示全部楼层
那还不如去玩nst呢.1.6要插件的吧

使用道具 举报

Rank: 2

帖子
17
精华
0
声望
247 点
金币
43 Mold
被赞许
1 次
注册时间
2012-4-14
发表于 2012-4-17 12:48:58 |显示全部楼层
cloudzhuyichen 发表于 2012-4-17 12:38
那还不如去玩nst呢.1.6要插件的吧

我就是想问问区分男女语音的插件有吗?区分手臂的我搞定了

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
558
精华
0
声望
2806 点
金币
415 Mold
被赞许
7 次
注册时间
2011-9-24

懒人勋章

发表于 2012-4-17 16:12:30 |显示全部楼层
11000443 发表于 2012-4-17 12:48
我就是想问问区分男女语音的插件有吗?区分手臂的我搞定了

去插件区找找吧

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
565
精华
0
声望
2971 点
金币
52 Mold
被赞许
36 次
注册时间
2010-2-13
发表于 2012-4-17 17:47:30 |显示全部楼层
手模要那WG来区分
欢迎加入讨论群 164384320

使用道具 举报

Rank: 5Rank: 5

帖子
361
精华
0
声望
1021 点
金币
493 Mold
被赞许
35 次
注册时间
2011-7-4
发表于 2012-4-18 13:14:46 |显示全部楼层
本帖最后由 nan 于 2012-4-18 13:17 编辑

男女语音?你看看這個吧  我1年前寫的教學插件

/*--------------------------------------------------------------------------------
   
   by sky_orc_mm:
   我先說思路:顯示丟出手雷的名稱,既是僅僅為一個信息提示,我們不需要把它複雜化
   因為在每次丟出手雷時,CS有一個默認的無線電信息提示(fire in the hole)
   所以爲了插件不重複,我們先屏蔽掉系統的信息提示,再來顯示我們想要的信息
   
   至於陣營和音效區分,我們既可以選擇"get_user_team"和"zp_get_user_zombie"也可以選擇其他的類似接口
   我這裡應用的是NST的接口,詳見nst_player.inc與nst_zombie.inc
   
   插件講究的就是格式分明段落清晰,段落雜亂格式有問題的話也許會出錯哦!(高手們無視我這句話啦)
   這個插件是一個類似的教學插件(稍微有點難度,但是很簡單易懂)
   
   我會在寫代碼的時候加點提示的 ^^
   
   最後,感謝shadow給我的錯誤提醒,martin的指點,ls2587334的思路,謝謝你們!
   
--------------------------------------------------------------------------------*/


/*
NST_Show_GrenadeName

Version:  2.0
+ grenade sound
+ distinction between men and women`s radio
+ distinction between T and CT`s radio
+ zombie can`t use this amxx
+ true some bug
+ watting...

thanks for shadow,
martin
ls2587334;

Contact the author:

QQ   395879400
msn  xinxin881225@live.cn

                                                          Made by sky_orc_mm
                                                                          
*/

//包含的接口文件
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <nst_player>
#include <nst_zombie>

#define PLUGIN_NAME        "NST_Show_GrenadeName"
#define PLUGIN_VERSION        "2.0"
#define PLUGIN_AUTHOR        "sky_orc_mm"

new sound_file[33][32]

//预设音效文件(男)
//警
new const smokengrenade_man_CT[]="radio/Man_Smoke_CT.wav"
new const hgrenade_man_CT[]="radio/Man_Grenade_CT.wav"
new const flashbang_man_CT[]="radio/Man_Flashbang_CT.wav"
//匪
new const smokengrenade_man_T[]="radio/Man_Smoke_T.wav"
new const hgrenade_man_T[]="radio/Man_Grenade_T.wav"
new const flashbang_man_T[]="radio/Man_Flashbang_T.wav"

//预设音效文件(女)
//警
new const smokengrenade_woman_CT[]="radio/Woman_Smoke_CT.wav"
new const hgrenade_woman_CT[]="radio/Woman_Grenade_CT.wav"
new const flashbang_woman_CT[]="radio/Woman_Flashbang_CT.wav"
//匪
new const smokengrenade_woman_T[]="radio/Woman_Smoke_T.wav"
new const hgrenade_woman_T[]="radio/Woman_Grenade_T.wav"
new const flashbang_woman_T[]="radio/Woman_Flashbang_T.wav"

//变量,用于彩色字体
enum _:Colors
{
    DONT_CHANGE,
    TERRORIST,
    CT,
    SPECTATOR
}

//插件开始,init是英文单词^开始^的简写
public plugin_init()
{
        register_plugin("显示手雷名称", "0.0.1", "sky_orc_mm") //这句可要可不要
        register_message(get_user_msgid("TextMsg"),"sky_orc_mm")
}

//捕捉到扔雷的事件
public grenade_throw(id,iGren,wid)   
{
        if(!is_user_alive(id)) return PLUGIN_HANDLED;        
        
        if(!pev_valid(iGren)) return PLUGIN_HANDLED;        
        
        if (nst_zb_get_user_zombie(id)) return PLUGIN_HANDLED; //如果玩家是僵尸则插件无效
        
        new name[32]
        get_user_name(id, name, charsmax(name))
        
        new team = nst_get_user_team(id) //判断阵营
        
        new sex=nst_get_user_sex(id) //判断性别
        
        if(wid == CSW_HEGRENADE)   //手雷
        {
                if(sex==2) //设置玩家性别
                {
                        if(team==1) //设置玩家阵营
                        {
                                copy(sound_file[id],31,hgrenade_woman_T)
                                emit_sound(id, CHAN_AUTO,hgrenade_woman_T,1.0, ATTN_NORM, 0, PITCH_NORM)
                        }
                                else
                        {
                                copy(sound_file[id],31,hgrenade_woman_CT)
                                emit_sound(id, CHAN_AUTO,hgrenade_woman_CT,1.0, ATTN_NORM, 0, PITCH_NORM)
                        }
                }
                else
                {
                        if(team==1) //设置玩家阵营
                        {
                                copy(sound_file[id],31,hgrenade_man_T)
                                emit_sound(id, CHAN_AUTO,hgrenade_man_T,1.0, ATTN_NORM, 0, PITCH_NORM)
                        }
                                else
                        {
                                copy(sound_file[id],31,hgrenade_man_CT)
                                emit_sound(id, CHAN_AUTO,hgrenade_man_CT,1.0, ATTN_NORM, 0, PITCH_NORM)        
                        }
                }
                client_colorprint(0, TERRORIST, "^x01%s (radio): ^03手榴弹!", name)  //信息提示---扔雷的名称-手雷
        }
        if(wid == CSW_SMOKEGRENADE)   //烟雾
        {
                if(sex==2) //设置玩家性别
                {
                        if(team==1) //设置玩家阵营
                        {
                                copy(sound_file[id],31,smokengrenade_woman_T)
                                emit_sound(id, CHAN_AUTO,smokengrenade_woman_T,1.0, ATTN_NORM, 0, PITCH_NORM)
                        }
                                else
                        {
                                copy(sound_file[id],31,smokengrenade_woman_CT)
                                emit_sound(id, CHAN_AUTO,smokengrenade_woman_CT,1.0, ATTN_NORM, 0, PITCH_NORM)
                        }
                }
                else
                {
                        if(team==1) //设置玩家阵营
                        {
                                copy(sound_file[id],31,smokengrenade_man_T)
                                emit_sound(id, CHAN_AUTO,smokengrenade_man_T,1.0, ATTN_NORM, 0, PITCH_NORM)
                        }
                                else
                        {
                                copy(sound_file[id],31,smokengrenade_man_CT)
                                emit_sound(id, CHAN_AUTO,smokengrenade_man_CT,1.0, ATTN_NORM, 0, PITCH_NORM)        
                        }
                }
                client_colorprint(0, DONT_CHANGE, "^x01%s (radio): ^04烟雾弹!", name) //信息显示
        }
        if(wid == CSW_FLASHBANG) //闪光
        {
                if(sex==2) //设置玩家性别
                {
                        if(team==1) //设置玩家阵营
                        {
                                copy(sound_file[id],31,flashbang_woman_T)
                                emit_sound(id, CHAN_AUTO,flashbang_woman_T,1.0, ATTN_NORM, 0, PITCH_NORM)
                        }
                                else
                        {
                                copy(sound_file[id],31,flashbang_woman_CT)
                                emit_sound(id, CHAN_AUTO,flashbang_woman_CT,1.0, ATTN_NORM, 0, PITCH_NORM)
                        }
                }
                else
                {
                        if(team==1) //设置玩家阵营
                        {
                                copy(sound_file[id],31,flashbang_man_T)
                                emit_sound(id, CHAN_AUTO,flashbang_man_T,1.0, ATTN_NORM, 0, PITCH_NORM)
                        }
                                else
                        {
                                copy(sound_file[id],31,flashbang_man_CT)
                                emit_sound(id, CHAN_AUTO,flashbang_man_CT,1.0, ATTN_NORM, 0, PITCH_NORM)        
                        }
                }
                client_colorprint(0, SPECTATOR ,  "^x01%s (radio): ^03闪光弹!", name) //信息显示
        }
        return PLUGIN_CONTINUE;
}
//*************************************************************************************************
//屏蔽cs原版无线电显示的代码
public sky_orc_mm(msgid, msgDest, msgEnt)  
        {
        new argNum = get_msg_args()
        if (argNum!=5) return PLUGIN_CONTINUE
        
        if (get_msg_argtype(1)!=ARG_BYTE) return PLUGIN_CONTINUE
        
        new arg1=get_msg_arg_int(1)
        if (arg1!=5) return PLUGIN_CONTINUE
        
        new arg3[256]
        get_msg_arg_string(3,arg3,255)
        if(equal(arg3,"#Game_radio"))
                {
                new arg4[33],arg5[129]
                get_msg_arg_string(4,arg4,32)
                get_msg_arg_string(5,arg5,128)
                if(equal(arg5,"#Fire_in_the_hole"))
                        {
                        return 1
                }
        }
        return PLUGIN_CONTINUE;
}
//*************************************************************************************************
//以下是彩色文字。
client_colorprint(id, COLOR=DONT_CHANGE, fmt[], any:...)
{
    new szMsg[192]
    szMsg[0] = 0x04
    vformat(szMsg, charsmax(szMsg)-1, fmt, 4)

    new szTeam[11], MSG_DEST = id ? MSG_ONE : MSG_ALL

    static const szTeamNames[Colors][] = {"UNASSIGNED", "TERRORIST", "CT", "SPECTATOR"}

    if( COLOR )
    {
        Send_TeamInfo(id, szTeamNames[COLOR], MSG_DEST)
    }

    static iSayText

    if( iSayText || (iSayText = get_user_msgid("SayText")) )
    {
        message_begin(MSG_DEST, iSayText, _, id)
        {
            write_byte(id ? id : 1)
            write_string(szMsg)
        }
        message_end()
    }

    if( COLOR )
    {
        if( id || is_user_connected(1) )
        {
            get_user_team(id ? id : 1, szTeam, charsmax(szTeam))
            Send_TeamInfo(id, szTeam, MSG_DEST)
        }
        else
        {
            Send_TeamInfo(0, "UNASSIGNED", MSG_DEST)
        }
    }
}
Send_TeamInfo(const id, const szTeam[], MSG_DEST)
{
    static iTeamInfo
    if( iTeamInfo || (iTeamInfo = get_user_msgid("TeamInfo")) )
    {
        message_begin(MSG_DEST, iTeamInfo, _, id)
        {
            write_byte(id ? id : 1)
            write_string(szTeam)
        }
        message_end()
    }
}  
//缓存声音文件
public play_sound(index)
{
        new id=index-888
        emit_sound(id, CHAN_AUTO, sound_file[id], 1.0, ATTN_NORM, 0, PITCH_NORM)
}
public plugin_precache()
{
        engfunc(EngFunc_PrecacheSound,smokengrenade_woman_CT)
        engfunc(EngFunc_PrecacheSound,hgrenade_woman_CT)
        engfunc(EngFunc_PrecacheSound,flashbang_woman_CT)
        engfunc(EngFunc_PrecacheSound,smokengrenade_man_CT)
        engfunc(EngFunc_PrecacheSound,hgrenade_man_CT)
        engfunc(EngFunc_PrecacheSound,flashbang_man_CT)
        engfunc(EngFunc_PrecacheSound,smokengrenade_woman_T)
        engfunc(EngFunc_PrecacheSound,hgrenade_woman_T)
        engfunc(EngFunc_PrecacheSound,flashbang_woman_T)
        engfunc(EngFunc_PrecacheSound,smokengrenade_man_T)
        engfunc(EngFunc_PrecacheSound,hgrenade_man_T)
        engfunc(EngFunc_PrecacheSound,flashbang_man_T)
}
//*************************************************************************************************
//结束插件。

男女無線電和這個差別不大 大概就是這麼判斷的.

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
102
精华
0
声望
1290 点
金币
260 Mold
被赞许
11 次
注册时间
2010-3-8
发表于 2012-5-19 23:49:43 |显示全部楼层

使用道具 举报

Rank: 2

帖子
17
精华
0
声望
247 点
金币
43 Mold
被赞许
1 次
注册时间
2012-4-14
发表于 2012-5-21 13:14:43 |显示全部楼层
sk@.@ 发表于 2012-5-19 23:49
http://bbs-mychat.com/reads.php?tid=880899

This is old plug-in...

非常感谢,但是看来我没有下载权限的说。。。

使用道具 举报

Rank: 5Rank: 5

帖子
193
精华
0
声望
1035 点
金币
193 Mold
被赞许
1 次
注册时间
2011-9-18
发表于 2014-1-12 11:21:02 |显示全部楼层
11000443 发表于 2012-4-17 12:48
我就是想问问区分男女语音的插件有吗?区分手臂的我搞定了

求手臂区分...

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

回顶部