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

New to world editor

Status
Not open for further replies.
Level 1
Joined
May 17, 2011
Messages
1
I posted this in another forum, but no one replied so I figured they were not really active there. I hope this forum is better.


This is my first post here so I might as well make my introduction. I started using World Editor two days ago and at that time it was like a foreign language. I didn't even know how to properly terrain. So far, I can do fairly basic things like terrain a map, do a few triggers involving really few variables. I can trigger creep spawns and creep movement. I can create really few skills such as blink strike (self-explanatory).

I never tried making arrays. I understand the concept but I don't know how to apply it. I can't use JASS at all. Been using GUI since the start and learned a bit from a friend of mine who knows quite a lot in world editor.

tl;dr

Basically, my main problem now are triggers and coding. Especially make my own spells. I can't imagine how people can code skills like hook in a few minutes using GUI. Crazy.

I have a few questions for my AoS map. Yup, just making AoS to get a hang of World Editor.

Oh and I tried searching but couldn't find good enough answers or an answer at all. I know some of you will come and say "Try searching next time". Save it.

Question 1 : Visibility Problem
So basically, my initialization pans the camera to the tavern of heroes. I create a visibility region around that area so players can click on the tavern. Problem is, the visibility never goes away. I tried using Disable Last Used Visibility.
My Current Code [Two Triggers]

The Visibility region doesn't disappear.

Question 2 : Starting Gold Division
So I want to make it, like in DotA, where the amount of Gold each player receives depends on the number of actual players on his team. I never actually attempted to code this but based on thought, it seems hard since I assume I'd have to detect how many players are actually in the game.

Ex : 5 players in team - 5000/5 gold, 4 players = 5000/4 gold each and so on.

Question 3 : Hero Revival System
Yeah, I think this is pretty straightforward. I'm sure I read this somewhere but everything was taught in JASS so I couldn't understand anything. There was one that talked about arrays though which I don't really get.

What I want to do is make a countdown timer that when zero, respawns the dead hero. The time also depends on the hero's level. Is it simple with GUI? Can someone explain how I can do this. Don't just give me the code. Because currently, all I have is (Instantly) Revive Hero which sucks.

Question 4 : Score Chart
Yup, you guessed it. If you've played DotA, you know what I'm talking about. The thing in the top right where it shows current hero kills and deaths. I have a test map with that but I don't understand the script. I think he used three triggers? And one of them had a huge wall of Multiboard crap. :nuts:

Is it really that hard to make one? Can someone help.

Question 5 : Hero just got killed
Another DotA based question. Currently, when a hero kills another hero, nothing happens. I want it to say that the player killed that player. I think it's pretty simple so you don't need to answer this. I'd appreciate explanations on the coding of it though.

Question 6 : Neutral Creeps
If I put neutral creeps in an area, when they die, they don't respawn. I can make a trigger that lets a creep revive after a certain time it dies. That's not what I want though. How do I code it that there have to be no living units in the area of the camp so as for creeps to spawn.

Like, every minute "Creep Group A" spawns in Region A if and only if there are no living units in the area. Yeah, that's pretty much how it will probably go in the GUI. I need help though. I'm pretty sure it needs regions.

Question 7 : Spells
Probably the hardest question to answer but also probably the one I really want answered. I can only make a handful of custom spells that aren't already built-in. Blink Strike is one of 'em based of Chain Lightning. But that's really simple. I can't make anything cooler. I know it's possible with GUI because my friend can do it easily. Also, JASS looks like it's more trouble than GUI since you need a really long script just to make a spell.

So my last question is this. How do I start learning how to make spells? I know most of you will say just fool around and experiment. But aren't there any good tutorials out there that focus on this matter? Or are any of you willing to help?

If you read all of those, you sir, are epic. If you answer all of those, you are mowr epic. I doubt you would though. :D

Also, it may seem as if I'm just trying to make another DotA clone that is exactly the same. No. I'm not. I'm merely using DotA as my reference point just for learning World Editor.

It may also seem as if I'm just a lazy bum who wants codes to make a map. Not wanting to learn or anything. Again, no. I'd even prefer if you explain rather than just give the coding. I want to understand why this goes like this or that goes like that so I could script on my own.
 
1) Set it in a variable:
  • Actions
  • For each (Integer A) from 1 to 12, do (Actions)
    • Loop - Actions
      • Visibility - Create an initially Enabled visibility modifier for (Player(IntegerA)), emitting visibility across Camera Tavern <gen>
      • Set VisibilityModifiers[(IntegerA)] = (Last created visibility modifier)
  • For each (Integer B) from 1 to 12, do (Actions)
    • Loop - Actions
      • Visibility - Disable VisibilityModifiers[(IntegerA)]
      • Visibility - Destroy VisibilityModifiers[(IntegerA)]
VisibilityModifiers[] is a Visibility Modifier variable.

