Jump to content

Solucion?


andresmak

Recommended Posts

Posted (edited)

Buenas, tengo un problema y es que al usar 4.2 con tonumber, en donde lo use sea client o server sale bien pero cuando uso triggerClientEvent o triggerServerEnvent no sale lo que numero que puse 4.2 si no 4.19998.

client

local number1 = 4
local number2 = 2

function start()
  local number = tonumber(number1.."."..number2)
  triggerSerberEvent("setNumer", getLocalPlayer(), number) --El numero que envia al server es 4.2
end  

server

local number0 = 4.2

function load(number)
  if number0 == number then -- El numero que da es 4.19998
     outputChatBox("yes")
     return
  end
  outputChatBox("no")
end
addEvent("setNumber", true)
addEventHandler("setNumber", root, load)

Hay alguna solución? Me podrían ayudar por favor.

Edited by andresmak
Posted (edited)

Gracias por responder, ya utilice math.floor(number) y eso te quita el numero que esta después del "." el resultado queda 4, yo lo que necesito es que aparezca es 4.2, al pasar del cliente al server o al contrario no queda el 4.2 esta re raro por que antes que se actualizara el mta me funcionaba

Edited by andresmak
Posted (edited)

El . se lo añades tú mismo por lo que veo, es decir, no se coloca sólo. Lo que podrías hacer es pasar los 2 valores directamente a server-side y ahí ponerles el . Ah, y me fijé en algo:

Quote

triggerSerberEvent

Es 'serverEvent' xd. 

Edited by aka Blue
Posted

Ha xd, es que es un seleccionador de arenas lo cual algunos tiene rooms y de ahí sale el 4.2 o 4.1 y por eso digo que antes me funcionaba después de la actualización, si paso directamente los valores me toca volver a editar muchas cosas

Posted (edited)

Es cuando uso el triggerServerEvent o triggerClientEvent y el tonumber cambia el numero despues del ".", probé con tostring y el 4.2 no cambiaba. 

Edited by andresmak
Posted

Gracias pero el problema parece que es con el  triggerServerEvent y triggerClientEvent que convierte el 4.1 o 4.2 etc en 4.099999 o 4.199998.

La única es como digo aka blue que es usar tostring haciendo lo siguiente

_triggerClientEvent = triggerClientEvent
function triggerClientEvent(funcname, client, ...)
    local arg = { ... }
    if (arg[1]) then
        for key, value in next, arg do
            if (type(value) == "number") then arg[key] = tostring(value) end
        end
    end
    if client then
        triggerClientEvent(client, funcname, client, unpack(arg or {}))
    else
        triggerClientEvent(funcname, root, unpack(arg or {}))
    end
end

Yo creo que ya terminar el tema.

  • Recently Browsing   0 members

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