Carlossg Posted December 9, 2011 Share Posted December 9, 2011 Tengo una duda de algunos comandos que no se si existen y si existen me gustaría que me los digerais porfavor 1ºUn comando para ver si el nitro esta lleno o vacio y ver como se vacía 2ºUn evento para eventhandler que diga el final survior (en race) 3ºComo se usa math.random Gracias y si se me ocurren mas los ire poniendo Link to comment
ImPeRiO Posted December 9, 2011 Share Posted December 9, 2011 Mira lo del nitro Hay https://community.multitheftauto.com/index.php?p= ... ils&id=427 lo segundo nose que quieres explicame mejor crear un texto del algo al final de la carrera ? lo tercero Dale clic hay y mira aver si eso te sirve de algo viewtopic.php?f=122&t=37176 Espero averte ayudado Link to comment
Carlossg Posted December 9, 2011 Author Share Posted December 9, 2011 Lo del nitro quiero saver los comandos, no la resource k ya la tengo Lo de race me refiero a saver kien a sido el ultimo superviviente Y lo de math.random me refiero a k su seria: loquesea = math.random(0,1) --Esto daría un numero aleatorio entre 0 y 1 ¿no? Link to comment
Serginix Posted December 9, 2011 Share Posted December 9, 2011 En cuanto al 1 no entendi lol (un comando para saber cuanto nitro tenes?) En en 2. no se de race... En el 3ro, si tienes razon, sirve para sacar un numero aleatorio entre X y Y, aunque no requiere de un segundo argumento (es opcional), quiero decir, sin segundo argumento puede sacar un numero de una tabla o algo asi lol. Como no se si me explique bien el anterior, aqui ay mas info de las funciones math. en Lua, te seran utiles, almenos para mi lo fueron... http://www.lua.org/manual/5.1/es/manual.html#pdf-math.random Link to comment
12p Posted December 9, 2011 Share Posted December 9, 2011 quiero decir, sin segundo argumento puede sacar un numero de una tabla o algo asi lol. Hay 2 argumentos posibles. Si especificas 1, la función toma un número entre 1 y el argumento. Si especificas 2, la función toma un número entre el primer y el segundo argumento. Para lo de saber quién es el último superviviente, busca acá: https://wiki.multitheftauto.com/wiki/Res ... sion_0.8.3 Creo que hay 2 que te sirven, uno de Finish y otro de Wasted. Link to comment
-Gus- Posted December 9, 2011 Share Posted December 9, 2011 en el 2º podrias usar el getAlivePlayers Link to comment
Carlossg Posted December 10, 2011 Author Share Posted December 10, 2011 Lo del playerFinish es para race no para DM ¿no? y lo del player Wasted es para saber quien ha muerto? Link to comment
12p Posted December 10, 2011 Share Posted December 10, 2011 Ah... Tu querías DM. Bueno, puedes usar onPlayerWasted ==> getAlivePlayers para definir eso. Link to comment
Carlossg Posted December 10, 2011 Author Share Posted December 10, 2011 hehe aora tengo otra duda que no se como hacer el outputChatBox solo para un jugador y que solo lo vea el y no los demas Link to comment
Serginix Posted December 10, 2011 Share Posted December 10, 2011 hehe aora tengo otra duda que no se como hacer el outputChatBox solo para un jugador y que solo lo vea el y no los demas Bueno, todo esta en los argumentos: (https://wiki.multitheftauto.com/wiki/OutputChatBox) Si es Server Side: --Desde la Wiki: bool outputChatBox ( string text [, element visibleTo=getRootElement(), int r=255, int g=255, int b=255, bool colorCoded=false ] Primer Argumento: Mensaje Segundo Argumento: Elemento (Aqui decides a quien se le va a ver) Tercero, Cuato y Quinto: R G B Sexto Argumento: True o Flase, True para activar los Hex Color Codes (los #XXXXXX) y false para desactivarlos) En Clien Side es lo Mismo, Solo que sin el segundo Argumento, por lo tanto el mensaje solo se le vera al juegador Local. Link to comment
Carlossg Posted December 10, 2011 Author Share Posted December 10, 2011 Ayuda con este script me he quedado estancado addCommandHandler("flip", function(thePlayer, flip, ammount) local money = tonumber(getElementData(thePlayer,"data.money")) local suerte = math.random(0,1) if ammount > money then outputChatBox("You don't have that kind of money",thePlayer,255,0,0) end if ammount > 1000 then outputChatBox("You can't flip more than 1000$",thePlayer,255,0,0) end end) Lo unico que me queda es por hacer que si el mathrandom da 1 que gane la "ammount" que ha introducido y que si da 0 la pierda. Link to comment
Castillo Posted December 10, 2011 Share Posted December 10, 2011 addCommandHandler("flip", function(thePlayer, flip, ammount) local money = tonumber(getElementData(thePlayer,"data.money")) local suerte = math.random(0,1) if (tonumber(ammount) > money) then outputChatBox("You don't have that kind of money",thePlayer,255,0,0) end if (ammount > 1000) then outputChatBox("You can't flip more than 1000$",thePlayer,255,0,0) end if (suerte == 1) then givePlayerMoney(thePlayer, tonumber(ammount)) elseif (suerte == 0) then takePlayerMoney(thePlayer, tonumber(ammount)) end end) Link to comment
12p Posted December 10, 2011 Share Posted December 10, 2011 Usa éste para ocupar menos espacio. Si puedes simplificar tu script, mejor addCommandHandler("flip", function(thePlayer, flip, ammount) if tonumber(ammount) > tonumber(getElementData(thePlayer,"data.money")) then outputChatBox("You don't have that kind of money",thePlayer,255,0,0) elseif ammount > 1000 then outputChatBox("You can't flip more than 1000$",thePlayer,255,0,0) end if math.random ( 2 ) == 1 then givePlayerMoney(thePlayer, tonumber(ammount)) else takePlayerMoney(thePlayer, tonumber(ammount)) end end) Link to comment
Carlossg Posted December 10, 2011 Author Share Posted December 10, 2011 (edited) Sí eso es usando el sistema de dinero del MTA pero yo lo necesito con este systema que fue con el que me ayudastes solidsnake14 Edited December 10, 2011 by Guest Link to comment
Carlossg Posted December 10, 2011 Author Share Posted December 10, 2011 Usa éste para ocupar menos espacio. Si puedes simplificar tu script, mejor addCommandHandler("flip", function(thePlayer, flip, ammount) if tonumber(ammount) > tonumber(getElementData(thePlayer,"data.money")) then outputChatBox("You don't have that kind of money",thePlayer,255,0,0) elseif ammount > 1000 then outputChatBox("You can't flip more than 1000$",thePlayer,255,0,0) end if math.random ( 2 ) == 1 then givePlayerMoney(thePlayer, tonumber(ammount)) else takePlayerMoney(thePlayer, tonumber(ammount)) end end) con este no habría menos posibilidades de ganar el dinero? ya que hace un número entre 0 y 2 ¿no? Dime si me equivoco Link to comment
12p Posted December 10, 2011 Share Posted December 10, 2011 Creo que lo había posteado por acá pero no está. Bueno, mira que te explico rápido. A math.random le puedes dar 2 argumentos. Si le das 2, entonces te entrega un número entre el primer y el segundo argumento. Si le das 1, te entrega un número entre 1 y el argumento. Osea que "math.random ( 2 )" tiene una probabilidad de 50% para 1 y 2. La probabilidad de ganar dinero se mantiene. Link to comment
Carlossg Posted December 10, 2011 Author Share Posted December 10, 2011 Ok gracias me quedó claro Link to comment
Carlossg Posted December 10, 2011 Author Share Posted December 10, 2011 Con que comandos podría hacer un explorador de mapas IGUALITO al de el admin panel nada mas que cambiar el set as netx map por Buy map .Solo quiero saber los comandos y si podría sacarlo del codigo del admin panel Link to comment
Castillo Posted December 10, 2011 Share Posted December 10, 2011 function getServerMaps() local mapsTable = {} for resourceKey, resourceValue in ipairs(getResources()) do local name = getResourceInfo ( resourceValue, "name" ) local type = getResourceInfo ( resourceValue, "type" ) local author = getResourceInfo ( resourceValue, "author" ) local game = getResourceInfo ( resourceValue, "gamemodes" ) if (type == "map" and game == "race") then table.insert(mapsTable, {name=name, author=author or "Unknown"}) end end return mapsTable end Esa funcion deberia cargar todos los mapas que sean para el game mode "race" en una tabla y devolverla cuando ejecutas la funcion. Ejemplo: local mapas = getServerMaps() for index, map in pairs(mapas) do outputChatBox(tostring(map.name) ..": ".. tostring(map.author)) end P.S: El script es server-side. Link to comment
Carlossg Posted December 10, 2011 Author Share Posted December 10, 2011 Usa éste para ocupar menos espacio. Si puedes simplificar tu script, mejor addCommandHandler("flip", function(thePlayer, flip, ammount) if tonumber(ammount) > tonumber(getElementData(thePlayer,"data.money")) then outputChatBox("You don't have that kind of money",thePlayer,255,0,0) elseif ammount > 1000 then outputChatBox("You can't flip more than 1000$",thePlayer,255,0,0) end if math.random ( 2 ) == 1 then givePlayerMoney(thePlayer, tonumber(ammount)) else takePlayerMoney(thePlayer, tonumber(ammount)) end end) Gracias pero no es con dinero real del mta es con dinero símbolico de este script que me ayudaste viewtopic.php?f=91&t=37651 Por lo de los mapas gracias ahora solo tengo que hacer una ventena y que muestre eso y por cierto P.S que es Post Scripting? Link to comment
Castillo Posted December 10, 2011 Share Posted December 10, 2011 De nada. "Post Scripting"? que es eso? Link to comment
12p Posted December 10, 2011 Share Posted December 10, 2011 ***FACEPALM*** Aprende a escribir muchacho, así como lo haces no se te entiende una mierda (sin ofender pero es cierto). P.S = Post Sanctorum, es una frase italiana (creo), que es el equivalente en inglés aplicado a "PD" (Post Data). Link to comment
Carlossg Posted December 10, 2011 Author Share Posted December 10, 2011 y lo de escribir que no se entiende una mierda es k se me a roto el teclado y no puedo escribir comas ni simbolos asi Edit: ¿Y el código como quedaría con ese dinero simbolico? Link to comment
12p Posted December 10, 2011 Share Posted December 10, 2011 Pues pídele a tus padres que te compren otro (o cómprate uno tú mismo, son baratos), no puedes estar usando un teclado en ese estado. Link to comment
Recommended Posts