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

[General] Newbies Problem

Status
Not open for further replies.
Level 3
Joined
Oct 9, 2016
Messages
42
Hello Guys,Im new to the world editor,i got hooked in after i tried to add some cheat trigger in wc3 meele map,so i decide to pick up a map and start my learning,altho i duno isit legal to do so,the map is old and unprotected,and i did try them on garena on with some friends and also the player on the server,maybe i have done something that is not allowed to without asking the permission from the author,but i have put alot of work into the map and im not sure i should continue or not.I wished to end them map development but i hope to end it with least flaws,so i hope i can get some help here to complete it. Im not very good in english so anything messy or cannot be understand pls let me know.


Problem 1:Zombie pathing
this is a game that has three team at each side,each team has 3 player,they share a base with 3 entrance.They had to build a wall to block the zombies.For each entrance i have set a spawn region with attack move command so the zombie will come equally to each player,since the income is bounty based.The problem is when one of the wall broke,the zombies will swarm thru the hole,causing other players cannot get any income,and this is the issue caused by Attack move into region command,but with the little knowledge i have,I couldn't find a better way to fix this, anyone could suggestion a better solid pathing?

Problem 2:Attack animation causing lag
Im using Pheonix fire as my tower attack projectiles,and i mention they causing Graphics lag,as well as Tank unit that using Mortar team Attack projectiles.Is There anyway to fix it or i have to change their projectile art?
Will custom imported model or Large Art Scale value unit cause lag as well?

Problem 3:Camera Shaking
I've set a trigger that shake the camera,and set a trigger to stop it but it wont work
  • Infernal Strike LB
    • Events
      • Time - Elapsed game time is 1000.00 seconds
    • Conditions
    • Actions
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Camera - Shake the camera for (Picked player) with magnitude 3.00
          • Wait 5.00 seconds
          • Camera - Stop swaying/shaking the camera for (Picked player)
      • Unit - Create 1 Infernal for Player 10 (Light Blue) at (Random point in LB1 <gen>) facing (Position of Soldier 0004 <gen>)
      • Unit - Order (Last created unit) to Attack-Move To (Center of LB1A <gen>)
      • Unit - Create 1 Infernal for Player 10 (Light Blue) at (Random point in LB2 <gen>) facing (Position of Soldier 0004 <gen>)
      • Unit - Order (Last created unit) to Attack-Move To (Center of LB2A <gen>)
      • Unit - Create 1 Infernal for Player 10 (Light Blue) at (Random point in LB3 <gen>) facing (Position of Soldier 0004 <gen>)
      • Unit - Order (Last created unit) to Attack-Move To (Center of LB3A <gen>)
Problem 4:Targeting
Sometimes when the zombies approach,they just stuck under the cliff while ignoring the walls because they trying to reach the unit behind the cliff,is there anyway to set the AI prioritize the structure instead of unit?
 

Attachments

  • Zombie War Alpha0.45 test.w3x
    3.6 MB · Views: 47
Last edited:
About 3. - you should use timer instead of wait. Everybody on the site will tell you taht.

Now I wil look at the map.

Edit:

4. Yes, there is. In object editor in the unit's properties find "stats - priority"the smaller the number is the bigger priority it has.

2. See if any other projectile removes the lag. It;s nto a big deal to be with phoenix fire.

1. is pretty much the same issue with priority
 
Last edited:
Level 39
Joined
Feb 27, 2007
Messages
5,011
About 3. - you should use timer instead of wait. Everybody on the site will tell you taht.
This is actually an instance where Wait is an acceptable action. In side of ForForce() and ForGroup() calls iirc you can wait and not mess anything up because the callback executes simultaneously for all players/units (rather than sequentially) and the Picked Player/Unit event responses don't get overwritten. I'm wrong, waits will kill the thread in a ForForce() or ForGroup().

Adding a timer IS relatively easy in this instance but would be far more effort/trouble than leaving the wait in causes. It's unnecessarily complex in this instance IMO, though in general Waits are the devil.[/I]
 
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
Im using Pheonix fire as my tower attack projectiles,and i mention they causing Graphics lag,as well as Tank unit that using Mortar team Attack projectiles.Is There anyway to fix it or i have to change their projectile art?
If frames are being dropped it can also be CPU caused and not graphics. In any case try a simpler model without ribbon or particle emitters.

Will custom imported model or Large Art Scale value unit cause lag as well?
Imported models will render as efficiently as standard models as they are rendered in exactly the same way.

Large model scale will make a model more resource intensive to render. The reason why is simply that the bigger something is on screen, the more pixels it takes up and as such as the more pixels that need to be computed and filled to render it. Best seen with model billboard components where for some strange reason a single full screen billboard can cause frames to be dropped on some systems.

Phoenix Fire probably uses at least some billboard textures so I would not be surprised if making a single instance fill the screen can cause performance difficulties.

