Jump to content

skin selector doesn't work :(


Monty

Recommended Posts

i set this login panel to autologin after registration... but the skin selector after that doesn't work :(

server

-- Login handling 
function loginPlayer(username,password,enableKickPlayer,attemptedLogins,maxLoginAttempts) 
    if not (username == "") then 
        if not (password == "") then 
            local account = getAccount ( username, password ) 
            if ( account ~= false ) then 
                logIn (source, account, password) 
                outputChatBox ("#0000FF* #FFFFFFYou have sucessfully logged in!",source,255,255,255,true) 
                setTimer(outputChatBox,700,1,"#0000FF* #FFFFFFTo enable auto-login, use #ABCDEF/enableauto#FFFFFF!",source,255,255,255,true) 
                triggerClientEvent (source,"hideLoginWindow",getRootElement()) 
            else 
                if enableKickPlayer == true then 
                    if (attemptedLogins >= maxLoginAttempts-1) then 
                        outputChatBox ("#0000FF* #FFFFFFError! Wrong username and/or password!",source,255,255,255,true) 
                        setTimer(outputChatBox,500,1,"#0000FF* #FFFFFFWarning! Maximum login attempts reached! [#008AFF"..attemptedLogins+1 .."/"..maxLoginAttempts.."#FFFFFF]",source,255,255,255,true) 
                        setTimer(outputChatBox,1000,1,"#0000FF* #FFFFFFYou will be kicked in #008AFF5 seconds#FFFFFF!",source,255,255,255,true) 
                        setTimer(kickPlayer,5000,1,source,"Failed to login") 
                    else 
                        outputChatBox ("#0000FF* #FFFFFFError! Wrong username and/or password!",source,255,255,255,true) 
                        setTimer(outputChatBox,500,1,"#0000FF* #FFFFFFLogin attempts: [#008AFF"..attemptedLogins+1 .."/"..maxLoginAttempts.."#FFFFFF]",source,255,255,255,true) 
                        triggerClientEvent(source,"onRequestIncreaseAttempts",source) 
                    end 
                else 
                    outputChatBox ("#0000FF* #FFFFFFError! Wrong username and/or password!",source,255,255,255,true) 
                end 
            end 
        else 
            outputChatBox ("#0000FF* #FFFFFFError! Please enter your password!",source,255,255,255,true) 
        end 
    else 
        outputChatBox ("#0000FF* #FFFFFFError! Please enter your username!",source,255,255,255,true) 
    end 
end 
  
  
  
-- Registration here 
function registerPlayer(username,password,passwordConfirm) 
    if not (username == "") then 
        if not (password == "") then 
            if not (passwordConfirm == "") then 
                if password == passwordConfirm then 
                    local account = getAccount (username,password) 
                    if (account == false) then 
                        local accountAdded = addAccount(tostring(username),tostring(password)) 
                        if (accountAdded) then 
                        logIn( username, password ) 
                            triggerClientEvent(source,"hideRegisterWindow",getRootElement()) 
                            outputChatBox ("#0000FF* #FFFFFFYou have sucessfuly registered! [username: #ABCDEF" .. username .. " #FF0000| #FFFFFFPassword: #ABCDEF" .. password .. "#FFFFFF]",source,255,255,255,true ) 
                            setTimer(outputChatBox,800,1,"#0000FF* #FFFFFFYou can now login with your new account.",source,255,255,255,true ) 
                        else 
                            outputChatBox ("#0000FF* #FFFFFFAn unknown error has occured! Please choose a different username/password and try again.",source,255,255,255,true ) 
                        end 
                    else 
                        outputChatBox ("#0000FF* #FFFFFFError! An account with this username already exists!",source,255,255,255,true ) 
                    end 
                else 
                    outputChatBox ("#0000FF* #FFFFFFError! Passwords do not match!",source,255,255,255,true) 
                end 
            else 
                outputChatBox ("#0000FF* #FFFFFFError! Please confirm your password!",source,255,255,255,true) 
            end 
        else 
            outputChatBox ("#0000FF* #FFFFFFError! Please enter a password!",source,255,255,255,true) 
        end 
    else 
        outputChatBox ("#0000FF* #FFFFFFError! Please enter a username you would like to register with!",source,255,255,255,true) 
    end 
end 
  
  
  
