Help with a global spell

b_ray210

Active Member
Reaction score
1
Hey guys so I made this spell which is supposed to target every neutral animal (skink/deer/raccoon/rabbit ect.) and farsight on their location. Can anyone see anything wrong with it? It doesn't do anything past the Beastmaster casting the spell.


Shared Spirit
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Shared Spirit
Actions
Unit Group - Pick every unit in (Units in (Playable map area) matching ((Owner of (Picked unit)) Equal to Neutral Passive)) and do (Actions)
Loop - Actions
Unit - Create 1 dummy for (Owner of (Triggering unit)) at (Position of (Picked unit)) facing Default building facing degrees
Unit - Add dummy shared spirit far sight to (Picked unit)
Unit - Set level of dummy shared spirit far sight for (Picked unit) to (Level of Shared Spirit for (Triggering unit))
Unit - Order (Last created unit) to Orc Far Seer - Far Sight (Position of (Picked unit))
Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
Spell costs mana, if so: dummy unit has enough mana?
Casting time on far sight less than 3 seconds?
The "Dummy shared spirit far sight" is not based off the ability "Far Sight"?

>Pick every - matching (owner of picked unit)
Pick every ... - matching (owner of matching unit )

Else, fix the leaks, if you bother.

Next time, try to remember code/wc3 tags...
 

b_ray210

Active Member
Reaction score
1
okay so i fixed everything that you said but it still doesn't give me sight on the critters, and now when i use it the camera pans to the hero which is using it, i dont know why that happens. :(
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
Show us the trigger after the changes you made?

>>and now when i use it the camera pans to the hero which is using it,
Why would it? There is no "panning of camera" in your trigger.
Hence: That spell fires more than one trigger.
 

vypur85

Hibernate
Reaction score
803
Code:
Shared Spirit
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Shared Spirit 
    Actions
        Unit Group - Pick every unit in (Units in (Playable map area) matching ((Owner of (Matching unit)) Equal to Neutral Passive)) and do (Actions)
            Loop - Actions
                Unit - Create 1 dummy for (Owner of (Triggering unit)) at (Position of (Picked unit)) facing Default building facing degrees
                Unit - Add dummy shared spirit far sight  to [B](Picked unit)[/B]
                Unit - Set level of dummy shared spirit far sight  for [B](Picked unit)[/B] to (Level of Shared Spirit  for (Triggering unit))
                Unit - Order (Last created unit) to Orc Far Seer - Far Sight (Position of (Picked unit))
                Unit - Add a 3.00 second Generic expiration timer to (Last created unit)

The bolded ones above should be 'Last created unit' for obvious reasons.
 

b_ray210

Active Member
Reaction score
1
There's still one problem though, when I cast the spell, it makes the camera pan to the main base every time.

EDIT: nevermind it was a problem with a different trigger.
 

b_ray210

Active Member
Reaction score
1
K so now my problem is that the special effect over each of the critters isnt being destroyed. Anyone have any ideas?



Shared Eyes
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Shared Eyes
Actions
Unit Group - Pick every unit in (Units in (Playable map area) matching ((Owner of (Matching unit)) Equal to Neutral Passive)) and do (Actions)
Loop - Actions
Special Effect - Create a special effect attached to the origin of (Picked unit) using war3mapImported\cleanse.mdx
Set sharedeyesspecialeffect = (Last created special effect)
Unit - Create 1 dummy for (Owner of (Triggering unit)) at (Position of (Picked unit)) facing Default building facing degrees
Unit - Add dummy shared eyes far sight to (Last created unit)
Unit - Set level of dummy shared eyes far sight for (Last created unit) to (Level of Shared Eyes for (Triggering unit))
Unit - Order (Last created unit) to Orc Far Seer - Far Sight (Position of (Picked unit))
Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
Wait (2.50 + (0.50 x (Real((Level of Shared Eyes for (Triggering unit)))))) seconds
Special Effect - Destroy sharedeyesspecialeffect
 

NeuroToxin

