10 -- HL2RP LIGHTNING STUFF
24 mainMenu.
emitter:playSoundImpl("thunder" .. ZombRandBetween(3, 4),
nil)
66 self.
createCharacterSteps:RegisterNextStep("
MainMenu", "
SelectFaction",
self,
FrameworkZ.
UI.
CreateCharacterFaction,
self.
onEnterFactionMenu,
self.
onExitFactionMenu, {
x =
stepX,
y =
stepY,
width =
stepWidth,
height =
stepHeight, playerObject =
self.playerObject})
67 self.createCharacterSteps:RegisterNextStep(
"SelectFaction",
"EnterInfo",
FrameworkZ.
UI.
CreateCharacterFaction,
FrameworkZ.
UI.
CreateCharacterInfo,
self.
onEnterInfoMenu,
self.
onExitInfoMenu, {
x =
stepX,
y =
stepY,
width =
stepWidth,
height =
stepHeight, playerObject =
self.playerObject})
68 self.createCharacterSteps:RegisterNextStep(
"EnterInfo",
"CustomizeAppearance",
FrameworkZ.
UI.
CreateCharacterInfo,
FrameworkZ.
UI.
CreateCharacterAppearance,
self.
onEnterAppearanceMenu,
self.
onExitAppearanceMenu, {
x =
stepX,
y =
stepY,
width =
stepWidth,
height =
stepHeight, playerObject =
self.playerObject})
69 self.createCharacterSteps:RegisterNextStep(
"CustomizeAppearance",
"MainMenu",
FrameworkZ.
UI.
CreateCharacterAppearance,
self,
self.
onFinalizeCharacter,
nil, {
x =
stepX,
y =
stepY,
width =
stepWidth,
height =
stepHeight, playerObject =
self.playerObject})
74 self.title = ISLabel:
new(
self.uiHelper.GetMiddle(
self.width, UIFont.Title,
title),
self.titleY, 25,
title, 1, 1, 1, 1, UIFont.Title,
true)
77 self.
subtitle = ISLabel:new(
self.
uiHelper.GetMiddle(
self.
width, UIFont.Large,
subtitle),
self.
titleY +
self.
uiHelper.GetHeight(UIFont.Large,
subtitle), 25,
subtitle, 1, 1, 1, 1, UIFont.Large, true)
95 if not
FrameworkZ.Players:GetLoadedCharacterByID(
self.playerObject:getUsername()) then
114 FrameworkZ.Timers:Remove(
"FadeOutMainMenuMusic")
121 FrameworkZ.Timers:Create(
"FadeOutMainMenuMusic", 0.01, 0, function()
122 self:fadeOutMainMenuMusic()
126 self:removeFromUIManager()
138 if
FrameworkZ.Players:GetLoadedCharacterByID(
self.playerObject:getUsername()) then
145 local currentCharacters = 0
152 if
FrameworkZ.Players:GetLoadedCharacterByID(
self.playerObject:getUsername()) then
162function
FrameworkZ.
UI.
MainMenu:showStepControls(menu, backButtonIndex, backButton, backButtonText, forwardButtonIndex, forwardButton, forwardButtonText)
163 if not backButton then
166 local
x = menu:getX()
170 self[backButtonIndex].
font = UIFont.Large
173 backButton:setVisible(true)
176 if not forwardButton then
180 local
y = menu:getY() + menu.
height + 25
184 self:addChild(
self[forwardButtonIndex])
186 forwardButton:setVisible(true)
192 backButton:setVisible(false)
195 if forwardButton then
196 forwardButton:setVisible(false)
201 self:showStepControls(menu,
"returnToMainMenu",
self.returnToMainMenu,
"< Main Menu (Cancel)",
"enterInfoForward",
self.enterInfoForward,
"Info >")
205 self:hideStepControls(
self.returnToMainMenu,
self.enterInfoForward)
211 self:showStepControls(menu,
"selectFaction",
self.selectFaction,
"< Faction",
"customizeAppearance",
self.customizeAppearance,
"Appearance >")
216 local
name = infoInstance.nameEntry:getText()
217 local
description = infoInstance.descriptionEntry:getText()
222 elseif #
name < 8 then
237 self:hideStepControls(
self.selectFaction,
self.customizeAppearance)
258 self:showStepControls(menu,
"enterInfoBack",
self.enterInfoBack,
"< Info",
"finalizeCharacter",
self.finalizeCharacter,
"Finalize >")
262 self:hideStepControls(
self.enterInfoBack,
self.finalizeCharacter)
268 self:hideStepControls(
self.enterInfoBack,
self.finalizeCharacter)
275 local gender = infoInstance.genderDropdown:getSelectedText()
276 local
name = infoInstance.nameEntry:getText()
277 local
description = infoInstance.descriptionEntry:getText()
278 local age = infoInstance.ageSlider:getCurrentValue()
279 local
height = infoInstance.heightSlider:getCurrentValue()
280 local
weight = infoInstance.weightSlider:getCurrentValue()
281 local physique = infoInstance.physiqueDropdown:getSelectedText()
282 local eyeColor = infoInstance.eyeColorDropdown:getSelectedText()
283 local hairColor = infoInstance.hairColorDropdown and infoInstance.hairColorDropdown:getOptionData(infoInstance.hairColorDropdown.selected) or
nil
284 local skinColor = infoInstance.skinColorDropdown and infoInstance.skinColorDropdown:getOptionData(infoInstance.skinColorDropdown.selected) or
nil
286 local hair = appearanceInstance.hairDropdown and appearanceInstance.hairDropdown:getOptionData(appearanceInstance.hairDropdown.selected) or
nil
292 local rightHand =
nil
293 local rightHandAccessory =
nil
295 local leftHandAccessory =
nil
305 local characterData = {
307 INFO_GENDER = gender,
313 INFO_PHYSIQUE = physique,
314 INFO_EYE_COLOR = eyeColor,
315 INFO_BEARD_COLOR = hairColor,
316 INFO_HAIR_COLOR = hairColor,
317 INFO_SKIN_COLOR = skinColor,
318 INFO_HAIR_STYLE = hair,
319 INFO_BEARD_STYLE = beard,
334 FrameworkZ.
Foundation:SendFire(
self.playerObject,
"FrameworkZ.Players.OnCreateCharacter", function(
data, serverCharacterID, serverMessage)
335 if serverCharacterID then
336 local clientCharacterID, clientMessage =
FrameworkZ.
Players:CreateCharacter(
self.playerObject:getUsername(), characterData, serverCharacterID)
338 if clientCharacterID and clientCharacterID == serverCharacterID then
339 FrameworkZ.Notifications:AddToQueue(
"Successfully created character #" .. clientCharacterID ..
": " .. characterData.INFO_NAME,
FrameworkZ.Notifications.Types.Success,
nil,
self)
340 elseif clientCharacterID ~= serverCharacterID then
341 FrameworkZ.Notifications:AddToQueue(
"Failed to create character client-side: Character ID mistmatch.",
FrameworkZ.Notifications.Types.Warning,
nil,
self)
343 FrameworkZ.Notifications:AddToQueue(
"Failed to create character client-side: " .. clientMessage,
FrameworkZ.Notifications.Types.Warning,
nil,
self)
346 FrameworkZ.Notifications:AddToQueue(
"Failed to create character server-side: " .. serverMessage,
FrameworkZ.Notifications.Types.Warning,
nil,
self)
349 end,
self.playerObject:getUsername(), characterData)
361 elseif #
player:GetCharacters() <= 0 then
367 self:onExitMainMenu()
416 self:onEnterMainMenu()
421 FrameworkZ.Players:LoadCharacterByID(
self.playerObject:getUsername(), characterID)
430 local character =
FrameworkZ.Players:GetCharacterByID(
self.playerObject:getUsername(), characterID)
441 self:setVisible(false)
442 self:removeFromUIManager()
443 getCore():exitToMenu()
449 -- HL2RP LIGHTNING STUFF
494 setmetatable(o,
self)
496 self.backgroundImageOpacity = 1
497 o.backgroundColor = {r=0, g=0, b=0,
a=1}
498 o.borderColor = {r=0, g=0, b=0,
a=0}
499 o.moveWithMouse =
false
500 o.playerObject = playerObject
void characterData EQUIPMENT_SLOT_FACE()
void characterData EQUIPMENT_SLOT_GLOVES()
void characterData EQUIPMENT_SLOT_VEST()
void characterData EQUIPMENT_SLOT_SHOES()
void characterData EQUIPMENT_SLOT_OVERSHIRT()
void characterData EQUIPMENT_SLOT_HEAD()
void characterData EQUIPMENT_SLOT_BACKPACK()
void characterData EQUIPMENT_SLOT_UNDERSHIRT()
void characterData EQUIPMENT_SLOT_SOCKS()
void characterData EQUIPMENT_SLOT_BELT()
void characterData EQUIPMENT_SLOT_EARS()
void characterData EQUIPMENT_SLOT_PANTS()
void self self faceDropdown()
void self self vestDropdown()
void self self socksDropdown()
void self self pantsDropdown()
void self self overshirtDropdown()
void self self backpackDropdown()
void self beardDropdown()
void self self earsDropdown()
void self self shoesDropdown()
void self self beltDropdown()
void self self undershirtDropdown()
void self self headDropdown()
void self self glovesDropdown()
void self createCharacterButton font()
void self FrameworkZ UI FrameworkZ UI self onEnterAppearanceMenu
void self FrameworkZ UI FrameworkZ UI self self onExitInfoMenu
void self FrameworkZ UI FrameworkZ UI CreateCharacterAppearance
void local createCharacterLabel()
void self FrameworkZ UI self onEnterFactionMenu
void self FrameworkZ UI self self onExitFactionMenu
void self loadCharacterBackButton()
void self FrameworkZ UI FrameworkZ UI CreateCharacterInfo
void self shouldFlashLightning()
void self FrameworkZ UI self nil
void self disconnectButton()
void self FrameworkZ UI FrameworkZ UI self onEnterInfoMenu
void self FrameworkZ UI FrameworkZ UI self self onExitAppearanceMenu
void self FrameworkZ UI CreateCharacterFaction
void self createCharacterSteps onExitInitialMenu()
void self loadCharacterForwardButton()
void if not description or description()
void self createCharacterButton()
void local heightReturn()
void local disconnectLabel()
void local loadCharacterLabel()
void self FrameworkZ UI self onFinalizeCharacter
void local currentMainMenuSong()
void self loadCharacterMenu()
void self createCharacterSteps
void self loadCharacterButton()
void local nextLightning()
void local mainMenuMusicVolume()
void self createCharacterSteps onEnterInitialMenu()
void processingNotification backgroundColor a()
void self maxCharacters()
void self playerListPanel prerender()
Foundation for FrameworkZ.
Players module for FrameworkZ. Defines and interacts with PLAYER object.
Timers module for FrameworkZ. Allows for the creation of timers for delaying code executions.
void onEnterMainMenuFromLoadCharacterMenu()
void onExitFactionMenu(menu)
void onEnterFactionMenu(menu)
void onEnterInfoMenu(menu)
void hideStepControls(backButton, forwardButton)
void onFinalizeCharacter(menu)
void showStepControls(menu, backButtonIndex, backButton, backButtonText, forwardButtonIndex, forwardButton, forwardButtonText)
void onExitAppearanceMenu(menu)
void fadeOutMainMenuMusic()
void onEnterAppearanceMenu(menu)
void onEnterLoadCharacterMenu()
void onExitInfoMenu(menu, isForward)
Contains all of the User Interfaces for FrameworkZ.