Restoring Owner Of Unit After Being Transported.

vaziocs

New Member
Reaction score
5
Im trying to make this action. There are X players from 1 to 8. with 1 hero as unit

I made a zeppelin pick every hero and transport them, by changing the owner, now i cant get the heroes to have their owners restored.. how do i do it???

First to change owner i did


Unit Group - Pick every unit in (Units in Region 034 <gen>) and do (Actions)

Loop - Actions

Unit - Change ownership of (Picked unit) to Player 1 (Red) and Retain color

Set unitscustomvalue[(Player number of (Owner of (Picked unit)))] = (Player number of (Owner of (Picked unit)))


Now to unload and change owner // not working

Unit - Order Goblin Zeppelin 1184 <gen> to Unload All At (Center of Region 035 <gen>)
Unit Group - Pick every unit in (Units in Region 035 <gen>) and do (Actions)

Loop - Actions

For each (Integer A) from 1 to 8, do (Actions)

Loop - Actions

If (All Conditions are True) then do (Then Actions) else do (Else Actions)

If - Conditions

(Custom value of (Picked unit)) Equal to (Player number of (Player((Integer A))))

Then - Actions

Unit - Change ownership of (Picked unit) to (Player((Integer A))) and Change color

Else - Actions

Game - Display to (All players) the text: changed owner

// and previous owner not working too
 

LocalDude

New Member
Reaction score
4
try using a unit array, wher you define the heroes in the begining, and then when you are going to turn the heroes back to the old players you use.
Code:
Untitled Trigger 001
    Events
the event you want
    Conditions
    Actions
        For each (Integer A) from 1 to 8, do (Actions)
            Loop - Actions
                Unit - Change ownership of Heroes[(Integer A)] to Players[(Integer A)] and Change color

Players = player array of 8 (defined in the inisilation for evry player)
Heroes = unit array of 8 (this one i recomend you defind when they pick their hero)
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,495
If the owner of the Zeppelin is an ally to all other players, you can use a "better" transport:

Give the following abilities to your transport:
Cargo Hold (Meat Wagon),
Load (Goblin Zeppelin),
Unload (Air Transports).

On the cargo ability, change the targets allowed to: Allied, Friend, Ground.

The result being that he can now pick up allied units as well as his own. I.e. you don't need any owner changes.
 

vaziocs

New Member
Reaction score
5
try using a unit array, wher you define the heroes in the begining, and then when you are going to turn the heroes back to the old players you use.
Code:
Untitled Trigger 001
    Events
the event you want
    Conditions
    Actions
        For each (Integer A) from 1 to 8, do (Actions)
            Loop - Actions
                Unit - Change ownership of Heroes[(Integer A)] to Players[(Integer A)] and Change color

Players = player array of 8 (defined in the inisilation for evry player)
Heroes = unit array of 8 (this one i recomend you defind when they pick their hero)
i tried that didnt work, nothing seems to work !!
The problem is probably in the condition....
(Custom value of (Picked unit)) Equal to (Player number of (Player((Integer A))))
this is assuming the units will already be equal to the value in For Loop...but they wont so how to keep looping until its the right unit and value..

i tried this now, makes more sense but doesnt work either
the for is in the variable now.

Unit Group - Pick every unit in (Units in Region 035 <gen>) and do (Actions)
Loop - Actions
For each (Integer unitscustomvalue[(Integer A)]) from 1 to 8, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Custom value of (Picked unit)) Equal to (Player number of (Player((Integer A))))
Then - Actions

Unit - Change ownership of (Picked unit) to (Player((Custom value of (Picked unit)))) and Change color
Else - Actions
Game - Display to (All players) the text: changed owner


If the owner of the Zeppelin is an ally to all other players, you can use a "better" transport:

Give the following abilities to your transport:
Cargo Hold (Meat Wagon),
Load (Goblin Zeppelin),
Unload (Air Transports).

On the cargo ability, change the targets allowed to: Allied, Friend, Ground.

The result being that he can now pick up allied units as well as his own. I.e. you don't need any owner changes.
I had already tried this, doesnt do anything..i dunno what FRIEND check does but it probably turns alliance non-agression ON it has nothing to do with unit control. U need to have control of unit to transport and u need to TEST things in game before saying they work.
Can't anyone get this to work ?? it would give a very cool effect in game all player units being transported by same zeppelin and restored
 

LocalDude

New Member
Reaction score
4
can you post the whole code pleas, thanks
"if you didn't know you can right clik the triger and take copy as text"
 

vaziocs

New Member
Reaction score
5
this is the whole code but again

UNLOAD TRIGGER :

Unit - Order Goblin Zeppelin 1184 <gen> to Unload All At (Center of Region 035 <gen>)
Unit Group - Pick every unit in (Units in Region 035 <gen>) and do (Actions)
Loop - Actions
For each (Integer A) from 1 to 8, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Custom value of (Picked unit)) Equal to (Player number of (Player((Integer A))))
Then - Actions
Unit - Change ownership of (Picked unit) to (Player((Integer A))) and Change color
Else - Actions
Game - Display to (All players) the text: changed owner

OTHER TRIGGER :

Unit Group - Pick every unit in (Units in Region 034 <gen>) and do (Actions)
Loop - Actions
Set tempunits[(Player number of (Owner of (Picked unit)))] = (Picked unit)
Unit - Change ownership of (Picked unit) to Player 1 (Red) and Change color
Set unitscustomvalue[(Player number of (Owner of (Picked unit)))] = (Player number of (Owner of (Picked unit)))
 

Sevion

The DIY Ninja
Reaction score
413
The Zeppelin has no time to drop the units, thus when you pick all units in the Region 035, there are none in there.

And why do a loop and an if? You can simply do:

Code:
Unit - Change ownership of (Picked unit) to (Player((Custom value of (Picked unit)))) and Change color

Also, when posting code, next time use Code Tags.
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,495
The custom value must be set before changing the owner...


FWIW, download and run the attached map.
Have a look around, and press "escape" when ready...
 

Attachments

  • FriendlyZeppelin_Demo_AceHart.w3x
    14.9 KB · Views: 116
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