谁懂魔兽WE里面的AI魔兽地图编辑器汉化

魔兽地图编辑器新手教学 用法功能简介
导读:魔兽争霸地图编辑器英文名WarCraftⅢ World Editor(简称WE),是暴雪巨作《魔兽争霸Ⅲ》所附带的功能强大的地图编辑器。关键词:&&&
  编辑本段简介  魔兽争霸地图编辑器英文名WarCraftⅢ World Editor(简称WE),是暴雪巨作《魔兽争霸Ⅲ》所附带的功能强大的地图编辑器。  世界上很多地图制作高手已利用WE创作出了类似《反恐精英》、《暗黑破坏神》、《雷电》、《大富翁》等经典游戏的魔兽版,可以说用WE只有想不到,没有做不到。WE功能如此强大,其实不难掌握,因为暴雪已将它做得再&傻瓜&不过了。当你决定使用它创造地图时,摆在你面前的不过是一大堆&积木&,你只要发挥自己的创造力,就能将其摆放出一个自己想象中的世界来。是不是已经等不及了?让我们赶快启动WE来制作属于你的一部舞台剧!  WE由四个主编辑器还有个功能强大的物件管理器(Object Manager)组成。四大编辑器分为地形编辑器(Terrain Editor)、单位编辑器(Unit Editor)、触发编辑器(Trigger Editor)、音效编辑器(Sound Editor)  操作界面  暴雪给了我们光--世界编辑器,要制作一个自己的地图,我们首先就必须先来熟悉如何操作它。  世界编辑器分为几个窗口,它们分别是:地形编辑器、触发事件编辑器、声音编辑器、物体编辑器、AI编辑器、战役编辑器、物体管理器。 世界编辑器所有窗口简介:  地形编辑器:配合工具面板可以设置地形、装饰物、单位、地区及镜头。  触发器编辑器:设置触发器来运行事件,想做出任务、情节、JASS编码就用它了。  声音编辑器:管理和运用魔兽中的所有声音,也能导入外部声音。  物体编辑器:编辑各种对象的属性,其中包括:单位、可破坏物、物品、技能、升级。  AI编辑器:自定义制作电脑玩家的AI模式。  战役编辑器:可以如同魔兽单人任务版那样制作出自己的一系列自定义战役。  物体管理器:可统计和管理放置在地图上的所有对象。  相关入门简介:  魔兽争霸WE(地图编辑器)怎么实现电脑AI像对战游戏一样进行,而玩家。。。。。_百度知道
