mortal Posted May 8, 2018 Share Posted May 8, 2018 LO QUE PASA ES CUANDO SE EJECUTA CON EL TIME QUEDA DIRECTO EL TOXI NO SE COMO ASER Y ESCHO DE TODO NO ME FUNCIONA AYUDA PORFAVOR ESTA ES LA PAJINA PARA QUE LO CHEQUEN AYUDA https://community.multitheftauto.com/?p=resources&s=details&id=15445 ----SERVER--- function math.round(number, decimals, method) -- De la wiki decimals = decimals or 0 local factor = 10 ^ decimals if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor else return tonumber(("%."..decimals.."f"):format(number)) end end local explosiones = { -- Posición de las explosiones {2691.86, 2784.75, 59.02}, {2716.19, 2773.16, 74.83}, {2716.98, 2769.41, 53.08}, {2692.65, 2773.92, 40.15}, {2612.71, 2678.42, 30.00}, {2580.86, 2702.58, 24.84}, {2538.07, 2822.08, 11.66}, {2593.50, 2826.69, 11.45}, {2625.39, 2829.98, 28.71}, {2693.25, 2694.72, 28.50}, {2716.90, 2683.54, 32.09}, {2733.75, 2678.40, 62.65}, {2596.64, 2638.77, 82.87}, {2510.14, 2688.21, 59.54}, {2630.57, 2829.37, 50.60}, {2685.79, 2838.06, 24.07}, {2596.24, 2770.00, 23.82}, {2608.27, 2733.59, 28.56}, {2641.34, 2696.41, 25.82}, {2650.74, 2671.53, 38.53} } local sonidos = {"sounds/alert.mp3", "sounds/alert2.mp3"} -- Sonidos local timedOut = false -- Timer para que se inicie el evento una vez ejecutado el sonido local iniciado = false -- Si el evento esta iniciado local tickFin = false -- El milisegundo en el que terminará el evento function onStop() -- Si el resource se detiene, todo vuelve a la normalidad setWeather(0) resetSunColor() resetSkyGradient() resetWaterColor() end addEventHandler("onResourceStop", resourceRoot, onStop) function onJoin() -- Si alguien se conecta... if iniciado then -- Y el evento esta iniciado... local calculo = (math.abs(getTickCount()-tickFin))/1000 if calculo < 20 then -- Y el tiempo restante es menor a 20 segundos... outputChatBox("#AA0000¡¡Legaste muy tarde para el evento!! =(", source, 0,0,0,true) -- ¡Entonces no se ejecutará el evento en el cliente! else triggerClientEvent(source, "onToxicIniciarEvento", source, sonidos[math.random(1, #sonidos)], calculo) end end end addEventHandler("onPlayerJoin", root, onJoin) function cambiarSonidoTiempo(ms) -- Sincroniza el sonido de la alerta con la explosión if not timedOut then timedOut = setTimer(function() timedOut = false for _,tabla in ipairs(explosiones) do -- Crea la explosiones setTimer(createExplosion, math.random(250, 1000), 1, tabla[1], tabla[2], tabla[3], 7) end setTimer(function() -- Esto hace que la muerte por la explosión se relentice por medio segundo if col and isElement(col) then -- Y esto hace que cualquier persona dentro del colShape salga volando y se muera for k,thePlayer in pairs(getElementsWithinColShape(col, "player")) do -- Agarra a todos los jugadores dentro de la zona setElementVelocity(thePlayer, 0, 0, 20) -- Volar killPed(thePlayer) -- Y morir end for k,veh in pairs(getElementsWithinColShape(col, "vehicle")) do -- Agarra a todos los vehículos dentro de la zona setElementVelocity(veh, 0, 0, 10) -- Los hace volar blowVehicle(veh) -- Y explotar end destroyElement(col) -- Y luego se destruye por las dudas end end, 500, 1) end, ms, 1) end end addEvent("onClientToxicSonidoTiempo", true) addEventHandler("onClientToxicSonidoTiempo", root, cambiarSonidoTiempo) addEvent("onToxicSetElementHealth", true) addEventHandler("onToxicSetElementHealth", root, setElementHealth) -- Esto sirve para sincronizar el quitado del vida del cliente al servidor --[[function togEvento(thePlayer, cmd, tiempo) -- Tiempo en segundos local cuenta = getPlayerAccount(thePlayer) if not isGuestAccount(cuenta) and isObjectInACLGroup("user."..getAccountName(cuenta), aclGetGroup("Admin")) then -- Si el usuario tiene cuenta y es Admin if not iniciado then -- Y el evento no esta iniciado if not tiempo or not tonumber(tiempo) then outputChatBox("#AA0000No colocaste un tiempo, así que se puso automáticamente la duración a 900 segundos.", thePlayer, 0,0,0,true) outputChatBox("#AA0000Para colocar un tiempo usa: #FFFFFF/"..cmd.." <tiempo en segundos>", thePlayer, 0,0,0,true) tiempo = 900 end tickFin = getTickCount() + tiempo*1000 -- Este será el milisegundo final del evento iniciado = true -- Esto marca que el evento inicio col = createColSphere(2632.54, 2743.05, 23.82, 175) -- Esto crea la zona donde cualquier persona que se encuentre morirá al ocurrir la explosión triggerClientEvent(root, "onToxicIniciarEvento", thePlayer, sonidos[math.random(1, #sonidos)], tonumber(tiempo)) -- Esto avisa al cliente del evento outputServerLog(getPlayerName(thePlayer).." inició el Evento TOXIC con el comando /"..cmd.." "..tostring(tiempo)) -- Y esto deja un LOG para ver quien inicio el evento (logs/server.log) setTimer(function() -- Y esto lo finaliza al pasar el tiempo necesario iniciado = false tickFin = false end, tiempo*1000, 1) elseif not timedOut then -- O el evento ya se inició iniciado = false triggerClientEvent(root, "onToxicFinalizarEvento", thePlayer) else -- O el evento se esta iniciando (impaciente!) outputChatBox("#FF7500Espera a que ocurra la explosión para detener el evento.", thePlayer, 0,0,0,true) end end end addCommandHandler("toxic", togEvento)]] ------AQUI ESTA EL PROBLEMA NO ME FUNCIONA SE ACTIVA SI PERO NO SE DESACTIVA PARA ASI QUE SE ACTIVE MEDIA ORA --- function chequearTiempo() -- Esto debería de hacer que el evento se ejecute los domingos a las 3 de la tarde, más info: https://wiki.multitheftauto.com/wiki/GetRealTime local tiempoReal = getRealTime() if tiempoReal.hour == 15 and tiempoReal.minute == 0 and tiempoReal.weekday == 0 not iniciado then -- Que sean las 3 de la tarde, el domingo y que no este iniciado local tiempo = 3600 -- Una hora son 3600 segundos tickFin = getTickCount() + tiempo*1000 iniciado = true col = createColSphere(2632.54, 2743.05, 23.82, 175) triggerClientEvent(root, "onToxicIniciarEvento", resourceRoot, sonidos[math.random(1, #sonidos)], tonumber(tiempo)) setTimer(function() iniciado = false tickFin = false end, tiempo*1000, 1) outputServerLog("¡El evento TOXIC se inicio de forma automático!") end end setTimer(chequearTiempo, 10000, 0) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now