| 08-15-2004, 07:30 AM | #1 |
Hey guys, I know this is a common problem but I dont think Battle.net will be patching it any-time soon. Code:
function Trig_Untitled_Trigger_002_Conditions takes nothing returns boolean
if ( not ( Player(0) == GetLocalPlayer() ) ) then
return false
endif
return true
endfunction
function Trig_Untitled_Trigger_002_Actions takes nothing returns nothing
call ChangeElevatorHeight( gg_dest_DTrx_0001, 3 )
endfunction
//===========================================================================
function InitTrig_Untitled_Trigger_002 takes nothing returns nothing
set gg_trg_Untitled_Trigger_002 = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Untitled_Trigger_002, Player(0), "up", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Untitled_Trigger_002, Player(1), "up", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Untitled_Trigger_002, Player(2), "up", true )
call TriggerAddCondition( gg_trg_Untitled_Trigger_002, Condition( function Trig_Untitled_Trigger_002_Conditions ) )
call TriggerAddAction( gg_trg_Untitled_Trigger_002, function Trig_Untitled_Trigger_002_Actions )
endfunction
Is there anyway I can replicate this or something similar without desyncs or server splits? I dont care how long or how rigerous it is. |
| 08-15-2004, 12:26 PM | #2 |
I know little about triggers in multiplayer games, but to me it seems that the reason it desyncs is not the function GetLocalPlayer(), it's the way that you use it. When this trigger runs it will only raise the elevator for player 0. What happens when the elevator rises for one player but not the others? There will be differnet meanings on where the elevator is, but that might not desync the game (since the elevator hieght is just graphical). But you might have another trigger which uses the elevator height to open and close walls or soemthing. If you don't do anyhting more with the elevator height it might be that it's enough to have differnet hieght of oen elevator for different players to desync the game. What are you trying to accomplish with this trigger? |
| 08-15-2004, 02:57 PM | #3 |
Indeed this is not a bug. Of course it desyncs because the elevator height is only changed for one player. I fail to see how you can expect a fix in a patch for that. |
| 08-15-2004, 06:10 PM | #4 |
Ok, so there is no way around this? |
| 08-15-2004, 07:03 PM | #5 |
I don't know partly since desyncs isn't my area and partly because I'm not really sure of what you want to accomplish. |
| 08-15-2004, 07:45 PM | #6 |
Im trying to accomplish making a elevator go up for 1 player and only 1 player , so it made sense I would use the GetLocalPlayer() function. But when I do the server splits and no one is left in game |
| 08-19-2004, 01:42 PM | #7 | |
Quote:
No, there's no way of doing it without a desync. |
| 08-19-2004, 01:47 PM | #8 | |
Quote:
And I actually think that Elevator HEight doesn't change any game play, cause the wall are what change the pathing. And that this desync is caused by the comparission in the Trigger Conditions, you should try with an if then else inside the trigger instead. This would only make the elevator look like it is at that height for the player, it won't allow the player to use it as if the elevator was at that height |
