广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 3505 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
jlbsky
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x3
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[1.6][插件] BOT判断的问题
各位大神,下面是BOT的代码,这个代码是进一个玩家词服器自动踢一个BOT,但是这个是用的pbot,请问怎么改成用sypb的,求大神解释




/*
机器人
   "PodBot Controle"


   Edited:ig

   amx_addbots_to       "6"      // 最少保持人数
   amx_removebots_num   "10"     // 但多余多少人在线时,剔除bot
   amx_killbots         "1"      // 当剩余玩家都是bot时,是否杀死bot,加快游戏节奏

*/


#include <amxmodx>
#include <fakemeta> 


#define PLUGIN "cn.PodBot Controle"
#define VERSION "1.2.16"  
#define AUTHOR "ig"


new bool:g_Bot[33]


new g_maxbots
new g_addbots_to
new g_removebots_when
new g_kill_bots
new bool:bCanStart
new g_iMaxplayers


public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)


   g_iMaxplayers = get_maxplayers()
   g_maxbots = register_cvar("amx_maxbots","6") // 机器人最大数目
   g_addbots_to = register_cvar("amx_addbots_to","8") // 最少保持人数
   g_removebots_when = register_cvar("amx_removebots_num","10") // 但多余多少人在线时,剔除bot
   g_kill_bots = register_cvar("amx_killbots","1") // 当剩余玩家都是bot时,是否杀死bot,加快游戏节奏
   bCanStart = false
 }


public plugin_cfg()
{
   set_task(5.0,"bot_reset")


   if (server_bot_record()<1)
   {
      set_task(50.0,"delay_set")
   }
   else
   {
      set_task(6.0,"delay_set")
   }
}


public bot_reset()
{
   // 判断是那种bot类型
   if (!cvar_exists("pb_minbots")){
      pause("ad")  // 其他情况,停止插件运作
   }


   // 先清除所有bot,及设置
   //server_cmd("pb removebots")
   server_cmd("pb_mapstartbotdelay 0")
   server_cmd("pb_minbots 0")
   server_cmd("pb_maxbots 0")
   server_cmd("pb_bot_quota_match 0")
   server_cmd("pb_autokill 0")
   server_cmd("pb_autokill %d", get_pcvar_num(g_kill_bots))
}


public delay_set()
{
   bCanStart = true
   check_bots()
}


server_bot_record()
{
   new sNum[32]
   get_localinfo("bot_num", sNum, 31)
   return str_to_num(sNum)
}


server_bot_record_set(num)
{
   new sNum[32]
   formatex(sNum, 31, "%d", num)
   set_localinfo("bot_num", sNum)
}








public client_connect(id)
{
   g_Bot[id] = false


   if(bCanStart){
      remove_task(333)
      set_task(1.0, "check_bots", 333)
   }
}


public client_disconnect(id)
{
   g_Bot[id] = false


   if(bCanStart){
      remove_task(333)
      set_task(5.0, "check_bots", 333)
   }
}


public check_bots()
{
   new add_to_num = get_pcvar_num(g_addbots_to)


   if(add_to_num==0)
      return PLUGIN_CONTINUE


   add_to_num = (add_to_num>g_iMaxplayers) ? g_iMaxplayers:add_to_num


   if(add_to_num==g_iMaxplayers)
      add_to_num--


   new botnum,lastbot
   count_bot(botnum,lastbot)
   new playersum = get_playersnum(1)


   if (add_to_num>playersum && botnum<get_pcvar_num(g_maxbots))
   {
      server_cmd("pb add")
      server_bot_record_set(botnum+1)
   }
   else if (add_to_num<playersum)
   {
      if (botnum>0 && playersum>get_pcvar_num(g_removebots_when))
      {
         server_cmd("pb remove #%d",lastbot)
         server_bot_record_set(botnum-1)
      }
   }
   return PLUGIN_CONTINUE
}


count_bot(&botnum,&lastbot)
{
   for(new i=1; i<=g_iMaxplayers; i++)
   {
      if (is_user_connected(i) && is_user_bot(i)){
         botnum++
         lastbot = (get_user_userid(i))
      }
   }
}



献花 x0 回到顶端 [楼 主] From:IANA | Posted:2014-08-06 20:13 |
jlbsky
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x3
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

求大神解释


献花 x0 回到顶端 [1 楼] From:IANA | Posted:2014-08-06 21:28 |
fouury 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x9 鲜花 x101
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

总之 判断跟控制PODBOT的指令是

"pb"

开头的

那你去下SYPB看他给的指令跟CVAR比照办理换上去不就好了...


按这里检视影片,登入论坛可以直接观看
BLACK OPS 2 - MOB OF THE DEAD
决胜时刻 黑色行动2 僵尸78毛 就是这样了
献花 x0 回到顶端 [2 楼] From:台湾宽频通讯顾问股份有限公司 | Posted:2014-08-21 17:37 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.053643 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言