• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

MultiBoard open/close

Status
Not open for further replies.
Level 13
Joined
Mar 24, 2010
Messages
950
I have a RPG game i was working on and all players share this MB they can add and remove data from it etc but thats not important..

What is important is how it opens and closes and how players can interact with it without other players having the MB open also and having to watch a player use the MB. I would like each player to be able to open the MB separately.

So in other words 1 MB is shared but when 1 player presses Esc key only that player can see it open and for all other players the MB stays closed.
Is that possible?

Also lets say player 1 and player 5 wanted to both use the MB at once and both have it open separately (using locals or something) is that possible? If not that is ok i guess.. Ill just need a way to say the MB is opened by another player. But then also would need to free up that MB if a player d/c while they had the MB open.
 
Level 13
Joined
Mar 24, 2010
Messages
950
Yea thats a thought, but i want all the players to see each others stuff within the same MB. I just want them to be able to open the MB and do as they please without the other players screens to be taken up by the MB being open by another player doing stuff.

Its more or less an Item storage MB and players can arrow up down ect < v > ^ to do different actions while in the MB.

Edit: yea i think thats the only way tbh everything i try using 1 MB makes the game desync on lan with locals. I can get the MB to open/close w/o desync no prob. but the up and down keys then make it desync.
 
Last edited:
Level 13
Joined
Mar 24, 2010
Messages
950
It still has a problem even with all separate MBs in an array i display the 1 MB to the correct player locally but when i open or closed it on player 1 player 2 doesnt see that becuz its happening locally..

And even though i set a global boolean after the check it doesnt seem to set it the same on all players comps..

So then the desync comes..
 
Level 13
Joined
Mar 24, 2010
Messages
950
Basically the local boolean is set to a global but it doesnt seem to really be a global becuz it doesnt affect all players..
It seems that the local value is in the global sitll as a local..
I need to make it a true global so all player see the global var the same... Any tips?

  • Actions
    • Custom script: local boolean b = IsMultiboardMinimized(udg_Menu_Inventory_12[GetConvertedPlayerId(GetTriggerPlayer())])
    • Trigger - Turn off (This trigger)
    • -------- it doesnt see this as open on other players comp becuz it doesnt see the local boolean --------
    • -------- so when player 1 open and closes it, it always displays open on player 2 comp --------
    • -------- which then doesnt change the global boolean messing up other triggers.. --------
    • Custom script: if GetLocalPlayer() == GetTriggerPlayer() then
    • Custom script: set b = not b
    • Custom script: endif
    • Custom script: call MultiboardMinimize(udg_Menu_Inventory_12[GetConvertedPlayerId(GetTriggerPlayer())], b)
    • Custom script: set udg_Temp_Bool = b
    • -------- When its Minimized its False --------
    • -------- If its true then its gonna Close, If its False its gonna Open --------
    • Set bool = Temp_Bool
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • bool Equal to False
      • Then - Actions
        • -------- Open --------
        • Set MenuOpen_Boolean[(Player number of (Triggering player))] = True
        • Camera - Lock camera target for (Triggering player) to Player_Hero_Array[(Player number of (Triggering player))], offset by (0.00, 0.00) using Default rotation
        • Game - Display to (All players) for 2.00 seconds the text: open
      • Else - Actions
        • -------- Close --------
        • Set MenuOpen_Boolean[(Player number of (Triggering player))] = False
        • Camera - Reset camera for (Triggering player) to standard game-view over 0.00 seconds
        • Game - Display to (All players) for 2.00 seconds the text: closed
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • MenuOpen_Boolean[(Player number of (Triggering player))] Equal to True
      • Then - Actions
        • Game - Display to (All players) for 1.00 seconds the text: true = open
      • Else - Actions
        • Game - Display to (All players) for 1.00 seconds the text: false = closed
    • Wait 0.20 game-time seconds
    • Trigger - Turn on (This trigger)
yea some of that crap is in there just for testing purposes so just look past it..
 
Status
Not open for further replies.
Top