PJASS - "Unrecognized PJASS (syntax) error"

Triax

New Member
Reaction score
1
Hey there! =)

I'm afraid I'll need some serious help (with my map). I'm getting that "Unrecognized PJASS (syntax) error" since yesterday and can not test the map because the editor crashes with this error:
This application has encountered a critical error:

FATAL ERROR

Program: D:\Spiele\Warcraft 3 (v1.22)\War3.exe
Exception 0xC0000005 (ACCESS_VIOLATION) at 001B:00000000

The instruction at '0x00000000' referenced memory at '0x00000000'
The memory could not be 'read'.

Press OK to terminate the application.

All I did (at least that I remember what I did) was changing nearly every variable name (for some certain standard). I thought the error could occur because of the variables' names length (some are really long, up to 29 chars), but I deleted some triggers until I could run the map (still getting the PJASS error) and there were still some of the variables with long names used by triggers. If I delete every trigger, it works properly. Deleting all variables (instead of all triggers) does not make the error go away, so it's obviously really because of the syntax.

The thing is that I usually use GUI, so why should there be any syntax errors? (Also tried deleting all JASS triggers or those containing custom script.)

The error does not come up with new maps.

I'd be really glad if somebody knew how to solve this because the map is quite near to a beta version.
I uploaded the map as it is just right now, without any changes. It might seem to a bit chaotic and some ability/variable names are in German, but I hope that won't hinder from finding the solution. Download the map here.


Thx in advance =)
Triax
 

Viikuna

No Marlo no game.
Reaction score
265
I´ve seen kinda many of these threads, and if my memory serves me right, someone said that moving NewGen folder outside of Warcraft III folder fixxed this.

You can allways try to reinstall NewGen and maybe Warcraft too.
 

Romek

Super Moderator
Reaction score
963
I got this.
Fixed it by extracting newgen to another partition, and using the one there instead.
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
And I cannot even open the map... Get error "Trigger function does not exist in database: ity" and "Trigger function does not exist in database: riggerUnit"
Then fatal error. Search after one of those in your triggers? A typo somewhere in your code?
 

Triax

New Member
Reaction score
1
I've been using JNGP for a long time, and it worked fine.
It's on C:\, and Warcraft is installed on D:\. So this should not cause any error.

I just cut the UI folder and now when loading the map I get this errors when the editor tries to load the triggers (I got to translate, it might not be exact):
Trigger function does not exist in the data base: IssueImmediateOrderBJ
Trigger function does not exist in the data base: ity
Trigger function does not exist in the data base: riggerUnit
I expected several errors, but I thought WE would miss functions. The second and the third error are weird. The third one seems like a TriggerUnit which lost its "T", but what about the other one?


[edit]
As I said in my first post, I already tried deleting all custom scripts and JASS triggers. Don't know where there could be any type.
I get the same error if I delete the "UI" folder.

[edit]
I extracted the UI-Files (out of War3.mpq, War3x.mpq, War3xLocal.mpq and War3Patch.mpq, in that order) again. Same error. I'm wondering what I did with my old UI files. oO Somebody wants to see them? x)
I got a working version from yesterday, wouldn't be such a big rollback. (This does not work without my old UI files either.) But I'm feared of having such troubles again.
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
Able to open the map?

I do believe it is one of your GUI variables, since I could not find that typo, among those billion lines of code, searched for it in an texteditor :)... You've prolly changed the name on one of the variables, GUI ones, then when you did, the editor did not manage to change the name on the variables "out there", in the triggers the variable were used... Seen that before, worth a try? Delete them, see if the triggers containing it gets "disabled", if so, ctrl+z move to the next.
Upload UI files then...

But I opened the map now... rebuilt it.
 

Triax

New Member
Reaction score
1
Just what I did right now, I would have searched for "ity" now if I had not read this, phew. ;)

Step by step, for each trigger and variable? I guess this will take a few minutes, but it's worth it.

How did you "rebuild" it? I mean, what have you done?

Attached the files.


[edit]
Sorry, attached the wrong files. Fixed that.
 

Attachments

  • UI.zip
    303.8 KB · Views: 295

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
Got your map now, working.

Your GUI triggers, every trigger with GUI variables are "fucked".

They are now in JASS, disabled, maybe they always were in GUI, no idea.

Anywhere I can upload the map? Hmm...
Edit: uploading now, link arrives in... oh, got only 0.8 mb connection, might take a year! :p

