|
首先向Rulzy版主提供的优质金钱无限插件表示十分的感谢!
我使用了这个插件之后,按照Rulzy版主的提示,使用cs_get_user_money2(id)和cs_set_user_money2(id, money, flash=1)这两个函数来控制玩家的金钱,已经获得了成功!
但在另外一个插件中却出现了问题,这个插件的用处就是当CT拆除C4或者T引爆C4的时候,给获胜的队伍中存活的队员一定的金钱奖励。代码如下:/* UTF-8 func by www.DT-Club.net */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <csx>
#include <unlimited_money>
//插件主体
public plugin_init()
{
//定义插件信息
register_plugin("HC_MissionAssistant", "0.1 Test", "Apocalyptic")
//定义CVAR信息,CVAR可以在amxx.cfg中修改它的数值
register_cvar ("hc_ExploedBonus", "6400") //C4爆炸后,仍存活的T可以获得的奖金(如果放C4的人还活着也会得到奖金)
register_cvar ("hc_DefenceBonus", "6400") //拆除C4后存活的CT可以获得的奖金(包括拆C4的人)
//返回继续运行
return PLUGIN_CONTINUE
}
//C4被拆除的事件
public bomb_defused()
{
new Money
new id
new maxplayers = get_maxplayers()
new player[32]
new CsTeams:team
new alive
client_print(0,print_chat,"CT完成任务!所有存活队员每人获得 %d 的奖金!", get_cvar_num("hc_DefenceBonus"))
for(new i = 0; i <= maxplayers; ++i){
id = player
team = cs_get_user_team(i)
alive = is_user_alive (i)
if ( team==CS_TEAM_CT && alive==1)
{
Money = cs_get_user_money2(i)
cs_set_user_money2(i, Money + get_cvar_num("hc_DefenceBonus"),1)
}
}
}
//C4爆炸的事件
public bomb_explode()
{
new Money
new id
new maxplayers = get_maxplayers()
new player[32]
new CsTeams:team
new alive
new j
client_print(0,print_chat,"T完成任务!所有存活队员每人获得 %d 的奖金!", get_cvar_num("hc_ExploedBonus"))
for (j = 1; j <= maxplayers; j=j+1)
{
id = player[j]
team = cs_get_user_team(j)
alive = is_user_alive (j)
if ( team==CS_TEAM_T && alive==1)
{
Money = cs_get_user_money2(j)
cs_set_user_money2(j, Money + get_cvar_num("hc_ExplodeBonus"),1)
}
}
}
当我运行的时候,一旦C4爆炸或者被拆除,就可以看见“T完成任务……”或者“CT完成任务……”的提示,但是金钱数目却没有任何变化。经过反复多次的测试之后,我确定原因在于for循环里面的内容根本没有被执行!
请问——为什么会这样啊~~~~~
我都快不行了啊……
:confused: :confused: :confused: |
|