Tomas
Members-
Posts
2,530 -
Joined
-
Last visited
Everything posted by Tomas
-
De todos modos... string.find es para conseguir la posición, tú sólo necesitas saber si se encuentra ahí, así que es mejor utilizar string.match EDIT: string.find no es funcional con los operadores lógicos ya que siempre devuelve un string, incluso cuando se llama a la función con strings vacíos, actualmente no funcionaría.
-
Se cortó un pedazo del código cuando lo pegué.. aquí está completo: bannedchar = { ["$"] = true, ["%"] = true, ["&"] = true } for i = 1, #name do cache = {} cache[i] = string.sub(name, i, i) end for _, str in ipairs(cache) do if ( bannedchar[str] ) then return end end cache = nil Ambas hacen lo mismo, pero esta es otra forma de resolverlo
-
Es más eficiente así: bannedchar = { ["$"] = true, ["%"] = true, ["&"] = true } if ( bannedchar[str] ) then return end
-
local now = getRealTime().timestamp local tomorrow = now+86400 Guardas el timestamp de cuando lo usó, si ese timestamp + 86400 es mayor o igual ya ha pasado un día.
-
Los puedes romper con shaders
-
Hola perdon por la demora y por molestar tanto, pero como podria hacer para que muestre eso en el label probe modificando unas cosas pero no funciono. Postea tu intento
-
Bueno se supone NFO es uno de ellos.... Deberían mitigar un ataque DDoS.. ¿no?
-
Pasate a alguna empresa seria que proteja sus servidores
-
Puede haber sido simplemente un lag spike, duró sólo un minuto...
-
Dile a tus jugadores que descarguen el nightly patch y se debería solucionar. (también está en www.mtasa.com)
-
-- client addEvent("ipcallback", true) function getPlayerIPByName(name) local name = name or "" if ( not getPlayerFromName(name) ) then return false end triggerServerEvent("getPlayerIPfn", root, localPlayer, getPlayerFromName(name)) end addEventHandler("ipcallback", root, function (ip) outputChatBox(ip) end ) -- server addEvent("getPlayerIPfn", true) addEventHandler("getPlayerIPfn", root, function (player, whosip) triggerClientEvent(player, "ipcallback", player, getPlayerIP(whosip)) end )
-
Joven... acaba de salvar mi trasero, realize la prueba y efewctivamente es eso... si le das 1 vez lagea poco... pero si le das 2...4..10 veces full lag 500% CPU, y suponeo que los users al darle click normal ok , pero como no sale nada es tipico darle muchos clicks. Puedes hacer lo que hacemos en mi servidor, en vez de cada vez hacer un query a la base de datos cuando el resource carga guardas los grupos en una tabla, cuando un miembro se sale, entra, bla bla bla, actualizas la tabla y en vez de hacer un query tomas la información desde ahí y no lag
-
Agrega esto al principio de cada función donde haya algún for-loop: onFunctionCall(debug.getinfo(1).name)
-
ya lo revise y monitore por un buen tiempo y nada solo sale lo de aborting y network trouble Es algún loop que está tomando mucho tiempo en ejecutarse o simplemente es infinito, aquí tienes una forma de darte cuenta cuál es: debugging = {} function onFunctionCall(func) if ( #debugging > 5 ) then debugging = {} end debugging[#debugging+1] = {func, debug.getinfo(_G[func]).linedefined} end addEventHandler("onResourceStop", resourceRoot, function () outputDebugString("Resource stopped, listing last called functions...") for ind, data in ipairs(debugging) do outputDebugString(ind..": "..table.concat(data), ", ") end end) Y en cada función que haya algún loop (al inicio de la función) agrega: onFunctionCall(debug.getinfo(1).name)
-
Comprueba si lo del stackoverflow aparece en la consola
-
Para eso debes hacer un trigger al servidor y luego desde ahí al cliente para editar los valores.
-
Las funciones de archivo 'file' trabajan con los archivos no con los recursos, no importa si está cargado o no, lo debería leer igual.
-
function createlistp() for id, playeritem in ipairs(getElementsByType("player")) do local row = guiGridListAddRow(gridlistt) guiGridListSetItemText(gridlistt, row, 1, getPlayerName(playeritem), false, false) end end addEventHandler("onClientResourceStart", getRootElement(), createlistp)
-
¿Idea de cuándo pasa? ¿Alguna relación entre las veces que pasa? (cada x segundos, siempre), addonGrup es el recurso?
-
setRadioChannel(0) function makeRadioStayOff() if ( getRadioChannel() == 0 ) then return end setRadioChannel(0) ---773 Linea cancelEvent() end addEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) Aunque te recomiendo simplemente desactivar los controles de la radio
-
Puedes comprar dólares con BitCoins entonces utilizas PayPal para comprar
-
getTimerDetails (primeramente) devuelve la cantidad de segundos que quedan para que el timer se execute (llegue a 0), getTimerDetails(theTimer)
-
Cuando se desconecte, getTimerDetails lo guardas en su cuenta y cuando loguea, lo metes pa' dentro usando el tiempo guardado en su acc
-
mods = { [455] = {"txd", "dff", "col"}, [312] = {"txd", "dff", "col"}, } -- [Model] = {"file.txd", "file.dff", "file.col"}, local mods_folder_path = "/mods/" addEventHandler("onClientResourceStart", resourceRoot, function () for model, data in ipairs(mods) do if ( data[1] ) then engineImportTXD(engineLoadTXD(mods_folder_path..data[1], model) elseif ( data[2] ) then engineReplaceModel(engineLoadDFF(mods_folder_path..data[2], model) elseif ( data[3] ) then engineReplaceCOL(engineLoadCOL(mods_folder_path..data[3], model) end end end )
-
Intenta usarlo con compatibilidad a windows 7, si no, cambia la resolución de MTA y GTA a la de tu monitor, no debería cambiar.