New Member
Reaction score
46
Waits can be MUI
Trigger:
  • Shared Eyes
    • Events
    • Unit - A unit Starts the effect of an ability
    • Conditions
    • (Ability being cast) Equal to Shared Eyes
    • Actions
    • Unit Group - Pick every unit in (Units in (Playable map area) matching ((Owner of (Matching unit)) Equal to Neutral Passive)) and do (Actions)
    • Loop - Actions
    • Custom Script: local unit caster = GetTriggerUnit()
    • Custom Script: local unit u = GetEnumUnit()
    • Custom Script: set udg_Temp_Unit = u
    • Special Effect - Create a special effect attached to the origin of (Temp_Unit) using war3mapImported\cleanse.mdx
    • Set sharedeyesspecialeffect = (Last created special effect)
    • Unit - Create 1 dummy for (Owner of (caster)) at (Position of (Temp_Unit)) facing Default building facing degrees
    • Unit - Add dummy shared eyes far sight to (Last created unit)
    • Unit - Set level of dummy shared eyes far sight for (Last created unit) to (Level of Shared Eyes for (caster))
    • Unit - Order (Last created unit) to Orc Far Seer - Far Sight (Position of (Temp_Unit))
    • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
    • Wait (2.50 + (0.50 x (Real((Level of Shared Eyes for (caster)))))) seconds
    • Special Effect - Destroy sharedeyesspecialeffect
    • Custom Script: set udg_Temp_Unit = null
    • Custom Script: set u = null


Temp_Unit = Unit Variable
 

b_ray210

Active Member
Reaction score
1
thank you soo much for writing that but it says that there is a problem with the last line. the:
Custom Script: set u = null
it says it was expecting a variable name and turns off the trigger

edit: im ridiculously bad at custom script so i could be making an embarassingly obvious mistake
 

NeuroToxin

New Member
Reaction score
46
Wanna post your code? Also, you need another unit variable called caster,
then you do
Trigger:
  • Custom Script: set udg_caster = GetTriggerUnit()

also at the end put
Trigger:
  • Custom Script: set udg_caster = null
    • Custom Script: set caster = null
 

vypur85

Hibernate
Reaction score
803
I'd suggest you to use a dummy ability which gives buff to the target unit. Then edit the special effect of the buff to your desired effect. Create several levels, each with different duration. Simpler and saves the fuss.


Otherwise:
Code:
Shared Eyes
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Shared Eyes 
    Actions
        Unit Group - Pick every unit in (Units in (Playable map area) matching ((Owner of (Matching unit)) Equal to Neutral Passive)) and do (Actions)
            Loop - Actions
                Special Effect - Create a special effect attached to the origin of (Picked unit) using war3mapImported\cleanse.mdx
                [B]Trigger - Run Trigger (Ignoring condition)[/B]
                Unit - Create 1 dummy for (Owner of (Triggering unit)) at (Position of (Picked unit)) facing Default building facing degrees
                Unit - Add dummy shared eyes far sight  to (Last created unit)
                Unit - Set level of dummy shared eyes far sight  for (Last created unit) to (Level of Shared Eyes  for (Triggering unit))
                Unit - Order (Last created unit) to Orc Far Seer - Far Sight (Position of (Picked unit))
                Unit - Add a 5.00 second Generic expiration timer to (Last created unit)


Code:
Trigger
    Events
    Conditions
    Actions
        Custom script:  local effect udg_sharedeyesspecialeffect
        Set sharedeyesspecialeffect = (Last created special effect)
        Wait (2.50 + (0.50 x (Real((Level of Shared Eyes  for (Triggering unit)))))) seconds
        Special Effect - Destroy sharedeyesspecialeffect

You need another trigger named 'Trigger'.

Hope it works. Long time since I coded.

Edit: 'Triggering unit' is MUI anyways, no need for localising it.
 

vypur85

Hibernate
Reaction score
803
Don't think yours will compile properly though. Leak isn't of concern here now. :)

Then again, my first suggestion would be much easier. Try that.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top