Register for free, and make this box disappear!

Welcome to the BF Forums! Register Now, It's Free!


Welcome to the BF Forums; your source for the latest video game news, strategies, discussions, and resources. Join over 66,000 like-minded gamers to chat about your interests in our community.

You are currently viewing the forums as a guest user, which limits your access to certain content, contests, downloads, and more. By joining our free community, you will be able to respond in discussions/articles, contact members privately (PM), participate in regular-scheduled contests, see less advertisements, and have access to many other features. Registration is quick, easy, and completely free. Whatever your game interest may be, you'll find information here where people realize that games are more than just poker online.


Have your questions answered. Share your thoughts about a topic. Take 2 minutes, Register Now!
BattleForums.com Blizzard Gaming Forums > Warcraft > Warcraft General > Warcraft Maps and Modifications

We're Half-Way There!! - BF Lotto: $50 Ebay or Amazon Gift Card - A Single Click is All It Takes...

Reply
 
Thread Tools Display Modes
Old 07-04-2004, 02:10 AM   #1 (permalink)
BattleForums Addict
 
Darimus's Avatar
 
Join Date: Oct 2003
Posts: 681
Can anyone solve this odd trigger problem?

Ok first off I have no clue what is going on with it... but I found out by trial and error that if I disable the Unit - Create (the hero) then it doesn't lag (You'll understand when you read the problem).

Now here's the problem. When anyone clicks the dialog button for the class they want to choose, if they are the first one to do it in the game, it hangs (frozen screen and mouse for all players and some lag afterwards) for about 10 seconds. The 2nd time you do it, it won't hang at all. And 3rd... and so on. Only the first time you do it, it hangs... and nothing different happens on the 2nd time or 3rd and on and on from the 1st time you do it.

Here's the trigger:

Code:
ClassConfirm
    Events
        Dialog - A dialog button is clicked for ClassConfirm
    Conditions
        (Clicked dialog button) Equal to ClassYes
    Actions
        Wait 0.50 seconds
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ConfirmClassNo[(Player number of (Triggering player))] Equal to 4
            Then - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        PlayerRace[(Player number of (Triggering player))] Equal to Avian
                    Then - Actions
                        Unit - Create 1 Avian Nightblade for (Triggering player) at (Position of Hero[(Player number of (Triggering player))]) facing (Facing of Hero[(Player number of (Triggering player))]) degrees
                        For each (Integer A) from 1 to 6, do (Actions)
                            Loop - Actions
                                Hero - Drop (Item carried by Hero[(Player number of (Triggering player))] in slot (Integer A)) from Hero[(Player number of (Triggering player))]
                                Hero - Give (Last dropped item) to (Last created unit)
                        Hero - Set (Last created unit) experience to (Hero experience of Hero[(Player number of (Triggering player))]), Hide level-up graphics
                        Unit - Remove Hero[(Player number of (Triggering player))] from the game
                        Set Hero[(Player number of (Triggering player))] = (Last created unit)
                        Skip remaining actions
                    Else - Actions
                        Do nothing
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        PlayerRace[(Player number of (Triggering player))] Equal to Mazan
                    Then - Actions
                        Unit - Create 1 Mazan Nightblade for (Triggering player) at (Position of Hero[(Player number of (Triggering player))]) facing Default building facing degrees
                        For each (Integer A) from 1 to 6, do (Actions)
                            Loop - Actions
                                Hero - Drop (Item carried by Hero[(Player number of (Triggering player))] in slot (Integer A)) from Hero[(Player number of (Triggering player))]
                                Hero - Give (Last dropped item) to (Last created unit)
                        Hero - Set (Last created unit) experience to (Hero experience of Hero[(Player number of (Triggering player))]), Hide level-up graphics
                        Unit - Remove Hero[(Player number of (Triggering player))] from the game
                        Set Hero[(Player number of (Triggering player))] = (Last created unit)
                        Skip remaining actions
                    Else - Actions
                        Do nothing
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        PlayerRace[(Player number of (Triggering player))] Equal to Nolath
                    Then - Actions
                        Unit - Create 1 Nolath Nightblade for (Triggering player) at (Position of Hero[(Player number of (Triggering player))]) facing Default building facing degrees
                        For each (Integer A) from 1 to 6, do (Actions)
                            Loop - Actions
                                Hero - Drop (Item carried by Hero[(Player number of (Triggering player))] in slot (Integer A)) from Hero[(Player number of (Triggering player))]
                                Hero - Give (Last dropped item) to (Last created unit)
                        Hero - Set (Last created unit) experience to (Hero experience of Hero[(Player number of (Triggering player))]), Hide level-up graphics
                        Unit - Remove Hero[(Player number of (Triggering player))] from the game
                        Set Hero[(Player number of (Triggering player))] = (Last created unit)
                        Skip remaining actions
                    Else - Actions
                        Do nothing
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        PlayerRace[(Player number of (Triggering player))] Equal to Orc
                    Then - Actions
                        Unit - Create 1 Orc Nightblade for (Triggering player) at (Position of Hero[(Player number of (Triggering player))]) facing Default building facing degrees
                        For each (Integer A) from 1 to 6, do (Actions)
                            Loop - Actions
                                Hero - Drop (Item carried by Hero[(Player number of (Triggering player))] in slot (Integer A)) from Hero[(Player number of (Triggering player))]
                                Hero - Give (Last dropped item) to (Last created unit)
                        Hero - Set (Last created unit) experience to (Hero experience of Hero[(Player number of (Triggering player))]), Hide level-up graphics
                        Unit - Remove Hero[(Player number of (Triggering player))] from the game
                        Set Hero[(Player number of (Triggering player))] = (Last created unit)
                        Skip remaining actions
                    Else - Actions
                        Do nothing
            Else - Actions
                Do nothing
