UserToDelete Posted January 19, 2015 Share Posted January 19, 2015 (edited) Tengo un problema con un panel de loggeo, mas bien dos Los botones de "login" y "resgister" no funcionanLa GUI se abre extrañamente dos veces, y con el tiempo se vuelve a abrir, e y si esta abierta parece que se abre otra vez Client.lua localPlayer = getLocalPlayer() addEventHandler("onClientResourceStart", root, function () local screenW, screenH = guiGetScreenSize() ventana = guiCreateWindow((screenW - 780) / 2, (screenH - 580) / 2, 780, 580, "== Panel de Login - TrosNos RolePlay ==", false) guiWindowSetMovable(ventana, false) guiWindowSetSizable(ventana, false) guiSetAlpha(ventana, 0.75) guiSetProperty(ventana, "CaptionColour", "FF00FF3C") edit_username = guiCreateEdit(10, 65, 331, 35, "", false, ventana) guiEditSetMaxLength (edit_username, 12) label_username = guiCreateLabel(20, 40, 130, 15, "Nombre de usuario", false, ventana) guiSetFont(label_username, "default-bold-small") label_password = guiCreateLabel(20, 110, 130, 15, "Contraseña", false, ventana) guiSetFont(label_password, "default-bold-small") edit_password = guiCreateEdit(10, 135, 331, 35, "", false, ventana) guiEditSetMasked(edit_password, true) guiEditSetMaxLength (edit_password, 12) button_login = guiCreateButton(10, 180, 160, 42, "Login", false, ventana) guiSetProperty(button_login, "NormalTextColour", "FFFFFFFF") button_register = guiCreateButton(180, 180, 160, 42, "Registrarse", false, ventana) guiSetProperty(button_register, "NormalTextColour", "FFFFFFFF") tabPanel = guiCreateTabPanel(11, 238, 759, 332, false, ventana) button_close = guiCreateButton(10, 220, 160, 42, "CERRAR", false, ventana) tab_info = guiCreateTab("Informacion del servidor", tabPanel) showCursor (true) addEventHandler("onClientGUIClick", button_close, closeGUI, false) addEventHandler("onClientGUIClick", button_login, loginb, false) addEventHandler("onClientGUIClick", button_register, loginr, false) end ) function openGUI_ () guiSetVisible(ventana, true) showCursor(true) end addEvent("openGUI",true) addEventHandler("openGUI",localPlayer, openGUI_) function closeGUI () guiSetVisible(ventana, false) end function loginb () triggerServerEvent("loginPanel", localPlayer, edit_username, edit_password) guiSetVisible(ventana, false) showCursor (false) end function loginr () triggerServerEvent("registerPanel", localPlayer, edit_username, edit_password) guiSetVisible(ventana, false) showCursor (false) end Server.lua function onPlayerRegister_ (source, account, password) logged = logIn(source, account, password) if logged == false then triggerClientEvent("openGUI", source) end end addEvent("loginPanel", true) addEventHandler("loginPanel", root, onPlayerRegister_) function onRegister_ (source, username, password) addAccount(username, password) onPlayerRegister_(source, username, password) end addEvent("registerPanel", true) addEventHandler("registerPanel", root, onRegister_) Edited January 21, 2015 by Guest Link to comment
Tomas Posted January 19, 2015 Share Posted January 19, 2015 No es necesario definir la función 'localPlayer' está pre-definida. addEventHandler("onClientResourceStart", resourceRoot, function () local screenW, screenH = guiGetScreenSize() ventana = guiCreateWindow((screenW - 780) / 2, (screenH - 580) / 2, 780, 580, "== Panel de Login - TrosNos RolePlay ==", false) guiWindowSetMovable(ventana, false) guiWindowSetSizable(ventana, false) guiSetAlpha(ventana, 0.75) guiSetProperty(ventana, "CaptionColour", "FF00FF3C") edit_username = guiCreateEdit(10, 65, 331, 35, "", false, ventana) guiEditSetMaxLength (edit_username, 12) label_username = guiCreateLabel(20, 40, 130, 15, "Nombre de usuario", false, ventana) guiSetFont(label_username, "default-bold-small") label_password = guiCreateLabel(20, 110, 130, 15, "Contraseña", false, ventana) guiSetFont(label_password, "default-bold-small") edit_password = guiCreateEdit(10, 135, 331, 35, "", false, ventana) guiEditSetMasked(edit_password, true) guiEditSetMaxLength (edit_password, 12) button_login = guiCreateButton(10, 180, 160, 42, "Login", false, ventana) guiSetProperty(button_login, "NormalTextColour", "FFFFFFFF") button_register = guiCreateButton(180, 180, 160, 42, "Registrarse", false, ventana) guiSetProperty(button_register, "NormalTextColour", "FFFFFFFF") tabPanel = guiCreateTabPanel(11, 238, 759, 332, false, ventana) button_close = guiCreateButton(10, 220, 160, 42, "CERRAR", false, ventana) tab_info = guiCreateTab("Informacion del servidor", tabPanel) showCursor (true) addEventHandler("onClientGUIClick", button_close, closeGUI, false) addEventHandler("onClientGUIClick", button_login, loginb, false) addEventHandler("onClientGUIClick", button_register, loginr, false) end ) function openGUI_ () guiSetVisible(ventana, true) showCursor(true) end addEvent("openGUI",true) addEventHandler("openGUI",localPlayer, openGUI_) function closeGUI () guiSetVisible(ventana, false) end function loginb () triggerServerEvent("loginPanel", localPlayer, guiGetText(edit_username), guiGetText(edit_password)) guiSetVisible(ventana, false) showCursor (false) end function loginr () triggerServerEvent("registerPanel", localPlayer, guiGetText(edit_username), guiGetText(edit_password)) guiSetVisible(ventana, false) showCursor (false) end Link to comment
UserToDelete Posted January 19, 2015 Author Share Posted January 19, 2015 Aun asi, el script sigue sin loggear Nuevo script Server function onPlayerRegister_ (source, account, password) logged = logIn(source, account, password) outputDebugString( if logged == true then outputChatBox("Te has logeado en el servidor", source, 0, 255, 0, true) triggerClientEvent("closeGUI") end if logged == false then outputChatBox("No te has podido loggear en el servidor",source) end end addEvent("loginPanel", true) addEventHandler("loginPanel", resourceRoot, onPlayerRegister_) function onRegister_ (source, username, password) addAccount(username, password) onPlayerRegister_(source, username, password) end addEvent("registerPanel", true) addEventHandler("registerPanel", resourceRoot, onRegister_) Client addEventHandler("onClientResourceStart", resourceRoot, function () local screenW, screenH = guiGetScreenSize() ventana = guiCreateWindow((screenW - 780) / 2, (screenH - 580) / 2, 780, 580, "== Panel de Login - TrosNos RolePlay ==", false) guiWindowSetMovable(ventana, false) guiWindowSetSizable(ventana, false) guiSetAlpha(ventana, 0.75) guiSetProperty(ventana, "CaptionColour", "FF00FF3C") edit_username = guiCreateEdit(10, 65, 331, 35, "", false, ventana) guiEditSetMaxLength (edit_username, 12) label_username = guiCreateLabel(20, 40, 130, 15, "Nombre de usuario", false, ventana) guiSetFont(label_username, "default-bold-small") label_password = guiCreateLabel(20, 110, 130, 15, "Contraseña", false, ventana) guiSetFont(label_password, "default-bold-small") edit_password = guiCreateEdit(10, 135, 331, 35, "", false, ventana) guiEditSetMasked(edit_password, true) guiEditSetMaxLength (edit_password, 12) button_login = guiCreateButton(10, 180, 160, 42, "Login", false, ventana) guiSetProperty(button_login, "NormalTextColour", "FFFFFFFF") button_register = guiCreateButton(180, 180, 160, 42, "Registrarse", false, ventana) guiSetProperty(button_register, "NormalTextColour", "FFFFFFFF") tabPanel = guiCreateTabPanel(11, 238, 759, 332, false, ventana) button_close = guiCreateButton(10, 220, 160, 42, "CERRAR", false, ventana) tab_info = guiCreateTab("Informacion del servidor", tabPanel) showCursor (true) addEventHandler("onClientGUIClick", button_close, closeGUI, false) addEventHandler("onClientGUIClick", button_login, loginb, false) addEventHandler("onClientGUIClick", button_register, loginr, false) end ) function openGUI_ () guiSetVisible(ventana, true) showCursor(true) end addEvent("openGUI",true) addEventHandler("openGUI",localPlayer, openGUI_) function closeGUI () guiSetVisible(ventana, false) end function loginb () triggerServerEvent("loginPanel", localPlayer, guiGetText(edit_username), guiGetText(edit_password)) end function loginr () triggerServerEvent("registerPanel", localPlayer, guiGetText(edit_username), guiGetText(edit_password)) end function openGUI_ () guiSetVisible(ventana, true) showCursor(true) end addEvent("openGUI", true) addEventHandler("openGUI", resourceRoot, openGUI_) function closeGUI_ () guiSetVisible(ventana, false) showCursor(false) end addEvent("closeGUI", true) addEventHandler("closeGUI", resourceRoot, closeGUI_) Link to comment
Tomas Posted January 20, 2015 Share Posted January 20, 2015 No había visto esto, lol. addEventHandler("onClientResourceStart", resourceRoot, function () local screenW, screenH = guiGetScreenSize() ventana = guiCreateWindow((screenW - 780) / 2, (screenH - 580) / 2, 780, 580, "== Panel de Login - TrosNos RolePlay ==", false) guiWindowSetMovable(ventana, false) guiWindowSetSizable(ventana, false) guiSetAlpha(ventana, 0.75) guiSetProperty(ventana, "CaptionColour", "FF00FF3C") edit_username = guiCreateEdit(10, 65, 331, 35, "", false, ventana) guiEditSetMaxLength (edit_username, 12) label_username = guiCreateLabel(20, 40, 130, 15, "Nombre de usuario", false, ventana) guiSetFont(label_username, "default-bold-small") label_password = guiCreateLabel(20, 110, 130, 15, "Contraseña", false, ventana) guiSetFont(label_password, "default-bold-small") edit_password = guiCreateEdit(10, 135, 331, 35, "", false, ventana) guiEditSetMasked(edit_password, true) guiEditSetMaxLength (edit_password, 12) button_login = guiCreateButton(10, 180, 160, 42, "Login", false, ventana) guiSetProperty(button_login, "NormalTextColour", "FFFFFFFF") button_register = guiCreateButton(180, 180, 160, 42, "Registrarse", false, ventana) guiSetProperty(button_register, "NormalTextColour", "FFFFFFFF") tabPanel = guiCreateTabPanel(11, 238, 759, 332, false, ventana) button_close = guiCreateButton(10, 220, 160, 42, "CERRAR", false, ventana) tab_info = guiCreateTab("Informacion del servidor", tabPanel) showCursor (true) addEventHandler("onClientGUIClick", button_close, closeGUI, false) addEventHandler("onClientGUIClick", button_login, loginb, false) addEventHandler("onClientGUIClick", button_register, loginr, false) end ) function openGUI_ () guiSetVisible(ventana, true) showCursor(true) end addEvent("openGUI",true) addEventHandler("openGUI",localPlayer, openGUI_) function closeGUI () guiSetVisible(ventana, false) end function loginb () triggerServerEvent("loginPanel", localPlayer, guiGetText(edit_username), guiGetText(edit_password)) end function loginr () triggerServerEvent("registerPanel", localPlayer, localPlayer,guiGetText(edit_username), guiGetText(edit_password)) end function openGUI_ () guiSetVisible(ventana, true) showCursor(true) end addEvent("openGUI", true) addEventHandler("openGUI", resourceRoot, openGUI_) function closeGUI_ () guiSetVisible(ventana, false) showCursor(false) end addEvent("closeGUI", true) addEventHandler("closeGUI", resourceRoot, closeGUI_) No te recomiendo pasar el 'localPlayer' por un trigger porque no puede ser seguro, puedes usar 'client' desde el serverside. Link to comment
UserToDelete Posted January 20, 2015 Author Share Posted January 20, 2015 Cambiar "localPlayer" por "client" dentro del trigger, , esta "client" predifinido para un triggerServerEvent? Es eso lo que intentas decirme? Link to comment
Tomas Posted January 20, 2015 Share Posted January 20, 2015 Cambiar "localPlayer" por "client" dentro del trigger, , esta "client" predifinido para un triggerServerEvent? Es eso lo que intentas decirme? 'client' es una variable predefinida de MTA, no solo de triggerServerEvent Link to comment
UserToDelete Posted January 20, 2015 Author Share Posted January 20, 2015 Ahora el problema es que la GUI se cierra para todos los jugadores que la tienen abierta Server | Creo que aqui es donde esta el problema function onPlayerRegister_ (account, password) account2 = getAccount(account) logged = logIn(source, account2, password) outputChatBox(tostring(account2)..""..tostring(password), source, 0, 255, 0, true) if logged == true then outputChatBox("Te has logeado en el servidor", client, 0, 255, 0, true) state = false triggerClientEvent("closeGUI", source, state) end if logged == false then outputChatBox("No te has podido loggear en el servidor",client) end end addEvent("loginPanel", true) addEventHandler("loginPanel", root, onPlayerRegister_) Client function closeGUI_ (state) destroyElement(ventana) showCursor(state) --local guiSetInputMode("allow_binds") end addEvent("closeGUI", true) addEventHandler("closeGUI", root, closeGUI_) Edito: Si esto addEventHandler("closeGUI", root, closeGUI_) Lo cambio por addEventHandler("closeGUI", resourceRoot, closeGUI_) Deja de funcionar Link to comment
Tomas Posted January 20, 2015 Share Posted January 20, 2015 function closeGUI_ (state) if source == localPlayer then destroyElement(ventana) showCursor(state) --local guiSetInputMode("allow_binds") end end addEvent("closeGUI", true) addEventHandler("closeGUI", root, closeGUI_) Link to comment
UserToDelete Posted January 20, 2015 Author Share Posted January 20, 2015 Gracias Tomas, habia tenido problemas con GUIs anteriormente por esa linea, no recordaba. Link to comment
Tomas Posted January 20, 2015 Share Posted January 20, 2015 Gracias Tomas, habia tenido problemas con GUIs anteriormente por esa linea, no recordaba. De nada. Link to comment
Recommended Posts