PS: I see that in this version, I miss 89 kb, no idea what is missing or maybe it got fixed, oh see now map contains now 108 units, your version 112, do not know which 4 who are missing! :)
http://uploaded.to/?id=bk2t2j
 

Triax

New Member
Reaction score
1
Yiha, I'm downloading it. I guess I know 2 units which could mess it up, hope they actually do. Download is finished, let's see ...

And thank you very much so far. =)

[edit]
Players 1, 2, 3 and 4 each have 1 unit less than before, editing again soon.

[edit]
They have 2 starting points. Where do they come from? oO
I deleted all of them and created 8 new ones, but somehow I still got 107 units. Searching ...
Really weird, I got 103 units in the map you sent me. I'm using WE v1.21 due to JNGP, might that screw it up?
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
Anyday... But there should be something else missing too, 4 units is not 89 kb...
Of course I could compare lists of units from yours and mine, imported list files... But... screw it! :D

You have opened it? You just didnt say... You said thanks, not what i wanted to hear :p, opened it? Cool?
Edit: Oh, which is in the object editor? Or totally gone?

That shouldn't screw it up, but that might be where the few extra kb comes from... When you saved it, compared to when I saved it... If you activate some modes that I havent activated perhaps... Like unlimited of some sort... hm.

112 units here now, lol, start locations solved... :p
 

Triax

New Member
Reaction score
1
Everything seems to be ok with the object editor.

I had 103 in your map, 107 in mine. I deleted the doubled starting points and added 8. After that, I got 4 units more than in your map, because in yours player 5-8 have no starting location, sry, my fault.

I can run that map that you sent me, but I won't be able to do everything in JASS.

Items are separately listed in object manager (I don't mean object editor).

[edit]
Oh, and I tried what you said about deleting variables and checking whether triggers get disabled, but I just checked about half of the triggers because then you said that all of 'em are "fucked" (w00t), but I could not find anything wrong in this half.

[edit]
How couldn't I disable certain limits? ;D
I'm gettin' tired, I got school tomorrow and it's already 22:22h here. <.<

[edit]
I saved your version with my settings. Just a little change in file size:
4.001.251 Bytes (yours)
4.005.239 Bytes (mine)
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
Well..."got fucked" as in, those triggers containing a GUI variable. Something got messed up when you changed variable names, seen it before years ago, in another era? :p. Then wc3 does not change the names properly in the triggers the variable were used, hence a variable is being used in a trigger, which does not exist in the variable editor. Cannot explain it, whatsoever! Pardon me.

ehm... In short, take this little snippet:

JASS:
function Trig_CameraLock_Actions takes nothing returns nothing
set udg_Unit=GroupPickRandomUnit(GetUnitsSelectedAll(GetTriggerPlayer()))
set udg_Point=GetUnitLoc(udg_Unit)
call PanCameraToTimedLocForPlayer(GetTriggerPlayer(),udg_Point,1.00)
call RemoveLocation(udg_Point)
call SetCameraTargetControllerNoZForPlayer(GetTriggerPlayer(),udg_Unit,0,0,true)
endfunction

the variable "udg_Unit" is a "unit type" type in the variable editor...

Do not be confused, easy/simply errors only I suppose... Just create those few disabled triggers again (go over them checking that the variables used are the correct type), plenty of ways to fix it... I did say "Every trigger containing a gui variable"... which is a lie, just, words, figure of speech. :S
 

Triax

New Member
Reaction score
1
Hey man, I'm not completely "fucked" as well, I know how globals look like in JASS. ;)

I don't get how WE is able to not handle that. And even if it is, GUI triggers are converted into JASS every time, aren't they? Everything looks fine in GUI, so JASS should do, too. Wicked. oO
What's about making an empty trigger for each one and copying events, conditions and actions? Would that work? I really want to keep triggers in GUI.
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
>>>What's about making an empty trigger for each one and copying events, conditions and actions? Would that work? I really want to keep triggers in GUI.

You want me to test this for you, instead of just testing it yourself? ;)

>>I know how globals look like in JASS
I know you do, but I just pointed out the error, tried to explain it with words, waste of time by me... so I gave this snippet, explained. :)

>>GUI triggers are converted into JASS every time, aren't they?
Yes, "converted"... It is jass' graphical user interface... :)
 

Triax

New Member
Reaction score
1
I still don't get it. What you want to tell me with that snippet, I mean. There is nothing wrong with that function, so what do you want to show? Just that it's saved as text in JASS and that's why it didn't get the right variable names though it looks good in GUI? Have patience, please. ;)

