天空游戏网 手游攻略 新游动态 lost temple 3c ai(ai怎么选英雄啊)

lost temple 3c ai(ai怎么选英雄啊)

时间:2023-06-12 15:25:57 来源:头条 浏览:10

很多朋友对于lost temple 3c ai和lost temple dota 3c ai怎么选英雄啊不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

lost temple 3c ai 怎么用

我是从这http://bbs.wow8.org/thread-152120-1-1.html帖子转来的很详细,你可以看看.

★1★main程序

+ShingoJassHighlighter0.41

functionmaintakesnothingreturnsnothing

setai_player=Player(GetAiPlayer())

setstart_loc=GetStartLocationLoc(GetPlayerStartLocation(Player(GetAiPlayer()-10)))

ifGetPlayerController(Player(GetAiPlayer()-10))==MAP_CONTROL_COMPUTERthen

setally=true

endif

callSetMeleeAI()//开始对战AI

callSetDefendPlayer(true)//设置单位攻击时防御

callSetHeroesBuyItems(true)//设置英雄自动买物品

callSetHeroesFlee(true)//设置英雄生命值少时自动逃跑

callSetHeroesTakeItems(true)//设置英闷销雄自动捡物品

callSetIgnoreInjured(true)//设置单位冲罩敏忽视伤害(战斗时红血都不自动跑)

callSetPeonsRepair(true)//设置农民自动维修

callSetRandomPaths(true)//设置随机路线(估计在进攻,逃跑随机路线)

callSetSmartArtillery(true)//设置炮兵巧妙攻击。(太近会走开点去攻击?)

callSetTargetHeroes(true)//设置英雄目标。(为主要目标?)

callSetUnitsFlee(true)//设置单位可以逃跑

callSetWatchMegaTargets(true)//开始对战AI

callSetCaptainChanges(true)//设置监视大单位(主要的)。

callCreateCaptains()//创建队长(好像是英雄带领小兵)

callStartThread(functionattack_loop)//开始线程,运行(functionattack_loop)

callStartThread(functioncheck_hp)//开始线程,运行(functioncheck_hp)

endfunction

★2★全局变量

+ShingoJassHighlighter0.41

globals

unitarrayaihero//设置英雄单位

integerhero_num=0//用于计算英雄数量

groupudg_g=CreateGroup()//用于记录AI玩家所有单位

booleanflee=false//设置是否逃跑

booleanfinishMF=false//设置是否散枝MF

booleanattack_enemy=false//设置是否攻击敌人

booleanally=false//设置是否攻击盟友

realratio=1//radio是用于判断生命比的整数

integercount=0//记录游戏开始秒数

locationstart_loc//玩家开始的地方

endglobals

★3★功能程序

+ShingoJassHighlighter0.41

functionsetup_forcetakesnothingreturnsnothing//AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组

localunitu=null

localintegeri=1

callRemoveInjuries()

callInitAssault()//初始化攻击队伍

if(GetPlayerState(ai_player,PLAYER_STATE_RESOURCE_FOOD_CAP)-80)!=hero_numthen

callGroupEnumUnitsOfPlayer(udg_g,ai_player,null)//选取AI玩家的所有单位

loop

exitwheni>hero_num

callGroupRemoveUnit(udg_g,aihero<i>)

seti=i+1

endloop

loop

setu=FirstOfGroup(udg_g)

exitwhenu==null

ifIsUnitType(u,UNIT_TYPE_HERO)==truethen

sethero_num=hero_num+1

setaihero[hero_num]=u//设置aihero[1~n]=u

endif

callGroupRemoveUnit(udg_g,u)//移除单位u

endloop

callGroupClear(udg_g)//清楚单位组

endif

seti=1

loop

exitwheni>hero_num

ifGetUnitState(aihero<i>,UNIT_STATE_LIFE)/GetUnitState(aihero<i>,UNIT_STATE_MAX_LIFE)>0.15then//选取英雄生命百分比大于15%的(radio是用于判断生命比的整数)

callAddAssault(1,GetUnitTypeId(aihero<i>))//英雄加入攻击组

endif

seti=i+1

endloop

endfunction

functionstart_attacktakesunittargetreturnsnothing//开始攻击

localintegerindex=0

loop

exitwhenCaptainRetreating()andflee//(如果队长逃跑and逃跑是真的)就退出

exitwhenratio==0

exitwhennotUnitAlive(target)//(如果target不是存活的)就退出

exitwhenUnitInvis(target)andnotIsUnitDetected(target,ai_player)//(如果单位隐形and单位侦查)就退出

callAttackMoveKill(target)//攻击移动直到杀死target

callSleep(3)//停止3秒

ifindex>=5then

setindex=0

callsetup_force()//命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组

endif

setindex=index+1

endloop//实际上此loop的功能是每3秒选取英雄去攻击,逃跑的话就停止

setindex=0

loop

exitwhennotCaptainInCombat(true)//当队长不在战斗时就退出

callSleep(2)//停止3秒

ifindex>=8then