I've set a trigger that shake the camera,and set a trigger to stop it but it wont work
TriggerSleepAction (GUI Wait) cannot be called inside pseudo threads (For Player/For Group/Trigger Condition). As such it only starts shaking the camera, probably only for Player(0) (Player 1 Red in GUI).

Solution is to put the wait outside the loop.

  • Infernal Strike LB
    • Events
      • Time - Elapsed game time is 1000.00 seconds
    • Conditions
    • Actions
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Camera - Shake the camera for (Picked player) with magnitude 3.00
      • Unit - Create 1 Infernal for Player 10 (Light Blue) at (Random point in LB1 <gen>) facing (Position of Soldier 0004 <gen>)
      • Unit - Order (Last created unit) to Attack-Move To (Center of LB1A <gen>)
      • Unit - Create 1 Infernal for Player 10 (Light Blue) at (Random point in LB2 <gen>) facing (Position of Soldier 0004 <gen>)
      • Unit - Order (Last created unit) to Attack-Move To (Center of LB2A <gen>)
      • Unit - Create 1 Infernal for Player 10 (Light Blue) at (Random point in LB3 <gen>) facing (Position of Soldier 0004 <gen>)
      • Unit - Order (Last created unit) to Attack-Move To (Center of LB3A <gen>)
      • Wait 5.00 seconds
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Camera - Stop swaying/shaking the camera for (Picked player)
Sometimes when the zombies approach,they just stuck under the cliff while ignoring the walls because they trying to reach the unit behind the cliff,is there anyway to set the AI prioritize the structure instead of unit?
Make the zombies owned by an actual Computer player, possibly with running AI. Not Neutral Hostile and not an empty slot. Computer owned units will act far more intelligently such as attacking walls and barriers. Neutral Hostile purposely acts stupid to avoid abuse in Melee involving taunting creeps into player bases. No controller units just act stupid, probably due to only using reflexive tactical AI.
 
Level 3
Joined
Oct 9, 2016
Messages
42
Yes, there is. In object editor in the unit's properties find "stats - priority"the smaller the number is the bigger priority it has.
I tried set the wall priority to 1,other are higher,still not working
Make the zombies owned by an actual Computer player, possibly with running AI. Not Neutral Hostile and not an empty slot. Computer owned units will act far more intelligently such as attacking walls and barriers. Neutral Hostile purposely acts stupid to avoid abuse in Melee involving taunting creeps into player bases. No controller units just act stupid, probably due to only using reflexive tactical AI.
Yes they are computer player,but still problem occur.Running AI means the AI Editor?I have no idea how to use that
 
Level 3
Joined
Oct 9, 2016
Messages
42
TriggerSleepAction (GUI Wait) cannot be called inside pseudo threads (For Player/For Group/Trigger Condition). As such it only starts shaking the camera, probably only for Player(0) (Player 1 Red in GUI).

Solution is to put the wait outside the loop.
thank you it works perfect.
 
Level 3
Joined
Oct 9, 2016
Messages
42
About problem 1, how about making gold share evenly among all players? I think it's friendlier and avoid any "you steal my kills" problem.
the gold is shared equaly aslong no one leak,and i have enable gold trading in game so i think its ok,the thing i wana do now is how can i make the zombies attack correctly,not just folow the attack move command cause them swarm the hole instead of attacking what is infront of their eye
 
Level 20
Joined
Aug 29, 2012
Messages
826
Instead of using attack-move orders, alternatively you can give them a 99999 acquisition range and reveal the entire map for them, so that they'll start moving toward players as soon as they enter the map. I'm not sure whether they would attack walls or not though. I guess they attack whatever is the closest to their spawn point.
 
Level 39
Joined
Feb 27, 2007
Messages
5,011
the thing i wana do now is how can i make the zombies attack correctly,not just folow the attack move command cause them swarm the hole instead of attacking what is infront of their eye
Try starting melee AI for them. Anything to enable strategic thinking.
They need to be owned by a real player (#1-12) not neutral passive/hostile. Neutrals don't respond to AI scripts. Other than that as long as they have a computer controller in the slot of the player that owns them, any melee AI script (check out the default Melee Init trigger in every map) should give them much smarter behavior.
 
Level 3
Joined
Oct 9, 2016
Messages
42
Other than that as long as they have a computer controller in the slot of the player that owns them, any melee AI script (check out the default Melee Init trigger in every map) should give them much smarter behavior.
Yes they are owned by computer player,but still that happens tho,i really hope that my zombies could work like other zombies game,they focus on the walls even there is tower attacking them.
 
Level 39
Joined
Feb 27, 2007
Messages
5,011
READ what I wrote. Unless I am mistaken just having it computer owned isn't enough. You also need to run an AI script for them. If they still aren't doing what you want, you may have to write your own simple AI script in the AI editor and then run that.
 
Status
Not open for further replies.
Top