HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Kill unit within Range of any Unit of one Player ?

08-24-2006, 10:31 AM#1
Tidus
Actually, I find out how to Trigger it, but only for one unit
So what I exactly need :

Event
A Unit comes within a range (125 for example) of any Unit of Player 12 Brown
Conditions
Unit who comes within range shall not be controlled by Player 12 Brown
Actions
Remove Triggering Unit from Game

So I only got problems with the red marked part ... how make it for all Units controlled by Player Brown workable ?
Tried something with variables, but it does not work

Ideas ?
08-24-2006, 12:14 PM#2
Jazradel
There are probably a lot of reasons why you don't but judging from your trigger adding 10000 damage permament immolation to those units would probably work quite well.
08-24-2006, 01:46 PM#3
Tidus
Actually I already use Immolation, but it does not work all the time probably, cause my Unit walk next/even through the enemy unit with Immolation (10.000 dmg of course) and does nothing :/ So what can I do ? Keep Immolation and look over the leaks ? Or is it possible to Trigger it ?
08-24-2006, 01:56 PM#4
Wyvernoid
Is the unit immune to spells? ^^
Also... immolation has a onw-second damage interval, you can change it to a smaller number in the object editor.
As for triggers... 'think it must be tough.
08-24-2006, 02:00 PM#5
Jacek
hm I think you could do it like;

trigger1

events
map initialization
conditions
-
actions
pick every unit in playable map area matching matching unit owned by player 12 and Add event - Unit comes in range 125 of Picked unit to trigger 3

trigger 2

events
a unit enters playable map area
conditions
-
actions
add event - unit comes in range 125 to triggering unit to trigger 3

trigger 3

events
-
conditions
Owner of entering unit is enemy of player 12
actions
Kill Entering unit
08-24-2006, 02:05 PM#6
buttoxide
Maybe you could give the guy an aura and check for buff?
08-24-2006, 02:16 PM#7
UnMi
Quote:
.. how make it for all Units controlled by Player Brown workable ?
Controlled? Even shared controls?
08-24-2006, 03:41 PM#8
aquilla
what jacek wrote should work. if you wanna stick with immolation, change change cooldown (i think it's this field that refers to damage interval) to 0.1 or so
08-24-2006, 05:05 PM#9
Mystic Prophet
since its multiple triggers wouldnt you need to change the event to entering unit, rather than triggering unit?
08-24-2006, 05:35 PM#10
Tidus
Well I thought it could work in one Trigger, with any Variable, but thanks for the ideas, I´ll get it work, thanks :)

to UnMi, of course I did, maybe you misterunderstood, or me could write it more clear, what I mean, what you quoted, was refering to the trigger, and no "2." question ^^
08-24-2006, 07:11 PM#11
UnMi
Uh, I was asking if the units from other players who however "shared" the controls to Brown are supposed to die too, but apparently not.
Immolation should work, I don't know it doesn't in your case but it should, just try modifying some stats like Damage per Interval.
But let's say, it's also fun to trigger it. There we go:
TRIGGER_NAME: Register Brown
Collapse JASS:
function rb_kill_approacher takes nothing returns nothing
    call KillUnit(GetTriggerUnit())
endfunction

function Trig_Register_Brown_Actions takes nothing returns nothing
    local player brown = Player(11) 
    local group owned = GetUnitsOfPlayerAll(brown)
    local trigger register_approacher = CreateTrigger()
    local unit first
    loop
        set first = FirstOfGroup(owned)
        exitwhen (first == null) 
        call TriggerRegisterUnitInRange(register_approacher,first,125.00,null)
        call GroupRemoveUnit(owned,first)
    endloop
    call TriggerAddAction(register_approacher,function rb_kill_approacher)
    call DestroyGroup(owned)
    set first = null
    set brown = null
    set owned = null
    set register_approacher = null
endfunction

//===========================================================================
function InitTrig_Register_Brown takes nothing returns nothing
    set gg_trg_Register_Brown = CreateTrigger(  ) 
    call TriggerRegisterPlayerChatEvent( gg_trg_Register_Brown, Player(0), "k", true )
    call TriggerAddAction( gg_trg_Register_Brown, function Trig_Register_Brown_Actions )
endfunction
Edit: cool, I don't understand why, but this won't work at map-initialization, no matter how many waits I put in.
To enable the trigger, I set the event as -Player1 types "K"-.
Does anyone know how to fix this?
08-24-2006, 08:04 PM#12
Tidus
Well, do you really need " Map-Initialization " or does it work with Time Elapsed 0.01 sec. ? Well, i can´t help ypu to fix it ^^
08-24-2006, 08:13 PM#13
UnMi
Well, as I said, you have to type "K" to let it work, test it out.