-
Posts
1,056 -
Joined
-
Last visited
Everything posted by Sasu
-
Optimizar Banda Ancha VPS
Sasu replied to Narutimmy's topic in Ayuda relacionada al cliente/servidor
Formato: 1.5.1-9.0rev.0 rev lo remplazas por la revision que quieras, puedes ver los ultimos aqui https://buildinfo.mtasa.com/index.php?Branch=1.5 Para la ultima revision: 1.5.1-9.07742.0 -
En la función que abre el panel pones anim = false
-
You have to pass the argument to setTimer: function someFunction() setElementData(source, "nametags.bubble",true) setTimer(function(source) setElementData( source,"nametags.bubble",false) end, 7000, 1, source); end
-
playSound3D con onClientRender es excesivo, a lo mejor ese es el problema. Intenta con setTimer en vez de ese evento.
-
Tiene el archivo incluido en el meta?
-
local qh = dbQuery(connection, "SELECT * FROM yourtable WHERE thecolumn = ?", namevariable) local result = dbPoll( qh, -1 ) if type(result) == "table" and #result > 0 then -- do something end
-
function ...(...) playSound(...) tick = getTickCount() end addEventHandler("onClientRender", root, function() local progress = math.floor( ( getTickCount() - tick ) / 1000 ) local width = ( progress * 479 ) / secs dxDrawRectangle(17, 175, width, 4, tocolor(255, 255, 255, 255), false) end )
-
"SELECT * FROM table ORDER BY DESC LIMIT 3"
-
function eliminararma(pName, id) takeWeapon( client, id ) end addEvent("Eliminararmaa", true) addEventHandler ("Eliminararmaa", root, eliminararma) <3 Esa variable no es para el cliente que llamó el evento?
-
function eliminararma(pName, id) takeWeapon( source, id ) end addEvent("Eliminararmaa", true) addEventHandler ("Eliminararmaa", root, eliminararma)
-
Según la wiki, getPedTotalAmmo en clientside devuelve valores incorrectos en las armas de jugadores remotos que no tienen en mano por lo tanto tendras que llamar una funcion de server con triggerServerEvent, obtener los datos de sus armas y luego devolverlos con triggerClientEvent.
-
Ni idea de porque se tildaba el juego pero te cambie una cositas del client y ahora funciona, fijate bien en los cambios que son muy importantes. Perdón por no explicarte pero no tengo mucho tiempo. addEventHandler("onClientResourceStart", resourceRoot, function () ventana = guiCreateWindow(235, 110, 317, 351, "Trabajo de colectivero Argentina 1.0", false) guiSetVisible(ventana, false) guiWindowSetSizable(ventana, false) boton1 = guiCreateButton(10, 73, 126, 55, "Quiero el trabajo!", false, ventana) guiSetFont(boton1, "default-bold-small") boton2 = guiCreateButton(10, 189, 126, 55, "Renuncio!", false, ventana) guiSetFont(boton2, "default-bold-small") boton3 = guiCreateButton(92, 278, 126, 55, "Cerrar", false, ventana) guiSetFont(boton3, "default-bold-small") label = guiCreateLabel(143, 123, 164, 155, "Se le pagara 350$ por parada.", false, ventana) guiSetFont(label, "default-bold-small") addEventHandler("onClientGUIClick", boton1, darJ, false) addEventHandler("onClientGUIClick", boton2, darR, false) addEventHandler("onClientGUIClick", boton3, exxit, false) end ) function job1() guiSetVisible(ventana, true) showCursor(true) end addEvent("abri", true) addEventHandler("abri", root, job1) function dxtext() dxDrawText("Trabajo de colectivero 1.0", 13 + 1, 17 + 1, 346 + 1, 71 + 1, tocolor(0, 0, 0, 255), 2.00, "pricedown", "left", "top", false, false, false, false, false) dxDrawText("Trabajo de colectivero 1.0", 13, 17, 346, 71, tocolor(21, 245, 242, 255), 2.00, "pricedown", "left", "top", false, false, false, false, false) end function verdx() addEventHandler ("onClientRender", root, dxtext) end addEvent("verr", true) addEventHandler("verr", root, verdx) function darJ() showCursor(true) triggerServerEvent("darJJ", getLocalPlayer()) end function darR() showCursor(true) triggerServerEvent("darRR", getLocalPlayer()) end function exxit() guiSetVisible(ventana, false) showCursor(false) end
-
[APORTE Useful function] Milisegundos a minutos.
Sasu replied to starksZ's topic in Recursos y aportes
Eso son segundos, no milisegundos. Si fuera milisegundos, seria 226652.6084362. Con razón me daba cualquier cosa, asi que te pido disculpas por el malentendido. De todos modos, a lo que me referia sobre las cuentas innecesarias era a las dos siguientes lineas: Linea 4: sub = math.floor( number * 1000 / 1000) Para que multiplicas por 1000 si luego divides por 1000? Es lo mismo que hacer directamente math.floor(number) Linea 7: total = math.floor( min ^ 10 * min / min ^ 10 ) Lo mismo. Multiplicas por min^10 y luego lo divides por el mismo. Es igual a math.floor(min). P.D.: Cuando no uses las variables en otras funciones, te recomiendo definirlas como locales para que estas solo se guarden en la memoria temporalmente. -
[APORTE Useful function] Milisegundos a minutos.
Sasu replied to starksZ's topic in Recursos y aportes
Pues a mi no me funcionó, me da cualquier cosa. Ademas veo que multiplicas por algo y luego lo divides por el mismo lo cual es totalmente innecesario ya que se cancelan. Encontre los calculos matematicos de stackoverflow que hacen lo que supuestamente tendria que hacer tu funcion: function convertMsToMin( milliseconds ) local seconds = (milliseconds / 1000) % 60 ; local minutes = milliseconds / (1000*60); return string.format("%02d:%02d", math.floor(minutes), math.floor(seconds)) end Un saludo. -
Awesome! Good work
-
Tal vez, seria bueno que crees un repositorio en github así usuarios con buena voluntad puedan aportar parches para errores, si es que lo hubieran.
-
En onClientPlayerWeaponFire en vez de ammo == 1 que la condicion sea ammo == 2.
-
Tambien puedes usar guiCreateBrowser que es mas facil usar.
-
-
Porque está utilizando un ped, y además no sabemos si su evento se activa cuando el ped es dañado.
-
function DarMoney(player, cmd, target, amount) local targetplayer = getPlayerFromName(target) if targetplayer then local x, y, z = getElementPosition(player) local x1, y1, z1 = getElementPosition(targetplayer) local distance = getDistanceBetweenPoints3D(x, y, z, x1, y1, z1) if distance < 5 then if target then if amount then local money = getPlayerMoney(player) amount = tonumber(amount) if money >= amount then givePlayerMoney(targetplayer, amount) takePlayerMoney(player, amount) outputChatBox(getPlayerName(player).." dio $"..amount.." a "..getPlayerName(targetplayer), getRootElement(), 0, 255, 0, true) else outputChatBox("No dinero! ", player, 255, 0, 0) end else outputChatBox("Pon la cantidad de dinero", player, 255, 0, 0) end else outputChatBox("/darmoney jugador cantidad", player, 255, 0, 0) end else outputChatBox("el player esta lejos", player, 255, 0, 0) end else outputChatBox("Este jugador no existe.", player, 255, 0, 0) end end addCommandHandler("darmoney", DarMoney)
-
mesa1= createObject(201, -2107.7, -2283.6001, 30.7, 0, 0, 320) function asda ( button, state, _, _, _, _, _, clickedElement ) if clickedElement == mesa1 then exports.gui:show('mesa') outputChatBox("TEST1") end end addEventHandler ( "onClientClick", getRootElement(), asda ) Igual, ahora que lo pienso, creo que no sirve con elementos creados pero no pierdes nada intentando.
-
Por que no usas onClientClick? local mesa1 = createObject(201, -2107.7, -2283.6001, 30.7, 0, 0, 320) function clickMesa1(mouse, buttonState, element) if element and element == mesa1 then triggerClientEvent(source, "abrirMesa", source) end end addEventHandler("onPlayerClick",root,clickMesa1) --Client-side addEvent("abrirMesa", true) addEventHandler("abrirMesa", getRootElement(), function ( ) exports.gui:show('mesa') end )
-
Y si pones solo ese objeto tambien sucede?
-
Que evento estas usando? onClientClick; onPlayerClick?