2)
  • Melee Initialization
    • Events
      • Map initialization
    • Conditions
    • Actions
      • For each (Integer A) from 2 to 6, do (Actions)
        • Loop - Actions
          • Player Group - Add (Player((Integer A))) to Force1
      • For each (Integer B) from 8 to 12, do (Actions)
        • Loop - Actions
          • Player Group - Add (Player((Integer A))) to Force2
      • For each (Integer C) from 1 to 12, do (Actions)
        • Loop - Actions
          • If (All conditions are true) then do (Actions) else do (Actions)
            • If - Conditions
              • Or - Any conditions
                • C Not Equal to 1
                • C Not Equal to 7
            • Then - Actions
              • Trigger - Add to LeaveGameInit <gen> the event (Player - Player(C) leaves the game)
  • Share Gold
  • Events
    • Time - Every 1.00 seconds of game-time
  • Conditions
  • Actions
    • Set Integer1 = (Number of players in Force1)
    • Set Integer2 = (Number of players in Force2)
    • Player Group - Pick every player in Force1 and do (Actions)
      • Loop - Actions
        • Player - Add ((Player 1 (Red) Current gold) / Integer1) to (Picked player) Current gold
    • Player Group - Pick every player in Force1 and do (Actions)
      • Loop - Actions
        • Player - Add ((Player 7 (Red) Current gold) / Integer2) to (Picked player) Current gold
  • LeaveGameInit
  • Events
  • Conditions
  • Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • ((Triggering player) is in Force1) Equal to True
      • Then - Actions
        • Player Group - Remove (Triggering player) from Force1
      • Else - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • ((Triggering player) is in Force2) Equal to True
          • Then - Actions
            • Player Group - Remove (Triggering player) from Force2
          • Else - Actions

For your next questions, there is a map, called DotA template, download it to view the systems: http://world-editor-tutorials.thehelper.net/maps.php?view=137

Tutorials on Spells creation:
http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/
 
Level 5
Joined
Sep 1, 2010
Messages
168
Before doing actual programming on a map project, I'd suggest reading a bit about coding in worldedit (means: tutorials).
I'd suggest starting here:
http://world-editor-tutorials.thehelper.net/starthere.php
Brows a bit through these and other articles (as well as practice a bit what's shown there), then go more advanced.
Introduction to hashtables:
http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/hashtables-mui-133407/
Things that leak:
http://www.hiveworkshop.com/forums/triggers-scripts-269/things-leak-35124/
Other general tipps on triggering:
http://www.hiveworkshop.com/forums/...quick-tutorial-common-triggering-tips-190802/

In fact, there's a ton of different tutorials out there (and many of the more useful here on hive). When you've just begun with using the world editor, I strongly recommend making the first steps by yourself and even wasting the one or other hour uselessly trying to figure things out while you actually have only no clue how to achieve your desired effect.
While trying things out, you're becoming familar with the editor and can see if your interest lead you towards coding, 2D Art(icons and skins),3D Art( modelling), terraining or multiple of these categories.

Speaking from personal experience, I'm glad that at first (say about the 1st 2 months), I've mainly spend my time on the world editor reading tutorials and trying things out (atm I'm using the world edit not even a full year).
When you got the hang on the basics such as creating and using dummy units, the difference between mui and not-mui, you can decide whether you're focussing on GUI or JASS -> mousclicks or the program language :grin:
Though this is not an answer to your question, I hope it helps a bit :)

Though, on a side-note, some of your questions are already covred by the tutorials I linked to :xxd:
 
Level 31
Joined
Jul 10, 2007
Messages
6,306
You should get this set up before even starting anything
http://www.hiveworkshop.com/forums/...ing-up-newgen-we-intro-trigger-editor-188349/

Chapter 2 also introduces you to the trigger editor.

I really suggest using vJASS rather than GUI, but eh..

That will allow you to use vJASS resources, make 480x480 maps, unlocked destructable/doodad cap on maps, etc... NewGen WE is a good thing to have =P.

Chapter 1 is a step-by-step installation guide complete with pictures.

Another pretty good thing to have in maps (if you plan on using any more advanced scripts) is the Lua framework.
http://www.hiveworkshop.com/forums/...art-guide-installing-lua-scripts-easy-195612/

First do the first link I did, then you'll be able to do the second. It's a magical step by step copy and paste guide and it tells you exactly which lines to modify and what portions of those lines to modify.
 
Level 4
Joined
Jul 25, 2008
Messages
55
Quietus,
I do not really have any advice; just a thank you for posting this. I am always too afraid to make posts, or ask for help. In the past, on other sites, most people just flamed each other and really didn't offer any help at all. I have been apart of the Hive for a few years, but, just recently I have been getting serious into making my own maps.

To everyone above me, thank you so much for the helpful and very resourceful advice. I have had the AOS template and the Dota Template for a while, but never really played with it. I am more into creating completely custom maps. However, it doesn't matter the style of game-play, everything from one map can be used on another; it just takes innovation. I will also look into Jass, as it seems to be much more appropriate for many of the complicated things I would love to produce.

Thanks to all of you, this is such a useful thread. I didn't realize the Hive had such mature members. I started reading the lengthy thread and got really excited for some of the questions and the openness of Queitus. I was so afraid to start reading the comments. Everyone on this page Rocks!!!
 
Status
Not open for further replies.
Top