搜索
楼主: Enigmaya

【原创】任意投票+单局统计(支持中文投票)

[复制链接]
发表于 2006-2-21 11:16:01 | 显示全部楼层 来自 中国–广西–玉林

回复: 【原创】任意投票+单局统计(支持中文投票?)

Post by Enigmaya
按y也可以了。。。

:d: 不知道这样支不支持中文了。。。

能的话,截张图上来阿。。。

哈哈~可以了!我已经截图上来了。 ;)
[attid]10193[/attid]
[attid]10194[/attid]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

 楼主| 发表于 2006-2-21 13:39:44 | 显示全部楼层 来自 中国–四川–成都

回复: 【原创】任意投票+单局统计(支持中文投票)

Post by WeeVee
哈哈~可以了!我已经截图上来了。 ;)


哈哈。。不错嘛。。。

如果你想要全部显示中文,里面的有些内容一块儿汉化了嘛。。。比如那个谁发起投票的

对了,我现在放上来的0.4版把下面显示的那个去掉了。。。测试时用的,忘了去掉了,不然所有人都能看到下面那个。。。
回复

使用道具 举报

发表于 2006-2-21 15:43:51 | 显示全部楼层 来自 中国–广西–玉林

回复: 【原创】任意投票+单局统计(支持中文投票)

Post by Enigmaya

对了,我现在放上来的0.4版把下面显示的那个去掉了。。。测试时用的,忘了去掉了,不然所有人都能看到下面那个。。。

哈哈~对呀~~要是投票的是己方,那么敌方也看到啦。。。。 :p
回复

使用道具 举报

发表于 2006-7-8 10:45:09 | 显示全部楼层 来自 中国–广东–深圳–南山区

回复: 【原创】任意投票+单局统计(支持中文投票)

单局统计用了不限制金钱的插件后,显示最多钱的总是¥8000,好多人都是好几万。小E快来看看。
/* AMXMOD script.
*
* (c) Copyright 2000-2002, Vantage (aka Mouse)
* This file is provided as is (no warranties).
*
* unlimitedmoney.sma
*
*/

/*
*   This plugin uses real money and plays by CS rules. (accept for money limits of course!)
*
*   If you want to change default start money and max money:
*   Place amx_startmoney and amx_maxmoney with proper ammounts in appropriate server cfg files.
*
*   amx_startmoney 0
*   amx_maxmoney 99999
*
*   Do not use command amx_money or a plugin that changes peoples money (strange,but not fatal?,things may happen)
*  
*   Use: amx_um {@team, #userid, or name(partial allowed)} <ammount>
*
*  Not that any mod makers would do this but why not...
*  For mod makers use server commands: set_user_um <id> <ammount> <flash = 0> (flash = 1 if only id and ammount sent)
*
*  In your code you would use it like this: server_cmd("set_user_um %d %d 0",id,ammount) or server_cmd("set_user_um %d %d",id,ammount)
*  You can also do set_user_um <id> to set player id's money to 0
*   
*  I was going to do a dumb(with a cvar) way to get_user_um but gonna put it off till I figure a better way.
*
*/


#include <amxmod>
#include <amxmisc>

#define MONEY_TIER 8000 // DON'T MESS WITH, Money total at which the plugin switches over keeping track of money
new money_total[33] // Keep track of peeps money if above MONEY_TIER
new gmsg_Money


public client_connect(id)
{
   set_cvar_float("mp_startmoney", 801.0) // So you can track when to change to amx_startmoney ammount, I know.. a crude method
   money_total[id] = 0
}


public read_gmsg_Money(id)
{   
   new current_total = read_data(1)
   
   if(current_total == 801){         // If CS is spawning you with mp_startmoney default
      current_total = get_cvar_num("amx_startmoney")      // current total is actually amx_startmoney
      set_user_money(id, current_total,0)         // so set user money to amx_startmoney
      money_total[id] = 0 // reset
   }
   if(current_total >= MONEY_TIER && !money_total[id]) // If first time above MONEY_TIER
   {
      money_total[id] = current_total // Keep track of current total
      send_moneymsg(id,1) // send money msg of current total
      
      return PLUGIN_CONTINUE
   }
   if(money_total[id]) // If was over tier on last money message
   {
      money_total[id] += current_total - MONEY_TIER  // figure the term of current total - tier

      if(money_total[id] < MONEY_TIER){  // If less then tier set user money to money_total[id] and stop keeping track
         set_user_money(id,money_total[id],1)
         money_total[id] = 0
      }
      else{
         send_moneymsg(id,1) // else send money message
      }
      
      return PLUGIN_CONTINUE      
   }

   return PLUGIN_CONTINUE
}


public send_moneymsg(id,flash)
{
   set_user_money(id,MONEY_TIER,flash) //Set user money to tier ammount so easy to track add and subtract terms
   
   static MAXAMMOUNT
   
   MAXAMMOUNT = get_cvar_num("amx_maxmoney")
   
   if(money_total[id] > MAXAMMOUNT)
      money_total[id] = MAXAMMOUNT

   message_begin( MSG_ONE , gmsg_Money , {0,0,0}, id) //Send money message with ammount stored in money_total[id]
   write_long(money_total[id])
   write_byte(flash)
   message_end()
}


