• 🏆 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!

How to fix your map for 1.24b(TUTORIAL)

Status
Not open for further replies.
Level 6
Joined
Jun 11, 2007
Messages
75
Hi. This is a little tutorial i made to show you guys how you can fix a map to work for patch 1.24b.

1) Open your wc3 editor(WEU, WE, UMSWE or whatever...)

2) open your trigger editor.

3) Now you'll see a list of all triggers on the map, click on the trigger with a wc3 map icon: (Look at picture 1)

4) Now on the lower right part of the trigger editor alot of text will come up. This is called root. (Look at picture 2)

5) Remove everything that is there, just click in that frame and click CTRL + A
(Now it will look like Picture 3)

6) Save your map

NOTE: If you're using WEU, make sure you removed all trigger that starts with: Advanced-(Triiger Function).

Second NOTE: I will not guarrante this will work for everyone, but for many.

Third NOTE: I don't know if this work on MAC or Linux, only windows.

Hope you liked this tutorial
/Pelsen :grin:
 

Attachments

  • 1.JPG
    1.JPG
    154.1 KB · Views: 212
  • 2.JPG
    2.JPG
    179.1 KB · Views: 277
  • 3.JPG
    3.JPG
    167.6 KB · Views: 201
Level 15
Joined
Aug 11, 2009
Messages
1,606
What can i say?Are you KIDDING?I'm 1000% sure this so useless...Probably you fixed your map cause you had imported things(like functions to use spells from wc3c) and most of them had the return bug withing them.Return bug might also be in the simple triggers and not in "root" as you called it...
I would like to remind you that WEU has problems with all the latest patches and not only 1.24,its an outdated world editor so it shouldn't be used at all.
HINDYhat said:
Tottaly agree...
 
Level 11
Joined
May 16, 2007
Messages
288
Ok, one problem: some maps (all of mine, for example), have abso-fucking-lutely NOTHING in that custom script section. How are you going to delete the empty space?

Please don't go around spreading false information... check your facts before posting something like this. Most of the maps that are bugged for 1.24 are bugged because of the return bug, removing that custom script part does nothing to fix it.


rofl indeed.

EDIT: Oh yeah, just remembered something, sometimes, that custom script section may contain functions that are needed for your triggers to work, removing it would only make the problem even worse.
 
Level 6
Joined
Jun 11, 2007
Messages
75
Why are you nagging about it? I'm trying to help, and btw:

1) I've written NOTES, read them!

2) I first removed the advanced triggers and the map still had errors

3) I did the things i did in my tutorial and then it worked

4) I never imported any kind of things to the map(Exept models)

5) WEU works fine for me now EVEN the advanced triggers and i'm on latest patch.

6) I was trying to help, this might for for some people, so don't nag about it.
 
Level 9
Joined
Nov 28, 2008
Messages
704
Somebody delete this thread. Someone is going to use his advice.

Trolling is bad. Kay.

Dude, you don't get it. The problem aren't so called "advanced" triggers. What the real problem is return bug... but you don't even know what that is, and don't try defending yourself that SOME people might need this because EVERY SANE PERSON IN THE WORLD has used return bug at this point or another, where you haven't.

I have not. I use structs for everything I would possibly need them for. Don't know why.
 
Level 9
Joined
Nov 28, 2008
Messages
704
Do explain what I would use it for that I could not use structs or alternative methods for?

Oh, and I hear that since the return bug isn't completely fixed, you can still inject viruses. Blizzard might do something about it. Was just a rumor.
 
Level 20
Joined
Apr 22, 2007
Messages
1,960
Mooglefrooglian said:
Do explain what I would use it for that I could not use structs or alternative methods for?
Um, how about the entire concept of pointers? I'm not saying it's absolutely necessary all the time. I'm saying that it's an important part of the language that should always be covered.

Mooglefrooglian said:
Oh, and I hear that since the return bug isn't completely fixed, you can still inject viruses. Blizzard might do something about it. Was just a rumor.
Not a rumor, there is a new return bug variant, and I think it still allows the bytecode exploit. PurplePoot talked to a Blizzard representative about it, so if they don't fix it it's because they're lazy.
 
Level 9
Joined
Nov 28, 2008
Messages
704
Ah, thanks.

And pointers I know from C++, very useful.. but I find few uses for them JASS wise because most variable types are already pseudopointer handles. >.>

I can, despite repeated attempts to think, find no specific use. :/
 
Level 8
Joined
Oct 3, 2008
Messages
367
I dunno 'bout you guys, but I've survived just fine without the return bug.

Oddly, I stopped using the return bug about two months before the patch.

Also, I hear that while bytecode execution is still possible, you can't execute outside certain bounds. No fun. :cry:
 
Level 20
Joined
Apr 22, 2007
Messages
1,960
Mooglefrooglian, and I purposely omitted mentioning unit attachment because I know that it's possible with UnitUserData.

What about timers though? Triggers? Any handle?

azlier, I'm considering H2I as the return bug here, even though it's been replaced with GetHandleId. The other return bugs were pretty much obsolete and useless. Also, :< @ bytecode execution.
 