Darimus is offline   Reply With Quote
Beitrag Sponsored Links

__________________
Ads suck! Take 2 minutes to register for your free account, and GET RID OF THESE ADS!
Old 07-04-2004, 03:51 AM   #2 (permalink)
Aya Matsuura is awesome
 
x42bn6's Avatar
 
Join Date: Nov 2002
Location: Trieste, Friuli-Venezia Giulia
Age: 20
Posts: 15,282
Not actually sure..... But I'm not sure if 'Skip Remaining Actions' skips for that loop/conditional branch or the entire parent actions..... That would explain it, I suppose, because it is verifying 3 button actions, and you are invoking it 3 times using:

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

So in all Warcraft is caching the instruction 9 times more than necessary. That would explain why the 2nd and 3rd times don't lag.

But I have no other theory besides this one.
__________________
* IM IN UR WIKI RVRTING UR EDITS

x42bn6 is offline   Reply With Quote
Old 07-05-2004, 09:57 PM   #3 (permalink)
BattleForums Addict
 
Darimus's Avatar
 
Join Date: Oct 2003
Posts: 681
It's not those... I said that if I remove the unit - create stuff, it doesn't lag. even if i do it 9 times w/ all the other stuff there...

and it used to be that the only thing in the THENs were the unit creation, and the rest of the stuff moved to the bottom
Darimus is offline   Reply With Quote
Old 07-06-2004, 02:58 AM   #4 (permalink)
Aya Matsuura is awesome
 
x42bn6's Avatar
 
Join Date: Nov 2002
Location: Trieste, Friuli-Venezia Giulia
Age: 20
Posts: 15,282
Perhaps something is up with skins/spells/stuff thingy. I don't know, really, I don't know about FT and its Object Manager.
__________________
* IM IN UR WIKI RVRTING UR EDITS

x42bn6 is offline   Reply With Quote
 
Reply

Get rid of all these ads! Take 30 seconds to register.

« Unit Trigger? | triger help »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


All times are GMT +1. The time now is 05:41 AM.



Powered by vBulletin® Version 3.7.2 | Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0