Value: Pathing Cost Between Points
Point 1: Center Of Region
Region: spawn
Point 2: Center Of Region
Region: blockade
The pathing cost is the time that it takes a unit to get to another point.
if it can't reach it then the amount will be 65536.
I've tested this on a small scale.
so if you use that statement in a comparison you can determine if there is a valid movement path between 2 points ;)
think this will solve it *prays*
ow you've got a unit choke... damn missed that reading *goes on testing this with units instead of buildings*
*EDIT*
doesn't work when there's a unit blockade :(
*END OF EDIT*
I haven't tested this but I noticed the following conditional statement:
Comparison - Unit Order is Valid
** EDIT **
this conditional doesn't work as I hoped. looking if there is something else that works nicely
** END OF EDIT **
can you use that to check if the move order is valid (I hope blizzard added this to check if the unit can move there if all routes are visible)
I'll see if I can figure out something but hope this will work ;)
in the case that I mentioned it displays the dialog boxes for all players at the same time.
if you want for example to display it first for player 1, then for player 2, etc. you want to use different triggers.
you want to catch the button clicking of the previous player to trigger the dialog for the next player.
so if I would set up an example of this using your math example:
I would make a few global variables to keep track of:
- the current player (CurrentPlayer)
- the current dialog being displayed (ActiveDialog)
- the correct answer for the dialog (CorrectAnswer)
next I would setup several triggers to fire after one another:
========= the first trigger =============
Dialog for starter player
Events
Game - Map initialization
Local Variables
Conditions
Actions
Dialog - Create a Modal dialog of size (500, 400) at (0, 0) relative to Center of screen
Variable - Set ActiveDialog = (Last created dialog)
Dialog - Create a Label for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top with an offset of (50, 50) with the text "1+1=..." color set to White text writeout set to false with a writeout duration of 2.0
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "2" and the hover image set to ""
Variable - Set CorrectAnswer = (Last created dialog item)
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "3" and the hover image set to ""
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "4" and the hover image set to ""
Dialog - Show (Last created dialog) for (Player group(Current Player))
=========== end of first trigger ===========
======== the other triggers all look like this =======
Dialog for next player
Events
Dialog - Any Dialog Item is Clicked by Player Any Player
Local Variables
Conditions
Actions
Dialog - Hide ActiveDialog for (Player group(Current Player))
General - If (Conditions) then do (Actions) else do (Actions)
If
(Used dialog item) == CorrectAnswer
Then
------- answer was correct
Else
------- answer was wrong
Variable - Set Current Player = (Current Player + 1)
------- check if player is in use, if not continue increasing until you've reached the last number then start at 1 again.
Dialog - Create a Modal dialog of size (500, 400) at (0, 0) relative to Center of screen
Variable - Set ActiveDialog = (Last created dialog)
Dialog - Create a Label for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top with an offset of (50, 50) with the text "2x2=..." color set to White text writeout set to false with a writeout duration of 2.0
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "2" and the hover image set to ""
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "4" and the hover image set to ""
Variable - Set CorrectAnswer = (Last created dialog item)
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "6" and the hover image set to ""
Dialog - Show (Last created dialog) for (Player group(Current Player))
================ end of this trigger ============
ofcourse this second trigger isn't usable at all since you'll end up using only this trigger.
you need to adjust it however you wish. you can setup a list of dialogs at initialization and just toggle them for the players in this bit.
keep the current position in a variable or something.
Hope this helps ya further ;)
Players are numbered: 0 through 15. positions 0 and 15 are Neutral and Hostile respectively so they aren't normally controlled by a user.
so basicly Player 1 = number 1.
there are different ways to do this.
you can define a trigger per player in which you create the dialog and set the show dialog for that player.
or you can setup a list of dialogs and then iterate through all the players and display the dialog
the latter looks something like this:
-------------------------
Dialog for all Players
Events
Game - Map initialization
Local Variables
DialogList = No Dialog <Dialog[4]>
Conditions
Actions
Dialog - Create a Modal dialog of size (500, 400) at (0, 0) relative to Center of screen
Variable - Set DialogList[1] = (Last created dialog)
-- create other dialog information for player 1 dialog (buttons, background, etc) --
Dialog - Create a Modal dialog of size (500, 400) at (0, 0) relative to Center of screen
Variable - Set DialogList[2] = (Last created dialog)
-- create other dialog information for player 2 dialog (buttons, background, etc) --
Dialog - Create a Modal dialog of size (500, 400) at (0, 0) relative to Center of screen
Variable - Set DialogList[3] = (Last created dialog)
-- create other dialog information for player 3 dialog (buttons, background, etc) --
Player Group - Pick each player in (All players) and do (Actions)
Actions
Dialog - Show DialogList[(Picked player)] for (Player group((Picked player)))
------------------
I haven't tested the above if it actually works, but it should work in theory.
you can always encode the data. currently in wc3 people enter a certain character code for loading a "Hero". using that technique you get a single string for in the bank like:
"A@fd47jdfgeDFWyj55683"
or alike, which could represent something like:
a lvl 10 zealot hero with 3 lvl in skill A and 5 lvls in skill B and carrying items X and Y also has 120 minerals owned by a player with the name TestPlayer.
I have no knowledge on how they generate those codes though, but perhaps someone else can help you look further in that direction if you need to be secure of the data input.
0
think I found something....
worth testing on larger scale anyway:
Value: Pathing Cost Between Points
Point 1: Center Of Region
Region: spawn
Point 2: Center Of Region
Region: blockade
The pathing cost is the time that it takes a unit to get to another point.
if it can't reach it then the amount will be 65536.
I've tested this on a small scale.
so if you use that statement in a comparison you can determine if there is a valid movement path between 2 points ;)
think this will solve it *prays*
ow you've got a unit choke... damn missed that reading *goes on testing this with units instead of buildings*
*EDIT*
doesn't work when there's a unit blockade :(
*END OF EDIT*
0
I haven't tested this but I noticed the following conditional statement:
Comparison - Unit Order is Valid
** EDIT **
this conditional doesn't work as I hoped. looking if there is something else that works nicely
** END OF EDIT **
can you use that to check if the move order is valid (I hope blizzard added this to check if the unit can move there if all routes are visible)
I'll see if I can figure out something but hope this will work ;)
Best Regards,
Helral
0
@helixdnb:
in the case that I mentioned it displays the dialog boxes for all players at the same time.
if you want for example to display it first for player 1, then for player 2, etc. you want to use different triggers.
you want to catch the button clicking of the previous player to trigger the dialog for the next player.
so if I would set up an example of this using your math example:
I would make a few global variables to keep track of:
- the current player (CurrentPlayer)
- the current dialog being displayed (ActiveDialog)
- the correct answer for the dialog (CorrectAnswer)
next I would setup several triggers to fire after one another:
========= the first trigger =============
Dialog for starter player
Events
Game - Map initialization
Local Variables
Conditions
Actions
Dialog - Create a Modal dialog of size (500, 400) at (0, 0) relative to Center of screen
Variable - Set ActiveDialog = (Last created dialog)
Dialog - Create a Label for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top with an offset of (50, 50) with the text "1+1=..." color set to White text writeout set to false with a writeout duration of 2.0
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "2" and the hover image set to ""
Variable - Set CorrectAnswer = (Last created dialog item)
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "3" and the hover image set to ""
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "4" and the hover image set to ""
Dialog - Show (Last created dialog) for (Player group(Current Player))
=========== end of first trigger ===========
======== the other triggers all look like this =======
Dialog for next player
Events
Dialog - Any Dialog Item is Clicked by Player Any Player
Local Variables
Conditions
Actions
Dialog - Hide ActiveDialog for (Player group(Current Player))
General - If (Conditions) then do (Actions) else do (Actions)
If
(Used dialog item) == CorrectAnswer
Then
------- answer was correct
Else
------- answer was wrong
Variable - Set Current Player = (Current Player + 1)
------- check if player is in use, if not continue increasing until you've reached the last number then start at 1 again.
Dialog - Create a Modal dialog of size (500, 400) at (0, 0) relative to Center of screen
Variable - Set ActiveDialog = (Last created dialog)
Dialog - Create a Label for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top with an offset of (50, 50) with the text "2x2=..." color set to White text writeout set to false with a writeout duration of 2.0
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "2" and the hover image set to ""
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "4" and the hover image set to ""
Variable - Set CorrectAnswer = (Last created dialog item)
Dialog - Create a Button for Dialog (Last created dialog) with the dimensions (200, 50) anchored to Top Left with an offset of (50, 50) setting the tooltip to "" with button text "6" and the hover image set to ""
Dialog - Show (Last created dialog) for (Player group(Current Player))
================ end of this trigger ============
ofcourse this second trigger isn't usable at all since you'll end up using only this trigger.
you need to adjust it however you wish. you can setup a list of dialogs at initialization and just toggle them for the players in this bit.
keep the current position in a variable or something.
Hope this helps ya further ;)
Players are numbered: 0 through 15. positions 0 and 15 are Neutral and Hostile respectively so they aren't normally controlled by a user.
so basicly Player 1 = number 1.
0
there are different ways to do this.
you can define a trigger per player in which you create the dialog and set the show dialog for that player.
or you can setup a list of dialogs and then iterate through all the players and display the dialog
the latter looks something like this:
-------------------------
Dialog for all Players
Events
Game - Map initialization
Local Variables
DialogList = No Dialog <Dialog[4]>
Conditions
Actions
Dialog - Create a Modal dialog of size (500, 400) at (0, 0) relative to Center of screen
Variable - Set DialogList[1] = (Last created dialog)
-- create other dialog information for player 1 dialog (buttons, background, etc) --
Dialog - Create a Modal dialog of size (500, 400) at (0, 0) relative to Center of screen
Variable - Set DialogList[2] = (Last created dialog)
-- create other dialog information for player 2 dialog (buttons, background, etc) --
Dialog - Create a Modal dialog of size (500, 400) at (0, 0) relative to Center of screen
Variable - Set DialogList[3] = (Last created dialog)
-- create other dialog information for player 3 dialog (buttons, background, etc) --
Player Group - Pick each player in (All players) and do (Actions)
Actions
Dialog - Show DialogList[(Picked player)] for (Player group((Picked player)))
------------------
I haven't tested the above if it actually works, but it should work in theory.
0
you can always encode the data. currently in wc3 people enter a certain character code for loading a "Hero". using that technique you get a single string for in the bank like:
"A@fd47jdfgeDFWyj55683"
or alike, which could represent something like:
a lvl 10 zealot hero with 3 lvl in skill A and 5 lvls in skill B and carrying items X and Y also has 120 minerals owned by a player with the name TestPlayer.
I have no knowledge on how they generate those codes though, but perhaps someone else can help you look further in that direction if you need to be secure of the data input.