-- Auto-login handling 
function autologinPlayer(username,password) 
    if not (username == "") then 
        if not (password == "") then 
            local account = getAccount ( username, password ) 
            if not (account == false) then 
                logIn (localPlayer, account, password) 
                outputChatBox("#0000FF* #FFFFFFYou have been automatically logged in.",source,255,255,255,true) 
                setTimer(outputChatBox,1000,1,"#0000FF* #FFFFFFTo disable auto-login, use #ABCDEF/disableauto.",source,255,255,255,true) 
                triggerClientEvent ( source, "hideLoginWindow", getRootElement()) 
            else 
                outputChatBox ("#FF0000* #FFFFFFAuto-login error - Username & password do not match",source,255,255,255,true) 
            end 
        else 
            outputChatBox ("#FF0000* #FFFFFFAuto-login error - Failed to retrieve password",source,255,255,255,true) 
        end 
    else 
        outputChatBox ("#FF0000* #FFFFFFAuto-login error - Failed to retrieve username",source,255,255,255,true) 
    end 
end 
  
  
  
-- When the player logs out, trigger the client event to check if the login panel will request them to login again 
function logoutHandler() 
    triggerClientEvent(source,"onRequestDisplayPanel",source) 
end 
addEventHandler("onPlayerLogout",getRootElement(),logoutHandler) 
  
  
  
  
-- Get the server's name 
function getData() 
    local sName = md5(getServerName()) 
    local sName = string.sub(sName,0,15) 
    triggerClientEvent(source,"onGetServerData",getRootElement(),sName) 
end 
  
    local vehicles = {} 
      
    function getSkinReg(model) 
        spawnPlayer( source,  2035.1999511719, -1406.5, 16.200000762939, 0, 0, 0, id) 
        playeraccount = getPlayerAccount(source) 
        setAccountData(playeraccount, "standardskin", model) 
    end 
    addEvent("useSkinReg",true) 
    addEventHandler("useSkinReg", root, getSkinReg) 
  
  
  
addEvent("onRequestLogin",true) 
addEvent("onRequestRegister",true) 
addEvent("onRequestAutologin",true) 
addEvent("onClientLoginLoaded",true) 
addEventHandler("onRequestLogin",getRootElement(),loginPlayer) 
addEventHandler("onRequestRegister",getRootElement(),registerPlayer) 
addEventHandler("onRequestAutologin",getRootElement(),autologinPlayer) 
addEventHandler("onClientLoginLoaded",getRootElement(),getData) 

client

 ---------------------------------- 
-----------| Settings |-----------
----------------------------------
 
blackLoginScreen = false            -- Set to 'true' to display a black screen to the player untill they log in or choose to play as a guest.
 
enableKickPlayer = true         -- Set whether to kick the player after they fail to login specified amount of times.
 
disallowLogout = false          -- Set whether to show the userpanel to the players if they log out of their accounts.
 
removeBlackScreenTime = 0       -- The time it takes for the black screen to dissapear - If you choose to display the black screen. [iN SECONDS]
 
maxLoginAttempts = 5            -- Set the maximum incorrect login attempts before the player gets kicked - If player kicking is enabled.
 
----------------------------------
 
 
 
-- Set the text you want displayed in the "rules" window here - use '\n' to go into the next line
 
 
 
-- Screen and GUI window sizes
screenWidth,screenHeight = guiGetScreenSize()
mainWidth,mainHeight = 749,472
regWidth,regHeight = 439,344
 
 
-- Generate the XML file name
function getServerName()
    triggerServerEvent("onClientLoginLoaded",getLocalPlayer())
end
addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),getServerName)
 
function setXmlFileName(sName)
    xmlFileName = tostring("login_"..sName..".xml")
    loginPanel()
end
addEvent("onGetServerData",true)
addEventHandler("onGetServerData",getRootElement(),setXmlFileName)
 
 
 
 
 
----------------------------------
 
addEvent("onRequestIncreaseAttempts",true)
addEvent("onRequestDisplayPanel",true)
 
