找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2205|回复: 24

请Simen.newbie老大帮忙,谢谢。

[复制链接]

该用户从未签到

发表于 2008-3-28 11:57:59 | 显示全部楼层 |阅读模式
{
new playersCT[32]
new playersT[32]
new nbrCT, nbrT

client_print(0,print_chat,"上半场比赛结束,交换队伍")

get_players(playersCT,nbrCT,"e","CT")
get_players(playersT,nbrT,"e","TERRORIST")
for(new i = 0; i < nbrCT; i++)
{
cs_set_user_team(playersCT, CS_TEAM_T)
client_print(playersCT,print_chat,"* [提示] 你被转移到恐怖分子一方", playersCT, "NOW_ON_T")
}
for(new i = 0; i < nbrT; i++)
{
cs_set_user_team(playersT, CS_TEAM_CT)

client_print(playersT, print_chat, "* [提示] 你被转移到反恐精英一方", playersT, "NOW_ON_CT")
}
}
}

比赛插件里的换队伍的代码,可在32人的服里只要一运行就程序假死,不知是否只能在16人以下的比赛服运行,不能在31人的服运行,十分感谢。

该用户从未签到

发表于 2008-3-28 12:18:50 | 显示全部楼层
看不出什么问题,最好把全部代码作为附件传上来

client_print(playersCT,print_chat,"* [提示] 你被转移到恐怖分子一方", playersCT, "NOW_ON_T")
改为
client_print(playersCT,print_chat,"* [提示] 你被转移到恐怖分子一方")

client_print(playersT, print_chat, "* [提示] 你被转移到反恐精英一方", playersT, "NOW_ON_CT")
改为
client_print(playersT, print_chat, "* [提示] 你被转移到反恐精英一方")

该用户从未签到

 楼主| 发表于 2008-3-28 15:20:02 | 显示全部楼层
谢谢,程序假死问题解决了,解决的方法我把点通Rulzy老大的自定义刀战取消了和把这两行都去掉,加上
client_print(playersCT,print_chat,"* [提示] 你被转移到恐怖分子一方")
编译出现 参数类型不匹配(参数 1),不过没弄清是Rulzy的自定义刀战问题还是这显示的问题,但又发现新问题,那就是全部分配到了土匪那边,全部是土匪了,不知是不是server.cfg里面的平衡问题?我设置的是平衡人数是1人,呵呵,麻烦了。
{
new playersCT[32]
new playersT[32]
new nbrCT, nbrT

client_print(0,print_chat,"上半场比赛结束,交换队伍")

get_players(playersCT,nbrCT,"e","CT")
get_players(playersT,nbrT,"e","TERRORIST")
for(new i = 0; i < nbrCT; i++)
{
cs_set_user_team(playersCT, CS_TEAM_T)

}
for(new i = 0; i < nbrT; i++)
{
cs_set_user_team(playersT, CS_TEAM_CT)

}
}
}

还请问可不可以把土匪先分配为精英,然后其他所有玩家分配到土匪(包括旁观者)。

[ 本帖最后由 wwww23 于 2008-3-28 15:28 编辑 ]

该用户从未签到

发表于 2008-3-28 15:48:20 | 显示全部楼层
给完整代码好不好

该用户从未签到

 楼主| 发表于 2008-3-28 16:12:41 | 显示全部楼层
原来只能上传rar ,谢谢了。

adminswap_teams.rar

463 Bytes, 下载次数: 2

该用户从未签到

发表于 2008-3-28 16:40:51 | 显示全部楼层
哈哈!厉害厉害~牛鳖 波一个

该用户从未签到

发表于 2008-3-28 17:16:30 | 显示全部楼层
编译出现 参数类型不匹配(参数 1)
因为...中括号里的东东被当成论坛代码,没显示出来   不好意思

据说get_players(, , "e")的时候会有bug,所以我用cs_get_user_team()代替

#include <amxmodx>
#include <cstrike>
//#include <amxmisc>
//#include <csx>


public plugin_init()
{
        register_plugin("aaa", AMXX_VERSION_STR, "aaa")
        register_concmd("adminround888", "swap_teams", ADMIN_ADMIN)
}

public swap_teams()
{
        new pcount, i
        client_print(0,print_chat,"上半场比赛结束,交换队伍")
        pcount = get_playersnum()
        for (i = 1; i <= pcount; i++)
        {
                switch (cs_get_user_team(i))
                {
                        case CS_TEAM_T:
                        {
                                cs_set_user_team(i, CS_TEAM_CT)
                        }
                        case CS_TEAM_CT:
                        {
                                cs_set_user_team(i, CS_TEAM_T)
                        }
                       
                }
        }
}

[[i] 本帖最后由 Simen.newbie 于 2008-3-28 17:21 编辑 [/i]]

该用户从未签到

发表于 2008-3-28 22:46:59 | 显示全部楼层
发过一遍貌似我又发一遍?

该用户从未签到

 楼主| 发表于 2008-3-28 23:13:07 | 显示全部楼层
测试结果还是不行,换队只换了小部份或一两个,请问还可以查出问题吗?谢谢。

[ 本帖最后由 wwww23 于 2008-3-28 23:57 编辑 ]

该用户从未签到

发表于 2008-3-29 00:08:54 | 显示全部楼层
adminswap_teams.zip (482 Bytes, 下载次数: 3)
我没法测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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