public find_money_target(id, level, cid)
{
   if(!cmd_access(id, level, cid, 3))
      return PLUGIN_HANDLED

   new target[16], ammount[8], players[32]
   new num

   read_argv(1,target,15)
   read_argv(2,ammount,7)

   if(target[0] == '@'){    //If trying to give a team money
      if(target[1] == 'C' || target[1] == 'c'){
         get_players(players, num ,"e", "CT")
      }
      else if(target[1] == 'T' || target[1] == 't'){
         get_players(players, num ,"e", "TERRORIST")
      }
      else{
         console_print(id, "*** No known team by that name. ***")
         return PLUGIN_HANDLED
      }
         
   }
   else if(target[0] == '#'){  //If trying to give a player(userid) money
      new userid = strtonum(target[1])
      players[0] = find_player("k", userid)
   }
   else{  // else search for matching name to try and give money
      players[0] = find_player("bl", target)
   }


   if(players[0] == 0){  //If no target(s) could be found
      console_print(id, "*** No target(s) could be found. ***")
      return PLUGIN_HANDLED
   }
   else  
      give_money(players, strtonum(ammount))


   return PLUGIN_HANDLED
}


public give_money(players[], ammount)
{
   new i
   while(players){
      if(money_total[players]){
         money_total[players] += ammount // Keep track of current total
         send_moneymsg(players,1) // send money msg of current total
      }
      else if( (get_user_money(players) + ammount) >= MONEY_TIER){
         money_total[players] = get_user_money(players) + ammount // Keep track of current total
         send_moneymsg(players,1) // send money msg of current total
      }
      else{
         ammount += get_user_money(players)
         set_user_money(players,ammount,1)
         money_total[players] = 0
      }

      ++i
   }
   
}


public get_cmd_info()
{
   new s_id[3], s_ammount[8]
   new id,ammount
   new num_args = read_argc()

   if(num_args < 2){ // If no id set
      server_print("*** Not enough arguments when using set_user_um() ***")
      return PLUGIN_HANDLED
   }

   read_argv(1,s_id,2) // Get id and see if valid
   id = strtonum(s_id)
   if(!is_user_connected(id))
      return PLUGIN_HANDLED

   if(num_args < 3){  // If only id sent set id's money to 0
      set_user_um(id,0,1)
      return PLUGIN_HANDLED
   }
   
   read_argv(2,s_ammount,7) // Get ammount
   ammount = strtonum(s_ammount)

   if(num_args < 4){ // If no flash specified then flash
      set_user_um(id,ammount,1)
      return PLUGIN_HANDLED
   }
   else{
      set_user_um(id,ammount,0) // Don't flash
      return PLUGIN_HANDLED
   }

   return PLUGIN_HANDLED
}


public set_user_um(id,ammount,flash)
{
   if(ammount < MONEY_TIER){
      set_user_money(id,ammount,flash)
      money_total[id] = 0
   }
   else{
      money_total[id] = ammount // Keep track of current total
      send_moneymsg(id,flash) // send money msg of current total
   }
}


public plugin_init()
{
   register_plugin("Unlimited Money","0.9.6","Vantage aka Mouse")
   
   register_event("Money","read_gmsg_Money","b")
   
   register_cvar("amx_startmoney", "800")
   register_cvar("amx_maxmoney", "999999")

   register_concmd("amx_um", "find_money_target",ADMIN_LEVEL_A, "{@team, #userid, or name(can be partial)} <ammount>")

   register_srvcmd("set_user_um", "get_cmd_info")
//   register_srvcmd("get_user_um", "get_user_um")

   gmsg_Money = get_user_msgid("Money")

   return PLUGIN_CONTINUE
}
回复

使用道具 举报

发表于 2006-7-10 08:00:48 | 显示全部楼层 来自 中国–广东–深圳–南山区

回复: 【原创】任意投票+单局统计(支持中文投票)

没人知道解决吗?:(
回复

使用道具 举报

发表于 2006-7-10 12:10:00 | 显示全部楼层 来自 中国–北京–北京–大兴区

回复: 【原创】任意投票+单局统计(支持中文投票)

好东东!!!!!!!!!!!!!!!
回复

使用道具 举报

发表于 2006-7-10 20:41:56 | 显示全部楼层 来自 中国–浙江–杭州

回复: 【原创】任意投票+单局统计(支持中文投票)

大哥还真是有货啊
感谢
回复

使用道具 举报

发表于 2006-7-13 18:55:57 | 显示全部楼层 来自 中国–新疆–乌鲁木齐

回复: 【原创】任意投票+单局统计(支持中文投票)

顶掉哦。。。。。。。我不知道这个可以用到哪里啊?
回复

使用道具 举报

发表于 2006-7-15 15:51:15 | 显示全部楼层 来自 中国–重庆–重庆–渝中区

回复: 【原创】任意投票+单局统计(支持中文投票)

这个插件还是很适用的,但不知道是否适合用于 1.71?
回复

使用道具 举报

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

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