Null Posted December 7, 2013 Share Posted December 7, 2013 I'm relatively new to lua, but i've put together this login panel , but some of the functions are not working correctly and some are not working at all. Client: GUIEditor = { checkbox = {}, staticimage = {}, edit = {}, button = {}, window = {}, label = {}, memo = {} } SARCLoginPanel = guiCreateWindow(756, 255, 443, 535, "", false) guiWindowSetSizable(SARCLoginPanel, false) GUIEditor.label[1] = guiCreateLabel(19, 194, 84, 36, "Username:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[1], "default-bold-small") GUIEditor.label[2] = guiCreateLabel(19, 250, 84, 36, "Password:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[2], "default-bold-small") RegBox = guiCreateEdit(85, 184, 200, 40, "", false, SARCLoginPanel) PassBox = guiCreateEdit(84, 236, 200, 40, "", false, SARCLoginPanel) guiEditSetMasked(PassBox, true) GUIEditor.memo[1] = guiCreateMemo(10, 364, 423, 161, "Welcome to SARC:RPG, a new RPG server on MTA, the first and only Australian RPG server.\n\nWe have a wide variety of jobs, everything here on SARC has been scripted by Null, the owner of SARC:RPG.\n\nSARC basically stands San Andreas RPG Community.\n\nHope you have fun!", false, SARCLoginPanel) guiMemoSetReadOnly(GUIEditor.memo[1], true) LoginButton = guiCreateButton(19, 300, 84, 39, "Login", false, SARCLoginPanel) guiSetFont(LoginButton, "default-bold-small") RegisterButton = guiCreateButton(124, 300, 84, 39, "Register", false, SARCLoginPanel) guiSetFont(RegisterButton, "default-bold-small") showCursor(true) showChat(false) GUIEditor.staticimage[1] = guiCreateStaticImage(50, 10, 347, 185, ":guieditor/images/SarcTest1.png", false, SARCLoginPanel) addEventHandler( 'onClientResourceStart', resourceRoot, function( ) local uSound = playSound3D( 'http://www.181.fm/winamp.pls?station=181-power&style=mp3&description=Power%20181%20(Top%2040)&file=181-power.pls', 1471, -28, 54 ) setSoundMaxDistance( uSound, 20 ) end ) function setCameraOnPlayerJoin() setCameraMatrix(source, 1471, -28, 54) end addEventHandler("onPlayerJoin", getRootElement(), setCameraOnPlayerJoin) addEventHandler("onClientGUIClick",LoginButton, function ( ) local User = guiGetText ( RegBox ) local Password = guiGetText ( PassBox ) if User and Password then triggerServerEvent("onPlayerTryingToLogin",localPlayer,User,Password) end end,false ) addEventHandler("onClientGUIClick",RegisterButton, function ( ) local RegisterUser = guiGetText ( RegBox ) local RegisterPassword = guiGetText ( PassBox ) if RegisterUser and RegisterPassword then triggerServerEvent("onPlayerTryingToRegister",localPlayer,RegisterUser,RegisterPassword) end end,false ) addEvent("PlayerLogedOnClient",true) addEventHandler("PlayerLogedOnClient",getRootElement(), function ( ) xmlFileHandler(guiCheckBoxGetSelected(guardar1)) xmlFileHandler(guiCheckBoxGetSelected(guardar2)) guiSetVisible(SARCLoginPanel,false) showCursor(false) showChat(true) setCameraTarget (thePlayer, nil) guiSetVisible(windowLogin, false) end ) Server: addEvent("onPlayerTryingToLogin",true) addEventHandler("onPlayerTryingToLogin",getRootElement(), function ( User,Password ) if User ~= " " or User ~= " " then if Password ~= " " or Password ~= " " then local account = getAccount ( User,Password ) if ( account ) then logIn ( source,account,Password ) triggerClientEvent(source,"PlayerLogedOnClient",source) else end end end end ) addEvent("onPlayerTryingToRegister",true) addEventHandler("onPlayerTryingToRegister",getRootElement(), function ( UserRegister,PasswordRegister ) if UserRegister ~= " " or UserRegister ~= " " then if PasswordRegister ~= " " or PasswordRegister ~= " " then local account = getAccount ( UserRegister ) if ( account ) then else addAccount ( UserRegister,PasswordRegister ) end end end end ) The problem is.. In the client side script i wanted the background of the login screen to be this function setCameraOnPlayerJoin() setCameraMatrix(source, 1471, -28, 54) end addEventHandler("onPlayerJoin", getRootElement(), setCameraOnPlayerJoin) But that function is not working at all.. and i wanted a radio to play while you are at the login screen.. addEventHandler( 'onClientResourceStart', resourceRoot, function( ) local uSound = playSound3D( 'http://www.181.fm/winamp.pls?station=181-power&style=mp3&description=Power%20181%20(Top%2040)&file=181-power.pls', 1471, -28, 54 ) setSoundMaxDistance( uSound, 20 ) end ) The function isn't working And the fact that when i press Register or Login, the GUI does not go away and the chat does not re-appear. I have tried everything, been trying to fix this for over a day and i just cant get it to work, i really dont want to use some community login panel,i have debugged this many times in-game and that still didn't help.. If someone who is more experienced in Lua looks over this and helps me, i will love you forever, because i really need help Link to comment
TrapLord Studios™ Posted December 7, 2013 Share Posted December 7, 2013 First: You have to add a Destroy Function, so that when the player logs in the Login Panel gets destroyed. Second: For the music, it would be easier to use a .mp3 or .wav file, due to url's not working at times, due to BassErrors. Third: setCameraMatrix try this- setCameraMatrix(source, 1468.8785400391, -919.25317382813, 100.153465271, 1468.388671875, -918.42474365234, 99.881813049316) Link to comment
Null Posted December 8, 2013 Author Share Posted December 8, 2013 Updated script: GUIEditor = { checkbox = {}, staticimage = {}, edit = {}, button = {}, window = {}, label = {}, memo = {} } SARCLoginPanel = guiCreateWindow(756, 255, 443, 535, "", false) guiWindowSetSizable(SARCLoginPanel, false) GUIEditor.label[1] = guiCreateLabel(19, 194, 84, 36, "Username:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[1], "default-bold-small") GUIEditor.label[2] = guiCreateLabel(19, 250, 84, 36, "Password:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[2], "default-bold-small") RegBox = guiCreateEdit(85, 184, 200, 40, "", false, SARCLoginPanel) PassBox = guiCreateEdit(84, 236, 200, 40, "", false, SARCLoginPanel) guiEditSetMasked(PassBox, true) GUIEditor.memo[1] = guiCreateMemo(10, 364, 423, 161, "Welcome to SARC:RPG, a new RPG server on MTA, the first and only Australian RPG server.\n\nWe have a wide variety of jobs, everything here on SARC has been scripted by Null, the owner of SARC:RPG.\n\nSARC basically stands San Andreas RPG Community.\n\nHope you have fun!", false, SARCLoginPanel) guiMemoSetReadOnly(GUIEditor.memo[1], true) LoginButton = guiCreateButton(19, 300, 84, 39, "Login", false, SARCLoginPanel) guiSetFont(LoginButton, "default-bold-small") RegisterButton = guiCreateButton(124, 300, 84, 39, "Register", false, SARCLoginPanel) guiSetFont(RegisterButton, "default-bold-small") showCursor(true) showChat(false) GUIEditor.staticimage[1] = guiCreateStaticImage(50, 10, 347, 185, ":guieditor/images/SarcTest1.png", false, SARCLoginPanel) function setCameraOnPlayerJoin() setCameraMatrix(thePlayer, 1468.8785400391, -919.25317382813, 100.153465271, 1468.388671875, -918.42474365234, 99.881813049316) end addEventHandler("onPlayerJoin", getRootElement(), setCameraOnPlayerJoin) addEventHandler( 'onClientResourceStart', resourceRoot, function( ) local uSound = playSound3D( 'http://www.181.fm/winamp.pls?station=181-power&style=mp3&description=Power%20181%20(Top%2040)&file=181-power.pls', 1471, -28, 54 ) setSoundMaxDistance( uSound, 20 ) end ) addEventHandler("onClientGUIClick",LoginButton, function ( ) local User = guiGetText ( RegBox ) local Password = guiGetText ( PassBox ) if User and Password then triggerServerEvent("onPlayerTryingToLogin",localPlayer,User,Password) end end,false ) addEventHandler("onClientGUIClick",RegisterButton, function ( ) local RegisterUser = guiGetText ( RegBox ) local RegisterPassword = guiGetText ( PassBox ) if RegisterUser and RegisterPassword then triggerServerEvent("onPlayerTryingToRegister",localPlayer,RegisterUser,RegisterPassword) end end,false ) addEvent("PlayerLogedOnClient",true) addEventHandler("PlayerLogedOnClient",getRootElement(), function ( ) guiSetVisible(SARCLoginPanel,false) showCursor(false) showChat(true) setCameraTarget (thePlayer, nil) end ) If now dissappears, but the register function isn't working or the camera angle. Everything else seems fine. Link to comment
Null Posted December 8, 2013 Author Share Posted December 8, 2013 Updated script: GUIEditor = { checkbox = {}, staticimage = {}, edit = {}, button = {}, window = {}, label = {}, memo = {} } SARCLoginPanel = guiCreateWindow(756, 255, 443, 535, "", false) guiWindowSetSizable(SARCLoginPanel, false) GUIEditor.label[1] = guiCreateLabel(19, 194, 84, 36, "Username:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[1], "default-bold-small") GUIEditor.label[2] = guiCreateLabel(19, 250, 84, 36, "Password:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[2], "default-bold-small") RegBox = guiCreateEdit(85, 184, 200, 40, "", false, SARCLoginPanel) PassBox = guiCreateEdit(84, 236, 200, 40, "", false, SARCLoginPanel) guiEditSetMasked(PassBox, true) GUIEditor.memo[1] = guiCreateMemo(10, 364, 423, 161, "Welcome to SARC:RPG, a new RPG server on MTA, the first and only Australian RPG server.\n\nWe have a wide variety of jobs, everything here on SARC has been scripted by Null, the owner of SARC:RPG.\n\nSARC basically stands San Andreas RPG Community.\n\nHope you have fun!", false, SARCLoginPanel) guiMemoSetReadOnly(GUIEditor.memo[1], true) LoginButton = guiCreateButton(19, 300, 84, 39, "Login", false, SARCLoginPanel) guiSetFont(LoginButton, "default-bold-small") RegisterButton = guiCreateButton(124, 300, 84, 39, "Register", false, SARCLoginPanel) guiSetFont(RegisterButton, "default-bold-small") showCursor(true) showChat(false) GUIEditor.staticimage[1] = guiCreateStaticImage(50, 10, 347, 185, ":guieditor/images/SarcTest1.png", false, SARCLoginPanel) function setCameraOnPlayerJoin() setCameraMatrix(thePlayer, 1468.8785400391, -919.25317382813, 100.153465271, 1468.388671875, -918.42474365234, 99.881813049316) end addEventHandler("onPlayerJoin", getRootElement(), setCameraOnPlayerJoin) addEventHandler( 'onClientResourceStart', resourceRoot, function( ) local uSound = playSound3D( 'http://www.181.fm/winamp.pls?station=181-power&style=mp3&description=Power%20181%20(Top%2040)&file=181-power.pls', 1471, -28, 54 ) setSoundMaxDistance( uSound, 20 ) end ) addEventHandler("onClientGUIClick",LoginButton, function ( ) local User = guiGetText ( RegBox ) local Password = guiGetText ( PassBox ) if User and Password then triggerServerEvent("onPlayerTryingToLogin",localPlayer,User,Password) end end,false ) addEventHandler("onClientGUIClick",RegisterButton, function ( ) local RegisterUser = guiGetText ( RegBox ) local RegisterPassword = guiGetText ( PassBox ) if RegisterUser and RegisterPassword then triggerServerEvent("onPlayerTryingToRegister",localPlayer,RegisterUser,RegisterPassword) end end,false ) addEvent("PlayerLogedOnClient",true) addEventHandler("PlayerLogedOnClient",getRootElement(), function ( ) guiSetVisible(SARCLoginPanel,false) showCursor(false) showChat(true) setCameraTarget (thePlayer, nil) end ) If now dissappears, but the register function isn't working or the camera angle. Everything else seems fine. Link to comment
Castillo Posted December 8, 2013 Share Posted December 8, 2013 The camera won't work because you are using onPlayerJoin which is a server-side only event. Link to comment
Null Posted December 8, 2013 Author Share Posted December 8, 2013 I'll try it now, thank you Link to comment
Null Posted December 8, 2013 Author Share Posted December 8, 2013 Moved it to the server side, still doesnt work.. debugscript finds no errors everything works besides: -Registering accounts -the camera angle behind login screen Client: GUIEditor = { checkbox = {}, staticimage = {}, edit = {}, button = {}, window = {}, label = {}, memo = {} } SARCLoginPanel = guiCreateWindow(756, 255, 443, 535, "", false) guiWindowSetSizable(SARCLoginPanel, false) GUIEditor.label[1] = guiCreateLabel(19, 194, 84, 36, "Username:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[1], "default-bold-small") GUIEditor.label[2] = guiCreateLabel(19, 250, 84, 36, "Password:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[2], "default-bold-small") RegBox = guiCreateEdit(85, 184, 200, 40, "", false, SARCLoginPanel) PassBox = guiCreateEdit(84, 236, 200, 40, "", false, SARCLoginPanel) guiEditSetMasked(PassBox, true) GUIEditor.memo[1] = guiCreateMemo(10, 364, 423, 161, "Welcome to SARC:RPG, a new RPG server on MTA, the first and only Australian RPG server.\n\nWe have a wide variety of jobs, everything here on SARC has been scripted by Null, the owner of SARC:RPG.\n\nSARC basically stands San Andreas RPG Community.\n\nHope you have fun!", false, SARCLoginPanel) guiMemoSetReadOnly(GUIEditor.memo[1], true) LoginButton = guiCreateButton(19, 300, 84, 39, "Login", false, SARCLoginPanel) guiSetFont(LoginButton, "default-bold-small") RegisterButton = guiCreateButton(124, 300, 84, 39, "Register", false, SARCLoginPanel) guiSetFont(RegisterButton, "default-bold-small") showCursor(true) showChat(false) GUIEditor.staticimage[1] = guiCreateStaticImage(50, 10, 347, 185, ":guieditor/images/SarcTest1.png", false, SARCLoginPanel) addEventHandler( 'onClientResourceStart', resourceRoot, function( ) local uSound = playSound3D( 'http://www.181.fm/winamp.pls?station=181-power&style=mp3&description=Power%20181%20(Top%2040)&file=181-power.pls', 1471, -28, 54 ) setSoundMaxDistance( uSound, 20 ) end ) addEventHandler("onClientGUIClick",LoginButton, function ( ) local User = guiGetText ( RegBox ) local Password = guiGetText ( PassBox ) if User and Password then triggerServerEvent("onPlayerTryingToLogin",localPlayer,User,Password) end end,false ) addEventHandler("onClientGUIClick",RegisterButton, function ( ) local RegisterUser = guiGetText ( RegBox ) local RegisterPassword = guiGetText ( PassBox ) if RegisterUser and RegisterPassword then triggerServerEvent("onPlayerTryingToRegister",localPlayer,RegisterUser,RegisterPassword) end end,false ) addEvent("PlayerLogedOnClient",true) addEventHandler("PlayerLogedOnClient",getRootElement(), function ( ) guiSetVisible(SARCLoginPanel,false) showCursor(false) showChat(true) setCameraTarget (thePlayer, nil) end ) Server: addEvent("onPlayerTryingToLogin",true) addEventHandler("onPlayerTryingToLogin",getRootElement(), function ( User,Password ) if User ~= " " or User ~= " " then if Password ~= " " or Password ~= " " then local account = getAccount ( User,Password ) if ( account ) then logIn ( source,account,Password ) triggerClientEvent(source,"PlayerLogedOnClient",source) else end end end end ) function setCameraOnPlayerJoin() setCameraMatrix(thePlayer, 1468.8785400391, -919.25317382813, 100.153465271, 1468.388671875, -918.42474365234, 99.881813049316) end addEventHandler("onPlayerJoin", getRootElement(), setCameraOnPlayerJoin) addEvent("onPlayerTryingToRegister",true) addEventHandler("onPlayerTryingToRegister",getRootElement(), function ( UserRegister,PasswordRegister ) if UserRegister ~= " " or UserRegister ~= " " then if PasswordRegister ~= " " or PasswordRegister ~= " " then local account = getAccount ( UserRegister ) if ( account ) then else addAccount ( UserRegister,PasswordRegister ) end end end end ) Link to comment
Baseplate Posted December 8, 2013 Share Posted December 8, 2013 Line 18 server-sided, replace thePlayer with source. Link to comment
Null Posted December 8, 2013 Author Share Posted December 8, 2013 Line 18 server-sided, replace thePlayer with source. Thanks you fixed the camera And do you know why the register button isn't working? Link to comment
Baseplate Posted December 8, 2013 Share Posted December 8, 2013 addEvent("onPlayerTryingToRegister",true) addEventHandler("onPlayerTryingToRegister",getRootElement(), function(UserRegister,PasswordRegister) local account = getAccount(UserRegister, PasswordRegister) if (account ~= false) then -- You can add an output here. else account = addAccount(UserRegister, PasswordRegister) if (logIn(source, account, PasswordRegister) == true) then triggerClientEvent(source, "PlayerLogedOnClient", getRootElement()) end end end ) Link to comment
Null Posted December 11, 2013 Author Share Posted December 11, 2013 Registering accounts still doesn't work debugscript shows no errors. Client: GUIEditor = { checkbox = {}, staticimage = {}, edit = {}, button = {}, window = {}, label = {}, memo = {} } SARCLoginPanel = guiCreateWindow(16, 10, 671, 554, "", false) guiWindowSetSizable(SARCLoginPanel, false) GUIEditor.label[1] = guiCreateLabel(19, 194, 84, 36, "Username:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[1], "default-bold-small") guiLabelSetColor(GUIEditor.label[1], 51, 122, 252) GUIEditor.label[2] = guiCreateLabel(19, 250, 84, 36, "Password:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[2], "default-bold-small") guiLabelSetColor(GUIEditor.label[2], 51, 122, 252) LoginUsername = guiCreateEdit(85, 184, 200, 40, "", false, SARCLoginPanel) LoginPassword = guiCreateEdit(84, 236, 200, 40, "", false, SARCLoginPanel) guiEditSetMasked(LoginPassword, true) GUIEditor.memo[1] = guiCreateMemo(10, 364, 652, 180, "Welcome to SARC:RPG, a new RPG server on MTA, the first and only Australian RPG server.\n\nWe have a wide variety of jobs, everything here on SARC has been scripted by Null, the owner of SARC:RPG.\n\nSARC basically stands San Andreas RPG Community.\n\nHope you have fun!", false, SARCLoginPanel) guiMemoSetReadOnly(GUIEditor.memo[1], true) LoginButton = guiCreateButton(84, 286, 84, 39, "Login", false, SARCLoginPanel) guiSetFont(LoginButton, "default-bold-small") guiSetProperty(LoginButton, "NormalTextColour", "FF337AFC") GUIEditor.staticimage[1] = guiCreateStaticImage(159, 9, 350, 186, ":guieditor/images/SarcTest1.png", false, SARCLoginPanel) GUIEditor.label[3] = guiCreateLabel(168, 165, 31, 15, "Login", false, SARCLoginPanel) guiSetFont(GUIEditor.label[3], "default-bold-small") guiLabelSetColor(GUIEditor.label[3], 51, 122, 252) RegisterButton = guiCreateButton(436, 284, 84, 39, "Register", false, SARCLoginPanel) guiSetFont(RegisterButton, "default-bold-small") guiSetProperty(RegisterButton, "NormalTextColour", "FF337AFC") GUIEditor.label[4] = guiCreateLabel(367, 195, 84, 36, "Username:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[4], "default-bold-small") guiLabelSetColor(GUIEditor.label[4], 51, 122, 252) RegisterUsername = guiCreateEdit(434, 185, 200, 40, "", false, SARCLoginPanel) GUIEditor.label[5] = guiCreateLabel(509, 166, 53, 15, "Register", false, SARCLoginPanel) guiSetFont(GUIEditor.label[5], "default-bold-small") guiLabelSetColor(GUIEditor.label[5], 51, 122, 252) GUIEditor.label[6] = guiCreateLabel(367, 248, 84, 36, "Password:", false, SARCLoginPanel) guiSetFont(GUIEditor.label[6], "default-bold-small") guiLabelSetColor(GUIEditor.label[6], 51, 122, 252) RegisterPassword = guiCreateEdit(434, 234, 200, 40, "", false, SARCLoginPanel) guiEditSetMasked(RegisterPassword, true) InfoLabel = guiCreateLabel(244, 298, 315, 15, "Please login or register.", false, SARCLoginPanel) guiSetFont(InfoLabel, "default-bold-small") showChat (false) showCursor (true) addEventHandler("onClientGUIClick",LoginButton, function ( ) local User = guiGetText ( LoginUsername ) local Password = guiGetText ( LoginPassword ) if User and Password then triggerServerEvent("onPlayerTryingToLogin",localPlayer,User,Password) end end,false ) addEventHandler("onClientGUIClick",RegisterButton, function ( ) local RegisterUser = guiGetText ( RegisterUsername ) local RegisterPassword = guiGetText ( RegisterPassword ) if RegisterUser and RegisterPassword then triggerServerEvent("onPlayerTryingToRegister",localPlayer,RegisterUser,RegisterPassword) end end,false ) addEvent("PlayerLogedOnClient",true) addEventHandler("PlayerLogedOnClient",getRootElement(), function ( ) guiSetVisible(SARCLoginPanel,false) showCursor(false) showChat(true) setCameraTarget( source, source ) end ) Server: addEvent("onPlayerTryingToLogin",true) addEventHandler("onPlayerTryingToLogin",getRootElement(), function ( User,Password ) if User ~= " " or User ~= " " then if Password ~= " " or Password ~= " " then local account = getAccount ( User,Password ) if ( account ) then logIn ( source,account,Password ) triggerClientEvent(source,"PlayerLogedOnClient",source) else outputChatBox("Wrong username or password.",source) end end end end ) function setCameraOnPlayerJoin() setCameraMatrix(source, 1468.8785400391, -919.25317382813, 100.153465271, 1468.388671875, -918.42474365234, 99.881813049316) end addEventHandler("onPlayerJoin", getRootElement(), setCameraOnPlayerJoin) addEvent("onPlayerTryingToRegister",true) addEventHandler("onPlayerTryingToRegister",getRootElement(), function(UserRegister,PasswordRegister) local account = getAccount(UserRegister, PasswordRegister) if (account ~= false) then outputChatBox("That username is already in use.",source) else account = addAccount(UserRegister, PasswordRegister) if (logIn(source, account, PasswordRegister) == true) then triggerClientEvent(source, "PlayerLogedOnClient", getRootElement()) end end end ) Link to comment
TrapLord Studios™ Posted December 11, 2013 Share Posted December 11, 2013 Where are you storing the Accounts? Mysql .. Xml .. or ? Link to comment
Chronic Posted December 11, 2013 Share Posted December 11, 2013 Add the resource to admin ACL. Link to comment
Baseplate Posted December 11, 2013 Share Posted December 11, 2013 Add the resource to admin ACL. Forgot to tell you this. ^ Link to comment
TRANE152 Posted December 14, 2013 Share Posted December 14, 2013 Maybe something wrong in server.lua:9 triggerClientEvent(source,"PlayerLogedOnClient",source) Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now