Advertisement
Guest User

Untitled

a guest
May 24th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.63 KB | None | 0 0
  1. -- Jonathan Patrick | Entelicon | 2/22/2019
  2.  
  3. local MatchModule = require(game.ReplicatedStorage.Modules.MatchModule);
  4. local RoundModule = require(game.ReplicatedStorage.Modules.RoundModule);
  5. local WeaponModule = require(game.ReplicatedStorage.Modules.WeaponFramework.Weapon);
  6. local BackpackModule = require(game.ReplicatedStorage.Modules.BackpackModule);
  7. local ProjectileModule = require(game.ReplicatedStorage.Modules.WeaponFramework.Projectile);
  8.  
  9. local WeaponFramework = require(game.ReplicatedStorage.Modules.WeaponFramework);
  10.  
  11. local localPlayer = nil;
  12.  
  13. local setStateBindableEvent = nil;
  14. local shopExitedBindableEvent = nil;
  15. local shopEnteredBindableEvent = nil;
  16. local standToggledBindableEvent = nil;
  17. local characterAddedBindableEvent = nil;
  18. local overviewToggledBindableEvent = nil;
  19. local matchInformationDisplayedBindableEvent = nil;
  20.  
  21. local playerJoinedMatchClientRemoteEvent = nil;
  22.  
  23. local replicateWeaponDynamicRemoteEvent = nil;
  24. local replicatedProjectileDynamicRemoteEvent = nil;
  25.  
  26. local hasMatchInformationBeenDisplayed = false;
  27.  
  28. function Initialize()
  29.  
  30. localPlayer = game.Players.LocalPlayer;
  31.  
  32. setStateBindableEvent = game.ReplicatedStorage.Messages.Bindable.Events.SetStateBindableEvent;
  33. shopExitedBindableEvent = game.ReplicatedStorage.Messages.Bindable.Events.Client.ShopExitedBindableEvent;
  34. shopEnteredBindableEvent = game.ReplicatedStorage.Messages.Bindable.Events.Client.ShopEnteredBindableEvent;
  35. standToggledBindableEvent = game.ReplicatedStorage.Messages.Bindable.Events.Client.StandToggledBindableEvent;
  36. characterAddedBindableEvent = game.ReplicatedStorage.Messages.Bindable.Events.Client.CharacterAddedBindableEvent;
  37. overviewToggledBindableEvent = game.ReplicatedStorage.Messages.Bindable.Events.Client.Interface.OverviewToggledBindableEvent;
  38. matchInformationDisplayedBindableEvent = game.ReplicatedStorage.Messages.Bindable.Events.Client.Interface.MatchInformationDisplayedBindableEvent;
  39.  
  40. playerJoinedMatchClientRemoteEvent = game.ReplicatedStorage.Messages.Remote.Events.PlayerJoinedMatchClientRemoteEvent;
  41.  
  42. replicateWeaponDynamicRemoteEvent = game.ReplicatedStorage.Messages.Remote.Events.ReplicateWeaponDynamicRemoteEvent;
  43. replicatedProjectileDynamicRemoteEvent = game.ReplicatedStorage.Messages.Remote.Events.ReplicateProjectileDynamicRemoteEvent;
  44.  
  45. end
  46.  
  47. function OnShopExited(shopName)
  48. WeaponFramework.ToggleAll(true);
  49. end
  50.  
  51. function OnShopEntered(shopName)
  52. WeaponFramework.ToggleAll(false);
  53. end
  54.  
  55. function OnStandToggled(standName, toggleBool)
  56. WeaponFramework.ToggleAll(not toggleBool);
  57. setStateBindableEvent:Fire("DisableStates");
  58. end
  59.  
  60. function OnCharacterAdded(isCharacterFirstLoad)
  61.  
  62. local isEntrantValue = localPlayer:WaitForChild("PlayerValues").GeneralValues.IsEntrantValue.Value;
  63.  
  64. if (isEntrantValue == true) then
  65.  
  66. -- Because Delay
  67. wait(0.1);
  68. hasMatchInformationBeenDisplayed = true;
  69. OnPlayerJoinedMatch(localPlayer.Name);
  70.  
  71. end
  72. end
  73.  
  74. function OnOverviewToggled(toggleBool)
  75.  
  76. local isMatchOpen = MatchModule.IsMatchOpen() == true and MatchModule.IsMatchLive() == false;
  77. local isEntrantValue = localPlayer:WaitForChild("PlayerValues").GeneralValues.IsEntrantValue.Value;
  78.  
  79. if (isMatchOpen == true) and (isEntrantValue == true) then return end;
  80.  
  81. WeaponFramework.ToggleAll(not toggleBool);
  82. if (toggleBool == true) then setStateBindableEvent:Fire("DisableStates") end
  83. end
  84.  
  85. function OnPlayerJoinedMatch(playerName)
  86.  
  87. if (playerName == localPlayer.Name) then
  88.  
  89. local isMatchOpenBool = MatchModule.IsMatchOpen() == true and MatchModule.IsMatchLive() == false;
  90. local isEntrantValue = localPlayer:WaitForChild("PlayerValues").GeneralValues.IsEntrantValue.Value;
  91. local allowMovementBool = (true == true) and (isMatchOpenBool == false) and (isEntrantValue == true) and hasMatchInformationBeenDisplayed;
  92.  
  93. WeaponFramework.ToggleAll(allowMovementBool);
  94. setStateBindableEvent:Fire("DisableStates");
  95.  
  96. end
  97. end
  98.  
  99. function OnRoundStateUpdated(updatedRoundState)
  100.  
  101. local isEntrantValue = localPlayer:WaitForChild("PlayerValues").GeneralValues.IsEntrantValue.Value;
  102.  
  103. if (isEntrantValue == true) then
  104.  
  105. local isMatchFininished = updatedRoundState == "MatchFinished";
  106.  
  107. if (isMatchFininished) then
  108. hasMatchInformationBeenDisplayed = false;
  109. WeaponFramework.ToggleAll(false);
  110. setStateBindableEvent:Fire("DisableStates");
  111. else
  112. WeaponFramework.ToggleAll(true);
  113. end
  114. end
  115. end
  116.  
  117. function OnPlayerAdded(player)
  118.  
  119. local self = BackpackModule.Equipped;
  120.  
  121. if (self.Name ~= "None") and (self.Name ~= "Dead") then
  122. local serverData = {Name = self.Name, Type = self.Type, C0 = self.C0};
  123. replicateWeaponDynamicRemoteEvent:FireServer("Equip", serverData);
  124. end
  125. end
  126.  
  127. function Test()
  128. hasMatchInformationBeenDisplayed = true;
  129. OnPlayerJoinedMatch(localPlayer.Name);
  130. end
  131.  
  132. Initialize();
  133.  
  134. shopExitedBindableEvent.Event:Connect(OnShopExited);
  135. shopEnteredBindableEvent.Event:Connect(OnShopEntered);
  136. standToggledBindableEvent.Event:Connect(OnStandToggled);
  137. characterAddedBindableEvent.Event:Connect(OnCharacterAdded);
  138. overviewToggledBindableEvent.Event:Connect(OnOverviewToggled);
  139. matchInformationDisplayedBindableEvent.Event:Connect(Test);
  140.  
  141. playerJoinedMatchClientRemoteEvent.OnClientEvent:Connect(OnPlayerJoinedMatch);
  142.  
  143. replicatedProjectileDynamicRemoteEvent.OnClientEvent:Connect(function(p,w, f, ...)
  144. if (p ~= localPlayer) then
  145. ProjectileModule[f](w, p, ...);
  146. end
  147. end);
  148.  
  149. replicateWeaponDynamicRemoteEvent.OnClientEvent:Connect(function(p, f, ...)
  150. if (p ~= localPlayer) then
  151. WeaponModule.Replicated[f](p, ...);
  152. end
  153. end);
  154.  
  155. game.Players.PlayerAdded:Connect(OnPlayerAdded);
  156.  
  157. RoundModule.OnRoundStateUpdated():Connect(OnRoundStateUpdated);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement