• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

No Hashtable Functions in NewGen Still

Status
Not open for further replies.
Level 6
Joined
Jun 18, 2011
Messages
147
No Hashtable Functions in NewGen Still (Solved)

I replaced the blizzard.j and common.j files as suggested in another thread in which I could not get GUI hastable functions to work in NewGen. I was told that I must use custom script in order to use hastable functions. I may not be able to fix and test changing all my GUI hastable functions to custom script until I find a solution to my new problem...

I recently found out that I cannot get the JASS Libraries AutoIndex and SpellEvent to work either.
Here are the errors...

67 compile errors related to hastables from the trigger AutoIndex, here are examples which are repeat errors

Compile Errors
Line 284: Undefined type hastable

hashtable Table__ht

Line 3709: Undeclared function FlushChildHastable

call FlushChildHashtable(Table__ht , (this))

Line 3720: Undeclared function InitHastable

set Table__ht=InitHashtable()

Line 3720: Undeclared function LoadInteger

return LoadInteger(Table__ht , (this) , key)

Line 3729: Cannot convert returned value from null to integer

return LoadInteger(Table__ht , (this) , key)
4 compile errors from the trigger SpellEvent, here is the repeated error

Compile Errors cont.
Line 4061: Undeclared function GetSpellTargetX

set s__SpellEvent__spellEvent_TargetX=GetSpellTargetX()

Line 4061: Cannot convert null to real

set s__SpellEvent__spellEvent_TargetX=GetSpellTargetX()

Line 4062: same 2 as above but for GetSpellTargetY


Solved
Dr Super Good:
For some reason you had managed to import a Common.j file into your map. The result was JassHelper trying to compile it before loading the actual native list. Even if it did compile after the native list it would have still thrown a lot of already declared namespace errors.

Just delete the Common.j file from inside your map and it will save perfectly.
 
Last edited:
Level 6
Joined
Jun 18, 2011
Messages
147
I updated jasshelper to 0.A.2.B by replacing jasshelper.exe, clijasshelper.exe, and jasshelper.conf before I started using NewGen.

The default settings in NewGen are checked, so Enable JassHelper and Disable WE syntax checker are both checked.

What natives list files are you referring to? common.j and blizzard.j? I replaced those a bunch of different times. I used version switcher to switch to my battle.net version 1.26 of war3. Then, I opened the MPQ master and grabbed those .j files and replaced them with the ones in NewGen. When I went back to version 1.21b and tried to save my map with NewGen, I got the same errors.

Check the menu. Click on Reinventing the Craft, check the box "Disable RtC".
Close the JNGP instantly.

Open JNGP again, now you can use it with vJASS support.

What's this?

Edit: I imported this into my map as "scripts\common.j", but I don't see where it says Disable RtC anywhere.

I guess I'll try redownloading JNGP. Please help in the meantime.
 
Last edited by a moderator:

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,178
Edit: I imported this into my map as "scripts\common.j", but I don't see where it says Disable RtC anywhere.
Obviously as your map has nothing to do with JassHelper. You need to update those files in the JassHelper folder.

If RTC does not show up as an option, eithor you are using an old version of JNGP or you have deleted the RTC stuff (which can hapen automatically with some antivirus software).
 
Level 6
Joined
Jun 18, 2011
Messages
147
If RTC does not show up as an option, eithor you are using an old version of JNGP or you have deleted the RTC stuff (which can hapen automatically with some antivirus software).

I'm using JNGP 5d and I always exit or pause protection on Kaspersky before opening NewGen. I'm gonna redownload JNGP now. I just have a feeling it still won't work. :/

Edit: So I got the RtC to show up by redownloading. Th.net needs to update their file links.

I updated jasshelper by replacing jasshelper.exe, clijasshelper.exe, and jasshelper.conf. What about the source folder in the 0.A.2.B jasshelper.7z?

Is it important to import the RtCCommon.j file into my map, or can I replace the RtC file with the one in the jass folder of JNGP?

I did import it into my map, saved, disabled RtC, reopened NewGen, tried to save, but...

I'm still getting those same errors for those Libraries.
 
Last edited:

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,178
Your not meant to import them into your map. RTC is totally usless so ignore it (turn it off but do not delete the files as the editor needs them to work). The native list has to be updated in the jasshelper folder, WC3 automatically uses the lattest native list (if you use the lattest patch).
 
Level 6
Joined
Jun 18, 2011
Messages
147
What natives list files are you referring to? common.j and blizzard.j? I replaced those a bunch of different times. I used version switcher to switch to my battle.net version 1.26 of war3. Then, I opened the MPQ master and grabbed those .j files and replaced them with the ones in NewGen. When I went back to version 1.21b and tried to save my map with NewGen, I got the same errors.

Are the native files the blizzard.j and common.j files? I did this again. Its still not working.
 
Level 6
Joined
Jun 18, 2011
Messages
147
Ooooooo, I have to switch to version 1.23b. I was thinking I needed to be in 1.21b to use NewGen. Thanks. I might try that JNGP that is updated also because I just opened NewGen today before turning off Kaspersky. It thought 2 objects were pdm keyloggers but I added them to exclusions.

Edit: I don't see patch 1.23b, could you help me with that. I only see 1.23 here. Or what is the latest patch that I can use with NewGen?
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,178
He said atleast...

1. Reinstall WC3 and its expansion.
2. Update to the lattest patch (1.26 or any newer ones released).
3. Rename the WorldEdit.exe file in the install directory and then move the 1.21 version WorldEdit.exe file that JNGP needs in its place (in the install directroy).
4. Update JassHelper if JassHelper is not already done so.
5. Use JNGP as much as you want.

Your game will sitll be version 1.26 (or later) so you can battlenet perfectly. Your editor will use the 1.21 version executable but that does not mater as JNGP provides parallel functionality which exceedes even the current 1.26 world edit.
 
Level 6
Joined
Jun 18, 2011
Messages
147
Ok, I was going to do it by registry editing, but Spinnaker told me I should use version switcher. This sounds like a completely different way, that I haven't heard of yet.

I'm not sure exactly what to do. I'll try creating another install path and try what I think you mean and update soon.
 
Last edited:
Level 6
Joined
Jun 18, 2011
Messages
147
I don't know how to create a dual installation. The CD won't give me the option to install because it sees that its already installed.

I don't understand. Can you elaborate on what I'm supposed to do? I would think version switching would be easier than re-installing.

Edit:
3. Rename the WorldEdit.exe file in the install directory and then move the 1.21 version WorldEdit.exe file that JNGP needs in its place (in the install directroy).

I don't understand. How do I get the "1.21 version Worldedit.exe that JNGP needs" without switching versions. Where do I get this file from?

I've tried taking the World Edit.exe that has the icon of the map out of the 1.21 version. Then, used version switcher to go to 1.26, and put the .exe back into the install directory. That didn't work. I got 100 errors trying to save with that setup.

I've also tried copying the Warcraft III folder from C:\ProgramFiles and pasting it in C:\ in version 1.21b. Then, I used version switcher to change the first install path to 1.26. I replaced the World Editor.exe with the map icon in that original directory with the one from C:\Warcraft III. That gave me 100 errors also. They were all still related to hashtables for the most part.
 
Last edited:
mr subs said:
I was thinking I needed to be in 1.21b to use NewGen

hashtables weren't there on patch 1.21, that's why ur having errors... just update to the latest patch 1.26blahblah using the patcher... I'm not sure if WVS works for this so better use the patcher of blizzard...

the 1.21 version of WE is already there if you update to the latest versions... (at least for me it does, I installed wc3 and TFT then updated directly to 1.26 and then there was 2 WE on my installation folder, one is the 1.21 version)
 
Level 6
Joined
Jun 18, 2011
Messages
147
I think there is one in the JNGP folder (an old 1.21).

So... any idea on what I'm doing wrong?

Battle.net works when I use version switcher, so I know it works. It shows the version I load in the bottom right corner of Warcraft III. I've tried saving my map with NewGen being in version 1.21b, 1.23, and 1.26. I get 71 errors in version 1.21b and 100 errors when I try to save in the other two versions.
 
Level 6
Joined
Jun 18, 2011
Messages
147
hmmm. Is this correct...

1. Re-install everything (Warcraft III installs in vers. 1.21b)
2. Copy the folder from C:\Program Files to C:\ to create a second installation
3. Patch the one in C:\Program Files to 1.26
4. Use regedit to change three keys

Fire up regedit and change the values of "HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III\InstallPath", "HKEY_CURRENT_USER\\Software\Blizzard Entertainment\Warcraft III\InstallPathX" and "Software\Grimoire\War3InstallPath" to the directory of the copy you made in step 4.

I don't see HKEY_CURRENT_USER\\Software\Blizzard Entertainment\Warcraft III\InstallPathX or HKEY_CURRENT_USER\\Software\Grimoire\War3InstallPath. Should I create those keys?

Disable vJass Syntax is turned off in Grimoire, is vJass Syntax supposed to be enabled, or should I disable it?

Edit: I just found this...

replace jasshelper.exe and clijasshelper.exe in the folder called "bin" inside jass newgen pack's folder

I had it in a text document called instructions for NewGen. I was always replacing those .exe files in the jasshelper folder. Was I doing that wrong? I'm just going to download the JNGP with the updated jasshelper this time.
 
Last edited:

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,178
Why are you doing something that complicated?!

What I did to get JNGP working.
1. Install WC3 RoC
2. Install WC3 TFT
3. Patch to version 1.26 (as they are orignal discs).
4. Download JNGP.
5. Extract JNGP into a folder (I use a Utilities folder in my WC3 install directory).
6. Rename my WorldEdit.exe to a different name (so I can restore it later to patch) and then place the 1.21 WorldEdit.exe file in my wc3 directroy (renaming it to just WorldEdit.exe).
7. Updated JassHelper native list and blizzard jass lists to reflect new patches.
8. Updated JassHelper executables to lattest release version (place the executables in the executable folder I thinik).

