最近有机会研究 Gambit 的自动化,再次学习了一下相关的脚本编程功能。
Gambit 中对 Entity 的所有操作都是根据名称来进行的。对于参数化后生成的名称来说,并不能完全控制,需要通过某些方式进行获取。
获取的方法有以下的几种:
1 通过中心坐标
可以在操作前先保存下entity的中心位置,然后再操作之后用这个坐标来获取 entity
$c = ENT2LOC(entity)
$e = LOC2ENT(entity_type, c[1], c[2], c[3])
2 通过查询上一层Entity 包含的子entity
LISTENTITY(entity_type, filter_type, filter_entity)
3 查询球形区域内的entity
ENTS_AT(entity_type, x, y, z, distance)
4 自行记录或计算entity名称
LASTID(entity_type)
RETLABEL(entity_type, n)
基本就是这么几种方法了。每种方法都有局限性,需要在实际使用过程中进行判断其有效性。