HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Selection, activated drigger

06-23-2006, 06:14 PM#1
Sardius
Just curious, I have it when you select this specific building, it activates a cinematic transition, is there anyway I can set it up so this trigger only activates if your close enough to it when you select it?

Say within the same distance as you are able to purchase a neutral shop or merc hut
06-23-2006, 06:45 PM#2
Soulprovider
yes there is.

Here is a basic trigger that should show you the way. The rest I leave up to you.

Barracks = Integer variable.

Trigger:
Collapse Events
Player - Player 1 (Red) Selects a unit
Collapse Conditions
(Unit-type of (Triggering unit)) Equal to Barracks
Collapse Actions
Set barracks = 1

this trigger puts it into place.

Trigger:
Collapse Events
Unit - A unit comes within 300.00 of Barracks 0001 <gen>
Collapse Conditions
barracks Equal to 1
Collapse Actions
Game - Display to (All players) the text: testing
Set barracks = 0

I'll upload a test map for you. Like I said the rest is up to you. If you know your way around the editor then you'll know what to do if not you can always use variables.
06-24-2006, 12:49 AM#3
Sardius
Hm, alright that trigger worked very well if you select the building first and then approach in the cinema kicks in fine, but if you get in close, and then select the building the trigger doesn't activate unless you move away and move back in.
06-24-2006, 12:56 AM#4
map-maker
switch it around so when you get within range it sets a variable to 1(or true if you use a boolean) and than when you select it, it checks if that variable is 1(or true) and than plays the cinematic and sets the variable to 0(or false)
06-24-2006, 05:45 PM#5
Soulprovider
lol it was like I said I gave the basic trigger the rest I left up to you.

Hidden information:
Map Maker said it kindly, I will not. It takes common sense to realize what to do. I made a basic GUI trigger to help you understand the way to do what you wanted to do and then you want me to explain how to work it completely for you. You will never learn if you do not do it for yourself.
06-24-2006, 07:20 PM#6
Sardius
WTF, this totally isn't working.

I have this for my selection trigger.

Event:
Player - Player 1 (Red) Selects a unit

Conidition:
((Triggering unit) Equal to Mercenary Camp (Lordaeron Winter) 0235 <gen>) and (MercHut Equal to 1)

Action:
Set MercHut = 0
Trigger - Turn off (This trigger)
"Cinematic"

And this for my range trigger.

Event:
Unit - A unit comes within 300.00 of Mercenary Camp (Lordaeron Winter) 0235 <gen>

Action:
Set MercHut = 1
Trigger - Turn off (This trigger)

Yet if I click on the merc hut from like half the map away, the cinematic selection trigger STILL activates even though I'm no where near it.
06-24-2006, 07:36 PM#7
MasterofSickness
Why using two Triggers?
Why not just doing it like this:
Trigger:
Collapse Events
Player - Player 1 (Red) Selects a unit
Collapse Conditions
((Triggering unit) is in (Units within 300.00 of (Position of (Mercenary Camp (Lordaeron Winter) 0235 <gen>)))) Gleich True
Actions

Because of your problem:
Perhaps the MercHut is already set to 1 anywhere?
06-24-2006, 08:07 PM#8
Sardius
Tried this, and the exact same problem happens.

Player - Player 1 (Red) Selects a unit

(((Triggering unit) is in (Units within 300.00 of (Position of Mercenary Camp (Lordaeron Winter) 0235 <gen>))) Equal to True) and ((Triggering unit) Equal to Mercenary Camp (Lordaeron Winter) 0235 <gen>)

Same thing happens... The "Iseedeadpeople" cheat wouldn't have any effect on this would it? because thats what I am using to test clicking on it from such a far distance.
06-24-2006, 08:16 PM#9
MasterofSickness
You don't need this:
Quote:
and ((Triggering unit) Equal to Mercenary Camp (Lordaeron Winter) 0235 <gen>)
Edit: W8, I saw something wrong... I answer in short...

Edit2:
Use this instead (mistake of mine, sorry!, I'm already tired...) :
Trigger:
Collapse Events
Player - Player 1 (Red) Selects a unit
Collapse Conditions
((Triggering unit) is in (Units within 300.00 of (Position of (Mercenary Camp (Lordaeron Winter) 0235 <gen>)))) Gleich True
(Unit-type of (Triggering unit)) Ungleich Mercenary Camp
Actions

(Unit-type of (Triggering unit)) Ungleich ____ <-here you have to set up the unit-type of the MercenaryCamp
This should work for units other then the MercenaryCamp, but in range of 300 to the MercenaryCamp when player red selects.
06-24-2006, 08:52 PM#10
Soulprovider
Trigger:
Event:
Unit - A unit comes within 300.00 of Mercenary Camp (Lordaeron Winter) 0235 <gen>

Action:
Set MercHut = 1
Trigger - Turn off (This trigger)

your problem is simple.
you need a condition for this trigger specifying which unit activates the trigger right now the building you are selecting counts towards the event. listed above, and to specify which player. You should locate them on your own. since like I said you will not learn if you do not do.
06-24-2006, 09:08 PM#11
map-maker
he is obviously asking for help because he does not understand. soulprovider, just telling him to go figure it out himself is not going to help him most likely...sure making him figure most of it out on his own is a good thing to do and just lead him in the right direction which is what i did. whether he understood it or not well thats another thing. also coming within range is an entering unit event...the building that you are supposed to be within 300 range isn't counted to being in range to itself that i know of...in fact its not. if you still do not understand than just make a trigger like this:

set
Event: a unit comes within 300 of yourbuildinghere <gen>

Condition: owner of (entering unit) equal to player 1(red) //you can put any player here really...you dont need it at all actually. and if you want to make it work for multiple players just dont use any condition

Actions: set yourvariablehere = true //this is a boolean variable by the way and if you want this to work for multiple players just make it an array as the maximum ammount of players like set yourvariablehere[1] = true you could just assume that the integer "1" in the array will count for player 1(red)

select
Event: a player selects yourbuildinghere <gen>

Condition: yourvariablehere = true //again if you want multiple players read down

Actions: display message to triggering player "hi" //just put your cinematic stuff here..
//if you want multiple players than:
Actions: for all integers A 1 - (max players)
If yourvariablehere[integer A] = true
then (cine triggers here)
else do nothing