• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

Making a terrain tile unwalkable

Status
Not open for further replies.
Level 9
Joined
Apr 14, 2020
Messages
63
I have been going through a tutorial posted on warhaven about editing a terrain.slk file to make certain tilesets unwalkable but I have not had any success so far. Through the registryeditor I could not even locate a Warcraft III folder in order to allow local files so I had to create one (didn't work). Has anyone come across this and fixed it?
 
Level 24
Joined
Jun 26, 2020
Messages
1,853
Well I tried something like this in a 64x64 map:

  • Trigger
    • Events
      • Time - Elapsed game time is 1.00 seconds
    • Conditions
    • Actions
      • For each (Integer Int1) from 0 to 64, do (Actions)
        • Actions Loop:
          • For each (Integer Int2) from 0 to 64, do (Actions)
            • Actions Loop:
              • Set Temp_Loc1 = ((Point(-3328.00, -3328.00)) offset by ((128.00 x (Real(Int1))), (128.00 x (Real(Int2)))))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • Conditions if:
                  • (Terrain type at Temp_Loc1) Equal to Lordaeron Summer - Grass
                • Actions then:
                  • For each (Integer Int3) from 0 to 3, do (Actions)
                    • Actions Loop:
                      • For each (Integer Int4) from 0 to 3, do (Actions)
                        • Actions Loop:
                          • Set Temp_Loc2 = (Temp_Loc1 offset by (-64.00, -64.00))
                          • Set Temp_Loc3 = (Temp_Loc2 offset by ((32.00 x (Real(Int3))), (32.00 x (Real(Int4)))))
                          • Environment - Set terrain pathing at Temp_Loc3 of type Any to off
                          • Custom script: call RemoveLocation(udg_Temp_Loc3)
                          • Custom script: call RemoveLocation(udg_Temp_Loc2)
                • Actions Else:
              • Custom script: call RemoveLocation(udg_Temp_Loc1)
This was the result:
1.jpg
2.jpg
3.jpg
4.jpg

It isn't complete well made, but this is the idea.
I think he's talking about pathing blockers from the doodad palette.
Oh "doodad" I didn't remember how it is writing in English.
 
Level 9
Joined
Apr 14, 2020
Messages
63
Well I tried something like this in a 64x64 map:

  • Trigger
    • Events
      • Time - Elapsed game time is 1.00 seconds
    • Conditions
    • Actions
      • For each (Integer Int1) from 0 to 64, do (Actions)
        • Actions Loop:
          • For each (Integer Int2) from 0 to 64, do (Actions)
            • Actions Loop:
              • Set Temp_Loc1 = ((Point(-3328.00, -3328.00)) offset by ((128.00 x (Real(Int1))), (128.00 x (Real(Int2)))))
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • Conditions if:
                  • (Terrain type at Temp_Loc1) Equal to Lordaeron Summer - Grass
                • Actions then:
                  • For each (Integer Int3) from 0 to 3, do (Actions)
                    • Actions Loop:
                      • For each (Integer Int4) from 0 to 3, do (Actions)
                        • Actions Loop:
                          • Set Temp_Loc2 = (Temp_Loc1 offset by (-64.00, -64.00))
                          • Set Temp_Loc3 = (Temp_Loc2 offset by ((32.00 x (Real(Int3))), (32.00 x (Real(Int4)))))
                          • Environment - Set terrain pathing at Temp_Loc3 of type Any to off
                          • Custom script: call RemoveLocation(udg_Temp_Loc3)
                          • Custom script: call RemoveLocation(udg_Temp_Loc2)
                • Actions Else:
              • Custom script: call RemoveLocation(udg_Temp_Loc1)
This was the result:
View attachment 363097 View attachment 363098 View attachment 363099 View attachment 363100
It isn't complete well made, but this is the idea.

Oh "doodad" I didn't remember how it is writing in English.
I honestly didn't know doodad was a real word in english so no fault there.
Would you mind sharing that trigger in a map so i can play with it and see if I can use it?
 
That is still possible with current version (V1.32.8) but one has to alter the path a bit. First one has to enable Local files in regedit.exe. Inside regedit navigate to "Computer\HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III" inside that "folder" search for a DWord named "Allow Local Files", if there is none create it. Set that Dword's value to 1.

Now close regedit: And continued in File explorer. Get the terrain.slk. And place it inside Warcraft III\_retail_\terrainart\
 
Level 9
Joined
Apr 14, 2020
Messages
63
That is still possible with current version (V1.32.8) but one has to alter the path a bit. First one has to enable Local files in regedit.exe. Inside regedit navigate to "Computer\HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III" inside that "folder" search for a DWord named "Allow Local Files", if there is none create it. Set that Dword's value to 1.

Now close regedit: And continued in File explorer. Get the terrain.slk. And place it inside Warcraft III\_retail_\terrainart\
I have actually tried that exactly Tasyen but I can not get it to work. With that exact path in the regedit. The only difference is when I navigated to Computer\HKEY_CURRENT_USER\Software\Blizzard Entertainment there was no Warcraft III file. I had to create it myself, and then create the DWord "Allow Local Files" with hexidecimal set at value 1. This may be my problem, but I do not know how to correct that.
 
Level 9
Joined
Apr 14, 2020
Messages
63
If you seek even higher performances than with that script you can use path brushes when you use zpirs's map editor or the hive world editor thus allowing to not need a script at map launch.
If i use the hive world editor, doesn't it only apply if i apply it when totally finished? thus making me have to apply it everywhere each time i release a new version?
 
Level 9
Joined
Apr 14, 2020
Messages
63
If you seek even higher performances than with that script you can use path brushes when you use zpirs's map editor or the hive world editor thus allowing to not need a script at map launch.
It seems zpir's map editor is in russian, also, and although I would love to learn the language I'm not sure its feasible to complete in the short time frame i need :D
 
Status
Not open for further replies.
Top