dota2ai吧 关注:2,081贴子:31,191
  • 14回复贴,共1

写给参与较迷惑和想参与还未行动的吧友们的建议和忠告

只看楼主收藏回复

一楼祭天,如果想直接了解不看过多楼层,可以点击“只看楼主”,下面开始写,不定期更新。


IP属地:广东1楼2017-01-02 13:19回复
    1. 会用控制台观察调试,这是最基本的,调出控制台步骤:
    游戏主界面--设置--选项--高级选项--启用控制台,设置--热键--前往高级热键设置--界面--控制台设置好按键。
    进入游戏内就可以按你设置的热键开关控制台了,如果你的LUA脚本运行有错误,一般会有粉红色字体报错显示在控制台,还能帮你精确定位是哪个脚本文件的哪一行什么错误。
    2. 如果游戏一载入就闪退,说明是你引用的外部文件路径有误,或者文件头部书写有误,如
    GetScriptDirectory()这个函数指的是bots文件夹路径,而不是本文件所在路径。
    3. 开发脚本时建议最好不要用bot_generic.lua或bot_lina.lua脚本开发,因为这意味着你是在完全接手掌控英雄bot,这么做的后果是,你会覆盖掉当前bot的所有默认C++行为,比如你会发现很奇怪电脑再也不会插眼、不会控符、不会买粉撒粉等一系列以前的“小动作”,因为被你干掉了,记住这是“完全接手”!所以通常建议还是在ability_item_usage_undying.lua,mode_attack_obsidian_destroyer.lua这样的分行动中去操作,可以更精细地分配机器人工作而不至于很乱,脚本不严格分层分块,会给自己带来不必要的麻烦,甚至感觉好像不如默认机器人,做太多无用功。
    4. 千万不要忘记\Steam\steamapps\common\dota 2 beta\game\dota\scripts\npc下的三个txt文件,这个是V社决定开放的福利,充分利用会给你带来一系便捷, 具体功能我就不详解了。
    5. 脚本开发中有一个很重要的影响机器人的值,叫做desire,这东西操控所有行为实现的可能性大小。机器人会先不断获取mode_desire的值,取当前(1帧)的mode,比如是推线,gank还是逃跑等等,然后再判断行为的desire值,链接到你的具体脚本操作行为,比如攻击小兵,释放技能,使用物品等。以上想让机器人更聪慧,建议再把类似这样的desire = BOT_ACTION_DESIRE_HIGH的取值再次细分,比如desire = 0.68,0.79,这样电脑取舍更精细,本来按帧率运行就已经在抽风一样的来回做动作,这点就不好改变,太粗略的行为就过于影响效率了。


    IP属地:广东2楼2017-01-02 13:42
    收起回复
      顺手附上几张截图:



      IP属地:广东3楼2017-01-02 14:40
      收起回复
        666


        来自iPhone客户端4楼2017-01-02 18:26
        回复
          楼主有粉丝群吗,加我!


          来自iPhone客户端5楼2017-01-02 18:36
          收起回复
            在论坛里提了个意见,希望能在游戏进行到一半的时候重新加载lua脚本,这样就不用每次修改测试都要重新开
            也不知道能不能被采纳


            IP属地:福建8楼2017-01-03 10:43
            回复
              5楼小白鼠这么一提醒,我还真想那个创建一个群,大家一起交流探讨,没准进步更快,
              刚创建的,群号码:562945931
              欢迎开发爱好者 和 小白鼠 们 加入共同打造 TI冠军BOT战队
              比如BotWings.iceiceBot.dota2ai贴吧


              IP属地:广东13楼2017-01-03 20:15
              回复
                嗨,所有dota2ai玩家和开发者们大家好,我又来不定时更新一些想说的东西了,这次的主题是由本吧吧友发的帖子“什么时候能出一个人打不过的AI啊”?原帖链接:
                https://tieba.baidu.com/p/4998019552?red_tag=0092382214
                首先感谢 @一深大师 这位吧友的提问,那么我在他的相关帖子下解答了dota2ai机器人“在现有官方开发框架”下的智商增进的问题,包括“现有创意工坊脚本只是简单甩技能”、“战术层面的模式重写重要性”、“什么是完全接手”等话题,这次话题更多的是面向广大非开发者以及一些刚入门想要尝试开发的爱好者们,欢迎大家阅读及意见表达。


                IP属地:广东15楼2017-02-28 09:03
                回复