/*%FSM*/ /*%FSM*/ /* item0[] = {"INIT",0,250,-250.000000,-150.000000,-150.000000,-100.000000,0.000000,"INIT"}; item1[] = {"Respone",4,218,-500.000000,300.000000,-400.000000,350.000000,0.000000,"Respone"}; item2[] = {"true",8,218,-250.000000,-75.000000,-150.000000,-25.000000,0.000000,"true"}; item3[] = {"Open_Gender_Selection",2,250,-400.000000,-75.000000,-300.000000,-25.000000,0.000000,"Open Gender" \n "Selection Dialog"}; item4[] = {"Reopen_when_client",4,218,-400.000000,-150.000000,-300.000000,-100.000000,0.000000,"Reopen" \n "when client hit" \n "escape"}; item5[] = {"Gender_Selected",4,218,-450.000000,0.000000,-350.000000,50.000000,10.000000,"Gender" \n "Selected"}; item6[] = {"Timeout",4,218,-350.000000,0.000000,-250.000000,50.000000,0.000000,"Timeout"}; item7[] = {"Process",2,250,-400.000000,75.000000,-300.000000,125.000000,0.000000,"Process"}; item8[] = {"same_gender",4,218,-250.000000,75.000000,-150.000000,125.000000,10.000000,"same" \n "gender"}; item9[] = {"other_gender",4,218,-400.000000,150.000000,-300.000000,200.000000,0.000000,"other" \n "gender"}; item10[] = {"Send_To_Server",3,250,-125.000000,75.000000,-25.000000,125.000000,0.000000,"Send To Server"}; item11[] = {"TODO__ADD_TIMEOUT",4,4314,-275.000000,250.000000,-175.000000,300.000000,0.000000,"TODO:" \n "ADD TIMEOUT" \n "AND LOBBY KICK"}; item12[] = {"END",1,250,0.000000,450.000000,100.000000,500.000000,0.000000,"END"}; item13[] = {"Send_new_selection",2,250,-400.000000,250.000000,-300.000000,300.000000,0.000000,"Send new" \n "selection to" \n "server"}; item14[] = {"Select_Model",2,250,-400.000000,350.000000,-300.000000,400.000000,0.000000,"Select Model"}; item15[] = {"new_model____pla",4,218,-525.000000,400.000000,-425.000000,450.000000,0.000000,"new model" \n "==" \n "player"}; item16[] = {"Setup_EH",2,250,-400.000000,450.000000,-300.000000,500.000000,0.000000,"Setup EH"}; item17[] = {"true",8,218,-125.000000,450.000000,-25.000000,500.000000,0.000000,"true"}; item18[] = {"____FAKE____",9,720,0.000000,0.000000,0.000000,0.000000,0.000000,"____FAKE____"}; link0[] = {0,2}; link1[] = {1,14}; link2[] = {2,3}; link3[] = {3,4}; link4[] = {3,5}; link5[] = {3,6}; link6[] = {4,3}; link7[] = {5,7}; link8[] = {6,7}; link9[] = {7,8}; link10[] = {7,9}; link11[] = {8,10}; link12[] = {9,13}; link13[] = {10,17}; link14[] = {13,1}; link15[] = {13,11}; link16[] = {14,15}; link17[] = {15,16}; link18[] = {16,17}; link19[] = {17,12}; link20[] = {11,18}; globals[] = {25.000000,1,0,0,0,640,480,1,250,6316128,1,-786.968628,194.189285,571.765747,-266.728790,1066,911,1}; window[] = {2,-1,-1,-1,-1,753,25,1063,25,3,1084}; *//*%FSM*/ class FSM { fsmName = "Gender Selection"; class States { /*%FSM*/ class INIT { name = "INIT"; init = /*%FSM*/"titleCut ["""", ""BLACK FADED"", 1337];" \n "0 fadeSound 0;" \n "EPOCH_PlayerIsMale = nil;" \n "" \n "_myGenderTime = diag_tickTime;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class true { priority = 0.000000; to="Open_Gender_Selection"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Open_Gender_Selection { name = "Open_Gender_Selection"; init = /*%FSM*/"createdialog ""SelectGender"";"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Gender_Selected { priority = 10.000000; to="Process"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!isNil ""EPOCH_PlayerIsMale"""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Timeout { priority = 0.000000; to="Process"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"((diag_tickTime - _myGenderTime) > 30)"/*%FSM*/; action=/*%FSM*/"EPOCH_PlayerIsMale = true;" \n "closeDialog 0;"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Reopen_when_client { priority = 0.000000; to="Open_Gender_Selection"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!dialog && isNil ""EPOCH_PlayerIsMale"""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Process { name = "Process"; init = /*%FSM*/"_model = ""Epoch_Female_F"";" \n "if (EPOCH_PlayerIsMale) then {" \n " _model = ""Epoch_Male_F"";" \n "};" \n "" \n "_currModel = typeOf player;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class same_gender { priority = 10.000000; to="Send_To_Server"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_currModel == _model"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class other_gender { priority = 0.000000; to="Send_new_selection"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_currModel != _model"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Send_To_Server { name = "Send_To_Server"; init = /*%FSM*/"EPOCH_respawnPlayer_PVS = [player, Epoch_personalToken];" \n "publicVariableServer ""EPOCH_respawnPlayer_PVS"";"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class true { priority = 0.000000; to="END"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class END { name = "END"; init = /*%FSM*/"titleCut ["""", ""BLACK IN"", 1];" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class Send_new_selection { name = "Send_new_selection"; init = /*%FSM*/"EPOCH_respawnPlayer_PVS = [player, Epoch_personalToken,EPOCH_PlayerIsMale];" \n "publicVariableServer ""EPOCH_respawnPlayer_PVS"";"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class TODO__ADD_TIMEOUT { priority = 0.000000; to="____FAKE____"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"false"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Respone { priority = 0.000000; to="Select_Model"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!isNil ""EPOCH_switchPlayer_PVC"""/*%FSM*/; action=/*%FSM*/"_playerObject = EPOCH_switchPlayer_PVC;" \n "EPOCH_switchPlayer_PVC = nil;"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Select_Model { name = "Select_Model"; init = /*%FSM*/"_oldModel = player;" \n "selectPlayer _playerObject;" \n "deleteVehicle _oldModel;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class new_model____pla { priority = 0.000000; to="Setup_EH"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_playerObject == player"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Setup_EH { name = "Setup_EH"; init = /*%FSM*/"player addEventHandler [""Respawn"", {(_this select 0) call EPOCH_clientRespawn}];" \n "player addEventHandler [""Put"", {(_this select 1) call EPOCH_interact;_this call EPOCH_PutHandler}];" \n "player addEventHandler [""Take"", {(_this select 1) call EPOCH_interact;_this call EPOCH_UnisexCheck}];" \n "player addEventHandler [""InventoryClosed"", {if !(EPOCH_arr_interactedObjs isEqualTo[]) then {EPOCH_arr_interactedObjs remoteExec[""EPOCH_server_save_vehicles"", 2]; EPOCH_arr_interactedObjs = [];};}];" \n "player addEventHandler [""InventoryOpened"", {_this spawn EPOCH_initUI; (locked (_this select 1) in [2, 3])}];" \n "player addEventHandler [""Fired"", {_this call EPOCH_fnc_playerFired}];" \n "player addEventHandler [""Killed"", {_this call EPOCH_fnc_playerDeath}];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class true { priority = 0.000000; to="END"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class ____FAKE____ { name = "____FAKE____"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ }; initState="INIT"; finalStates[] = { "END" }; }; /*%FSM*/