andresmak Posted September 11, 2016 Share Posted September 11, 2016 (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 September 11, 2016 by andresmak Link to comment
aka Blue Posted September 11, 2016 Share Posted September 11, 2016 (edited) Usa math.floor( number ) para aproximar el número a 2 Edited September 11, 2016 by aka Blue Link to comment
andresmak Posted September 11, 2016 Author Share Posted September 11, 2016 (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 September 11, 2016 by andresmak Link to comment
aka Blue Posted September 11, 2016 Share Posted September 11, 2016 (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 September 11, 2016 by aka Blue Link to comment
andresmak Posted September 11, 2016 Author Share Posted September 11, 2016 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 Link to comment
andresmak Posted September 11, 2016 Author Share Posted September 11, 2016 (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 September 11, 2016 by andresmak Link to comment
aka Blue Posted September 11, 2016 Share Posted September 11, 2016 (edited) Entonces usa tostring, porque el "." que añades es básicamente eso, una string. Edited September 11, 2016 by aka Blue Link to comment
Sensacion Posted September 11, 2016 Share Posted September 11, 2016 Entonces ponle: local number = number1 + (number2/10) Link to comment
andresmak Posted September 11, 2016 Author Share Posted September 11, 2016 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. Link to comment
Recommended Posts