Level 9
Joined
Nov 28, 2008
Messages
704
Timers? GetExpiredTimer() and search through an array?

But seriously, this thread is now derailed. My apologies, was just trying to say that I don't use H2I or any sort of gamecache at all due to my enjoyment of structs. And that if everyone followed my advice, laughs like this thread would not appear.

I did laugh when I saw the instructions.
 
Level 8
Joined
Oct 3, 2008
Messages
367
>azlier, I'm considering H2I as the return bug here, even though it's been replaced with GetHandleId.

I know. I stop using H2I.

>GetExpiredTimer() and search through an array?

I'll just use KT2. It's O(1) and it doesn't use H2I.

>Also, :< @ bytecode execution.

Indeed, indeed. So sad.
 
I had worked with WEU for the some time and the problem he encountered is because when you create a map with WEU it stores ALL the codes for the advanced triggers in the custom script section an it wont get deleted by just removing the advanced triggers you used... so basically your map still has the codes from WEU so thats why it did not work for patch 1.24.....
 
Level 9
Joined
Nov 28, 2008
Messages
704
Why make JASS something it isnt? Because of the improved syntax and time saving features it has. For exmaple, incremental operators, such as ++ or +=.

Say I want to increase my counter in a struct.

JASS:
local mystruct roar = mystruct.create()

Well, cJass allows you to turn that into:

JASS:
mystruct roar = mystruct.create()

A simple and quick improvement.

Now, say you have a struct within a struct counting something. In normal JASS,

JASS:
PlayerData[Index].Statistics.Wins = PlayerData[Index].Statistics.Wins + 1

cJass:

JASS:
PlayerData[Index].Statistics.Wins++

Frankly, the saving time is more than worth it, and C has a much more logical syntax than JASS.

JASS:
if (true)
{
    Roar()
}

JASS:
if (true) then
    call Roar()
endif

While I care very little about ifs, I do find { and } a little bit easier to work with. Just me though. And I don't even care THAT much.

And don't even get me started on how useful defines are. Instead of wasting memory space on a constant variable, you can just have th edefine auto searchnreplace. If you want to hook a function every time it's called, you can just define function = function_hook. Amazingly useful.

Poot, what do you mean by "ill effects" caused by cJass, and why do you say it isnt free? 30 seconds of your time to download and install something which automatically injects into NewGen AND auto updates itsekf is what I would consider free.

And the best part of cJass is that it is completely compatible with vJass, as well as NOT REQUIRING YOU TO USE THE SYNTAX. You don't have to use any of it if you don't want. If you just like incremenetal operators,, use them. If you just dislike set and call, you don't have to use them.

I personally love how I can have several syntaxes, any of which I can choose at any time that are compatible with each other. But whatever, if you don't no one is forcing you to use it :p. If you just want to use triggers coded in it, just install cJass. It doesn't change anything among your vJass.
 
Level 40
Joined
Dec 14, 2005
Messages
10,532
While I care very little about ifs, I do find { and } a little bit easier to work with. Just me though. And I don't even care THAT much.
And I find neither easier to work with. You should think about trying a language outside of C/++/Java some time.

And don't even get me started on how useful defines are.
Not very?

Instead of wasting memory space on a constant variable
4 bytes... the horror. To make a significant RAM dent (say, 1 MB, and even that is roughly 1/2000th of what most computers can handle), you would need 1,048,576 constants. Let me know when you do that.

you can just have th edefine auto searchnreplace. If you want to hook a function every time it's called, you can just define function = function_hook. Amazingly useful.
Well, I don't really want to hook a function every time it is called, but I do have hooks in vJASS should I ever have that odd desire.

Poot, what do you mean by "ill effects" caused by cJass, and why do you say it isnt free? 30 seconds of your time to download and install something which automatically injects into NewGen AND auto updates itsekf is what I would consider free.
Ill effects as in a poorly implemented syntax which doesn't really fit the game, and having your code look so out of place from everything you have already written, and cJASS not being a standard (yet, anyways), among other things.

And the best part of cJass is that it is completely compatible with vJass, as well as NOT REQUIRING YOU TO USE THE SYNTAX. You don't have to use any of it if you don't want. If you just like incremenetal operators,, use them. If you just dislike set and call, you don't have to use them.
I don't want any of it, so I'm perfectly happy where I am.

I personally love how I can have several syntaxes, any of which I can choose at any time that are compatible with each other. But whatever, if you don't no one is forcing you to use it :p. If you just want to use triggers coded in it, just install cJass. It doesn't change anything among your vJass.
I'd rather have my stuff be consistent. The beautiful thing about vJASS is that it (apart from textmacros, which I am wholly against for almost any use) blends seamlessly with normal JASS, and one trigger being full JASS and the next being vJASS does not look at all out of place. cJASS does, and besides, if they were going to implement a new syntax they may as well have done something interesting which added to the possibilities, not just replaced end with } and such.
 
Status
Not open for further replies.
Top