Tomas
Members-
Posts
2,530 -
Joined
-
Last visited
Everything posted by Tomas
-
Agregale un true al cuarto argumento del setElementData.
-
En resumen, otro P2W
-
addEventHandler("onResourceStart", resourceRoot, function () for k, s in ipairs(tabla) do local x, y, z, r, g, b = s.x, s.y, s.z, s.r, s.g, s.b addEventHandler("onMarkerHit", createMarker ( x, y, z -1, "cylinder", 1.5, r, g, b, 170 ), entras) end end )
-
Es porque estás triggeando todos los valores para luego chequearlos y comparar si el valor es igual o mayor, si quieres obtener el mayor valor segun su nivel puedes utilizar esto: tabla = { {nivel = "3", x = -701.599609375, y = 987.353515625, z =12.375272750854, r = 0, g = 255, b = 0}, {nivel = "4", x = -710.3603515625, y = 988.5927734375, z = 12.379697799683,r = 0, g = 0, b = 255} } for k, s in ipairs(tabla) do local x, y, z, r, g, b = s.x, s.y, s.z, s.r, s.g, s.b addEventHandler("onMarkerHit", createMarker ( x, y, z -1, "cylinder", 1.5, r, g, b, 170 ), entras) end function entras (hitElement) current = 0 for valor, item in ipairs (tabla) do if ( tostring(exports.exp_system:getPlayerLevel(hitElement)) > item.nivel ) then current = exports.exp_system:getPlayerLevel(hitElement) end end if ( current ~= 0 ) then outputChatBox("El marcador del maximo nivel que puedes utilizar es: "..current, hitElement) end end Debes ordenar los valores segun el nivel.
-
El primer gamemode basado en Paradise que veo que innova, felicidades.
-
Exacto, son aproximadamente 10, se puede arreglar pero podría ser un poco más complejo. Si utilizas 60 segundos y el script no se inició en el segundo 0 todo se podría bugear, por eso es mejor hacerlo con un poco de delay.
-
setTimer( function () if ( getRealTime().hour == 16 and getRealTime().minute == 0 ) then pay() end end, 50000, 0 )
-
Se puede utilizar el mismo código de lenguaje que MTA brinda, getLocalization. Aquí tienes un ejemplo de un proyecto que comenzó un desarrollador de mi servidor y que lamentablemente abandonó: GTIlanguage/language.lua ----------------------------------------->> -- GTI: Grand Theft International -- Date: 08 April 2015 -- Resource: GTIlanguage/language.lua -- Type: Both sides ----------------------------------------->> function onClientStart() localPlayer:setData("language",getLocalization()["code"],true) --sync end addEventHandler("onClientResourceStart",resourceRoot,onClientStart) function getTranslation(text_variable,language) --Make sure the language table resource is online if not (isLanguageResourceOnline()) then return false end --Figure out if we're client or server local side = nil if (localPlayer == nil) then side = "server" else side = "client" end --Get the language table local lTable = exports.GTIlanguageTable:getLanguages() --Check language if not language then language = getPlayerLanguage() or "en_US" end --Check if that language exists, otherwise return false. If it exists but no translation, return en_US version. if not (lTable[side][text_variable]) then return false end return lTable[side][text_variable][language] or lTable[side][text_variable]["en_US"] end function getPlayerLanguage(player) if localPlayer then player = localPlayer end if not player then outputDebugString("Bad argument @ 'getPlayerLanguage' [Expected player, got nil]",1) return false elseif not (isElement(player) and getElementType(player) == "player") then outputDebugString("Bad argument @ 'getPlayerLanguage' [Expected player, got "..tostring(type(player)).."]",1) return false end return player:getData("language") end function isLanguageResourceOnline() if (getResourceState(getResourceFromName("GTIlanguageTable")) == "running") then return true else return false end end GTIlanguage/meta.xml <meta> <info author="Jack" name="GTI Languages" description="Automatically gets translated text based on the player's language." autostart="false" /> <script src="language.lua" type="shared" cache="false"/> <export function="getPlayerLanguage" type="shared" /> <export function="getTranslation" type="shared" /> <oop>true</oop> </meta> GTIlanguageTable/languages.lua -- -------------------------------------->> -- GTI: Grand Theft International -- Date: 06/04/2015 -- Resource: GTIlanguageTable/languages.lua -- Type: Server Side ----------------------------------------->> local languages = {} --Credits to Callum Dawson for the idea. languages["server"] = { PLAYER_LOGGEDIN = { en_US = "* %s has logged in.", fr = "* %s a connecté.", es = "* %s se ha conectado.", pt_BR = "%s conectou-se." }, PLAYER_QUIT = { en_US = "* %s has left the game [%s]", fr = "* a quitté la partie [%s]", es = "* %s ha abandonado el juego [%s]", pt_BR = "* %s desconectou-se [%s]" }, PLAYER_NICK_CHANGE = { en_US = "* %s is now known as %s", fr = "* %s est maintenant connu comme %s", es = "* %s es ahora conocido como %s", pt_BR = "* %s e agora conhecido como %s" }, PLAYER_FIRST_JOIN = { en_US = "* %s has joined for the first time. Say hello, guys!", fr = "* %s a rejoint pour la première fois. Dites bonjour, les gars!", es = "* %s ha entrado por primera vez. ¡Denle la bienvenida!", pt_BR = "* %s conectou-se pela primeira vez. Digam Ola, pessoal!" } } languages["client"] = { --Login window ACCOUNTS_LOGIN_PLAY = { en_US = "PLAY!", fr = "JOUER!", es = "JUGAR!", pt_BR = "JOGAR!" }, ACCOUNTS_LOGIN_REGISTER = { en_US = "Register", fr = "Se enregistrer", es = "Registrarse", pt_BR = "Registe-se" }, ACCOUNTS_LOGIN_LEAVE = { en_US = "Leave", fr = "Laisser", es = "Salir", pt_BR = "Sair" }, ACCOUNTS_LOGIN_RECOVER = { en_US = "Recover", fr = "Récupérer", es = "Recuperar", pt_BR = "Recuperar" }, --Register window ACCOUNTS_REGISTER_TITLE = { en_US = "GTI Account Registration", es = "GTI Registro de Cuenta", pt_BR = "Registo de Conta do GTI" }, ACCOUNTS_REGISTER_USERNAME = { en_US = "Enter a username:", es = "Nombre de usuario:", pt_BR = "Nome de utilizador:" }, ACCOUNTS_REGISTER_EMAIL = { en_US = "E-mail Address (Optional):", es = "E-mail (Opcional):", pt_BR = "Endereco de E-mail (Opcional):" }, ACCOUNTS_REGISTER_PASSWORD = { en_US = "Enter a Password", es = "Ingresa una contrasena", pt_BR = "Insira uma palavra-passe" }, ACCOUNTS_REGISTER_REPEAT = { en_US = "Repeat Password", es = "Repite la contrasena", pt_BR = "Repita a palavra-passe" }, ACCOUNTS_REGISTER_TEXT = { en_US = "Your account Username is the username that you will login with. It cannot be changed. Your e-mail address will be used to recover your password in the event that you forget it. It is completely optional, but password recovery will be a lot more difficult without it. Your password can be changed in the future.", es = "Tu nombre de cuenta sera utilizado para la autenticacion. El nombre de cuenta no puede ser cambiado. Tu e-mail sera usado para recuperar tu contrasena en caso de que la olvides. Esto es completamente opcional, pero la recuperacion de tu contrasena sera mas dificil sin esto. Tu contrasena puede ser cambiada en el futuro", pt_BR = "O Nome de Utilizador sera usado para realizares a autenticacao. O nome de utilizador nao pode ser alterado. O teu endereco de e-mail sera usado para recuperar a tua palavra-passe no caso de te esqueceres dela. E completamente opcional, mas a recuperacao de palavra-passe sera muito mais dificil sem ele. A tua palavra-passe pode ser alterada no futuro." }, ACCOUNTS_REGISTER_REGISTER = { en_US = "Register", es = "Registar", pt_BR = "Registar" }, ACCOUNTS_REGISTER_CLOSE = { en_US = "Close", es = "Cerrar", pt_BR = "Fechar" }, --Recovery window ACCOUNTS_RECOVERY_TITLE = { en_US = "GTI Account Recovery", es = "GTI Recuperacion de cuenta", pt_BR = "Recuperacao de conta GTI" }, ACCOUNTS_RECOVERY_USERNAME = { en_US = "Enter Username:", es = "Ingresa nombre de usuario:", pt_BR = "Introduza Nome de utilizador" }, ACCOUNTS_RECOVERY_EMAIL = { en_US = "Enter Email Address:", es = "Introduzca un e-mail:", pt_BR = "Introduza Endereco de E-mail:" }, ACCOUNTS_RECOVERY_RECOVER = { en_US = "Recover", es = "Recuperar", pt_BR = "Recuperar" }, ACCOUNTS_RECOVERY_CANCEL = { en_US = "Cancel", es = "Cancelar", pt_BR = "Cancelar" }, USEFUL_MESSAGES_1 = { en_US = "Get involved in our democratic community | Visit gtirpg.net", pt_BR = "Envolve-te na nossa comunidade democratica | Visita gtirpg.net", es = "Introducete en nuestra democratica comunidad | Visita gtirpg.net" }, USEFUL_MESSAGES_2 = { en_US = "Become a Police Officer at any major police department.", pt_BR = "Torna-te Policia num dos departamentos de Policia.", es = "Conviertete en Oficial de Policia en cualquier departamento de policia." }, USEFUL_MESSAGES_3 = { en_US = "Visit Ammu-Nation for a free Pistol!", pt_BR = "Visita uma Ammu-Nation para receberes uma pistola gratuita!", es = "Visita los Ammu-Nations para obtener una pistola gratis!" }, USEFUL_MESSAGES_4 = { en_US = "Need some cash? Visit the bank! All new accounts get some money to start out with.", pt_BR = "Precisas de dinheiro? Visita o banco! Todas as novas contas sao criadas com algum dinheiro.", es = "¿Necesitas dinero? ¡Visita el banco! Todas las nuevas cuentas comienzan con una cantidad de dinero." }, USEFUL_MESSAGES_5 = { en_US = "Like what you see? Spread the word! Tell your friends about GTI.", pt_BR = "Gostas do que ves? Espalha a palavra! Fala do GTI aos teus amigos.", es = "¿Te gusta lo que ves? ¡Propaga la palabra! Dile a tus amigos sobre GTI." }, USEFUL_MESSAGES_6 = { en_US = "GTI is being updated every day! Use /updates or visit gtirpg.net/updates.php to stay informed on progress.", pt_BR = "O GTI esta a ser atualizado todos os dias! Usa /updates ou visita gtirpg.net/updates.php para ficar informado do nosso progresso.", es = "¡GTI es actualizado cada día! Usa /updates o visita gtirpg.net/updates.php para permanecer informado" }, USEFUL_MESSAGES_7 = { en_US = "You can buy a car at one of our car dealerships spread around San Andreas.", pt_BR = "Podes comprar um carro num dos nossos concessionarios de veiculos espalhados por San Andreas.", es = "Puedes comprar un vehiculo en cualquiera de nuestros concesionarios alrededor San Andreas." }, USEFUL_MESSAGES_8 = { en_US = "Press B to use the GTIdroid. The GTIdroid contains many features that you should explore.", pt_BR = "Pressiona B para usar o GTIdroid. O GTIdroid contem varias ferramentas que deves explorar.", es = "Presiona B para usar el GTIdroid. El GTIdroid contiene muchas herramientas que deberias explorar." }, USEFUL_MESSAGES_9 = { en_US = "Buy a new skin at one of our clothing stores.", pt_BR = "Compra uma nova skin numa das nossas lojas de roupa.", es = "Compra un nuevo skin en una de nuestras tiendas de ropa." }, USEFUL_MESSAGES_10 = { en_US = "Earn quick cash in one of our CnR event robberies. Use /cnrtime to see when the next one is.", pt_BR = "Ganha dinheiro rapido num dos nossos eventos CnR. Usa /cnrtime para ver qual e quando e o proximo.", es = "Gana dinero rapidamente en uno de nuestros eventos CnR. Usa /cnrtime para ver cuando es el proximo." }, USEFUL_MESSAGES_11 = { en_US = "Most server information can be found by pressing F9", pt_BR = "A maior parte da informacao do servidor pode ser encontrada pressionando F9", es = "Mas informacion del servidor puede ser encontrada presionando F9" }, USEFUL_MESSAGES_12 = { en_US = "Forum: gtirpg.net | IRC: irc.gtirpg.net | TS3: ts3.gtirpg.net", pt_BR = "Forum: gtirpg.net | IRC: irc.gtirpg.net | TS3: ts3.gtirpg.net", es = "Foro: gtirpg.net | IRC: irc.gtirpg.net | TS3: ts3.gtirpg.net" }, USEFUL_MESSAGES_13 = { en_US = "Donate to help keep this server alive and kicking! Go to gtirpg.net/donate", pt_BR = "Doa para manter o servidor a funcionar! Visita gtirpg.net/donate", es = "¡Dona para mantener el servidor vivo y coleando! Ve a gtirpg.net/donate" } } function getLanguages() return languages or {} end GTIlanguageTable/meta.xml <meta> <info author="Jack" name="Language Translator" description="Returns player's language for specific GUI" autostart="true"/> <script src="languages.lua" type="shared"/> <export function="getLanguages" type="shared"/> </meta>
-
Problema con core.so MTA Linux server
Tomas replied to Kilfwan's topic in Ayuda relacionada al cliente/servidor
Coloca el log entero que te da. apt-get upgrade apt-get install glibc Si no quieres utilizar los apt-get, sinceramente no se que haces en Linux. -
Pero lo elimina para todos, mi amor. A menos que lo esté haciendo en el cliente, mi dulce princesa.
-
Borra esta línea: guiSetFont ( GUIEditor_Label[5], "default-bold-small" )
-
Podrías ahorrar te lineas con esto: Tabla = {} Cantidad = 0 For i, v in ipairs do cantidad = cantidad + 1 Tabla[cantidad]Print(v[1], v[2]) end Así le aprendí un ejemplo que me dio Tomas , y se crean todas, solo pone las posiciones y mas valores a la tabla. PD: Ando en teléfono perdón si puse el código así no mas suelto. En este caso ese ejemplo no serviría ya que son todos valores distintos.
-
Osea, retiro el onClientResourceStart (estúpido por mi parte ) y meto un setTimer(paga, 60000, 0)? Haz un timer de un minuto para comparar las horas (usando timestamps), si es la hora que tu deseas, llama a la función de pagar
-
¿$1? Acaso quieres activar tu cuenta de Paypal o qué ._.
-
Problema con core.so MTA Linux server
Tomas replied to Kilfwan's topic in Ayuda relacionada al cliente/servidor
apt-get install glibc -
Si tienes tanta inseguridad no creo que consigas ayuda
-
Si posteas el código te podremos ayudar.
-
Te recomiendo re-escribir la función dxDrawText y agregarle la aritmética ahí en vez de repetirla 500 veces
-
Él está usando valores relativos, eso sólo funconaría con absolutos. @Sasu Y ahora me dices
-
function isCursorOnElement(x,y,w,h) local mx,my = getCursorPosition () local fullx,fully = guiGetScreenSize() if ( not x < 1 and not y < 1 and not w < 1 and not h < 1 ) then cursorx,cursory = mx*fullx,my*fully else cursorx,cursory = mx, my end if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end
-
Hay muchos modshops en la comunidad.
-
Aquí tienes un ejemplo, desde el addEvent empieza el client. addCommandHandler("background", function (player, _, background) if ( background and tonumber(background) < 10 ) then outputChatBox("Tu nuevo fondo es el #"..background, player) setElementData(player, "background", tonumber(background) ) triggerClientEvent(player, "setBackground", player, tonumber(background)) end end ) addEventHandler("onPlayerQuit", root, function () if ( not isGuestAccount(getPlayerAccount(source)) ) then setAccountData(getPlayerAccount(source), "background", getElementData(source, "background") or 0 ) end end ) addEventHandler("onPlayerLogin", root, function (_, acc) if ( getAccountData(acc, "background" ) ) then triggerClientEvent(source, "setBackground", source, getAccountData(acc, "background" )) end end ) addEvent("setBackground", true) addEventHandler("setBackground", root, function (background) custombackground = background end )
-
Prueba con esto: function isCursorOnElement(x,y,w,h) local mx,my = getCursorPosition () local fullx,fully = guiGetScreenSize() if ( not x < 1 and not y < 1 and not w < 1 and not h < 1 ) then cursorx,cursory = mx*fullx,my*fully end if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end
-
Prueba con esto, utiliza las posiciones relativas (sin aritmética, sólo el númerito) function isCursorOnElement(x,y,w,h) local mx,my = getCursorPosition () local fullx,fully = guiGetScreenSize() cursorx,cursory = mx*fullx,my*fully if ( x < 1 and y < 1 and w < 1 and h < 1 ) then x, y, w, h = x*fullx, y*fully, w*fullx, h*fully end if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end
-
Ayuda | Editar "mtaserver.conf" Servidor Activo
Tomas replied to Narutimmy's topic in Ayuda relacionada al cliente/servidor
Puedes crear un script que copie el archivo, lo edite a tu gusto y cuando el servidor se apague lo renombre y borrre el viejo.