Footies Help (Rep for help!)

Turnip

New Member
Reaction score
18
I just started learning Jass, and I began to continue (I know, It doesn't make much sense) to make my footies map. I was wondering if anyone knew where I could find a tutorial, or if you could help me yourself.
 

Exide

I am amazingly focused right now!
Reaction score
448
There's a forum for JASS. I'm sure you can get all the help you need there. :)
 

Turnip

New Member
Reaction score
18
Thanks, but I knew about those already. :/ I am asking for someone to help or knows a tutorial for Footie type map specific jass.
 

Mr.Tutorial

Hard in the Paint.
Reaction score
42
Im pretty sure there isn't a tutorial with jass just for footies... but oviously their is jass triggers you can download at wc3campaigns.com (I THINK).

Anyways, just wait to see if someone can post that really knows jass. I'm sorry I couldn't help much more.
 

Mr.Tutorial

Hard in the Paint.
Reaction score
42
Oh, I know wc3sear.ch basically exists. Go to "www.hiveworkshop.com". That's the replace of www.wc3sear.ch. Try going to hiveworkshop, it might help a little bit.
 

SFilip

Gone but not forgotten
Reaction score
634
> Does not exist anymore
They just have a new domain.
http://www.wc3campaigns.net/

Anyway there is no tutorial for making a map in Jass (at least not that I know of). You convert one trigger if needed etc. but its just stupid to make the whole map in Jass, especially if you are still learning.
 

Mr.Tutorial

Hard in the Paint.
Reaction score
42
Spawn units? That's easy just follow this explanation:

Make all your buildings that you want to spawn have that certain type of unit you want in the building [Object Editor > (YOUR BUILDING) > TechTree - Units Trained. Make sure that is the only unit your using or this will not work.

Then make a trigger that goes like this...

Code:
unit spawn
    Events
        Time - Every 7.00 seconds of game time
    Conditions
    Actions
        Unit - Order Keep 0001 <gen> to train/upgrade to a Peasant

MAKE SURE YOU CHANGE BUILDING AND REMOVE THE PEASANT TO WHAT YOU WANT

That's the really easy trigger. If you want it to create the unit based on the building that is built here it is...

Code:
unit spawn human
    Events
        Unit - A unit owned by (Player((1 + 12))) Finishes construction
    Conditions
        (Constructed structure) Equal to Keep 0001 <gen>
    Actions
        Unit - Create 1 Footman for (Owner of (Constructed structure)) at (Position of Keep 0001 <gen>) facing (Position of (Triggering unit))

IM NOT POSITIVE ABOUT THE EVENT, just switch the stuff to whatever you want it to be.
Code:
unit spawn orc
    Events
        Unit - A unit owned by (Player((1 + 12))) Finishes construction
    Conditions
        (Constructed structure) Equal to Barracks 0002 <gen>
    Actions
        Unit - Create 1 Grunt for (Owner of (Constructed structure)) at (Position of Barracks 0002 <gen>) facing (Position of (Triggering unit))

Hope this works, try testing it. I'm not positive it will work.

Enjoy

~ Mr.Tutorial
 

Tom Jones

N/A
Reaction score
437
If you have main buildings assigned to a player, the easiest thing is to pick all of those, and create units for the owner of the building at the point of the building:
Code:
function Spawn_Tier1Conditions takes nothing returns boolean
    return GetUnitTypeId(GetFilterUnit()) == 'Hti1'//Tier 1 main building id
endfunction

function Spawn_Tier2Conditions takes nothing returns boolean
    return GetUnitTypeId(GetFilterUnit()) == 'Hti2'//Tier 2 main building id
endfunction

function Spawn_Action takes nothing returns nothing
    local group ug = CreateGroup()
    local unit u
    //Tier 1
    call GroupEnumUnitsInRect(ug,GetWorldBounds(),Condition(function Spawn_Tier1Conditions))
    loop
        set u = FirstOfGroup(ug)
        if GetUnitRace(u) == RACE_HUMAN then
            call CreateUnit(GetOwningPlayer(u),'Hfoo',GetUnitX(u),GetUnitY(u),290)
        elseif GetUnitRace(u) == RACE_UNDEAD then
            call CreateUnit(GetOwningPlayer(u),'Ugho',GetUnitX(u),GetUnitY(u),290)
        endif
        call GroupRemoveUnit(ug,u)
    endloop
    call GroupClear(ug)
    //Tier 2
    call GroupEnumUnitsInRect(ug,GetWorldBounds(),Condition(function Spawn_Tier2Conditions))
    loop
        set u = FirstOfGroup(ug)
        if GetUnitRace(u) == RACE_HUMAN then
            call CreateUnit(GetOwningPlayer(u),'Hkni',GetUnitX(u),GetUnitY(u),290)
        elseif GetUnitRace(u) == RACE_UNDEAD then
            call CreateUnit(GetOwningPlayer(u),'Uabo',GetUnitX(u),GetUnitY(u),290)
        endif
        call GroupRemoveUnit(ug,u)
    endloop
    call GroupClear(ug)
    call DestroyGroup(ug)
    set ug = null
    set u = null
endfunction

function InitTrig_Spawn takes nothing returns nothing
    set gg_trg_Spawn = CreateTrigger()
    call TriggerRegisterTimerEvent(gg_trg_Spawn,5,true)
    call TriggerAddAction(gg_trg_Spawn, function Spawn_Action)   
endfunction
 

Turnip

New Member
Reaction score
18
Wow, thanks Tom Jones. I'll test it in a few minutes, nature is calling, and I'm answering, I've put it on hold for a bit to long(I feel sick... :( ) And after that long bit of pointless random information you probably didn't want to know, +Rep

set gg_trg_Spawn = CreateTrigger(TriggerTest2)
loop
exitwhen i > GetPlayers()
call TriggerRegisterTimerEvent(gg_trg_Spawn,5,true)
set i = i+1
endloop
call TriggerAddAction(gg_trg_Spawn, function Spawn_Action)
endfunction

It says I am having some errors here. Whats wrong?
 

Tom Jones

N/A
Reaction score
437
You'll need a GUI trigger named spawn, or copy paste the entire code to a text editor and replace swap with the name of your GUI trigger :)
*Edit*
You won't need the loop and integer variable, so I've updated the code. By the way, if you wan't me to help you understand the code, please don't be afraid to say so.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top