Jump to content

[GUI] Boht mushkil hay


Recommended Posts

Aap ne jo GUIEditor ka output mujhay diya tha us ko maine fully functional bana diya hai, ab is ko samjho aur tumhain GUI-Handling ke basics 100% a jayengay.

Is mein maine sari copyrights aap ke names ki rakhi hain, is ko samjho aur questions karo.

client.lua

------------------------------- 
--> OGC ~ Old Gaming Community 
--> Login Panel by Robin.. 
--> :ogcLogin/client.lua 
------------------------------- 
  
--> GUI drawing... 
local x, y = guiGetScreenSize() -- Centering window. 
local cX, cY = (x / 2) - (348 / 2), (y / 2) - (356 / 2) -- Centering window. 
  
login_wnd = guiCreateWindow(cX, cY, 348, 356, "OGC ~ Old Gaming Community", false) 
    guiWindowSetSizable(login_wnd, false) 
user_edit = guiCreateEdit(86, 163, 187, 25, "", false, login_wnd) 
pass_edit = guiCreateEdit(86, 226, 187, 25, "", false, login_wnd) 
user_lbl = guiCreateLabel(96, 125, 158, 38, "Username:", false, login_wnd) 
    guiSetFont(user_lbl, "default-bold-small") 
    guiLabelSetColor(user_lbl, 0, 85, 255) 
pass_lbl = guiCreateLabel(96, 188, 158, 38, "Password:", false, login_wnd) 
    guiSetFont(pass_lbl, "default-bold-small") 
    guiLabelSetColor(pass_lbl, 0, 85, 255) 
login_btn = guiCreateButton(70, 261, 223, 23, "Login", false, login_wnd) 
    guiSetFont(login_btn, "default-bold-small") 
register_btn = guiCreateButton(70, 294, 223, 22, "Register an account", false, login_wnd) 
    guiSetFont(register_btn, "default-bold-small") 
ogc_logo = guiCreateStaticImage(45, 24, 266, 101, "OGClogo.png", false, login_wnd) -- add a picture named OGCLogo.png in same directory. 
pass_btn = guiCreateButton(71, 322, 222, 20, "Request a new password", false, login_wnd) 
    guiSetFont(pass_btn, "default-bold-small") 
guiSetVisible(login_wnd, false) 
  
  
--> Basic Functions... 
function showLogin() -- Show login when player joins server. 
    guiSetVisible(login_wnd, true) 
    showCursor(true) 
    toggleControl("chatbox", false) 
    fadeCamera(false) 
end 
addEvent("ogcLogin.showGUI", true) 
addEventHandler("ogcLogin.showGUI", root, showLogin) 
  
function loginPlayer() -- Login button handler. 
    local user = guiGetText(user_edit) 
    local pass = guiGetText(pass_edit) 
    triggerServerEvent("ogcLogin.checkData", root, user, pass) 
end 
addEventHandler("onClientGUIClick", login_btn, loginPlayer, false) 
  
function closeWindow() -- Close login window on success. 
    guiSetVisible(login_wnd, false) 
    showCursor(false) 
    toggleControl("chatbox", true) 
    fadeCamera(true) 
end 
addEvent("ogcLogin.closeWindow", true) 
addEventHandler("ogcLogin.closeWindow", root, closeWindow) 
  
function registerUser() -- Register button handler. 
    local user = guiGetText(user_edit) 
    local pass = guiGetText(pass_edit) 
    triggerServerEvent("ogcLogin.registerUser", root, user, pass) 
end 
addEventHandler("onClientGUIClick", register_btn, registerUser, false) 

Server.lua

------------------------------- 
--> OGC ~ Old Gaming Community 
--> Login Panel by Robin.. 
--> :ogcLogin/server.lua 
------------------------------- 
  
function joinHandler() -- This function handles every player's joining to server. 
    triggerClientEvent(source, "ogcLogin.showGUI", source) 
end 
addEventHandler("onPlayerJoin", root, joinHandler) 
  
function checkData(user, pass) -- Checks login data given at GUI edits. 
    local check = logIn(client, getAccount(user), pass) 
    if (not check) then 
        outputChatBox("Invalid Login data provided, try again...", client, 200, 0, 0) 
        return 
    end 
    triggerClientEvent(client, "ogcLogin.closeWindow", client) 
end 
addEvent("ogcLogin.checkData", true) 
addEventHandler("ogcLogin.checkData", root, checkData) 
  
function registerUser(user, pass) -- Checks register data given at GUI edits. 
    local check = addAccount(user, pass) 
    if (not check) then 
        outputChatBox("Invalid Login data provided or account already exists, try again.", client, 200, 0, 0) 
        return 
    end 
    outputChatBox("You have successfully registered new account in OGC, welcome.", client, 0, 200, 0) 
    outputChatBox("You may now login with your newly registered account.", client, 0, 200, 200) 
end 
addEvent("ogcLogin.registerUser", true) 
addEventHandler("ogcLogin.registerUser", root, registerUser) 

meta.xml

    

However, addAccount() wala feature nahi kaam karega, us ke liye tumhain ingame admin panel kholna hoga, open "Resources tab" > Click "Manage ACL" > Double click "Admin group" > Click "Add object" > Type "resource.ogcLogin". Aur is script ke folder ka name bhi "ogcLogin" hona chahiye.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...