So I think what makes sense is converting each trigger into JASS, checking whether each variable exists, "unconverting" it, probably remake the trigger if some variable's been wrong, and going on with the next one. Right?


[edit]
Oh, sry about those disabled/not active triggers. These are right, they are not deactivated due to any error.
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
Have you gotten my point now?!
The snippet, the udg_unit is NOT a unit variable, but is used like a unit variable.
It is actually a GUI variable of type UNIT-TYPE, not UNIT!
That's what happened... Mostly...

And checking if they are the correct type, in such a small function, much easier to just remove "udg" and put in a local...

You get me now? :)

If you do not get me now, I give up! :)
 

Attachments

  • arg.jpg
    arg.jpg
    34.2 KB · Views: 395

Triax

New Member
Reaction score
1
Somehow I did not read that sentence before. :D

I guess it will take years until I finished checking each trigger in JASS (or can I do that in GUI, too?). I'll begin with that tomorrow, otherwise I don't think I'll reach my bed. ;)

Thank you very, very, very, very, and ... very (!) much! =)
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
:shades:

>>I guess it will take years until I finished checking each trigger in JASS (or can I do that in GUI, too?)

Why? It is only those 8 disabled triggers. 8 Triggers takes years? Well, either way, "happy mapping".
 

Triax

New Member
Reaction score
1
Well, have a look at this. (Screenshot of the map I uploaded, "Einheit" means "Unit".)

Hm, so if I got you right, I will recreate those triggers now. That's it! =D
 

Attachments

  • Clipboard01.jpg
    Clipboard01.jpg
    14.8 KB · Views: 365

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
Edit: Why would you recreate those triggers, you do not even use the version I gave you? Or? You do? Why do you then have a screenshot of the version you uploaded, if you were able to open it... Above and beyond me.

Now I am confused, good job Triax!

Ok, good... I do not even know if I helped... I do not even care right now either, just want this thread to go away. :D

Good night

Edit: 1 Question. Do you use my version or your own? So you use your own old version...
Why in the blue hell can you open it? I can't. Above and beyond me, again! Twice in a day, record, must be.

So, from start, my first post, I should just have mentioned "recreate those triggers containing GUI variables"... Jesus, I actually did that, but... I scratched it out, thought it could not be that... Brilliant move by a brilliant guy.

I did not even have to rebuild it (even though I had to, to open it...), ehm...

Edit: 2 Question:
Trigger function does not exist in the data base: IssueImmediateOrderBJ
Trigger function does not exist in the data base: ity
Trigger function does not exist in the data base: riggerUnit

When you got those, the editor did not give you fatal error? Ahhh... Now I am back on track! Nothing is beyond and above me! Not anymore, if this did NOT give you fatal error. Because it did at my computer!


>>>I'm trying to fix with the errors that turned out in yours, because mine has to lead to them somehow, doesn't it?

Yes, they lead to it, 100%. But I thought you got fatal error too, like me, which is why I rebuilt it (new empty file, third party program to drag all important data out from the file of yours, into my new empty file, done).

Oh, I missed reading that you did fix it with the UI-files, my bad... Now it all makes sense!

Yes you did attach em, but I thought I did not need them, which I did not. :)

Last question!
Last question? Yeah, right... How many GUI triggers did you have? Only those 8? Oh, see now, only GUI? At least, I hope, else you are one hell of a jasser (negative way:p)...

Ed
Haha... Yes, I did not take a closer look at the code... Just noticed those 8, when I saved the map. Good thing I am not confused anymore! Great! Although, I did not do anything... Sad!

Yes, chatting through editing a post, never done it before, first time for me!

Good night!!!

I'll answer now?

Ehm, if you are into programming, you should learn, or at least be able to read/understand JASS... If you do not want to be into programming later in your life, do not bother with it, GUI do you justice. Or even if you want to be a programmer, GUI is a nice start... Arg, I do not care whether or not you "GUIing" or "JASSing" :)

Killing yourself? How come? Were you really that stuck? Sweet, as pie! :)

Credits in your rubbish map, oh, I feel... nothing actually! :)

That text can be changed when you reach 100 points, the green little thing below your post count. Reputation points.

And about having everything in one post each (Sry to kill the joy, but...), not possible, there is a word (letter) limit in each post... Sadly! ;)
 
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