Skip to content

Commit 05177d4

Browse files
committed
收尾
1 parent fee1cd8 commit 05177d4

1 file changed

Lines changed: 134 additions & 0 deletions

File tree

rustedwarfareapicode/src/Unit/loginboolean.md

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ outline: deep
2525
| unit | 单位 |
2626
<!-- MarkDown表格必须有上方的分割线以告诉浏览器是表格 -->
2727

28+
数据类型之间的转换函数包括:`int``str`
29+
2830
#### 算数优先级
2931
与数学中计算符一样,铁锈中算数运算符有优先级区别。`%``*``/`的优先级大于`+``-`
3032

@@ -238,6 +240,7 @@ autoTrigger:if (memory.a + memory.c) < memory.b
238240
34. `self.isInMap()` 在地图内
239241
35. `game.mapWidth()` 地图宽度
240242
36. `game.mapHeight()` 地图高度
243+
37. `game.nukesEnabled()` 是否启用核武器
241244

242245
self.hasResources()
243246
代码:self.hasResources() 中文释义:有资源 返回类型:boolean<br>
@@ -633,3 +636,134 @@ getOffsetRelative
633636
eventSource
634637
代码:eventSource 中文释义:事件源 返回类型:event<br>
635638
`eventSource`用于获取`autoTriggerOnEvent`当前触发器,没有则返回`null`,可以看作对于事件的`autoTriggerOnEvent`
639+
640+
#### 全局函数
641+
642+
readUnitMemory
643+
代码:self.readUnitMemory() 中文释义:读取单位内存 返回类型:跟随内存类型<br>
644+
`readUnitMemory`用于读取指定单位上的自定义内存,与读取其他单位的资源不同,内存可以直接读取而不需要在本单位进行定义。<br>
645+
`readUnitMemory`的格式为`单位参考.readUnitMemory("内存名称",type="内存类型")`,简写格式为`memory.内存名称`,但简写格式只能用于读取自己的内存。<br>
646+
647+
<div class="alert callout tip">
648+
<p>self.readUnitMemory()基础演示例子:</p>
649+
</div>
650+
651+
```ini
652+
if parent.readUnitMemory("a", type="float") == 1
653+
#如果 父单位内存a的值为1
654+
```
655+
656+
::: warning
657+
`readUnitMemory`还可以用于读取内存数组,格式为`单位参考.readUnitMemory("数组名称",type="数组类型",index=数组下标)`<br>
658+
在<font color=orange>跨单位读取数组</font>时,如果下标使用了逻辑,无论逻辑值都会返回第零项,
659+
<font color=orange>为游戏bug</font>,解决方法可以参考:
660+
https://www.bilibili.com/video/BV17v4y1r7dV (感谢十山月)
661+
:::
662+
663+
<!-- 写完才发现readUnitMemory写过了:( -->
664+
665+
distance
666+
代码:distance() 中文释义:两点距离 返回类型:float<br>
667+
`distance`用于获取两个坐标之间的距离,格式为`distance(x1,y1,x2,y2)`。<br>
668+
669+
distanceSquared
670+
代码:distanceSquared() 中文释义:两点距离平方 返回类型:float<br>
671+
`distanceSquared`返回两个点的距离的平方,速度更快,格式与`distance`一样。<br>
672+
673+
distanceBetween
674+
代码:distanceBetween() 中文释义:单位间的距离 返回类型:float<br>
675+
`distanceBetween`返回两个单位(标记)之间的距离,格式为`distanceBetween(单位1,单位2)`。<br>
676+
677+
distanceBetweenSquared
678+
代码:distanceBetweenSquared() 中文释义:单位间的距离平方 返回类型:float<br>
679+
`distanceBetweenSquared`返回两个单位(标记)之间的距离的平方,速度更快,格式与`distanceBetween`一致。<br>
680+
681+
select
682+
代码:select() 中文释义:三目运算符 返回类型:随结果类型(有说为string)<br>
683+
`select`用于简化部分需要使用如果进行分别判断的场景,格式为`select(bool a,str b,str c)`,当`a`成立时,整个`select`返回`b`,否则返回`c`。<br>
684+
685+
::: tip
686+
`select`支持套娃。在适当的地方使用,可以<font color=orange>极大的简化代码</font>。
687+
:::
688+
689+
debug
690+
代码:debug() 中文释义:返回调试值 返回类型:string<br>
691+
`debug`可以针对逻辑布尔值输出一个字符串,解释这个值产生的原因,可以查看嵌套逻辑、比较和运算符。<br>
692+
693+
::: code-group
694+
```ini{3} [演示例子]
695+
showMessageToAllPlayers:%{debug(memory.a)}
696+
#假设a为unit类型memory
697+
#这里就会输出a单位的id等信息
698+
```
699+
:::
700+
701+
substring
702+
代码:substring() 中文释义:取子字符串 返回类型:string<br>
703+
`substring`用于截取一个字符串的一部分,格式为`substring(开始处,结束处)`,字符串的“下标”从0开始。<br>
704+
705+
length
706+
代码:length() 中文释义:取字符串长度 返回类型:number/float<br>
707+
`length`用于获取一个字符串的长度,格式为`length(string)`,返回长度数字。<br>
708+
709+
squareRoot
710+
代码:squareRoot() 中文释义:平方根 返回类型:number/float<br>
711+
`squareRoot`用于获取一个数的平方根,格式为`squareRoot(number/float)`。<br>
712+
713+
min
714+
代码:min() 中文释义:最小值 返回类型:number/float<br>
715+
`min`用于获取两个数中更小的那个,格式为`min(number1,number2)`。<br>
716+
717+
max
718+
代码:max() 中文释义:最大值 返回类型:number/float<br>
719+
`max`用于获取两个数中更大的那个,格式为`max(number1,number2)`。<br>
720+
721+
createMarker
722+
代码:createMarker() 中文释义:创建标记 返回类型:marker<br>
723+
`createMarker`用于创建一个临时的标记,格式为`createMarker(x, y, [height], [teamId], [dir])`。其中`x``y`为必须的参数<br>
724+
标记的创建速度很快,创建后可以用于填入路径点等`unit/marker`类型处。<br>
725+
726+
::: tip
727+
其实marker也是一个单位,可以通过路径点`thisActionTarget``debug`发现它。
728+
:::
729+
730+
eventData
731+
代码:eventData() 中文释义:事件数据 返回类型:跟随事件<br>
732+
`eventData`用于获取自身接收的`[action]sendMessageTo`中发送的信息,格式为`eventData("数据名称",type="数据类型")`。<br>
733+
`eventData`只在`autoTriggerOnEvent:newMessage`事件中使用。<br>
734+
735+
sin
736+
代码:sin() 中文释义:正弦 返回类型:float<br>
737+
`sin`用于正弦值,格式为`sin(角度)`。<br>
738+
739+
cos
740+
代码:cos() 中文释义:余弦 返回类型:float<br>
741+
`cos`用于余弦值,格式为`cos(角度)`。<br>
742+
743+
::: tip
744+
铁锈三角函数没有tan,但是可以通过`tan(a)=sin(a)/cos(a)`来求。
745+
:::
746+
747+
rnd
748+
代码:rnd() 中文释义:随机数 返回类型:float<br>
749+
`rnd`用于生成一个自定义区间内的随机数,格式为`rnd(最小,最大)`。<br>
750+
751+
::: warning
752+
沙盒地图中随机数种子是一样的,且<font color=orange>卢克的随机数并不“随机”</font>,实际使用可能需要自己增加参数后求余。
753+
:::
754+
755+
lowercase
756+
代码:lowercase() 中文释义:转小写 返回类型:float<br>
757+
`lowercase`用于将一个字符串中的大写字符全部转换成小写,格式为`lowercase(string)`。<br>
758+
759+
uppercase
760+
代码:uppercase() 中文释义:转大写 返回类型:float<br>
761+
`uppercase`用于将一个字符串中的小写字符全部转换成大写,格式为`uppercase(string)`。<br>
762+
763+
direction
764+
代码:direction() 中文释义:相对角度 返回类型:float<br>
765+
`direction`用于获取两个点之间的相对角度,格式为`direction(x1,y1,x2,y2)`。<br>
766+
767+
directionBetween
768+
代码:direction() 中文释义:单位相对角度 返回类型:float<br>
769+
`direction`用于获取两个单位之间的相对角度,格式为`direction(unit1,unit2)`。<br>directionBetween

0 commit comments

Comments
 (0)