Jump to content

Info panel


Seyer

Recommended Posts

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.

Link to comment
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.

Link to comment

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 by #Dv^
Link to comment

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 by Seyer
Link to comment
2 minutes ago, #Dv^ said:

 

Pero... ¿Cómo hago para que aparezcan en los cuadritos?

Saludos y gracias de antemano.

 

Link to comment
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...

Link to comment

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 by #Dv^
Link to comment
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ó. :S 

 

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. :S

Perdonen por tantas molestias y gracias nuevamente. :)

Link to comment
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). :S 

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 by Seyer
Link to comment

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
)



 

Link to comment
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.

Link to comment

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:

 

Link to comment

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

 

Link to comment
  • Recently Browsing   0 members

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