setindex=0

callsetup_force()//命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组

endif

setindex=index+1

endloop//实际上此loop的功能是每2秒队长在战斗时选取英雄进入攻击组

endfunction

functionattack_sequencetakesnothingreturnsnothing//战斗顺序(此函数实际是寻找敌人,先寻找敌人的分基地,没有就主基地,找不到就去MF)

localunittarget=null

localunitu=null

ifallythen//如果ally是真的,就做下面动作

settarget=GetAllianceTarget()//设置target是同盟的主基地

iftarget!=nullthen//如果同盟的主基地存在,就做下面动作

setattack_enemy=true//设置攻击敌人开始

callsetup_force()//命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组

callstart_attack(target)//调用开始攻击target的函数

callSetAllianceTarget(null)//

setattack_enemy=false//设置攻击敌人关闭

return//跳过下列动作

endif

endif

ifcount>100andGetRandomInt(0,200+count)>300then//如果count大于100and随机整数0或200+count大于300就做下列动作

setu=CreateUnitAtLoc(ai_player,'h000',start_loc,270)//设置u是新建的单位在开始点

settarget=GetEnemyExpansion()//设置target是敌人的分基地

iftarget!=nullthen//*如果target存在就做下面动作

callKillUnit(u)//杀死u

callSetAllianceTarget(target)//

callsetup_force()//命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组

callstart_attack(target)//调用开始攻击target的函数

return//跳过下列动作

else//*如果target不存在就做下面动作

callStartGetEnemyBase()//开始寻找敌人基地

loop

exitwhennotWaitGetEnemyBase()//当不寻找敌人的时候就退出循环

callSleep(1)

endloop//实际上是每一秒都判断是否寻找的英雄

settarget=GetEnemyBase()//设置target时敌人的主基地

callKillUnit(u)//杀死u

endif

setu=null

iftarget!=nullthen//如果target不等于没有,就做下列动作

setattack_enemy=true//设置攻击敌人开始

callSetAllianceTarget(target)//

callsetup_force()//命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组

callstart_attack(target)//调用开始攻击target的函数

setattack_enemy=false//设置攻击敌人关闭

return//跳过下列动作

endif

endif

settarget=GetCreepCamp(0,R2I(5*hero_num*ratio),false)//设置target是中立敌对单位的营地(中立单位最小的等级为0,最大为5*英雄总数量*ratio,没有飞行单位)

iftarget!=nullthen//如果target存在,就做下列动作

callSetAllianceTarget(target)//

callsetup_force()//命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组

callstart_attack(target)//调用开始攻击target的函数

setfinishMF=true//设置正在MF为真(MF是指打中立怪升级)

return//跳过下列动作

endif

ifGetRandomInt(1,2)==1then//随机整数1或2等于1就做下列动作

settarget=GetCreepCamp(0,R2I(8*hero_num*ratio),false)//设置target是中立敌对单位的营地

iftarget!=nullthen//如果target存在,就做下列动作

callSetAllianceTarget(target)//

callsetup_force()//命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组

callstart_attack(target)//调用开始攻击target的函数

setfinishMF=true//设置正在MF为真(MF是指打中立怪升级)

endif

endif

callSleep(10)//停止10秒

endfunction

functionattack_looptakesnothingreturnsnothing

localintegerindex=0

callSetCaptainHome(0,GetLocationX(start_loc),GetLocationY(start_loc))//设置组在家的点<组,x坐标,y坐标>

callSetCaptainHome(1,GetLocationX(start_loc),GetLocationY(start_loc))//设置组在家的点<组,x坐标,y坐标>,组的参数:ATTACK_CAPTAIN=1;攻击组DEFENSE_CAPTAIN=2;防御组BOTH_CAPTAINS=3攻击和防御组;

loop

callSleep(3)//停止3秒(实际上是进入循环每3秒做下列动作一次)

exitwhenGetPlayerState(ai_player,PLAYER_STATE_RESOURCE_FOOD_CAP)>80//当AI玩家食物多于80就退出循环

endloop

callSleep(2)//停止2秒

callsetup_force()//命令AI玩家开始寻找生命大于15%可以攻击的英雄进入攻击组

loop

setindex=1

loop

callSleep(1)//停止1秒

exitwhenfinishMFandnotflee//当正在MF的时候and不逃跑为真的时候退出循环

callSleep(1)//停止1秒

exitwhennotCaptainRetreating()andratio>0//当队长不逃跑的时候andratio大于0的时候退出循环

exitwhenindex>=10

setindex=index+1

endloop

iffinishMFthen//如果正在MF,就做下列动作

setfinishMF=false//设置不MF

endif

iffleethen//如果正在逃跑,就做下列动作

callSleep(25-ratio*20)//停止25-ratio*20秒(radio是用于判断生命比的整数)

endif

callattack_sequence()//调用攻击函数

endloop

endfunction

functioncheck_hptakesnothingreturnsnothing//检测Hp

localintegeri=0

localrealx=0

localrealy=0

