HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Permanent Change Trigger & Spawn Stopping Trigger

08-16-2003, 08:33 PM#1
Kil'Jaeden[eS]
alright, i still need the same trigger i need before, as well as another one.

Permanent Change:

Event: A Player Uses (Skill)

Condition: Skill Used Equal To (Skill)

Action: Permanently Add (Change) To (Triggering Player)

or easier to say, i want it so that when a player uses the corressponding skill, it mutates permanently with all dmg bonuses armor bonuses and such, with endless duration and no duration timer.

Spawn Stopping:

Event: A Player Reaches 50 (Footman Type)

Condition: Triggering Unit Equal To (Footman Type)

Action: If Player Owns 50 of (Footman Type) Then Do Stop Executing (Trigger) For (Triggering Player) Else Execute (Trigger) For (Triggering Player)

i still cant figure that out.... ill post the spawning trigger if it helps to create one to stop spawning the bastards

Create Units:

Event:
Time - Every 4.00 seconds of game time

Condition:

Action:
For each (Integer A) from 1 to 12, do (If (foottype[(Integer A)] Equal to Child) then do (Do nothing) else do (Unit - Create footcycle[(Integer A)] foottype[(Integer A)] for (Player((Integer A))) at ((Player((Integer A))) start location) facing (Center of (Playable map area))))


thats what i have currently, but im thinking i might have to make separate spawning triggers somehow.... but its been a year since ive done that lol
08-16-2003, 08:57 PM#2
Alex_The_One
ide really like to help ya but im at my father´s house now and have no wc3 editor ill might post on monday:D
08-16-2003, 09:36 PM#3
Kil'Jaeden[eS]
mapmaking is so rediculously frustrating i almost want to chuck my comp out the window... lol, i well, too bad im still sane
08-17-2003, 06:26 AM#4
Zoizite
Quote:
Event: A Player Uses (Skill)

Condition: Skill Used Equal To (Skill)

Action: Permanently Add (Change) To (Triggering Player)
This trigger makes absolutely no sense to me...

Are you trying to do this?

Event: A unit finishes casting an ability
Condition: ability being cast equal to (skill)
Action: Add (New skill) to casting unit

or maybe i'm missing what you're trying to do here....


for your spawn stopping, add this in:

StopSpawning is a boolean array variable
Code:
    Events
        Time - Every 2.00 seconds of game time
    Conditions
    Actions
        Player Group - Pick every player in (All players) and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Number of units in (Units owned by (Picked player) of type Footman)) Greater than or equal to 50
                    Then - Actions
                        Set StopSpawning[(Player number of (Picked player))] = True
                    Else - Actions
                        Set StopSpawning[(Player number of (Picked player))] = False

        
-------------------------- add this somewhere into your spawning trigger -------------------------------------

If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                StopSpawning[(Integer A)] Equal to False
            Then - Actions
                -------- Run your spawning trigger for this player --------
            Else - Actions
                -------- Don't spawn for this player --------
08-17-2003, 06:43 AM#5
Telperion01
Or add this condition inside your loop:

If Number of living Footman units owned by (Player (IntegerA))) Less than 50 Then ...

will that work?
08-17-2003, 07:18 AM#6
Zoizite
That would probably work too. Just a different way of doing it. I sometimes come up with solutions that are a lil more complex, than need-be ^^
08-17-2003, 05:10 PM#7
Kil'Jaeden[eS]
ty for the assistance

and about the skill thing

one of the secret heroes on my map has a skilled called "Eternal Damnation" which i want to add a dmg bonus, hp bonus, armor bonus, attack speed bonus, and a permament "Metamorphosis" look when the skill is at lvl 4 (every skill has 4 lvls, on the first 3 lvls, it has a duration timer, on the fourth, i want the change to be permanent)
08-17-2003, 07:49 PM#8
Kil'Jaeden[eS]
ok i set this up, should it work?

Create Units
Events
Time - Every 4.00 seconds of game time
Conditions
FootStopper[(Integer A)] Equal to False
Actions
For each (Integer A) from 1 to 12, do (If (foottype[(Integer A)] Equal to Child) then do (Do nothing) else do (Unit - Create footcycle[(Integer A)] foottype[(Integer A)] for (Player((Integer A))) at ((Player((Integer A))) start location) facing (Center of (Playable map area))))

Damn Units
Events
Time - Every 2.00 seconds of game time
Conditions
Actions
Player Group - Pick every player in (All players) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Number of units in (Units owned by (Picked player) of type foottype[(Integer A)])) Greater than or equal to 50
Then - Actions
Set FootStopper[(Player number of (Picked player))] = True
Else - Actions
Set FootStopper[(Player number of (Picked player))] = False


BTW, foottype is a variable saying what type of "footman" will spawn for each race. for example, spell breakers spawn for humans, and troll berserkers for orcs
08-17-2003, 07:54 PM#9
cideh
Try it out. It's a lot easier.
08-17-2003, 08:06 PM#10
Kil'Jaeden[eS]
yah im going to try it out, but i posted here to make sure it was correct and if it didnt work there would be some feedback as to what the problem is, annnd since i gotta fix a few character skills and figure out the permanent-change trigger, i cant beta test atm =)
08-17-2003, 08:16 PM#11
Zoizite
Using "FootStopper[(Integer A)] Equal to False" is an invalid condition, I believe. Integer A will have no value.
Change the first trigger to this:

Create Units
Events
Time - Every 4.00 seconds of game time
Conditions
(none)
Actions
For each (Integer A) from 1 to 12, do
(If (foottype[(Integer A)] Equal to Child)
then do (Do nothing)
else do
If FootStopper[(Integer A)] Equal to False
then do (Unit - Create footcycle[(Integer A)] foottype[(Integer A)] for (Player((Integer A))) at ((Player((Integer A))) start location) facing (Center of (Playable map area))))
else do (Do nothing)
08-17-2003, 09:53 PM#12
Kil'Jaeden[eS]
allright

hehe thx for all teh help, finally got the spawn stopping trigger working ^_^ now, if i can just make it so that when the hero "eternal" uses his ultimate when its lvl 4 that the change is permanent... any ideas?
08-17-2003, 10:47 PM#13
Kil'Jaeden[eS]
hmmm, this one could be hard as HELL (i still need the permanent change trigger btw)

anyway heres what i want

i want to make it so that when a player achieves 50 hero kills, at the end of the game instead of it giving that player a victory message. i want it to play a cinematic and then it moves a special unit to the center of the arena for the player to fight. and upon the special units death, it gives the password to one of the secret heroes.

i already set up the 50 hero kills thing so that it lets the player know he needs to stay at the end of the game. but i cant figure out how to make the trigger creating the special unit only activate if the player who got the 50 hero kills is still playing, and also so that it only does it at the END of the game, when only the player who achived 50 hero kills is left. how can it be done?