Jump to content

Duda sobre paradise.


Recommended Posts

Hola, buenos días.

Tengo un duda ya que estoy empezando en el tema de scripting en MTA:SA y bueno, si es posible que me ayudarais os lo agradeceria mucho.

Bueno, el problema viene aqui (Uso la gamemode paradise) : 

Que cuando intento crearme otro personaje, al poner edad, nacionalidad y estatura me dice siempre Tu edad minima solo puede ser de 18 años.


 

Spoiler

vMddRLe.jpegEZQjDky.jpeg

 



function verifyEdad( edad )
	if not edad then
		return "No has una edad."
	elseif #edad < 18 then
		return "Tu edad minima solo puede ser de 18 años."
	elseif #edad >= 99 then
		return "Tu edad maxima solo puede ser 99 años."
	elseif tonumber(text) then
		return "No puedes usar letras"
	elseif foundSpace then
		return "No puedes usar espacios"
	end
end

function verifyNacionalidad( nacionalidad )
	if not nacionalidad then
		return "No has puesto una nacionalidad"
	elseif not tonumber(text) then
		return "No tienes ninguna letra escrita"
	elseif nacionalidad and type(nacionalidad) == "number" then 
		return "No puedes usar numeros"
	end
end

function verifyEstatura( estatura )
	if not estatura then
		return "No has una estatura."
	elseif #estatura >= 200 then
		return "Tu estatura maxima solo puede ser de 200 CM."
	elseif #estatura < 140 then 
		return "Tu estatura minima solo puede ser de 140 CM."
	elseif tonumber(text) then
		return "No puedes usar letras"
	elseif foundSpace then
		return "No puedes usar espacios"
	end
end

 

¿Tengo, una pregunta más, seria posible que solo se puedan escribir nacionalidades especificas?

Muchas gracias en caso de contestar y leer esto.

Edited by Homer Simpson
Añadi otra foto.
Link to comment
function verifyEdad (edad)
	if not edad then
		return "No has una edad."
	elseif #edad >= 99 then
		return "Tu edad maxima solo puede ser 99 años."
	elseif tonumber(text) then
		return "No puedes usar letras"
	elseif foundSpace then
		return "No puedes usar espacios"
	end
end

 

Link to comment

Si usas guiGetText y destroy["nombre del edit"] para obtener la edad, lo único que haces poniendo la # delante es comprobar la longitud de la cantidad introducida. Es decir, que si pones 18 el #edad devolverá 2, no 18. Deberías utilizar tonumber( edad ) o algo similar.

Link to comment

Soy nuevo con el tema del Scripting, llevo 2 días intentando hacer lo de la edad y sigo sin caer en que usar, si me pudieses ayudar con el codigo te lo agradeceria mucho.

 

local function tryCreate( key )
	local name = destroy["g:createcharacter:name"] and guiGetText( destroy["g:createcharacter:name"] )
	local edad = destroy["g:createcharacter:edad"] and guiGetText( destroy["g:createcharacter:edad"] )
	local nacionalidad = destroy["g:createcharacter:nacionalidad"] and guiGetText( destroy["g:createcharacter:nacionalidad"] )
	local estatura = destroy["g:createcharacter:estatura"] and guiGetText( destroy["g:createcharacter:estatura"] )
	local error = verifyCharacterName( name ) or verifySkin( selectedSkin ) or verifyEdad( edad ) or verifyNacionalidad( nacionalidad ) or verifyEstatura( estatura )
	if not error then
		triggerServerEvent( "gui:createCharacter", getLocalPlayer( ), name, selectedSkin, edad, nacionalidad, estatura )
	else
		setMessage( error )
	end
end

Ese es el codigo del tryCreate, en players>main.Lua ya puse lo necesario para que se guardase y funccionase. El  unico error que tengo es en los siguientes verify

 

function verifyEdad( edad )
	if not edad then
		return "No has una edad."
	elseif #edad < 18 then
		return "Tu edad minima solo puede ser de 18 años."
	elseif #edad >= 99 then
		return "Tu edad maxima solo puede ser 99 años."
	elseif tonumber(text) then
		return "No puedes usar letras"
	elseif foundSpace then
		return "No puedes usar espacios"
	end
end

function verifyNacionalidad( nacionalidad )
	if not nacionalidad then
		return "No has puesto una nacionalidad"
	elseif not tonumber(text) then
		return "No tienes ninguna letra escrita"
	elseif nacionalidad and type(nacionalidad) == "number" then 
		return "No puedes usar numeros"
	end
end

function verifyEstatura( estatura )
	if not estatura then
		return "No has una estatura."
	elseif #estatura >= 200 then
		return "Tu estatura maxima solo puede ser de 200 CM."
	elseif #estatura < 140 then 
		return "Tu estatura minima solo puede ser de 140 CM."
	elseif tonumber(text) then
		return "No puedes usar letras"
	elseif foundSpace then
		return "No puedes usar espacios"
	end
end

 

Link to comment
22 hours ago, aka Blue said:

Si usas guiGetText y destroy["nombre del edit"] para obtener la edad, lo único que haces poniendo la # delante es comprobar la longitud de la cantidad introducida. Es decir, que si pones 18 el #edad devolverá 2, no 18. Deberías utilizar tonumber( edad ) o algo similar.

Es exactamente esto...

 

function verifyEdad( edad )
	if not edad then
		return "No has una edad."
	elseif tonumber(edad) < 18 then
		return "Tu edad minima solo puede ser de 18 años."
	elseif tonumber(edad) >= 99 then
		return "Tu edad maxima solo puede ser 99 años."
	elseif tonumber(text) then
		return "No puedes usar letras"
	elseif foundSpace then
		return "No puedes usar espacios"
	end
end

function verifyNacionalidad( nacionalidad )
	if not nacionalidad then
		return "No has puesto una nacionalidad"
	elseif not tonumber(text) then
		return "No tienes ninguna letra escrita"
	elseif nacionalidad and type(nacionalidad) == "number" then 
		return "No puedes usar numeros"
	end
end

function verifyEstatura( estatura )
	if not estatura then
		return "No has una estatura."
	elseif tonumber(estatura) >= 200 then
		return "Tu estatura maxima solo puede ser de 200 CM."
	elseif tonumber(estatura) < 140 then 
		return "Tu estatura minima solo puede ser de 140 CM."
	elseif tonumber(text) then
		return "No puedes usar letras"
	elseif foundSpace then
		return "No puedes usar espacios"
	end
end

 

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