Yes, finally done it! You can now copy terrain from anywhere on the map you like any size. Then you can paste it anywhere you like on the map.
Note - trigger shown in screenshot is now out of date and has been updated.
In edtior - place cienamtics blocks at opposite corners of the area you want to copy and select them. Next place blocks in an IDENTICAL layout in an area you want to paste. Have the terrain grid to help you. Then fire event copy trigger 2. This is nessisary for it to work and I have tried very hard and have found no way to do it with just 1 trigger. The fire event creates a slight pause that is required for the trigger to work.
Next fire event paste trigger 1 with the copy trigger 2. Select the blocks in opposite corners again IN THE SAME WAY as the first one. e.g. if you selected the block in the top right corner the copy first do it for the paste first also to avoid problems. Finally fire event paste 2 where you can specifiy if you want the height or elevation pasting or even both!
Hey presto! You have painted the snow in the other area! Interestingly enough, it does NOT also paste the passability. e.g. if you pasted cliff on grass then it will act as grass still. If you do not want this you need to use the refresh terrain passability which makes the game sort of "reload" the passability of the terrain on the map making the cliff pasted on grass actaully act as cliff.
VERY small drawbacks that can't be fixed:
@Fire eventing business and 2 parts can be a pain and tiresome to set up but cannot be helped. (4 triggers used in all)
@Interface my flash due to rapid interface changes. Unfortunate this cannot be helped either.
One BIG problem I have recenty found but could be fixed:
NOW FIXED THANKS TO invent00r!
I have tested to see if they work on LAN and it is fine. (game runs in multiplayer mode and it works with no crash!)
Triggers are below:
Note - trigger shown in screenshot is now out of date and has been updated.
In edtior - place cienamtics blocks at opposite corners of the area you want to copy and select them. Next place blocks in an IDENTICAL layout in an area you want to paste. Have the terrain grid to help you. Then fire event copy trigger 2. This is nessisary for it to work and I have tried very hard and have found no way to do it with just 1 trigger. The fire event creates a slight pause that is required for the trigger to work.
Next fire event paste trigger 1 with the copy trigger 2. Select the blocks in opposite corners again IN THE SAME WAY as the first one. e.g. if you selected the block in the top right corner the copy first do it for the paste first also to avoid problems. Finally fire event paste 2 where you can specifiy if you want the height or elevation pasting or even both!
Hey presto! You have painted the snow in the other area! Interestingly enough, it does NOT also paste the passability. e.g. if you pasted cliff on grass then it will act as grass still. If you do not want this you need to use the refresh terrain passability which makes the game sort of "reload" the passability of the terrain on the map making the cliff pasted on grass actaully act as cliff.
VERY small drawbacks that can't be fixed:
@Fire eventing business and 2 parts can be a pain and tiresome to set up but cannot be helped. (4 triggers used in all)
@Interface my flash due to rapid interface changes. Unfortunate this cannot be helped either.
One BIG problem I have recenty found but could be fixed:
NOW FIXED THANKS TO invent00r!
I have tested to see if they work on LAN and it is fine. (game runs in multiplayer mode and it works with no crash!)
Triggers are below:
<Effect name="zCopy Terrain to Clipboard Part 1">
<Param name="warning" dispName="Info" varType="string">Place 2 cinematic blocks at opposite corners of the square of land you want to copy and select them</Param>
<Param name="SrcObject" dispName="Cine Block1" varType="unit">default</Param>
<Param name="SrcObject2" dispName="Cine Block2" varType="unit">default</Param>
<Param name="EventID" dispName="$$22362$$Trigger" varType="event">-1</Param>
<Command>map("mouse1down", "copy", "");</Command>
<Command>map("mouse1up", "copy", "");</Command>
<Command>map("mouse1up", "TerrainPaste", "");</Command>
<Command>map("mouse2up", "TerrainPaste", "");</Command>
<Command>subModeEnter("Simulation", "Editor");</Command>
<Command>configToggle("cameraMovementLock");</Command>
<Command>subModeEnter("Simulation", "Editor");</Command>
<Command>modeEnter("pregame");</Command>
<Command>modeEnter("Simulation");</Command>
<Command>subModeEnter("Simulation", "Singleplayer");</Command>
<Command>editMode("copy");</Command>
<Command>trackInsert();</Command>
<Command>trackEditWaypoint();</Command>
<Command>trackAddWaypoint();</Command>
<Command>trackEditWaypoint();</Command>
<Command>trQuestVarSet("zzza",xsVectorGetX(kbGetBlockPosition("%SrcObject%")));</Command>
<Command>trQuestVarSet("zzzb",xsVectorGetY(kbGetBlockPosition("%SrcObject%")));</Command>
<Command>trQuestVarSet("zzzc",xsVectorGetZ(kbGetBlockPosition("%SrcObject%")));</Command>
<Command>trCameraCut(xsVectorSet(trQuestVarGet("zzza"),trQuestVarGet("zzzb"),trQuestVarGet("zzzc")), vector(0.0,-1.0,0.0), vector(0.7,-0.0,0.7), vector(0.7,0.0,-0.7));</Command>
<Command>uiTerrainSelection(0);</Command>
<Command>trQuestVarSet("zzzaa",xsVectorGetX(kbGetBlockPosition("%SrcObject2%")));</Command>
<Command>trQuestVarSet("zzzbb",xsVectorGetY(kbGetBlockPosition("%SrcObject2%")));</Command>
<Command>trQuestVarSet("zzzcc",xsVectorGetZ(kbGetBlockPosition("%SrcObject2%")));</Command>
<Command>trCameraCut(xsVectorSet(trQuestVarGet("zzzaa"),trQuestVarGet("zzzbb"),trQuestVarGet("zzzcc")), vector(0.0,-1.0,0.0), vector(0.7,-0.0,0.7), vector(0.7,0.0,-0.7));</Command>
<Command>trackInsert();</Command>
<Command>trackEditWaypoint();</Command>
<Command>trackAddWaypoint();</Command>
<Command>trackEditWaypoint();</Command>
<Command>trackPlay(10000,-1);</Command>
<Command>trEventFire(%EventID%);</Command>
</Effect>
<Effect name="zCopy Terrain to Clipboard Part 2">
<Param name="warning" dispName="Info" varType="string">Insert version 1 (Other one) then FIRE EVENT part 2 to make it work!</Param>
<Param name="EventID" dispName="$$22362$$Trigger" varType="event">-1</Param>
<Command>uiTerrainSelection(1);</Command>
<Command>uiCopyToClipboard();</Command>
<Command>editMode("none");</Command>
<Command>subModeLeave("Simulation", "Editor");</Command>
<Command>trackRemove();</Command>
<Command>trackPlay(1,-1);</Command>
<Command>configToggle("cameraMovementLock");</Command>
<Command>trEventFire(%EventID%);</Command>
<Command>map("mouse1down", "copy", "uiTerrainSelection(0)");</Command>
<Command>map("mouse1up", "copy", "uiTerrainSelection(1)");</Command>
<Command>map("mouse1up", "TerrainPaste", "uiPasteFromClipboard");</Command>
<Command>map("mouse2up", "TerrainPaste", "editMode(\"copy\")");</Command>
</Effect>
<Effect name="zPaste Terrain from Clipboard Part 1">
<Param name="warning" dispName="Info" varType="string">Place 2 cinematic blocks at opposite corners of the square of land you want to copy and select them</Param>
<Param name="SrcObject" dispName="Cine Block1" varType="unit">default</Param>
<Param name="SrcObject2" dispName="Cine Block2" varType="unit">default</Param>
<Param name="v" dispName="Paste rotation" varType="stringid">0</Param>
<Param name="EventID" dispName="$$22362$$Trigger" varType="event">-1</Param>
<Command>map("mouse1down", "copy", "");</Command>
<Command>map("mouse1up", "copy", "");</Command>
<Command>map("mouse1up", "TerrainPaste", "");</Command>
<Command>map("mouse2up", "TerrainPaste", "");</Command>
<Command>subModeEnter("Simulation", "Editor");</Command>
<Command>