weiweishuo 发表于 2016-1-11 04:51:15

我的we学习笔记

大家好。这篇帖子是我学习world editor的笔记:

1,Q 模仿dota选英雄,要用小酒馆。 但默认英雄都是灰色不可购买的状态。
   A 这个“bug”不在酒馆身上,在英雄身上。 F6打开物编,会发现英雄有两个属性,“开始雇佣时间”,“雇佣冷却时间”(maybe not so accurate)。这下知道了吧。

sky282438525 发表于 2016-1-11 12:09:46

WE只要参透触发就行了

weiweishuo 发表于 2016-1-11 17:26:51

本帖最后由 weiweishuo 于 2016-1-11 17:32 编辑

因为是用lua,没用jass。我把lua的一些经验也记在这儿:

* require后面跟一个variable(而非字符串常量)时,要这样写require(path)。

*require的返回值是这样的:
如果加载的那个lua文件,但它没做返回处理。==========》返回true
否则返回那个lua文件的return value。

manual里的话:If the loader does not return a non-nil value and has not assigned any value to package.loaded, then require assigns true to this entry.

以前老以为默认会require成一个table。

weiweishuo 发表于 2016-1-11 22:00:31

*用lua的话,blizzard.j里的函数都要自己重写成lua函数。
今天重写TriggerReigsterAnyUnitEvent的时候,随手把bj_MAX_PLAYERS_SLOTS设成12,以为够了,谁知道酒馆买英雄时候,SELL事件总触发不了。
原来这个酒馆是中立敌对的,playerid应该是13,14的样子。把bj_MAX_PLAYERS_SLOTS改成16就好了。(bj里就是)
把酒馆改成player0的也可以。

*用lua多半是因为它效率。
但它的设计造成语法检查几乎不可能,经常因为敲错一个变量,检查半天bug。 而这种错误原该由“编译“器查出来。

weiweishuo 发表于 2016-1-11 23:15:56

本帖最后由 weiweishuo 于 2016-1-11 23:41 编辑

*命令玩家小酒馆招英雄的命令是:
IssueNeutralImmediateOrderById
但注意3点:
1,这条语句写在地图初始化的响应函数里好像会失效,可以用一个timer触发。
2,你要issue哪个玩家,得确保这个player存在。 玩家座位是在“情节”=》“玩家”里设置。
3,最重要的一点,一定要手动设置“自定义队伍”,我是按照dota那样,两边分别是player 1~5, player 6~10。不然会出bug。
我遇到的bug是:设置了10个玩家的位子,但是只有0,1,7玩家“招英雄“成功。

*YDWE里的“局域网测试“选项挺方便的。
不过,不要把玩家设置的太多,不然它会开n个war3的instance。我机器上出现了memory read error,应该就是这个原因。

希瓦 发表于 2016-1-12 13:47:12

为什么we学习笔记要放在war3 mod里呢0 0

weiweishuo 发表于 2016-1-12 14:07:15

希瓦 发表于 2016-1-12 13:47
为什么we学习笔记要放在war3 mod里呢0 0

我没找到合适的版块,这个还接近一点儿。

weiweishuo 发表于 2016-1-12 14:07:19

希瓦 发表于 2016-1-12 13:47
为什么we学习笔记要放在war3 mod里呢0 0

我没找到合适的版块,这个还接近一点儿。

weiweishuo 发表于 2016-1-12 14:15:04

lua的require机制还是容易忘。
一个lua文件里的function定义时如果不加local,那会在require时候成为全局函数。跟全局变量是一回事。
经常需要把一个lua文件require成一个module:
local module_a = require("a.lua")
其实并没有想象中的那么自动。还是要在"a.lua"里,把函数一个个挂在table上,再手动的把table return出来。 如果a.lua里有一个函数就是裸着定义的,拿它照样是全局函数,跟"module_a"没有关系。

七键守护神 发表于 2016-1-14 11:46:41

weiweishuo 发表于 2016-1-12 14:07
我没找到合适的版块,这个还接近一点儿。

发到War3综合区呀。WE和War3Mod之间还是基本没联系的。
页: [1]
查看完整版本: 我的we学习笔记