Seyer Posted December 31, 2016 Posted December 31, 2016 Hola nuevamente, jeje. Ésta vez vengo a pedirles ayuda con éste script ya que no me abre (lo único que hice fue hacer la GUI y ponerle un addCommandHandler para poder abrirlo como he visto en el video con el que me guié). client.lua: function verinfo () Ventana_de_infotana_de_info = guiCreateWindow((screenW - 422) / 2, (screenH - 325) / 2, 422, 325, "Mi información by Seyer", false) guiWindowSetMovable(Ventana_de_info, false) guiWindowSetSizable(Ventana_de_info, false) label_de_usuario = guiCreateLabel(12, 27, 119, 30, "Usuario:", false, Ventana_de_info) guiSetFont(label_de_usuario, "default-bold-small") guiLabelSetColor(label_de_usuario, 0, 254, 233) label_de_nombre_actual = guiCreateLabel(12, 67, 119, 30, "Nombre actual:", false, Ventana_de_info) guiSetFont(label_de_nombre_actual, "default-bold-small") guiLabelSetColor(label_de_nombre_actual, 0, 254, 233) label_de_contrasena = guiCreateLabel(12, 107, 119, 30, "Contraseña:", false, Ventana_de_info) guiSetFont(label_de_contrasena, "default-bold-small") guiLabelSetColor(label_de_contrasena, 0, 254, 233) label_de_serial = guiCreateLabel(12, 147, 119, 30, "Serial:", false, Ventana_de_info) guiSetFont(label_de_serial, "default-bold-small") guiLabelSetColor(label_de_serial, 0, 254, 233) label_de_ip = guiCreateLabel(12, 187, 119, 30, "IP:", false, Ventana_de_info) guiSetFont(label_de_ip, "default-bold-small") guiLabelSetColor(label_de_ip, 0, 254, 233) label_de_ultimo_inicio_de_sesion = guiCreateLabel(12, 227, 129, 30, "Ultimo inicio de sesión:", false, Ventana_de_info) guiSetFont(label_de_ultimo_inicio_de_sesion, "default-bold-small") guiLabelSetColor(label_de_ultimo_inicio_de_sesion, 0, 254, 233) edit_de_usuario = guiCreateEdit(177, 26, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_usuario, true) edit_de_nombre_actual = guiCreateEdit(177, 67, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_nombre_actual, true) edit_de_contrasena = guiCreateEdit(177, 106, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_contrasena, true) edit_de_serial = guiCreateEdit(177, 147, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_serial, true) edit_de_ip = guiCreateEdit(177, 188, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_ip, true) edit_de_ultimo_inicio_de_sesion = guiCreateEdit(177, 226, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_ultimo_inicio_de_sesion, true) boton_de_cerrar = guiCreateButton(12, 270, 400, 45, "Cerrar", false, Ventana_de_info) guiSetFont(boton_de_cerrar, "default-bold-small") guiSetProperty(boton_de_cerrar, "NormalTextColour", "FF00FEE9") end addCommandHandler("info", verinfo) ) Qué debería poner en el server.lua? Con éste video traté de hacer esto: Saludos y gracias de antemano.
Rose Posted December 31, 2016 Posted December 31, 2016 function verinfo () Ventana_de_infotana_de_info = guiCreateWindow((screenW - 422) / 2, (screenH - 325) / 2, 422, 325, "Mi información by Seyer", false) guiWindowSetMovable(Ventana_de_info, false) guiWindowSetSizable(Ventana_de_info, false) guiSetVisible(Ventana_de_infotana_de_info, false) label_de_usuario = guiCreateLabel(12, 27, 119, 30, "Usuario:", false, Ventana_de_info) guiSetFont(label_de_usuario, "default-bold-small") guiLabelSetColor(label_de_usuario, 0, 254, 233) label_de_nombre_actual = guiCreateLabel(12, 67, 119, 30, "Nombre actual:", false, Ventana_de_info) guiSetFont(label_de_nombre_actual, "default-bold-small") guiLabelSetColor(label_de_nombre_actual, 0, 254, 233) label_de_contrasena = guiCreateLabel(12, 107, 119, 30, "Contraseña:", false, Ventana_de_info) guiSetFont(label_de_contrasena, "default-bold-small") guiLabelSetColor(label_de_contrasena, 0, 254, 233) label_de_serial = guiCreateLabel(12, 147, 119, 30, "Serial:", false, Ventana_de_info) guiSetFont(label_de_serial, "default-bold-small") guiLabelSetColor(label_de_serial, 0, 254, 233) label_de_ip = guiCreateLabel(12, 187, 119, 30, "IP:", false, Ventana_de_info) guiSetFont(label_de_ip, "default-bold-small") guiLabelSetColor(label_de_ip, 0, 254, 233) label_de_ultimo_inicio_de_sesion = guiCreateLabel(12, 227, 129, 30, "Ultimo inicio de sesión:", false, Ventana_de_info) guiSetFont(label_de_ultimo_inicio_de_sesion, "default-bold-small") guiLabelSetColor(label_de_ultimo_inicio_de_sesion, 0, 254, 233) edit_de_usuario = guiCreateEdit(177, 26, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_usuario, true) edit_de_nombre_actual = guiCreateEdit(177, 67, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_nombre_actual, true) edit_de_contrasena = guiCreateEdit(177, 106, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_contrasena, true) edit_de_serial = guiCreateEdit(177, 147, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_serial, true) edit_de_ip = guiCreateEdit(177, 188, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_ip, true) edit_de_ultimo_inicio_de_sesion = guiCreateEdit(177, 226, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_ultimo_inicio_de_sesion, true) boton_de_cerrar = guiCreateButton(12, 270, 400, 45, "Cerrar", false, Ventana_de_info) guiSetFont(boton_de_cerrar, "default-bold-small") guiSetProperty(boton_de_cerrar, "NormalTextColour", "FF00FEE9") end addEventHandler("onClientResourceStart", resourceRoot, verinfo) addCommandHandler("info", function() if not guiGetVisible(Ventana_de_infotana_de_info) then showCursor(true) guiSetVisible(Ventana_de_infotana_de_info, true) else showCursor(false) guiSetVisible(Ventana_de_infotana_de_info, false) end ) Si el panel es solo de información sobre el usuario, no necesitas hacer nada en server. Con esto te sirve par abrir/cerrar la GUI. Y no sé si te diste cuenta, pero tu error es que tenías un paréntesis de más: addCommandHandler("info", verinfo) ) <-- AQUI Aunque también pudo ser un error de tu GUI, no miré bien.
#Dv^ Posted December 31, 2016 Posted December 31, 2016 (edited) local screenW, screenH = guiGetScreenSize() function verinfo () Ventana_de_info = guiCreateWindow((screenW - 422) / 2, (screenH - 325) / 2, 422, 325, "Mi información by Seyer", false) guiWindowSetMovable(Ventana_de_info, false) guiWindowSetSizable(Ventana_de_info, false) label_de_usuario = guiCreateLabel(12, 27, 119, 30, "Usuario:", false, Ventana_de_info) guiSetFont(label_de_usuario, "default-bold-small") guiLabelSetColor(label_de_usuario, 0, 254, 233) label_de_nombre_actual = guiCreateLabel(12, 67, 119, 30, "Nombre actual:", false, Ventana_de_info) guiSetFont(label_de_nombre_actual, "default-bold-small") guiLabelSetColor(label_de_nombre_actual, 0, 254, 233) label_de_contrasena = guiCreateLabel(12, 107, 119, 30, "Contraseña:", false, Ventana_de_info) guiSetFont(label_de_contrasena, "default-bold-small") guiLabelSetColor(label_de_contrasena, 0, 254, 233) label_de_serial = guiCreateLabel(12, 147, 119, 30, "Serial:", false, Ventana_de_info) guiSetFont(label_de_serial, "default-bold-small") guiLabelSetColor(label_de_serial, 0, 254, 233) label_de_ip = guiCreateLabel(12, 187, 119, 30, "IP:", false, Ventana_de_info) guiSetFont(label_de_ip, "default-bold-small") guiLabelSetColor(label_de_ip, 0, 254, 233) label_de_ultimo_inicio_de_sesion = guiCreateLabel(12, 227, 129, 30, "Ultimo inicio de sesión:", false, Ventana_de_info) guiSetFont(label_de_ultimo_inicio_de_sesion, "default-bold-small") guiLabelSetColor(label_de_ultimo_inicio_de_sesion, 0, 254, 233) edit_de_usuario = guiCreateEdit(177, 26, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_usuario, true) edit_de_nombre_actual = guiCreateEdit(177, 67, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_nombre_actual, true) edit_de_contrasena = guiCreateEdit(177, 106, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_contrasena, true) edit_de_serial = guiCreateEdit(177, 147, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_serial, true) edit_de_ip = guiCreateEdit(177, 188, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_ip, true) edit_de_ultimo_inicio_de_sesion = guiCreateEdit(177, 226, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_ultimo_inicio_de_sesion, true) boton_de_cerrar = guiCreateButton(12, 270, 400, 45, "Cerrar", false, Ventana_de_info) guiSetFont(boton_de_cerrar, "default-bold-small") guiSetProperty(boton_de_cerrar, "NormalTextColour", "FF00FEE9") end addCommandHandler("info", verinfo) Ya, problema resuelto :b Tú error estaba también en esta línea Ventana_de_infotana_de_info = guiCreateWindow((screenW - 422) / 2, (screenH - 325) / 2, 422, 325, "Mi información by Seyer", false) Edited December 31, 2016 by #Dv^
Seyer Posted December 31, 2016 Author Posted December 31, 2016 (edited) Gracias a los 2 por la ayuda. Ahora otra pregunta, ¿cómo puedo hacer para que aparezcan los datos correspondientes en cada parte? Y ¿cómo puedo hacer para que se cierre desde el botón y no desde el mismo comando? Ya que traté de utilizar lo que me dijo @Hit+ pero no me funcionó. O sea, esto: addCommandHandler("info", function() if not guiGetVisible(Ventana_de_infotana_de_info) then showCursor(true) guiSetVisible(Ventana_de_infotana_de_info, true) else showCursor(false) guiSetVisible(Ventana_de_infotana_de_info, false) end ) Saludos y gracias de antemano. Edited December 31, 2016 by Seyer
#Dv^ Posted December 31, 2016 Posted December 31, 2016 Para obtener el nombre la cuenta, usa getAccountName Para obtener el nick del player, usa getPlayerName Para el serial, usa getAccountSerial Para obtener la IP, usa getPlayerIP Y lo de último inicio de sesión debes guardar en la cuenta del jugador los datos "día, hora" en el momento que se logueó, puedes usar setAccountData para establecer y getAccountData para obtener los datos
Seyer Posted December 31, 2016 Author Posted December 31, 2016 2 minutes ago, #Dv^ said: Para obtener el nombre la cuenta, usa getAccountName Para obtener el nick del player, usa getPlayerName Para el serial, usa getAccountSerial Para obtener la IP, usa getPlayerIP Y lo de último inicio de sesión debes guardar en la cuenta del jugador los datos "día, hora" en el momento que se logueó, puedes usar setAccountData para establecer y getAccountData para obtener los datos Pero... ¿Cómo hago para que aparezcan en los cuadritos? Saludos y gracias de antemano.
#Dv^ Posted December 31, 2016 Posted December 31, 2016 Usas triggerClientEvent del lado del servidor para mandar los datos del jugador al cliente Un ejemplo para obtener el nick del jugador: label_de_nombre_actual = guiCreateLabel(12, 67, 119, 30, "Nombre actual:"..getPlayerName(localPlayer), false, Ventana_de_info)
Rose Posted December 31, 2016 Posted December 31, 2016 22 minutes ago, Seyer said: Gracias a los 2 por la ayuda. Ahora otra pregunta, ¿cómo puedo hacer para que aparezcan los datos correspondientes en cada parte? Y ¿cómo puedo hacer para que se cierre desde el botón y no desde el mismo comando? Ya que traté de utilizar lo que me dijo @Hit+ pero no me funcionó. O sea, esto: addCommandHandler("info", function() if not guiGetVisible(Ventana_de_infotana_de_info) then showCursor(true) guiSetVisible(Ventana_de_infotana_de_info, true) else showCursor(false) guiSetVisible(Ventana_de_infotana_de_info, false) end ) Saludos y gracias de antemano. Te da algún error eso? debe de funcionar...
#Dv^ Posted December 31, 2016 Posted December 31, 2016 (edited) Nunca funcionaría ya que "ventana_de_info" no es una variable "global" Debería ser así local screenW, screenH = guiGetScreenSize() Ventana_de_info = guiCreateWindow((screenW - 422) / 2, (screenH - 325) / 2, 422, 325, "Mi información by Seyer", false) guiWindowSetMovable(Ventana_de_info, false) guiWindowSetSizable(Ventana_de_info, false) label_de_usuario = guiCreateLabel(12, 27, 119, 30, "Usuario:", false, Ventana_de_info) guiSetFont(label_de_usuario, "default-bold-small") guiLabelSetColor(label_de_usuario, 0, 254, 233) label_de_nombre_actual = guiCreateLabel(12, 67, 119, 30, "Nombre actual:", false, Ventana_de_info) guiSetFont(label_de_nombre_actual, "default-bold-small") guiLabelSetColor(label_de_nombre_actual, 0, 254, 233) label_de_contrasena = guiCreateLabel(12, 107, 119, 30, "Contraseña:", false, Ventana_de_info) guiSetFont(label_de_contrasena, "default-bold-small") guiLabelSetColor(label_de_contrasena, 0, 254, 233) label_de_serial = guiCreateLabel(12, 147, 119, 30, "Serial:", false, Ventana_de_info) guiSetFont(label_de_serial, "default-bold-small") guiLabelSetColor(label_de_serial, 0, 254, 233) label_de_ip = guiCreateLabel(12, 187, 119, 30, "IP:", false, Ventana_de_info) guiSetFont(label_de_ip, "default-bold-small") guiLabelSetColor(label_de_ip, 0, 254, 233) label_de_ultimo_inicio_de_sesion = guiCreateLabel(12, 227, 129, 30, "Ultimo inicio de sesión:", false, Ventana_de_info) guiSetFont(label_de_ultimo_inicio_de_sesion, "default-bold-small") guiLabelSetColor(label_de_ultimo_inicio_de_sesion, 0, 254, 233) edit_de_usuario = guiCreateEdit(177, 26, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_usuario, true) edit_de_nombre_actual = guiCreateEdit(177, 67, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_nombre_actual, true) edit_de_contrasena = guiCreateEdit(177, 106, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_contrasena, true) edit_de_serial = guiCreateEdit(177, 147, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_serial, true) edit_de_ip = guiCreateEdit(177, 188, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_ip, true) edit_de_ultimo_inicio_de_sesion = guiCreateEdit(177, 226, 235, 31, "", false, Ventana_de_info) guiEditSetReadOnly(edit_de_ultimo_inicio_de_sesion, true) boton_de_cerrar = guiCreateButton(12, 270, 400, 45, "Cerrar", false, Ventana_de_info) guiSetFont(boton_de_cerrar, "default-bold-small") guiSetProperty(boton_de_cerrar, "NormalTextColour", "FF00FEE9") addCommandHandler("info", function() if not guiGetVisible(Ventana_de_info) then showCursor(true) guiSetVisible(Ventana_de_info, true) else showCursor(false) guiSetVisible(Ventana_de_info, false) end end ) Edited December 31, 2016 by #Dv^
Seyer Posted December 31, 2016 Author Posted December 31, 2016 4 minutes ago, Hit+ said: Te da algún error eso? debe de funcionar... Error en consola, ninguno. Sólo no abría. 1 minute ago, #Dv^ said: addCommandHandler("info", function() if not guiGetVisible(Ventana_de_info) then showCursor(true) guiSetVisible(Ventana_de_info, true) else showCursor(false) guiSetVisible(Ventana_de_info, false) end ) Sólo estaban mal escrita las variables de tu GUI Eso lo cambié pero tampoco me funcionó. 28 minutes ago, #Dv^ said: Usas triggerClientEvent del lado del servidor para mandar los datos del jugador al cliente Un ejemplo para obtener el nick del jugador: label_de_nombre_actual = guiCreateLabel(12, 67, 119, 30, "Nombre actual:"..getPlayerName(localPlayer), false, Ventana_de_info) Eso mismo quiero. Solo que, en vez de que aparezca en los labels, aparezcan en los edits. Pero, cuando lo copio (lo de ..getPlayerName(localPlayer)) en el edit, no me abre la ventana. Perdonen por tantas molestias y gracias nuevamente.
Seyer Posted December 31, 2016 Author Posted December 31, 2016 (edited) 51 minutes ago, Hit+ said: @Seyer usa guiSetText para los edit Conseguí hacerlo de ésta forma: edit_de_nombre_actual = guiCreateEdit(177, 67, 235, 31, "" ..getPlayerName(localPlayer), false, Ventana_de_info) guiEditSetReadOnly(edit_de_nombre_actual, true) edit_de_serial = guiCreateEdit(177, 106, 235, 31, "" ..getPlayerSerial(localPlayer), false, Ventana_de_info) guiEditSetReadOnly(edit_de_serial, true) Pero no me funciona para la IP y el nombre de usuario. Es decir, pongo sus correspondientes (..getPlayerIP(localPlayer) y -de éste no estoy seguro cuál es el correspondiente- ..getAccountName(current_account)/..getPlayerAccount(localPlayer)) pero al momento de abrir la ventana se desaparecen todos los edits y el botón de cerrar. Pero si los remuevo a esos 2 reaparecen los mismos (edits y el botón de cerrar). 1 hour ago, #Dv^ said: Y lo de último inicio de sesión debes guardar en la cuenta del jugador los datos "día, hora" en el momento que se logueó, puedes usar setAccountData para establecer y getAccountData para obtener los datos ¿Podrías explicarme cómo hacerlo, por favor? Saludos. Edited December 31, 2016 by Seyer
#Dv^ Posted December 31, 2016 Posted December 31, 2016 Es que todas esa funciones, a excepción de getPlayerName (que es una función shared y va tanto en cliente como servidor) van del lado del servidor, usa el evento onPlayerLogin para obtener la cuenta del jugador addEventHandler("onPlayerLogin", root, function() local account = getPlayerAccount(source) triggerClientEvent(source, "get_Details", source, account) end ) account_player = "N/A" name_user = guiCreateEdit(x, y, x, y, account_player, false) addEventHandler("get_Details", true) addEventHandler("get_Details", root, function(account) account_player = tostring(account) guiSetText(name_user, account_player) end )
Seyer Posted December 31, 2016 Author Posted December 31, 2016 8 minutes ago, #Dv^ said: Es que todas esa funciones, a excepción de getPlayerName (que es una función shared y va tanto en cliente como servidor) van del lado del servidor, usa el evento onPlayerLogin para obtener la cuenta del jugador addEventHandler("onPlayerLogin", root, function() local account = getPlayerAccount(source) triggerClientEvent(source, "get_Details", source, account) end ) account_player = "N/A" name_user = guiCreateEdit(x, y, x, y, account_player, false) addEventHandler("get_Details", true) addEventHandler("get_Details", root, function(account) account_player = tostring(account) guiSetText(name_user, account_player) end ) ¿Obligatoriamente tiene que ir el getPlayerName en cliente y server? Porque ese (getPlayerName) me funciona teniendo el server.lua en blanco. Aunque... Quizás eso genere que, al poner los otros, suceda lo que sucede. Pd.: ¿cómo sería para ponerlo en el edit? Saludos y gracias de antemano.
#Dv^ Posted December 31, 2016 Posted December 31, 2016 No, me refería a que getPlayerName es una función shared, la puedes usar tanto en cliente como en servidor 12 minutes ago, Seyer said: ¿cómo sería para ponerlo en el edit? Agregar en el panel de edición el nombre del jugador?, pues cómo habías hecho más arriba 1 hour ago, Seyer said: edit_de_nombre_actual = guiCreateEdit(177, 67, 235, 31, "" ..getPlayerName(localPlayer), false, Ventana_de_info) guiEditSetReadOnly(edit_de_nombre_actual, true)
Seyer Posted December 31, 2016 Author Posted December 31, 2016 3 minutes ago, #Dv^ said: No, me refería a que getPlayerName es una función shared, la puedes usar tanto en cliente como en servidor Agregar en el panel de edición el nombre del jugador?, pues cómo habías hecho más arriba Ah, okay. Gracias. No, no me refería a ..getPlayerName(localPlayer. Me refería a getPlayerAccount.
#Dv^ Posted December 31, 2016 Posted December 31, 2016 Espero te sirve, y agradezcas Client local screenW, screenH = guiGetScreenSize() local account_name = "N/A" local myNick = getPlayerName(localPlayer) local myPass = "N/A" local mySerial = "N/A" local myIP = "N/A" local data_login = "N/A" Ventana_de_info = guiCreateWindow((screenW - 422) / 2, (screenH - 325) / 2, 422, 325, "Mi información by Seyer", false) guiWindowSetMovable(Ventana_de_info, false) guiWindowSetSizable(Ventana_de_info, false) label_de_usuario = guiCreateLabel(12, 27, 119, 30, "Usuario:", false, Ventana_de_info) guiSetFont(label_de_usuario, "default-bold-small") guiLabelSetColor(label_de_usuario, 0, 254, 233) label_de_nombre_actual = guiCreateLabel(12, 67, 119, 30, "Nombre actual:", false, Ventana_de_info) guiSetFont(label_de_nombre_actual, "default-bold-small") guiLabelSetColor(label_de_nombre_actual, 0, 254, 233) label_de_contrasena = guiCreateLabel(12, 107, 119, 30, "Contraseña:", false, Ventana_de_info) guiSetFont(label_de_contrasena, "default-bold-small") guiLabelSetColor(label_de_contrasena, 0, 254, 233) label_de_serial = guiCreateLabel(12, 147, 119, 30, "Serial:", false, Ventana_de_info) guiSetFont(label_de_serial, "default-bold-small") guiLabelSetColor(label_de_serial, 0, 254, 233) label_de_ip = guiCreateLabel(12, 187, 119, 30, "IP:", false, Ventana_de_info) guiSetFont(label_de_ip, "default-bold-small") guiLabelSetColor(label_de_ip, 0, 254, 233) label_de_ultimo_inicio_de_sesion = guiCreateLabel(12, 227, 129, 30, "Ultimo inicio de sesión:", false, Ventana_de_info) guiSetFont(label_de_ultimo_inicio_de_sesion, "default-bold-small") guiLabelSetColor(label_de_ultimo_inicio_de_sesion, 0, 254, 233) edit_de_usuario = guiCreateEdit(177, 26, 235, 31, account_name, false, Ventana_de_info) guiEditSetReadOnly(edit_de_usuario, true) edit_de_nombre_actual = guiCreateEdit(177, 67, 235, 31, myNick, false, Ventana_de_info) guiEditSetReadOnly(edit_de_nombre_actual, true) edit_de_contrasena = guiCreateEdit(177, 106, 235, 31, myPass, false, Ventana_de_info) guiEditSetReadOnly(edit_de_contrasena, true) edit_de_serial = guiCreateEdit(177, 147, 235, 31, mySerial, false, Ventana_de_info) guiEditSetReadOnly(edit_de_serial, true) edit_de_ip = guiCreateEdit(177, 188, 235, 31, myIP, false, Ventana_de_info) guiEditSetReadOnly(edit_de_ip, true) edit_de_ultimo_inicio_de_sesion = guiCreateEdit(177, 226, 235, 31, data_login, false, Ventana_de_info) guiEditSetReadOnly(edit_de_ultimo_inicio_de_sesion, true) boton_de_cerrar = guiCreateButton(12, 270, 400, 45, "Cerrar", false, Ventana_de_info) guiSetFont(boton_de_cerrar, "default-bold-small") guiSetProperty(boton_de_cerrar, "NormalTextColour", "FF00FEE9") guiSetVisible(Ventana_de_info, false) addCommandHandler("info", function() if not guiGetVisible(Ventana_de_info) then showCursor(true) guiSetVisible(Ventana_de_info, true) else showCursor(false) guiSetVisible(Ventana_de_info, false) end end ) addEvent("get_Details", true) addEventHandler("get_Details", root, function(account, serial, ip, login_get) account_name = tostring(account) mySerial = tostring(serial) myIP = tostring(ip) data_login = tostring(login_get) guiSetText(edit_de_usuario, account_name) guiSetText(edit_de_serial, mySerial) guiSetText(edit_de_ip, myIP) guiSetText(edit_de_ultimo_inicio_de_sesion, data_login) end ) addEventHandler("onClientPlayerChangeNick", root, function() guiSetText(edit_de_nombre_actual, getPlayerName(localPlayer)) end ) addEventHandler("onClientGUIClick", boton_de_cerrar, function() if guiGetVisible(Ventana_de_info) then showCursor(false) guiSetVisible(Ventana_de_info, false) end end, false ) Server addEventHandler("onPlayerLogin", root, function(newpass) local playerAccount = getPlayerAccount(source) local account = getAccountName(playerAccount) local serial = getAccountSerial(getAccount(account)) local ip = getPlayerIP(source) local login_get = getAccountData(playerAccount, "última_conexión") or "N/A" setAccountData(playerAccount, "última_conexión", FormatDate("d/m/y h:i")) triggerClientEvent(source, "get_Details", source,account, serial, ip, login_get) end ) local gWeekDays = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" } function FormatDate(format, escaper, timestamp) Check("FormatDate", "string", format, "format", {"nil","string"}, escaper, "escaper", {"nil","string"}, timestamp, "timestamp") escaper = (escaper or "'"):sub(1, 1) local time = getRealTime(timestamp) local formattedDate = "" local escaped = false time.year = time.year + 1900 time.month = time.month + 1 local datetime = { d = ("%02d"):format(time.monthday), h = ("%02d"):format(time.hour), i = ("%02d"):format(time.minute), m = ("%02d"):format(time.month), s = ("%02d"):format(time.second), w = gWeekDays[time.weekday+1]:sub(1, 2), W = gWeekDays[time.weekday+1], y = tostring(time.year):sub(-2), Y = time.year } for char in format:gmatch(".") do if (char == escaper) then escaped = not escaped else formattedDate = formattedDate..(not escaped and datetime[char] or char) end end return formattedDate end function Check(funcname, ...) local arg = {...} if (type(funcname) ~= "string") then error("Argument type mismatch at 'Check' ('funcname'). Expected 'string', got '"..type(funcname).."'.", 2) end if (#arg % 3 > 0) then error("Argument number mismatch at 'Check'. Expected #arg % 3 to be 0, but it is "..(#arg % 3)..".", 2) end for i=1, #arg-2, 3 do if (type(arg[i]) ~= "string" and type(arg[i]) ~= "table") then error("Argument type mismatch at 'Check' (arg #"..i.."). Expected 'string' or 'table', got '"..type(arg[i]).."'.", 2) elseif (type(arg[i+2]) ~= "string") then error("Argument type mismatch at 'Check' (arg #"..(i+2).."). Expected 'string', got '"..type(arg[i+2]).."'.", 2) end if (type(arg[i]) == "table") then local aType = type(arg[i+1]) for _, pType in next, arg[i] do if (aType == pType) then aType = nil break end end if (aType) then error("Argument type mismatch at '"..funcname.."' ('"..arg[i+2].."'). Expected '"..table.concat(arg[i], "' or '").."', got '"..aType.."'.", 3) end elseif (type(arg[i+1]) ~= arg[i]) then error("Argument type mismatch at '"..funcname.."' ('"..arg[i+2].."'). Expected '"..arg[i].."', got '"..type(arg[i+1]).."'.", 3) end end end Con el tema de la contraseña, no sé si se pueda obtener ese dato, creo que no se puede
Seyer Posted December 31, 2016 Author Posted December 31, 2016 ¡Muchísimas gracias, @#Dv^! Puse a los 2 con un label de agradecimiento. Saludos y muchísimas gracias.
Recommended Posts