Hashtables and terrain

Moridin

Snow Leopard
Reaction score
144
Hey guys. I just noticed that Hashtables (in GUI) have no action to save terrain types.

I'm trying to use hashtables to allow MUI when changing terrain types for a spell. I'm wondering if it's just my Editor?

If there truly is no way to save terrain types using hashtables in GUI, is there a method via JASS that I could implement using custom script?

Also, a smaller, less important doubt. What are Widgets?
 

Jedi

New Member
Reaction score
63
Widget: Everything that has a life

Do you really need to save pathing type ?
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Widget: Everything that has a life

Do you really need to save pathing type ?

i think what he wants to store is the terrain type, like "Lordaeron Summer Grass".

Edit: Did some testing, terrain types got raw codes as well as everything else, lordaeron dirt is: 'Ldrt'
to change the terrain type you need the raw code as well, at least if you do so in Jass.
 

Moridin

Snow Leopard
Reaction score
144
Yeah terrain types.

Raw codes? Would that be a string? Also, how do you find the raw codes for different terrain types?

Btw, in GUI when you change terrain types you just pick it out of a list...but i'm pretty sure you can use the raw codes as well. Thanks for this info (as well as for the info about widgets).
 

tooltiperror

Super Moderator
Reaction score
231
Raw codes? Would that be a string? Also, how do you find the raw codes for different terrain types?
Rawcodes are integers. Unit-Types are also integers, go figure.

Btw, in GUI when you change terrain types you just pick it out of a list...but i'm pretty sure you can use the raw codes as well. Thanks for this info (as well as for the info about widgets).
The Widget information is incorrect. Although in technicality it is correct, it is sort of a bad definition. Everything in WC3 has a 'type'. The base types are integers, booleans, reals, and strings. However, one type is called widget. Three other types extend widget.
  • Units
  • Items
  • Destructibles
You can think of extending as being a subcategory. If you ever learn vJASS, you can define your own types and extend them.

If you want to store a terrain type in a hashtable, save the raw code in JASS and then retrieve it.

JASS:

call SaveIntegerBJ( 'Ldrt', 0, 0, udg_YOURHASHTABLE )
 

Moridin

Snow Leopard
Reaction score
144
Thanks for the more detailed explanation TTE. :) Really helped me solve a few things.

Only thing I need to know now is how to get the raw codes of terrain...
 

tooltiperror

Super Moderator
Reaction score
231
The best method for getting the types would be getting a basic trigger with one in it, and then converting. For example:

Trigger:
  • Terrain
    • Events
    • Conditions
    • Actions
      • Environment - Change terrain type at (Center of (Playable map area)) to Lordaeron Summer - Dirt using variation -1 in an area of size 1 and shape Circle


Converts in JASS to:

JASS:
function Trig_Terrain_Actions takes nothing returns nothing
    call SetTerrainTypeBJ( GetRectCenter(GetPlayableMapRect()), 'Ldrt', -1, 1, 0 )
endfunction

//===========================================================================
function InitTrig_Terrain takes nothing returns nothing
    set gg_trg_Terrain = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Terrain, function Trig_Terrain_Actions )
endfunction


[LJASS]'Ldrt'[/LJASS] as you can see. Your best thing to do would be to make a big trigger and convert as many as you can do, here's a few to get you started.
  • Lordaeron Summer Dirt -> [LJASS]'Ldrt'[/LJASS]
  • Lordaeron Summer Rough Dirt -> [LJASS]'Ldro'[/LJASS]
  • Lordaeron Summer Grassy Dirt -> [LJASS]'Ldrg'[/LJASS]
  • Lordaeron Summer Rock -> [LJASS]'Lrok'[/LJASS]
  • Lordaeron Summer Dark Grass -> [LJASS]'Lgrd'[/LJASS]

(If you don't know how to convert, go to Edit->Convert to Custom Text.)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top