function loginPanel()
        -- Check if autologin is enabled - If yes, then log the player in, else create and show the userpanel
        local xmlFile = xmlLoadFile(xmlFileName)
        if xmlFile then
            status = xmlNodeGetAttribute(xmlFile,"autologin")
            if (status == "true") then
                local username = tostring(xmlNodeGetAttribute(xmlFile,"username"))
                local password = tostring(xmlNodeGetAttribute(xmlFile,"password"))
                if not (username == "") and not (password == "") then
                    triggerServerEvent("onRequestAutologin",getLocalPlayer(),username,password)
                end
            else
                if blackLoginScreen == false then
                setCameraMatrix(-1475.5, 831.18, 65.5, -1487.5, 800.18, 65.5)
                end
                mainWindow = guiCreateWindow(screenWidth/2-mainWidth/2,screenHeight/2-mainHeight/2,mainWidth,mainHeight,"Login panel",false)
                guiWindowSetSizable(mainWindow,false)
 
                editUsername = guiCreateEdit(53,364,187,25,"",false,mainWindow)
                guiEditSetMaxLength(editUsername,30)
 
                editPassword = guiCreateEdit(53,421,187,25,"",false,mainWindow)
                guiEditSetMaxLength(editPassword,30)
                guiEditSetMasked(editPassword,true)
 
                lblUsername = guiCreateLabel(67,330,158,38,"Username:",false,mainWindow)
                guiLabelSetColor(lblUsername,0,85,255)
                guiLabelSetVerticalAlign(lblUsername,"center")
                guiLabelSetHorizontalAlign(lblUsername,"center",false)
                guiSetFont(lblUsername,"default-bold-small")
 
                lblPassword = guiCreateLabel(67,389,158,38,"Password:",false,mainWindow)
                guiLabelSetColor(lblPassword,0,85,255)
                guiLabelSetVerticalAlign(lblPassword,"center")
                guiLabelSetHorizontalAlign(lblPassword,"center",false)
                guiSetFont(lblPassword,"default-bold-small")
 
 
                btnLogin = guiCreateButton(280,368,206,74,"Login",false,mainWindow)
                guiSetFont(btnLogin,"sa-header")
 
                btnToggleRegister = guiCreateButton(500,368,206,74,"Register",false,mainWindow)
                guiSetFont(btnToggleRegister,"sa-header")
 
                registerWindow = guiCreateWindow(screenWidth/2-regWidth/2,screenHeight/2-regHeight/2,regWidth,regHeight,"Registration",false)
                guiWindowSetSizable(registerWindow,false)
 
                editRegistrationUsername = guiCreateEdit(98,138,242,25,"",false,registerWindow)
 
                editRegistrationPassword = guiCreateEdit(98,195,242,25,"",false,registerWindow)
                guiEditSetMasked(editRegistrationPassword,true)
 
                editRegistrationRepeatPassword = guiCreateEdit(99,252,242,25,"",false,registerWindow)
                guiEditSetMasked(editRegistrationRepeatPassword,true)
 
                lblRegister = guiCreateLabel(24,24,391,97,"Register",false,registerWindow)
                guiLabelSetColor(lblRegister,0,85,255)
                guiLabelSetVerticalAlign(lblRegister,"center")
                guiLabelSetHorizontalAlign(lblRegister,"center",false)
                guiSetFont(lblRegister,"sa-gothic")
 
                lblRUsername = guiCreateLabel(98,113,242,17,"Username:",false,registerWindow)
                guiLabelSetColor(lblRUsername,0,85,255)
                guiLabelSetVerticalAlign(lblRUsername,"center")
                guiLabelSetHorizontalAlign(lblRUsername,"center",false)
                guiSetFont(lblRUsername,"default-bold-small")
 
                lblRPassword = guiCreateLabel(98,171,242,17,"Password:",false,registerWindow)
                guiLabelSetColor(lblRPassword,0,85,255)
                guiLabelSetVerticalAlign(lblRPassword,"center")
                guiLabelSetHorizontalAlign(lblRPassword,"center",false)
                guiSetFont(lblRPassword,"default-bold-small")
 
                lblRepeatPassword = guiCreateLabel(98,230,242,17,"Repeat password:",false,registerWindow)
                guiLabelSetColor(lblRepeatPassword,0,85,255)
                guiLabelSetVerticalAlign(lblRepeatPassword,"center")
                guiLabelSetHorizontalAlign(lblRepeatPassword,"center",false)
                guiSetFont(lblRepeatPassword,"default-bold-small")
 
                btnCancel = guiCreateButton(232,292,179,38,"Cancel",false,registerWindow)
                guiSetFont(btnCancel,"default-bold-small")
 
                btnConfirmRegistration = guiCreateButton(29,292,179,38,"Confirm & register!",false,registerWindow)
                guiSetFont(btnConfirmRegistration,"default-bold-small")
 
                detroitLabel = guiCreateLabel(50,23,200,50,"ROAD",false,mainWindow)
                guiSetFont(detroitLabel,"sa-header")
                descriptionLabel = guiCreateLabel(20,58,200,50,"Return Of Ancient Detroit",false,mainWindow)
                -----guiSetFont(descriptionLabel,"sa-header")
        guiCreateStaticImage(240,23,150,231,"logo.png",false,mainWindow)
                stolkaLabel = guiCreateLabel(450,23,200,50,"Scripter: Stolka",false,mainWindow)
                guiSetFont(stolkaLabel,"sa-header")
                thorLabel = guiCreateLabel(450,58,200,50,"Mapper: Thor",false,mainWindow)
                guiSetFont(thorLabel,"sa-header")
 
                guiSetVisible(mainWindow, true)
                guiSetVisible(registerWindow, false)
                guiSetInputEnabled(true)
                showCursor(true)
                addEventHandler("onClientGUIClick",btnLogin,onClickLogin)
                addEventHandler("onClientGUIClick",btnToggleRegister,onClickRegisterToggle)
                addEventHandler("onClientGUIClick",btnPlayAsGuest,onClickGuest)
                addEventHandler("onClientGUIClick",btnConfirmRegistration,onClickRegisterConfirm)
                addEventHandler("onClientGUIClick",btnCancel,onClickCancel)
                addEventHandler("onRequestIncreaseAttempts",getRootElement(),increaseAttempts)
                attemptedLogins = 0
            end
            xmlUnloadFile(xmlFile)
        else
            xmlFileHandler(true)
        end
        addEventHandler("onRequestDisplayPanel",getRootElement(),logoutHandler)