魔兽争霸WE(地图编辑器)怎么实现电脑AI像对战游戏一样进行,而玩家。。。。。
我想要制作电脑像对战游戏那样自动建造自动攻击移动,那需要放置起始点,起始点有农民和城,可是我不想自己的起始点也有默认单位(农民和城)我该怎么作?
触发里删除创建城镇和农民,然后手动放置城市和农民开启电脑AI 或者自己写触发制作出AI PS:魔兽地图编辑器吧,去这提问,会有更多的大神和热心朋友帮你解决...
那样她自己会动么?
什么意思..
我说手动放置城堡农民,能自己动么
只要你开了 AI,会动的,这么简单的问题自己测试一下不就知道了,还用问么
怎么设置呢具体
其他类似问题
按默认排序
其他3条回答
删除呗,在初始的触发器下面加个动作,选取(所有符合匹配玩家的控制者等于用户)的玩家做动作——————选取(属于选取玩家的所有单位)做动作——————删除选取单位
替换单位即可 技能师真诚为你解答,WE新手群欢迎你!WE新手群:5 4 6 4 8 2 4 2
非常非常简单 你把你调成中立即可
地图编辑器的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您的位置:&>>&>>[WE&JASS]&AI脚本初级教程
线程(Threads)和触发器(Trigger)的区别AI脚本只能使用JASS函数库common.j和common.ai中的函数和量Trigger脚本只能使用common.j和Blizzard.j中的函数和量线程只应用于AI脚本(AI JASS), 不能用于触发器脚本(Trigger Jass)触发器只应用用于触发器脚本(Trigger Jass),不能用于AI脚本(AI JASS)通常, 当AI脚本开始运行时只创建一个线程, 创建更多的线程可以用comman.j的本地函数:native StartThread takes code func returns nothing运行方式的区别在于线程一旦开启即可自动运转,触发器必须调用或者借助事件的发生才可以运行。 调用 call StartThread(function myfunc) 将创建一个从函数myfunc开始执行的线程.调用 call SleepForever() 使线程永久性的关闭 *每个玩家最多可以拥有6个线程(包括一开始执行的主线程在内,当一个玩家有6个线程数时, 调用StartThread()的语句将被忽略. ) *线程不能回收, 当你为某玩家创建了5个自定义线程, 将无法为该玩家创建更多的线程. *局域性的全局状态,在同一玩家中的所有线程都共享全局状态(包括变量). 即是修改某个全局变量, 修改后的值在此玩家的所有线程中都是可见的. *当新线程创建时, 线程立即生效. *当线程让步执行时, 创建此线程的父线程将继续执行. 线程在以下的情况让步执行, 返回父线程a) 当线程中的操作码(opcode)超出限制, 线程会自动休眠 1 秒 当线程中用使用 Sleep(n), 线程将休眠 n 秒, 然后继续执行.线程在以下情况会中止, 返回父线程a) 如果 call StartThread(null)中, 线程中止 当线程的主函数返回, 线程中止.(StartThread()中之间调用的函数就是主函数.)c) 当线程中使用没有声明的变量, 线程中止. 在使用之前, 变量必须声明.d) 当线程中出现零为被除数时, 线程中止e) 线程主函数出现语法错误.注意: 虽然AI脚本可以使用大部分common.j的库函数, 但有些类型的函数在AI不能正常工作, 如:a) 返回字符串类型(string)的本地函数, 如I2S(), SubString()等 需要以code, trigger, boolexpr 等类型数据为参数的本地函数, 如触发器函数, 队列函数(ForGroup, 等)注意: AI中不可以使用Blizzard.j的函数, 触发器中也不可以使用common.ai的函数, AI和触发器都可以使用common.j的函数(当然, 对于AI, 还受上面所说的限制)common.ai和common.j是写AI时可以调用和参考库文件, 要研究AI, 先去读这2个文件.******************************************************************3) 跨脚本通讯(Inter-Script Communication)在游戏中, 可能会有多个独立的Jass脚本文件同时运行. 比如在对战地图中的游戏, 运行触发器脚本文件的同时, 也可能运行了每个电脑玩家的AI脚本文件. 每个脚本文件之间的全局变量不是共享的. 所以, 一个电脑玩家的AI脚本中设置的全局变量不会影响另一个电脑玩家的AI脚本的执行.触发器脚本也不可以和AI脚本共享全局变量. 但可以用传递命令的方法进行脚本之间的数据交换. 命令由一对数值型数据(integer)组成: 命令值(command value)和数据值(data value).从触发器脚本向AI脚本发出通讯命令, 可以使用common.j中定义的以下本地函数:native CommandAI takes player num, integer command, integer data returns nothing参数:player num //玩家integer command //命令integer data //命令数据
常数://--------------------------------------------------------------------constant integer M1 = 60 实际上是时间!constant integer M2 = 2*60constant integer M3 = 3*60constant integer M4 = 4*60constant integer M5 = 5*60constant integer M6 = 6*60constant integer M7 = 7*60constant integer M8 = 8*60constant integer M9 = 9*60constant integer M10 = 10*60constant integer M11 = 11*60constant integer M12 = 12*60constant integer M13 = 13*60constant integer M14 = 14*60constant integer M15 = 15*60constant integer EASY = 1constant integer NORMAL = 2constant integer HARD = 3constant integer INSANE = 4 // not usedconstant integer MELEE_NEWBIE = 1constant integer MELEE_NORMAL = 2constant integer MELEE_INSANE = 3constant integer ATTACK_CAPTAIN = 1constant integer DEFENSE_CAPTAIN = 2constant integer BOTH_CAPTAINS = 3constant integer BUILD_UNIT = 1constant integer BUILD_UPGRADE = 2constant integer BUILD_EXPAND = 3constant integer UPKEEP_TIER1 = 50constant integer UPKEEP_TIER2 = 80
JASS函数库common.ai的全局变量(可以更改,也可以自行增加,以下内容会经常在AI脚本中使用):&player ai_player //AI玩家 integer sleep_seconds &//等待时间 integer total_gold = 0 //总计的金钱 integer total_wood = 0 //总计的木材 integer gold_buffer = 0 // usually for potion money integer difficulty = NORMAL //难度,默认为中等难度 integer exp_seen = 0& integer racial_farm = 'hhou' integer hero_id = 'Hamg' //第一个英雄的ID,默认为圣骑士 integer hero_id2 = 'Hmkg' //第二个英雄的ID,默认为山丘之王 integer hero_id3 = 'Hpal' //第三个英雄的ID,默认为大法 integer array skill integer array skills1 integer array skills2 integer array skills3 integer max_hero_level = 0 integer array harass_qty integer array harass_max integer array harass_units integer harass_length = 0 防守单位的全局变量&例子:防守单位defense_units[defense_length]的数量为defense_qty[defense_length] &integer array defense_qty //设置防守单位的数量 &integer array defense_units //设置防守的单位 &integer defense_length = 0 //单位Index 建造的全局变量&为了区分建造的种类,BLZ为建造的全局变量设置了4类例子:建造单位build_type[build_length]的数量为build_qty[build_length] &integer array build_qty //建造的数量 设置建造单位的数量 &integer array build_type //建造的种类 普通单位类(包括单位和建筑) &integer array build_item //购买物品的种类 物品类 &integer array build_town //建造基地的种类 基地类 &integer build_length = 0 设置采集工人的数量&integer campaign_gold_peons = 5 //主基地采集金子的人数 &integer campaign_wood_peons = 3 //住基地采集木材的人数 &integer campaign_basics_speed = 5 &integer min_creeps = -1 integer max_creeps = -1 游戏初试设置的全局变量&boolean harvest_town1 = true &boolean harvest_town2 = true &boolean harvest_town3 = true &boolean do_campaign_farms = true &//自动制造战役AI 提供人口的建筑 &boolean two_heroes = false &//双英雄 &boolean allow_air_creeps = false &//空中的中立单位(假如有,AI会针对性的发展) &boolean take_exp = false //&
一般战役AI常用函数
&CampaignAI takes integer farms, code heroes returns nothing &是BLZ在COMMON.AI中设置的一个简便函数,直接初始化战役AI&farms - 提供AI玩家人口的建筑类型&heroes - 指向设置英雄的ID的CODE &&SetReplacements takes integer easy, integer med, integer hard returns nothing &尚未研究的函数,一般用法为:&call SetReplacement( 2, 2, 4 )&easy - 游戏难度为简单所赋的值&med - 游戏难度为普通所赋的值&hard - 游戏难度为困难所赋的值 &&native SetCaptainHome takes integer which, real x, real y returns nothing &设置攻击组队长在家的点?&which - 什么的聚集点,参数有: &constant integer ATTACK_CAPTAIN = 1 进攻的点 &constant integer DEFENSE_CAPTAIN = 2 防御的点 &constant integer BOTH_CAPTAINS = 3 进攻和防御的点&x - X坐标&Y - Y坐标 &&SetBuildUnit takes integer qty, integer unitid returns nothing &指令AI玩家制造(所有类型的建造,包括升级)&qty - 数量&unitid - 单位类型 &&SetBuildUnitEx takes integer easy, integer med, integer hard, integer unitid returns nothing &指令AI玩家制造单位按照游戏难度&easy - 简单时候的数量&med - 普通时候的数量&hard - 困难时候的数量&unitid - 单位类型 &&CampaignDefender takes integer level, integer qty, integer unitid returns nothing &设置防守单位的数量 &&CampaignDefenderEx takes integer easy, integer med, integer hard, integer unitid returns nothing &设置防守单位的数量,&按难度 call WaitForSignal() 等待TRIGGER发出AI指令,当堆积的指令数量不等于0时,继续进行AI线程
进攻组的指令&function InitAssaultGroup takes nothing returns nothing &初始化进攻组,设置全局变量harass_length = 0
&CampaignAttacker takes integer level, integer qty, integer unitid returns nothing &增加进攻组的进攻单位&qty - 数量&unitid - 单位类型 &&CampaignAttackerEx takes integer easy, integer med, integer hard, integer unitid returns nothing &增加进攻组的进攻单位,按游戏难度&easy - 简单时候的数量&med - 普通时候的数量&hard - 困难时候的数量&unitid - 单位类型 &&SuicideOnPoint takes integer seconds, player p, integer x, integer y returns nothing &设置进攻的玩家的点seconds 发起进攻等待的时间,&常量参数有 &constant integer M1 = 60 &constant integer M2 = 260 &constant integer M3 = 360 &constant integer M4 = 460 &constant integer M5 = 560 &constant integer M6 = 660 &constant integer M7 = 760 &constant integer M8 = 860 &constant integer M9 = 960 &constant integer M10 = 1060 &constant integer M11 = 1160 &constant integer M12 = 1260 &constant integer M13 = 1360 &constant integer M14 = 1460 &constant integer M15 = 1560&p - 目标玩家 &&SuicideOnUnits takes integer seconds, player p returns nothing &设置进攻的目标玩家seconds
一般战役AI的制作方案参看BLZ在战役中所制作的AI脚本“n08_green.ai”来了解怎么制作AI //变量 进攻的目标玩家 globals player user = Player(1) endglobals function main takes nothing returns nothing //AI初试设置 call CampaignAI(ZIGGURAT_1,null) call SetReplacements(2,2,4) call SetCaptainHome(ATTACK_CAPTAIN, ) call SetCaptainHome(DEFENSE_CAPTAIN, ) set campaign_wood_peons = 2 //需要建造的建筑以及单位 call SetBuildUnit( 1, NECROPOLIS_1 ) call SetBuildUnit( 1, ACOLYTE ) call SetBuildUnit( 1, UNDEAD_MINE ) call SetBuildUnit( 1, GRAVEYARD ) call SetBuildUnit( 8, ZIGGURAT_1 ) call SetBuildUnit( 2, CRYPT ) call SetBuildUnit( 1, UNDEAD_ALTAR ) call SetBuildUnit( 1, NECROPOLIS_2 ) call SetBuildUnit( 2, SLAUGHTERHOUSE ) call SetBuildUnit( 1, DAMNED_TEMPLE ) call SetBuildUnit( 1, NECROPOLIS_3 ) call SetBuildUnit( 2, BONEYARD ) call SetBuildUnit( 5, ACOLYTE ) call SetBuildUnit( 8, ZIGGURAT_2 ) //防守单位 call CampaignDefenderEx( 1,1,2, ABOMINATION ) call CampaignDefenderEx( 1,1,1, GARGOYLE ) call CampaignDefenderEx( 1,1,1, FROST_WYRM ) call CampaignDefenderEx( 1,1,1, CRYPT_FIEND ) call CampaignDefenderEx( 1,1,1, DREAD_LORD ) //TRIGGER发出指令就开始进行下面的AI进程 call WaitForSignal() //进攻,制造 //WAVE 1 &call InitAssaultGroup()&call CampaignAttackerEx( 6,6,8, GARGOYLE )&call SuicideOnPlayerEx(M5,M5,M3,user)&call SetBuildUpgrEx( 1,1,1, UPG_FIEND_WEB )&call SetBuildUpgrEx( 1,1,1, UPG_CANNIBALIZE )&call SetBuildUpgrEx( 1,1,1, UPG_UNHOLY_STR )&call SetBuildUpgrEx( 1,1,1, UPG_CR_ATTACK ) &//WAVE 2 &call InitAssaultGroup() &call CampaignAttackerEx( 6,6,8, GARGOYLE ) &call CampaignAttackerEx( 2,2,4, CRYPT_FIEND ) &call CampaignAttackerEx( 1,1,2, FROST_WYRM ) &call SuicideOnPlayerEx(M6,M6,M4,user) &//WAVE 3 &call InitAssaultGroup() &call CampaignAttackerEx( 6,6,8, GARGOYLE ) &call CampaignAttackerEx( 2,2,4, CRYPT_FIEND ) &call CampaignAttackerEx( 1,1,2, FROST_WYRM ) &call CampaignAttackerEx( 1,1,1, DREAD_LORD ) &call SuicideOnPlayerEx(M6,M6,M4,user) &call SetBuildUpgrEx( 2,2,2, UPG_UNHOLY_STR ) &call SetBuildUpgrEx( 2,2,2, UPG_CR_ATTACK ) &call SetBuildUpgrEx( 1,1,1, UPG_SKEL_LIFE ) &call SetBuildUpgrEx( 1,1,1, UPG_WYRM_BREATH ) &//WAVE 4 &call InitAssaultGroup() &call CampaignAttackerEx( 2,2,3, GARGOYLE ) &call CampaignAttackerEx( 5,5,6, CRYPT_FIEND ) &call CampaignAttackerEx( 1,1,2,
本地图地址:
对抗类RPG地图攻略
对抗类RPG地图视频
防守类RPG地图攻略
防守类RPG地图视频
地图下载日排行
地图下载周排行}

我要回帖

更多关于 魔兽地图编辑器汉化 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信