X.Terror.X
New Member
- Reaction score
- 10
Hello i got trouble with my looping trigger for my map.
While Looping trough every tile it simplies checks if the terrain value is some type and if yes it makes it to the new one that is given.
I have tried search other global transformers and i only found 1 in jass. which was unchange able for osm e reason and if i tried the save the map it whould make the trigger unuseable.
So i have tried the make the trigger my self since i tought it whouldnt be hard.
But now i got the result that it only does 25% of the map.
It does fill all the Y squares, but doesnt even come more then a quarter on the X Side
Now the values are right since they both Calculate X 51 and Y 51 (somewhere near map playable bounds)
These values are both looped trough but only X comes at like 15 - 20 squares
Things that DO work and have been tested on their results.
SquareXY = Integer 128 (Equal to the width and hight of 1 square in X and Y)
RegX results 51
RegY results 51
CornerPoint starts in left top corner
I like to know why X (integer A) Stops at something like 15-20 square column's filled
the loop is to big perhaps? (51 x 51 x 6 = 15606 loops)
I dont see anything wrong but my with the editor experiance may tell me i can be still wrong. Or Editor is to weak for these loops?
Also i care less about little leaks or anti glitch bug whatever. just want to know why the global transformer does not work 100%
While Looping trough every tile it simplies checks if the terrain value is some type and if yes it makes it to the new one that is given.
I have tried search other global transformers and i only found 1 in jass. which was unchange able for osm e reason and if i tried the save the map it whould make the trigger unuseable.
So i have tried the make the trigger my self since i tought it whouldnt be hard.
But now i got the result that it only does 25% of the map.
It does fill all the Y squares, but doesnt even come more then a quarter on the X Side
Now the values are right since they both Calculate X 51 and Y 51 (somewhere near map playable bounds)
These values are both looped trough but only X comes at like 15 - 20 squares
Code:
Config
Events
Map initialization
Conditions
Actions
Set TakesTerrain[1] = Lordaeron Summer - Dirt
Set ReturnsTerrain[1] = Dungeon - Dirt
Set TakesTerrain[2] = Lordaeron Summer - Rough Dirt
Set ReturnsTerrain[2] = Dungeon - Brick
Set TakesTerrain[3] = Lordaeron Summer - Grassy Dirt
Set ReturnsTerrain[3] = Dungeon - Grey Stones
Set TakesTerrain[4] = Lordaeron Summer - Rock
Set ReturnsTerrain[4] = Dungeon - Square Tiles
Set TakesTerrain[5] = Lordaeron Summer - Grass
Set ReturnsTerrain[5] = Underground - Dark Rocks
Set TakesTerrain[6] = Lordaeron Summer - Dark Grass
Set ReturnsTerrain[6] = Underground - Lava
Set TerrainCount = 6
Code:
Form Norm to Fire
Events
Player - Player 1 (Red) types a chat message containing -Fire as A substring
Conditions
Actions
Set SquareXY = 128
Set MaX = (Max X of (Playable map area))
Set MaY = (Max Y of (Playable map area))
Set MiX = (Min X of (Playable map area))
Set MiY = (Min Y of (Playable map area))
Set RegX = ((Integer((MaX - MiX))) / SquareXY)
Set RegY = ((Integer((MaY - MiY))) / SquareXY)
Set CornerPoint = (Point(MiX, MaY))
For each (Integer A) from 1 to RegX, do (Actions)
Loop - Actions
For each (Integer B) from 1 to RegY, do (Actions)
Loop - Actions
For each (Integer C) from 1 to TerrainCount, do (Actions)
Loop - Actions
Set TempPoint = (CornerPoint offset by (((Real((Integer A))) x (Real(SquareXY))), ((Real((Integer B))) x (0.00 - (Real(SquareXY))))))
If ((Terrain type at TempPoint) Equal to TakesTerrain[C]) then do (Environment - Change terrain type at TempPoint to ReturnsTerrain[C] using variation -1 in an area of size 1 and shape Circle) else do (Do nothing)
Things that DO work and have been tested on their results.
SquareXY = Integer 128 (Equal to the width and hight of 1 square in X and Y)
RegX results 51
RegY results 51
CornerPoint starts in left top corner
I like to know why X (integer A) Stops at something like 15-20 square column's filled
the loop is to big perhaps? (51 x 51 x 6 = 15606 loops)
I dont see anything wrong but my with the editor experiance may tell me i can be still wrong. Or Editor is to weak for these loops?
Also i care less about little leaks or anti glitch bug whatever. just want to know why the global transformer does not work 100%