end
--addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),loginPanel)
 
Wnd = guiCreateWindow ( 0.2, 0.2, 0.25, 0.5, "Skin shop", true )
guiSetAlpha( Wnd, 1 )
button = guiCreateButton ( 0.01, 0.8, 0.99, 0.15, "get skin!", true, Wnd )
label = guiCreateLabel ( 0.1, 0.1, 0.9, 0.1, "Double click on skin.", true, Wnd )
showCursor(false)
guiSetVisible( Wnd, false )
guiWindowSetSizable( Wnd, false )
guiWindowSetMovable( Wnd, false )
 
    vehicles =
            {
            {"CJ", 0},
            {"Sweet", 270},
            {"Ryder", 300},
            {"Ryder 2", 301},
            {"Big Smoke", 269},
            {"Big Smoke 2", 311},
            {"Truth", 1},
            {"Wuzi Mu", 294},
            {"Claude", 299},
            {"Madd Dogg", 297},
            {"Mike Toreno", 295},
            {"Cesar", 292},
            {"OG Loc", 293},
            {"T-Bone", 307},
            {"Joe Pesci", 258},
            {"Pimp", 249},
            {"White Dealer", 29},
            {"Black Dealer", 28},
            {"Hiker", 26},
            {"Casino Bouncer 1", 163},
            {"Casino Bouncer 2", 164},
            {"Drug Worker 1", 144},
            {"Drug Worker 2", 145},
            {"Drug Worker 3", 146},
            }
     
    grid = guiCreateGridList(0.01, 0.2, 0.99, 0.5, true, Wnd)
    guiGridListAddColumn(grid, "Skins", 0.85)
     
    for i,veh in ipairs(vehicles) do
         row = guiGridListAddRow(grid)
         --
         guiGridListSetItemText(grid, row, 1, tostring(veh[1]), false, false)
         guiGridListSetItemData(grid, row, 1, tostring(veh[2]))
    end
 
 function usereg()
         local row, col = guiGridListGetSelectedItem(grid)  
         if (row and col and row ~= -1 and col ~= -1) then
              local model = tonumber(guiGridListGetItemData(grid, row, 1))
              if model ~= "" then
                   triggerServerEvent("useSkinReg", localPlayer, model)
              end
         end
    end
    addEventHandler("onClientGUIClick", root, button, usereg)
 ----   addEventHandler("onClientDoubleClick", root, usereg, false)
 
-- Disable autologin
function removeAutoLogin()
    local xmlFile = xmlLoadFile(xmlFileName)
    if xmlFile then
        local status = xmlNodeGetAttribute(xmlFile,"autologin")
        if status == "true" then
            xmlNodeSetAttribute(xmlFile,"autologin","false")
            outputChatBox("#0000FF* #FFFFFFAuto-login is now #FF0000DISABLED#FFFFFF!",255,255,255,true)
            xmlSaveFile(xmlFile)
            xmlUnloadFile(xmlFile)
        else
            outputChatBox("#0000FF* #FFFFFFAuto-login is already #FF0000DISABLED#FFFFFF!",255,255,255,true)
            xmlUnloadFile(xmlFile)
        end
    end
end
addCommandHandler("disableauto", removeAutoLogin)
 
 
 
-- Enable autologin
function addAutoLogin()
    local xmlFile = xmlLoadFile(xmlFileName)
    if xmlFile then
        local status  = xmlNodeGetAttribute(xmlFile,"autologin")
        if status == "false" then
           
Edited by Guest
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...