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

Zombie Defense Custom (Need a professional for Solving Leaks)

Status
Not open for further replies.
Level 4
Joined
May 22, 2015
Messages
60
Zombie Defense Custom

This Project is one of my great Life works...

Sadly, due to the lack of knowledge i have with triggering in GUI and JASS i have been unable to figure out what is causing people to get FATAL ERRORS if anyone out there wants to help me finish this artistic creation of mine once and for all, id be greatly appreciated. Heck if you solve it completely I'll even put you in the Loading screen and description.


Now down to business...
The sheer amount of leaking must be astronomical because every game approximately 60-80% of the people in the game will get this FATAL ERROR, myself included at times. So i know that it has to be something to do with the coding i did, but again I have no clue where to start when it comes to fixing the problem.

Those willing to help me get to the root problem in the map will also be able to make changes and give new ideas for things. I'm looking to finish this project within the next month or two once and for all.

Now that all being said, i want to again point out that this is me recruiting you to my little "team". I have never given this map out (Unprotected in full with permission) to anyone before so this is a big step for me to make and requires alot of trust. I will need the name of your steam/skype/discord/teamspeak account to contact you with so that we can talk about what is going on with the map etc. Now you can try the map out on ENT or MMH a recent version should be there to play for yourself, but to get an unprotected copy you will need to contact me below or directly.

One more thing i've been thinking of is that maybe vexorians map optimizer (The tool im using to protect the map) could be causing the fatals, I'm not sure but its just a hunch. If anyone knows if this is the case please let me know.

Anyone willing to assist, please post below, any and all help is deeply appreciated and will not go unnoticed.

Sincerely, Lions_Blood.



p.s. Look at the pictures if you are unsure of the map style. (It is modern survival and team based 8 players total.)
1.PNG
2.PNG
3.PNG
4.PNG
5.PNG
6.PNG
7.PNG
8.PNG
9.PNG
10.PNG
11.PNG
12.PNG
13.PNG
 

Attachments

  • Zombie Defense Custom v9.0 Final.w3x
    15.1 MB · Views: 96
Last edited:
Fixed it, if you would like a copy to look at, message me your email. Thanks

No need, you already uploaded the copy here. =)
Yeah there is quite a few leaks and kind of bad coding in your map. Can't pinpoint it yet however it is either in the triggers or object editors, most likely some kind of loop or calling destroyed data.

Since the maps code seems to be bad anyways, what is the point of limiting your potential attempts of aid? Oh also please put those pictures in hidden tags so we don't have to load them every time we view your thread.
 
Last edited:
Level 4
Joined
May 22, 2015
Messages
60
No need, you already uploaded the copy here. =)
Yeah there is quite a few leaks and kind of bad coding in your map. Can't pinpoint it yet however it is either in the triggers or object editors, most likely some kind of loop or calling destroyed data.
My triggers are sloppy and took place over the course of 9 years while being heavily intoxicated or exhausted at late hours for the most part. They will drive most people crazy, me included haha. If you figure it out, ill give you the copy completely unprotected that one above isn't, this way you can fix it and I'll give you credit or whatever. :)
 
GUI unit groups are extremely slow and can lead to lagging as well maybe crashing if spammed too much within a short time.
[jass=]
function Trig_Moon_Crystals_Actions takes nothing returns nothing
call DisplayTimedTextToForce(GetPlayersAll(),25.00,"|c0099ffccSomone has used a MoonStone, the Zombies will behave strangely.|r")
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(11)),function Trig_Moon_Crystals_Func002002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(9)),function Trig_Moon_Crystals_Func003002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(8)),function Trig_Moon_Crystals_Func004002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(10)),function Trig_Moon_Crystals_Func005002)
call TriggerSleepAction(20.00)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(11)),function Trig_Moon_Crystals_Func007002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(9)),function Trig_Moon_Crystals_Func008002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(8)),function Trig_Moon_Crystals_Func009002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(10)),function Trig_Moon_Crystals_Func010002)
call TriggerSleepAction(20.00)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(11)),function Trig_Moon_Crystals_Func012002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(9)),function Trig_Moon_Crystals_Func013002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(8)),function Trig_Moon_Crystals_Func014002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(10)),function Trig_Moon_Crystals_Func015002)
call TriggerSleepAction(20.00)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(11)),function Trig_Moon_Crystals_Func017002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(9)),function Trig_Moon_Crystals_Func018002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(8)),function Trig_Moon_Crystals_Func019002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(10)),function Trig_Moon_Crystals_Func020002)
call TriggerSleepAction(20.00)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(11)),function Trig_Moon_Crystals_Func022002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(9)),function Trig_Moon_Crystals_Func023002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(8)),function Trig_Moon_Crystals_Func024002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(10)),function Trig_Moon_Crystals_Func025002)
call TriggerSleepAction(20.00)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(11)),function Trig_Moon_Crystals_Func027002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(10)),function Trig_Moon_Crystals_Func028002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(9)),function Trig_Moon_Crystals_Func029002)
call ForGroupBJ(GetUnitsInRectOfPlayer(GetPlayableMapRect(),Player(8)),function Trig_Moon_Crystals_Func030002)
endfunction
[/code]
A blank is way better so instead of "call DoNothing()" you should just leave the else or then blank instead of filling it with extra code that actually does something instead of nothing.
Terrain deformations can be really bad as they can crash or desync/disconnect your game if you use GetLocationZ or/and walkable destructables as well lags the game too.
[jass=]
function Trig_SLAM_GROUND_Actions takes nothing returns nothing
call TerrainDeformationRippleBJ(3.00,false,GetUnitLoc(GetSpellAbilityUnit()),512.00,512.00,96.00,1.50,128.00)
call TriggerSleepAction(3.00)
call TerrainDeformationStopBJ(GetLastCreatedTerrainDeformation(),0)
endfunction
[/code]
This can cause a lot of lag if used really often on a high-speed timer.
[jass=]
function Trig_call_back_command_Copy_Copy_Copy_Func008002 takes nothing returns nothing
call IssuePointOrderLocBJ(GetEnumUnit(),"attack",GetUnitLoc(GroupPickRandomUnit(GetUnitsOfPlayerAll(ForcePickRandomPlayer(GetPlayersEnemies(Player(11)))))))
endfunction
[/code]

