搜索
查看: 3317|回复: 4

如何分离无限金钱函数?上限16000就行了 有代码

[复制链接]
发表于 2009-5-27 09:20:17 | 显示全部楼层 |阅读模式 来自 中国–广东–深圳–宝安区
本帖最后由 eason39 于 2009-5-27 09:21 编辑
  1. #include <amxmodx>
  2. #include <unlimited_money>

  3. #define MAX_NAME_LENGTH 32
  4. #define MAX_TEXT_LENGTH 512

  5. #define ACCESS_LEVEL ADMIN_LEVEL_A

  6. // Default on/off
  7. new gBonusMode = 1
  8. new bool:gRoundStart

  9. new gBonusCount = 0
  10. //new gBonusIndex[5] = { 5000,4000,3000,2000,1000 }

  11. // 用于不需要重复定义(临时)
  12. new _tmpStr[256]

  13. public admin_bonuskill(id)
  14. {
  15.         // Check access level
  16.         if (!(get_user_flags(id)&ACCESS_LEVEL)) {
  17.                 console_print(id,"[注意] 你没有权限使用这个命令!")
  18.                 return PLUGIN_HANDLED
  19.         }
  20.         // Check arguments
  21.         if (read_argc() < 2) {
  22.                 console_print(id,"[注意] 使用格式为: money_bonus < 1 | 0 >")
  23.                 return PLUGIN_HANDLED
  24.         }
  25.         new sArg1[MAX_NAME_LENGTH]
  26.         read_argv(1,sArg1,MAX_NAME_LENGTH)
  27.        
  28.         if (str_to_num(sArg1)) {
  29.                 gBonusMode = 1
  30.                 client_print(id,print_chat,"[Money_Bonus] 前五名杀人奖励插件已启用.")
  31.         }
  32.         else {
  33.                 gBonusMode = 0
  34.                 client_print(id,print_chat,"[Money_Bonus] 前五名杀人奖励插件已关闭.")
  35.         }
  36.        
  37.         return PLUGIN_HANDLED
  38. }

  39. public event_death()
  40. {
  41.         if (gBonusMode && gRoundStart) {
  42.                 new iKiller = read_data(1)
  43.                 new iVictim = read_data(2)
  44.                 new sMsg[MAX_TEXT_LENGTH]
  45.                 new sName[MAX_NAME_LENGTH]
  46.                 new addmoney=random_num(50,10000)
  47.                 get_user_name(iKiller,sName,MAX_NAME_LENGTH)
  48.                
  49.                 if ((iKiller != iVictim) && (gBonusCount < 5) && (get_user_team(iKiller) != get_user_team(iVictim))) {
  50.                         gBonusCount++
  51.                         cs_set_user_money2(iKiller,cs_get_user_money2(iKiller)+addmoney)
  52.                         if (gBonusCount == 2) {
  53.                                 //format(sMsg,MAX_TEXT_LENGTH,"%s 第2个杀人! 奖励$%i金钱 ",sName,gBonusIndex[gBonusCount-1])
  54.                                 format(_tmpStr, 255, "^x03%s^x04 第2个杀人!奖励$%i金钱",sName,addmoney)
  55.                                 client_cmd(0, "spk misc/coin2.wav")
  56.                                 //set_hudmessage(0,255,0,-1.58,0.18,0,6.0,6.0,0.5,0.5,158)
  57.                                 _showChatGreenMsg(iKiller, _tmpStr)
  58.                         }
  59.                         else if (gBonusCount == 3) {
  60.                                 //format(sMsg,MAX_TEXT_LENGTH,"%s 第3个杀人! 奖励$%i金钱 ",sName,gBonusIndex[gBonusCount-1])
  61.                                 format(_tmpStr, 255, "^x03%s^x04 第3个杀人!奖励$%i金钱",sName,addmoney)
  62.                                 client_cmd(0, "spk misc/coin2.wav")
  63.                                 //set_hudmessage(255, 0, 255,-1.58,0.26,0,6.0,6.0,0.5,0.5,157)
  64.                                 _showChatGreenMsg(iKiller, _tmpStr)
  65.                         }
  66.                         else if (gBonusCount == 4) {
  67.                                 //format(sMsg,MAX_TEXT_LENGTH,"%s 第4个杀人! 奖励$%i金钱 ",sName,gBonusIndex[gBonusCount-1])
  68.                                 format(_tmpStr, 255, "^x03%s^x04 第4个杀人!奖励$%i金钱",sName,addmoney)
  69.                                 client_cmd(0, "spk misc/coin2.wav")
  70.                                 //set_hudmessage(255, 242, 0,-1.58,0.34,0,6.0,6.0,0.5,0.5,156)
  71.                                 _showChatGreenMsg(iKiller, _tmpStr)
  72.                         }   
  73.                         else if (gBonusCount == 5) {  
  74.                                 //format(sMsg,MAX_TEXT_LENGTH,"%s 第5个杀人! 奖励$%i金钱 ",sName,gBonusCount,gBonusIndex[gBonusCount-1])
  75.                                 format(_tmpStr, 255, "^x03%s^x04 第5个杀人!奖励$%i金钱",sName,addmoney)
  76.                                 client_cmd(0, "spk misc/coin2.wav")
  77.                                 //set_hudmessage(0,100,255,-1.58,0.42,0,6.0,6.0,0.5,0.5,150)
  78.                                 _showChatGreenMsg(iKiller, _tmpStr)
  79.                         }
  80.                         //display_msg(sMsg,200,200,200)
  81.                         show_hudmessage(0,sMsg)
  82.                 }
  83.         }
  84.         return PLUGIN_CONTINUE
  85. }

  86. public event_round_end() {
  87.         gRoundStart = false
  88.         gBonusCount = 0
  89. }
  90. public round_start() { //增加行
  91.         gRoundStart = true //增加行
  92. } //增加行

  93. //public display_msg(msg[],r,g,b)
  94. //{
  95. //set_hudmessage(r,g,b,-1.0,0.40,0,6.0,6.0,0.5,0.15,2)
  96. //set_hudmessage(random_num(0,255),random_num(0,255),random_num(0,255),-1.0,0.80,2,0.3,6.0,0.03,2.0,153)
  97. //show_hudmessage(0,msg)
  98. //}

  99. // 显示(Green)颜色的聊天信息
  100. public _showChatGreenMsg(id, msg[256]) {
  101.         format(msg, 255, "^x01^x04%s^x01", msg)
  102.         new g_msgSayText = get_user_msgid("SayText")
  103.         message_begin(MSG_ALL,g_msgSayText, {0,0,0}, id)
  104.         write_byte(id)
  105.         write_string(msg)
  106.         message_end()
  107. }


  108. /************************************************************
  109. * PLUGIN FUNCTIONS
  110. ************************************************************/

  111. public plugin_init()
  112. {
  113.         register_plugin("Plugin Money Bonus","1.0","DreamZSW")
  114.         register_event("DeathMsg","event_death","a")
  115.         register_event("SendAudio","event_round_end","a","2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw")
  116.         register_event("HLTV", "round_start", "a", "1=0", "2=0")
  117.         register_concmd("money_bonus","admin_bonuskill",ACCESS_LEVEL,"amx_powers < authid | part of nick >")
  118. }

  119. public plugin_precache()
  120. {
  121.         precache_sound("misc/coin2.wav")
  122. }
复制代码
次插件是下载到zhangsheng的,装这插件必须要金钱无上限插件,我不想用无限金钱插件,太多钱了,能不能分离出来?
发表于 2009-5-28 09:46:35 | 显示全部楼层 来自 中国–福建–漳州
把 #include <unlimited_money> 这行替换成 #include <cstrike>,把所有cs_set_user_money2替换为cs_set_user_money,把所有cs_get_user_money2替换为cs_get_user_money。
回复

使用道具 举报

 楼主| 发表于 2009-5-28 11:52:50 | 显示全部楼层 来自 中国–广东–深圳–宝安区
谢谢R版  但还有个问题,上面代码是在聊天频道显示奖励信息的,但是按照你说的方法已经可以正常使用了,但有聊天频道还是没有奖励信息出现 空空的 但钱已经奖励了
回复

使用道具 举报

发表于 2009-6-2 22:09:13 | 显示全部楼层 来自 中国–甘肃–天水
受教了,谢谢R版主
回复

使用道具 举报

发表于 2009-7-7 14:09:02 | 显示全部楼层 来自 中国–广东–深圳–福田区
注意下件源码的编码是否UTF8无编码,否则编译出的插件中文会变乱码
回复

使用道具 举报

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

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