This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
4rpl:commands:setfieldrect [2021/01/12 11:23] – [Description] spelling Sanian | 4rpl:commands:setfieldrect [2025/02/14 14:57] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 8: | Line 8: | ||
Sets the field cells as defined by the fieldRect. | Sets the field cells as defined by the fieldRect. | ||
+ | |||
+ | **Fields are reset on map load, so any fields must be recreated in the [[func_awake|: | ||
+ | |||
+ | This method is, in essence, a more performant way to call [[SetFieldCell]] over a larger area. Despite the name, this method **adds** field cells rather than sets them, meaning the effect of existing fields will not be erased. To cancel the effect of calling SetFieldRect on an area, you should call SetFieldRect with the same properties in the same position, but opposite strength to the call used to create it. This will cancel out the effect. | ||
* **cellX**: The X position to deploy the field rect. The center of the field rect will be at this position. | * **cellX**: The X position to deploy the field rect. The center of the field rect will be at this position. | ||
Line 17: | Line 21: | ||
* **affected**: | * **affected**: | ||
* **deploy**: If //true //then values are written to the game's field array. If //false//, then negative values are written to the game's field array. Useful for exactly reversing a deployed field. | * **deploy**: If //true //then values are written to the game's field array. If //false//, then negative values are written to the game's field array. Useful for exactly reversing a deployed field. | ||
+ | |||
+ | Note: The values are read from the bottom left corner, doing a row at a time. So if you're doing the double for loop like the example, the inner loop has to be x, and the outer loop has to be z. | ||
===== Examples ===== | ===== Examples ===== | ||
<code 4rpl> | <code 4rpl> | ||
- | CreateList -> | + | :Awake |
- | V2(1 0) ->v | + | CreateList -> |
- | do (21 0) | + | |
- | | + | |
- | AppendToList(< | + | do(101 0) |
+ | | ||
+ | loop | ||
loop | loop | ||
- | loop | + | SetFieldRect(119 86 <-field 101 1000000 0 0 true) |
- | SetFieldRect(119 86 <-field 101 1000000 0 0 true) | + | |
</ | </ | ||
< | < | ||