So it looks like that the crash could be either leaks caused by badly handled loops or triggers with timer events or I missed something which is quite possible since there is a lot of code-bloat though it could also be some kind of problem in the object editor however that looks very doubtful.

Good luck, if I have some free time later I might be able to offer some help.
 
Level 4
Joined
May 22, 2015
Messages
60
Thanks man! yeah the moon crystals is a problem that is easily solved, for i can just remove them same with the terrain deformation. Ill try disabling them both and see if that makes a difference when played online. If that doesn't fix it, I'll def need some help because the last code where they are meant to attack is absolutely needed and would be game breaking to say the least.

If anyone else has any ideas as to what's going on, that would be great. I'll keep you guys updated within the next few days as i test the map repeatedly with disabling different things.
 
Thanks man! yeah the moon crystals is a problem that is easily solved, for i can just remove them same with the terrain deformation. Ill try disabling them both and see if that makes a difference when played online. If that doesn't fix it, I'll def need some help because the last code where they are meant to attack is absolutely needed and would be game breaking to say the least.

If anyone else has any ideas as to what's going on, that would be great. I'll keep you guys updated within the next few days as i test the map repeatedly with disabling different things.
Wasn't saying to get rid of them besides terrain deformation because that should be removed or at least disabled for now, they need to be recoded better. It should take a lot more then that unless your ForGroups are calling 700+ units really often however even then it should only be game freezing so I am unsure. Just pointing out what's adding to the problem, sadly have no idea with proof of what is actually causing the crashes.

Do you use GetLocationZ and/or walkable destructibles?
 
Level 4
Joined
May 22, 2015
Messages
60
Event
Unit - A unit enters (Playable map area)
Condition
(Owner of (Entering unit)) Not equal to Player 1 (Red)
same with blue, teal, purple, yellow, orange, green, pink, passive, hostile.
Action
Unit - Order (Entering unit) to Attack-Move To (Position of (Random unit from (Units owned by (Random player from (All enemies of Player 11 (Dark Green))))))

And

Event
Time - Every 35.00 seconds of game time
Action
Unit Group - Pick every unit in (Units owned by Player 11 (Dark Green)) and do (Unit - Order (Picked unit) to Attack-Move To (Position of (Random unit from (Units owned by (Random player from (All enemies of Player 11 (Dark Green)))))))
Wait 0.50 seconds and again for Light Blue/Brown/Gray.

Those are the actions for movement. There is no variables really and most is GUI coded for attack.

I'd say that there is upwards of 400+ Units moving at one time for most of the game. 100 per player and from every time they enter the map to every 35 seconds on a timer.


Or perhaps this could be the issue?
Capture.PNG
 
Last edited:
Event
Unit - A unit enters (Playable map area)
Condition
(Owner of (Entering unit)) Not equal to Player 1 (Red)
same with blue, teal, purple, yellow, orange, green, pink, passive, hostile.
Action
Unit - Order (Entering unit) to Attack-Move To (Position of (Random unit from (Units owned by (Random player from (All enemies of Player 11 (Dark Green))))))

And

Event
Time - Every 35.00 seconds of game time
Action
Unit Group - Pick every unit in (Units owned by Player 11 (Dark Green)) and do (Unit - Order (Picked unit) to Attack-Move To (Position of (Random unit from (Units owned by (Random player from (All enemies of Player 11 (Dark Green)))))))
Wait 0.50 seconds and again for Light Blue/Brown/Gray.

Those are the actions for movement. There is no variables really and most is GUI coded for attack.

I'd say that there is upwards of 400+ Units moving at one time for most of the game. 100 per player and from every time they enter the map to every 35 seconds on a timer.


Or perhaps this could be the issue?
View attachment 271492
Should be cleaned however that doesn't look like the problem.
 
Status
Not open for further replies.
Top