-
Posts
385 -
Joined
-
Last visited
Everything posted by Platin
-
Sencillo pero no lo sabe hacer . En fin, te recomiendo que no toques el killmessages porque alguno de estas ocasiones vas a hacer que deje de funcionar. si ya lo tienes editado a tu preferencia y quieres agregar otra cosa como la que sugieres pues hazlo en otro script, usando algunas funciones de sí que se pueden exportar. exports: outputKillMessage -- creo que era esta. Creo que no me supe explicar correctamente. Lo que trato de hacer es que detecte cuando un jugador mata a un ped pisandolo/con la helice del helicoptero/con la minigun del seasparrow, hunter No quiero saber como mandar un mensaje a la casilla de los kilmessages.
-
Un pedido cortito, de alguien que tenga un tiempo libre para entender el script de killmessages. Aviso que lo tengo modificado para que respete los HEX Codes, por lo cual lo dejo aca abajo en el spoiler killmessages_server.lua Bueno, el tema es que me pase 30 minutos intentando acoplar este script con mi zombie_killmessages modificado para cada clase de zombie. El tema es el siguiente, no logro hacer que, cuando alguien mata un zombie atropellandolo - con una helice - con disparos de un Hunter/Seasparrow/Rustler , cuente como un asesinato y/o se agregue para subir de nivel. ¿Alguien me puede pasar una línea de código y las opciones que tengo que editar? Es que sinceramente, no entiendo como scriptea este chico. Intente pasarlas pero nada. Se agradece, se que es algo sencillo pero en serio, no entiendo las variables que puso, quizá sea por el cansancio o porque estan acopladas a los demás .lua
-
Tuve un problema similar, pero no se le volvía infinita, si no que se le multiplicaba. En caso de que quieras que el sujeto pierda el arma, puedes poner en el script que tengas de spawn... function quitarArmas() setTimer(function() takeAllWeapons(source) end, 5000, 1) end addEventHandler("onPlayerSpawn", root, quitarArmas) Y si quieres que el sujeto mantega sus armas y su munición, puedes hacer algo como esto... function quitarArmas() setTimer(function() local weaponA = getPedWeapon(source, 0) --Aca deberías de poner todos los Slots posibles de armas, EJ: local weaponB = getPedWeapon(source, 1) if (weaponA ~= 0) then --Y esto lo repites con un elseif con todos los slots. local ammo = getPedTotalAmmo(source, 0) takeWeapon(source, weaponA) giveWeapon(source, ammo/2) elseif (weaponB ~= 0) then local ammo = getPedTotalAmmo(source, 1) takeWeapon(source, weaponA) giveWeapon(source, ammo/2) end end, 5000, 1) end addEventHandler("onPlayerSpawn", root, quitarArmas) Ojo, este segundo ejemplo es por si en el arma solo se multiplica la munición. Aviso también que nunca probe estos scripts antes de pasarlos, queda en tus manos. ¡Saludos y suerte!
-
Luego me fijo, gracias. EDIT: ¡Funciona!
-
No lo probe (lo voy a hacer), pero creo que no me entendiste en algo. No es que se intercorten, es que simplemente no funciona, no me detecta cuando toco el Cuboid. Quizá te expresaste mal, en un rato te digo si me funco. EDIT: No me funciono.
-
Hice un conteo y para que no se spammeará tuve la genial idea de crear un Cuboid en el centro del jugador que ejecuto el conteo, entonces todos los que esten en el mismo lo tendrían en su chat. El problema se produjo en que no funciona el segundo Cuboid, tengo uno de prueba, pero el segundo no lo detecta. Otra cosa, el script no esta terminado, por lo cual el Cuboid una vez creado al segundo no se elimina como anti-bug. server-side: colConteo = createColCuboid(0, 0, 0, 30, 30, 30) function conteo(thePlayer) if not isTimer(antiSpamConteo) then local x, y, z = getElementPosition(thePlayer) local dim = getElementDimension(thePlayer) local int = getElementInterior(thePlayer) local nombre = getPlayerName(thePlayer) outputDebugString("Conteo iniciado por: "..nombre) destroyElement(colConteo) colConteo = createColCuboid(x-15, y-15, z-15, 30, 30, 30) elContador = getPlayerName(thePlayer) antiSpamConteo = setTimer(function() outputDebugString("Anti-Spam finalizado. Creador: "..nombre) end, 15000, 1) else outputChatBox("Ya hay un conteo en marcha.", thePlayer, 255,0,0,true) end end addCommandHandler("conteo", conteo) function contar(thePlayer) outputChatBox("#FFFFFF== #00FF00CONTEO #FFFFFF==",thePlayer,0,0,0,true) --outputChatBox("#FFFFFF== #00FF00Iniciado por "..elContador.." #FFFFFF==",thePlayer,0,0,0,true) setTimer(function() outputChatBox("#FFFFFF== #FFFF005 #FFFFFF==",thePlayer,0,0,0,true) end, 1000, 1) setTimer(function() outputChatBox("#FFFFFF== #FFFF004 #FFFFFF==",thePlayer,0,0,0,true) end, 2000, 1) setTimer(function() outputChatBox("#FFFFFF== #FFFF003 #FFFFFF==",thePlayer,0,0,0,true) end, 3000, 1) setTimer(function() outputChatBox("#FFFFFF== #FFFF002 #FFFFFF==",thePlayer,0,0,0,true) end, 4000, 1) setTimer(function() outputChatBox("#FFFFFF== #FFFF001 #FFFFFF==",thePlayer,0,0,0,true) end, 5000, 1) setTimer(function() outputChatBox("#FFFFFF== #FFFF00¡YA! #FFFFFF==",thePlayer,0,0,0,true) outputDebugString("Conteo finalizado. Creador: "..nombre) end, 6000, 1) end addEventHandler("onColShapeHit", colConteo, contar)
-
Muchas gracias, de todas formas lo último que me dijiste ya lo preveni function duelosNoBug() for k, thePlayer in ipairs(getElementsByType("player")) do setElementData(thePlayer, "duelo", nil) end end addEventHandler("onResourceStart", resourceRoot, duelosNoBug) EDIT: No me sirvió. server-side: local estado = getElementData(thePlayer, "duelo") if (estado == "retado") then
-
De todas formas ya logre crearlo gracias. Aunque tengo un pequeño error. No me lee las datas, de ninguna forma, si yo reinicio el resource y pongo /aceptar | me manda a la arena directamente, sin que haya nadie más. Otra cosa, esta correcto esto: local estado = getElementData(thePlayer, "duelo") if (estado == retado) then Gracias de todas formas Venado
-
No me funciono en lo absoluto Pero creo que lo que dije antes, ya algo aplicado, va a dar sus frutos, luego vuelvo a mandar un mensaje si sigo con dudas/problemas. Gracias por el tiempo.
-
Pienso que puedes crearlo por elementData. Nunca jugue con esa función. ¿La podría usar así?: setElementData(thePlayer, "duelo", jugando) setElementData(thePlayer, "duelo", retado) setElementData(thePlayer, "duelo", esperando) setElementData(thePlayer, "duelo", nil)
-
Hola, haciendo otra de mis pruebas, quise crear un sistema en el cual un jugador invita a otro a hacer algo. El tema no es ese, si no que quiero hacer que una vez el jugador A (el que invita) ponga el comando, que al jugador B se le aparezca un outputChatBox (se hacerlo) y que tengan que poner /aceptar o /denegar ¿Cómo podría hacer la parte de /aceptar | /denegar ? No se me ocurre nada. Gracias de antemano.
-
Dejenlo así, no hay drama Es que no quiero crear otro setTimer, este script era solo de prueba, tampoco necesito que sea "perfecto". Gracias a todos nuevamente.
-
Funciona, gracias. Lástima que no se pudo mantener lo de esperar el doble de tiempo
-
Los argumentos como client, ped, element, vehicle, object y entre otros, tambien sirven para argumentos. Tecnicamente haces lo mismo. PD: HE PROBADO MI CODIGO Y FUNCIONA. Funciona 1 vez, al segundo triggeo deja de funcionar, como que el elemento ya no puede ser creado / destruido. Ese es el error en concreto, paso clientside: function bombaC () if not bomba then bomba = true setTimer (function() bomba = false end, 30000, 1) triggerServerEvent("bombaColocar", localPlayer) else outputChatBox("#FFFF99¡Ya pusiste una bomba! ¡Espera un tiempo!", 255, 255, 255, true) end end addCommandHandler ( "bomba", bombaC ) addCommandHandler ( "c4", bombaC )
-
Uff, gracias por esa salvación. De todas formas, no usaba ese Evento porque era con un comando. Gracias a todos.
-
Recién me di cuenta que era client, me siento algo idiota. Gracias A tu orden! Mmh, de todas formas no sirvio de nada, una lástima.
-
Recién me di cuenta que era client, me siento algo idiota. Gracias
-
Es setPedControlState con la P mayúsculas. Si si ya se, pero no me sirve de nada, se puede disparar igual. Uso: setPedControlState(thePlayer, "fire", false)
-
¿Eso no iría a ocasionar errores? Digo, no todo el tiempo hay una bomba, y si se coloca una luego de haberse iniciado el settimer habrán 2 setTimers.
-
Necesito la función que hace que no puedas disparar, ni apuntar, creo que era algo con setpedControlState, pero no funciono. Gracias de antemano.
-
Bueno, ahora probando me di cuenta que solo funciona 1 vez, a la siguiente no ejecuta nada. ¿Tienes alguna idea del por qué?
-
Me sirvió, muchas gracias.
-
Bueno, hice un script muy sencillo hace un tiempo, pero como no había terminado de entender el funcionamiento de las tablas no lo seguí. Al comprobar con un CMD que puedo crear autos que sean de una persona y quitarlos si pone más de uno correctamente, procedí a intentar terminar el script inicial, pero no pude. El script es sencillo, crea una c4 que luego de 15 segundos explotará. Cabe aclarar que es triggeada de client > server | por cuestiones de mi manera de scriptear. server-side function bombaPoner() if not bombas[source] then setPedAnimation (source, "BOMBER", "BOM_Plant", 4000, false, true, false) x, y, z = getElementPosition ( source ) rx, ry, rz = getElementRotation ( source ) bombas[source] = createObject( 1252, x, y, z, rx, ry, rz, false) cx, cy, cz = getElementPosition ( bombas[source] ) outputChatBox("#FFFF99¡La bomba explotará en #00FF0015 segundos#FFFF99! ¡CORRE!", source, 255, 0, 0, true) plr = source setTimer(function() destroyElement(bombas[source]) createExplosion ( cx, cy, cz, 10, plr ) end, 15000, 1, bombas[source], plr) -- Esta linea es el problema, ya que no me lleva el objeto, por lo cual no se destruye, ¿cómo lo puedo arreglar? end --outputChatBox("Deshabilitado",source,255,0,0) end addEvent("bombaColocar", true) addEventHandler( "bombaColocar", root, bombaPoner ) PD: En el script dice el error. Espero una respuesta, gracias de antemano, ¡saludos!
-
Guías "avanzadas" no existen por el hecho de que cuando llegas a un nivel medio o alto scripteando empiezas ya a crear cosas pensadas por ti, no solamente hacer un comando para que te de un arma. Te recomiendo que hagas, por el momento, solo el servidor play, agregale comandos utiles, aprende a hacer una GUI y con el tiempo verás que ya sabes más que antes, mucho más. Luego, intenta ver los .lua de los gamemodes y fijate como podrías hacer. Cualquier duda que tengas una vez hayas avanzado, puedes preguntar. ¡Suerte!
-
No se bien como funciona el script, pero solo veo que agregaste Markers, no agregaste ca3 ni Vehiculos los cuales aparezcan una vez pises esos marcadores. Repito, no se de que va el script.