There was a minor problem with the "jasshelper.conf" file. The solution apparently was to duplicate it in all folders going to the JNGP root folder (so the executable folder, the jasshelper folder and the main folder).
 
Level 6
Joined
Jun 18, 2011
Messages
147
6. Rename my WorldEdit.exe to a different name (so I can restore it later to patch) and then place the 1.21 WorldEdit.exe file in my wc3 directroy (renaming it to just WorldEdit.exe).

My way, the way instructed here, seems a lot less complicated because I don't know where you are getting a second WorldEdit.exe from.

I downloaded the updated JNGP here. So, I believe my problem is only setting the files in the correct places. Or, perhaps more simply using regedit.
 
Last edited:
Level 6
Joined
Jun 18, 2011
Messages
147
I feel like I'm just getting more confused. I don't know what to do.

Adiktuz:
the 1.21 version of WE is already there if you update to the latest versions... (at least for me it does, I installed wc3 and TFT then updated directly to 1.26 and then there was 2 WE on my installation folder, one is the 1.21 version)

Well, there is a WE that does not have an icon of a map that is in lower case and all one word. Its an application. "worldedit"

And, there is also one called "worldedit121"

If that is what you meant please be more specific. Its not working though, so I.... I just don't know.

and then place the 1.21 WorldEdit.exe file in my wc3 directroy (renaming it to just WorldEdit.exe).

But, where does the 1.21 WorldEdit.exe file come from? That step is not detailed enough for me.

Edit:I created new string values in regedit. The two that weren't there. HKEY_CURRENT_USER\\Software\Blizzard Entertainment\Warcraft III\InstallPathX and HKEY_CURRENT_USER\\Software\Grimoire\War3InstallPath

I made the directory path C:\Warcraft III\ for all three of the string values.

I switched the Warcraft III in C:\Program Files to 1.26.

I tried saving with NewGen and got the same 71 errors that I got from running NewGen with 1.21b.

I'm going to re-install Warcraft III and make sure that it is patched from B.net. I thought I patched it from there before, but I do remember having problems patching it from B.net, so maybe I did use TFT version 1.26.zip file from the internet. Maybe Adiktuz is right, and that is why its not working.
 
Last edited:
Level 6
Joined
Jun 18, 2011
Messages
147
Just minutes ago I re-installed War III one last time. I copy and pasted it to C:\ from C:\ProgramFiles to have a backup in 1.21b for NewGen. Then, I patched the original install, and WarIII installed the patch succesfully, I believe for the first time.

Edit: I'm gonna try the regedit way, and I'll report back.

Edit 2:

:( Still get those 71 errors. QQ

Jazztastic:
why can't you use hashtable in JNGP?

@Jazztastic and everyone else

That's what I wanna know. Please read the thread to see everything I have tried. I've read over the whole thing several times, and I keep editing my posts to make the read as easy as possible. Maybe you'll have an answer for me after you read it all. There is a list of errors hidden in the first post.

P.S. I have tried only bits and pieces of what Dr Super Good has suggested to me because his instructions are not detailed enough for me to understand.
 
Last edited:
Level 6
Joined
Jun 18, 2011
Messages
147
I don't think I made any errors. I mean I followed the directions as best I could. They are not very detailed either. I'll explain what I did in the regedit again... That is what you mean by "it could be that you made some error on the edits" right?

HKEY_CURRENT_USER\\Software\Grimoire did not have the string value War3InstallPath, so I created it. I made its value data C:\Warcraft III\

HKEY_CURRENT_USER\\Software\Blizzard Entertainment\Warcraft III had the string InstallPath, but not InstallPathX, so I created the string value InstallPathX and made both of their value data C:\Warcraft III\

"About jasshelper" shows me that I'm in 0.A.2.B

I still don't know what native lists Dr Super Good was talking about, nor what could be causing these errors.
 
Seriously, I've been using JNGP for years, reinstalled it so many times before... and I have never needed to edit the registry... or any .j files (as on your earlier posts, you said that you edited the .j files to include the hashtables)

All I do is:

1)Install Wc3:RoC
2)Install Wc3:TFT
3)Update Wc3:TFT to the latest version
4)Unzip JNGP
5)Apply the updated jass helper

and boom! it works...
 
Level 6
Joined
Jun 18, 2011
Messages
147
I don't know why I didn't try this before...

I opened the map I got the Libraries from and saved it. It saved successfully. The problem must be my map. >.>

P.S. Do you get 71 errors or 100 errors?

Edit: took out my map attachment, its still in Alpha, its ugly, problem solved below
 
Last edited:

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,178
For some reason you had managed to import a Common.j file into your map. The result was JassHelper trying to compile it before loading the actual native list. Even if it did compile after the native list it would have still thrown a lot of already declared namespace errors.

Just delete the Common.j file from inside your map and it will save perfectly.
 
Level 6
Joined
Jun 18, 2011
Messages
147
Wow 29 posts later >.<

I'm sorry.

+rep for stickin it out Dr and Adik. Unfortunately, I was -rep for triple posting. Hahaha, I deserve it, o well.

Thanks for the help

Yea, how the %#^@ did that get in there. haha
 
Status
Not open for further replies.
Top