搜索
查看: 1667|回复: 1

求高手帮我改一下插件!

[复制链接]
发表于 2006-10-18 15:07:43 | 显示全部楼层 |阅读模式 来自 中国–四川–广安
这是一个开局前五名杀人奖励的插件,当开局的时候,同时有两人或有两人以的被杀,就只能显示其中的一个,为了要正确显示,请把显示座标改成五个不一样的座标

[PHP]AMXMOD script.
*   (plugin_bonus1.sma)
*   by DreamZSW <DreamZSW@hotmail.com>
*   This file is provided as is (no warranties).
*
*/
#include <amxmod>

#define MAX_NAME_LENGTH 32
#define MAX_TEXT_LENGTH 512

#define ACCESS_LEVEL ADMIN_LEVEL_A

// Default on/off
new gBonusMode = 1

new gBonusCount = 0
new gBonusIndex[5] = { 8888,5180,3000,2000,1680 }

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

public admin_bonuskill(id)
{
   // Check access level
   if (!(get_user_flags(id)&ACCESS_LEVEL)) {
      console_print(id,"[注意] 你没有权限使用这个命令!")
      return PLUGIN_HANDLED
   }
   // Check arguments
   if (read_argc() < 2) {
      console_print(id,"[注意] 使用格式为: money_bonus < 1 | 0 >")
      return PLUGIN_HANDLED
   }
   new sArg1[MAX_NAME_LENGTH]
   read_argv(1,sArg1,MAX_NAME_LENGTH)

   if (str_to_num(sArg1)) {
      gBonusMode = 1
      client_print(id,print_chat,"[Money_Bonus] 前五名杀人奖励插件已启用.")
   }
   else {
      gBonusMode = 0
      client_print(id,print_chat,"[Money_Bonus] 前五名杀人奖励插件已关闭.")
   }
   
   return PLUGIN_HANDLED
}

public event_death()
{
   if (gBonusMode) {
      new iKiller = read_data(1)
      new iVictim = read_data(2)
      new sMsg[MAX_TEXT_LENGTH]
      new sName[MAX_NAME_LENGTH]
      get_user_name(iKiller,sName,MAX_NAME_LENGTH)
      
      if ((iKiller != iVictim) && (gBonusCount < sizeof gBonusIndex) && (get_user_team(iKiller) != get_user_team(iVictim))) {
         gBonusCount++
         set_user_money(iKiller,get_user_money(iKiller)+gBonusIndex[gBonusCount-1])
         if (gBonusCount == 1) {
            format(sMsg,MAX_TEXT_LENGTH,"%s 第1个杀人! 奖励$%i ",sName,gBonusIndex[gBonusCount-1])
            format(_tmpStr, 255, "%s 第1个杀人!获得$%i奖励",sName,gBonusIndex[gBonusCount-1])
            _showChatGreenMsg(iKiller, _tmpStr)
                        }
         else if (gBonusCount == 2) {
            format(sMsg,MAX_TEXT_LENGTH,"%s 第2个杀人! 奖励$%i ",sName,gBonusIndex[gBonusCount-1])
            format(_tmpStr, 255, "%s 第2个杀人!获得$%i奖励",sName,gBonusIndex[gBonusCount-1])
            _showChatGreenMsg(iKiller, _tmpStr)
                 }
         else if (gBonusCount == 3) {
            format(sMsg,MAX_TEXT_LENGTH,"%s 第3个杀人! 奖励$%i ",sName,gBonusIndex[gBonusCount-1])
            format(_tmpStr, 255, "%s 第3个杀人!获得$%i奖励",sName,gBonusIndex[gBonusCount-1])
            _showChatGreenMsg(iKiller, _tmpStr)
                 }
         else {
            format(sMsg,MAX_TEXT_LENGTH,"%s 第%i个杀人! 奖励$%i ",sName,gBonusCount,gBonusIndex[gBonusCount-1])
            format(_tmpStr, 255, "%s 第%i个杀人!获得$%i奖励",sName,gBonusCount,gBonusIndex[gBonusCount-1])
            _showChatGreenMsg(iKiller, _tmpStr)
                 }
         display_msg(sMsg,200,200,200)
      }
   }
   return PLUGIN_CONTINUE
}

public event_round_end() {
   gBonusCount = 0
}

public display_msg(msg[],r,g,b)
{
   //set_hudmessage(r,g,b,-1.0,0.40,0,6.0,6.0,0.5,0.15,2)
   set_hudmessage(0,255,0,-0.15,0.18,0,6.0,6.0,0.5,0.5,153)
   show_hudmessage(0,msg)
}

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


/************************************************************
* PLUGIN FUNCTIONS
************************************************************/

public plugin_init()
{
   register_plugin("Plugin Money Bonus","1.0","DreamZSW")
   register_event("DeathMsg","event_death","a")
   register_event("SendAudio","event_round_end","a","2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw")
   register_concmd("money_bonus","admin_bonuskill",ACCESS_LEVEL,"amx_powers < authid | part of nick >")
}
[/PHP]
发表于 2006-10-19 12:36:04 | 显示全部楼层 来自 中国–山西–忻州

回复: 求高手帮我改一下插件!

不会.:::""""""""/???~~@~@@@
回复

使用道具 举报

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

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