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

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 590|回复: 3

[求助] 懂源码的进来!!求助!!T_T [复制链接]

Rank: 5Rank: 5

帖子
247
精华
0
声望
1053 点
金币
129 Mold
被赞许
2 次
注册时间
2008-9-15
发表于 2010-11-13 12:20:23 |显示全部楼层
本帖最后由 543658883 于 2010-11-14 09:31 编辑

我是一个菜鸟,懂一点点源码....

问题在于我自己编写的插件不成功,很郁闷..
经我发现:原来是玩家每弄好..

我的插件介绍:每回合开始,VIP和OP都得到补助金,回合结束时,所有玩家也得到补助金..
问题在于我不知道怎么弄cs_get_user_money
测试后,发现不会发钱,说 Player 什么什么 range 的

代码:
/* 本插件由 AMXX-Studio 中文版自动生成 */
/* 本插件的作者是:x!A0.pI */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN_NAME        "End&New round "
#define PLUGIN_VERSION        "1.0"
#define PLUGIN_AUTHOR        "x!A0.pI"

new roundendmoney[5]={2000,2500,3000,3500,4000}

public plugin_init()
{
        register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
       
        register_logevent("newrou*****art",2,"0=World triggered","1=Rou*****art");
        register_logevent("end_round", 2, "0=World triggered", "1=Round_End")
       
        register_cvar("round_moneyvip", "3000")
        register_cvar("round_moneyop", "5000")
}

public newrou*****art()
{
        set_task(0.1, "start_money" ,0)
}

public end_round()
{
        new parm[32]
        read_data(2, parm, 31)

        set_task(0.1, "end_money", 0)
}

public start_money(id)
{
        new money = get_cvar_num("round_moneyvip")
        new moneyop = get_cvar_num("round_moneyop")
        new pmoney = cs_get_user_money(id)
        new name[32]
        get_user_name(id, name, 31)
       
        if (get_user_flags(id) & ADMIN_RESERVATION)
        {
                cs_set_user_money(id, pmoney + money)
                client_print(id, print_chat, "你得到$3000开局VIP补助金!")
        }       
       
        if (get_user_flags(id) & ADMIN_BAN)
        {
                cs_set_user_money(id, pmoney + moneyop)
                client_print(id, print_chat, "你得到$5000开局OP补助金!")
        }
}

public end_money(parm[])
{
        new player[32], playersnum
        get_players(player,playersnum,"ea",(parm[7] == 't') ? "CT" : "TERRORIST" )
        for(new i = 0; i < playersnum; ++i)
        {
        new playermoney = cs_get_user_money(i)

        cs_set_user_money(i , playermoney + roundendmoney[4])
        client_print(0, print_chat, "你得到$%d开局OP补助金!", roundendmoney[4])
        }
}

希望大家帮我弄下!!万分感谢!!!!!!!

使用道具 举报

Rank: 5Rank: 5

帖子
247
精华
0
声望
1053 点
金币
129 Mold
被赞许
2 次
注册时间
2008-9-15
发表于 2010-11-13 12:21:44 |显示全部楼层
本帖最后由 543658883 于 2010-11-13 12:23 编辑

希望高手帮下忙..绝对感激不尽

代码有问题: 有********

是newround下面一横start

使用道具 举报

Rank: 2

帖子
225
精华
0
声望
168 点
金币
30 Mold
被赞许
-1 次
注册时间
2010-9-20
发表于 2010-11-13 12:37:08 |显示全部楼层
是谁?谁在叫OP?~


呵呵,开个玩笑啦

使用道具 举报

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

帖子
406
精华
0
声望
9411 点
金币
1421 Mold
被赞许
4 次
注册时间
2009-12-18
发表于 2010-11-15 10:53:45 |显示全部楼层
我是一个菜鸟,懂一点点源码....

问题在于我自己编写的插件不成功,很郁闷..
经我发现:原来是玩家每弄好..

...
543658883 发表于 2010-11-13 12:20

總而言之…先把
  1. public end_round()
  2. {
  3.         new parm[32]
  4.         read_data(2, parm, 31)

  5.         set_task(0.1, "end_money", 0)
  6. }
复制代码
換成
  1. public end_round()
  2. {
  3.         new parm[32]
  4.         read_data(2, parm, 31)

  5.         set_task(0.1, "end_money", 0, parm, sizeof parm)
  6. }
复制代码
試試吧…

使用道具 举报

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

回顶部