localrealz=0

localrealr1=0

localrealr2=0

localunitu=null

loop

callSleep(3)//停止3秒(实际上是进入循环每3秒做下列动作一次)

setu=GetCreepCamp(0,0,false)//设置u是中立敌对的目标

seti=1

setx=0

sety=0

setz=0

loop

exitwheni>hero_num//当i大于总英雄人数是就退出循环

setr1=GetUnitState(aihero<i>,UNIT_STATE_LIFE)//设置r1是英雄i号的现在生命值(i=1,2.3,......)

setr2=GetUnitState(aihero<i>,UNIT_STATE_MAX_LIFE)//设置r2是英雄i号的最大生命值(i=1,2.3,......)

setx=x+r1//设置x等于x+r1,即循环后所有英雄总的生命值

sety=y+r2//设置y等于x+r2,即循环后所有英雄总的最大生命值

ifr1>0then//如果英雄的生命值大于0,就做下列动作

setz=z+r2//设置z等于z+r2,即循环后所有活着的英雄总的最大生命值

endif

seti=i+1

endloop

ifz>0then//如果Z大于0做下列动作

setratio=x/y//设置ratio等于x/y,即所有英雄现在生命值和最大生命值的比

ifx/z<0.5then//如果所有英雄现在生命值和最大生命值的比小于0.5,就做下列动作

callSetGroupsFlee(true)//设置队伍可以逃跑

setflee=true//设置队伍可以逃跑

else

callSetGroupsFlee(false)//如果不是的话,就设置队伍不能逃跑

setflee=false//设置队伍现在不逃跑

endif

else//如果Z小于0做下列动作

setratio=0//设置radio为0

callSetGroupsFlee(true)//设置队伍可以逃跑

setflee=true//设置队伍现在正在逃跑

endif//实际上每三秒就判断生命值

ifattack_enemythen

callSetGroupsFlee(true)//如果攻击敌人的话

setflee=true//设置队伍可以逃跑

endif

ifcount<200then

setcount=count+1

endif//实际上每三秒就设置count+1

endloop

endfunction

收藏分享110鱼妹莫鱼

lost temple 3c AI 怎么才能让电脑自己选英雄啊

2楼正解,但没有说明白。电脑不可以选英雄。AI紧紧针对队长的,哈,现在还没有人能够开发队员角色那种能力,估计比开发能下国际象棋的深蓝还要难。

理解,都希望能够单机玩这个游戏。

对于你的问题补充回答:那种lt我也玩过,是类似澄海的3C。还有,你不了解AI的制作过程,澄海3C类似于CS的机器人,派渗都有几樱羡哪种套路的,而Lt3c很难设计几套完整的练级路线。

这个回答是最合理,正确的脊码!

lost temple dota 3c ai怎么选英雄啊

我是地图的作者,有什么疑问,可以问我。

-RD模式就不用多作介绍了吧

-AP/-AS/-AA/-AI模式就跟dota的选择誉消一样咯

-random:随机选择一个英雄(只生效一次,rd模式下该命令是没效的)

-reoick:重新选择一个英雄(只生效一次,rd模式下该命令也是没效的,游戏开始前12秒该命令也是没效的)

-AP/-AS/-AA/-AI/-RD:以上这些命令需要由主机(第一个非电脑控制的玩家)键入,而且互不兼容,也就是只能选择一个模式。

双方队长玩家:嗯,是不能选择dota里面的任何液虚坦一个英雄。队长双方玩家的功能正在开发中。目前正闹桐在更新中

...类似与3C,图用的是lost temple的图,要带AI的

最好瞎侍的PK就是《HeroPKv1.18完全终结版》

纯英雄PK图。

下载地搭罩图磨枝吵:http://war3.uuu9.com/Soft/200502/269.shtml

lost temple 3c ai和lost temple dota 3c ai怎么选英雄啊的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

标题:lost temple 3c ai(ai怎么选英雄啊)
链接:https://www.skyyx.com/news/xydt/28668.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
仙剑奇侠传4结局官方解释?仙剑四结局深度解析

本篇文章给大家谈谈仙剑奇侠传4结局官方解释,以及仙剑四结局深度解析对应的知识点,文章可能有点长,但是希望大

2023-06-12
仙剑奇侠传4演员名单(仙剑奇侠传4四大主角)

其实仙剑奇侠传4演员名单的问题并不复杂,但是又很多的朋友都不太了解仙剑奇侠传4四大主角,因此呢,今天小编就来

2023-06-12
仙剑奇侠传4演员表曝光(仙剑奇侠传4人物详细信息)

大家好,今天小编来为大家解答仙剑奇侠传4演员表曝光这个问题,仙剑奇侠传4人物详细信息很多人还不知道,现在让我

2023-06-12
仙剑5前传主要培养谁?仙剑5前传主要练哪几个人物

本篇文章给大家谈谈仙剑5前传主要培养谁,以及仙剑5前传主要练哪几个人物对应的知识点,文章可能有点长,但是希望

2023-06-12