boker9999 Publicado 9 de Abril del 2020 Reportar Compartir Publicado 9 de Abril del 2020 Hola zoneros, veran tengo esta quest, y queria saber si se puede hacer que se pueden matar entre todos, aun siendo del mismo reino, y que por cada 5 muertes conseguidas de un premio. Quote quest evento_pvp begin state start begin function Config() return { ["Coordenadas"] = {22352600,22385400},--Coordenadas del mapa cuando das al boton Participar ["Index"] = {201},--Index del mapa del evento ["Vidas"] = {5}--Vidas del usuario } end when 20011.chat."Evento pvp" with game.get_event_flag("eventopvp") == 1 begin local r = game.get_event_flag("eventopvp2") if pc.getqf("eventopvp") != r then pc.setqf("eventopvp",r) pc.setqf("muertes",0) pc.setqf("intento",0) end if pc.getqf("muertes") >= evento_pvp.Config().Vidas[1] then say("Usted ya agoto sus "..evento_pvp.Config().Vidas[1].." vidas.") return end if select ("Participar","Salir") == 1 then pc.warp(evento_pvp.Config().Coordenadas[1],evento_pvp.Config().Coordenadas[2]) end end when 20358.chat."Evento pvp GM" with pc.is_gm() begin local e = select ("Iniciar evento","Terminar evento","Nada") if e == 1 then notice("Evento: Evento PVP activado!") notice_all("El evento pvp ha iniciado, ve a uriel para participar.") game.set_event_flag("eventopvp",1) game.set_event_flag("eventopvp2",game.get_event_flag("eventopvp2")+1) elseif e == 2 then notice_all("El evento pvp ha terminado.") game.set_event_flag("eventopvp",0) end end when login with pc.get_map_index() == evento_pvp.Config().Index[1] begin if pc.getqf("muertes") >= evento_pvp.Config().Vidas[1] or game.get_event_flag("eventopvp2") == 0 then warp_to_village() return end loop_timer("revisar_pvp",0.5) end when revisar_pvp.timer begin if pc.get_hp() <= 0 and pc.getqf("intento") == 0 then pc.setqf("intento",1) local m = pc.getqf("muertes")+1 pc.setqf("muertes",m) if m >= evento_pvp.Config().Vidas[1] then notice_in_map("El usuario "..pc.get_name().." ha muerto "..m.." veces y fue descalificado.") cleartimer("revisar_pvp") warp_to_village() return end chat("Has muerto "..m.." veces") end if pc.getqf("intento") == 1 and pc.get_hp() >= 1 then pc.setqf("intento",0) end if game.get_event_flag("eventopvp2") == 0 then cleartimer("revisar_pvp") warp_to_village() end end end end Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
caanmasu Publicado 9 de Abril del 2020 Reportar Compartir Publicado 9 de Abril del 2020 Para hacer que se maten entre los del mismo reino, en el when kill no pongas pc.get_empire() != npc.get_empire(). Todos tienen que ponerse en Libre. Debes garantizar que no pierdan puntos de ranking. En este caso no se puede evitar perderlos pero sí los puedes recuperar. Para lo de cada 5 muertes te voy a explicar el operador módulo: if math.mod(numero_de_kills, 5) == 0 then --Aquí pones lo del premio end El módulo es el residuo de la división. Si divides un número entre otro y da 0 el residuo es porque es divisible. O sea que el cociente es entero. Haré una pequeña tablita para mostrarte Número de kills División 1 5 = 1/5 = no es entero 2 5 = 2/5 = no es entero 3 5 = 3/5 = no es entero 4 5 = 4/5 = no es entero 5 5 = 5/5 = da 1, es entero el cociente, o sea que el residuo es 0. 7 5 = 7/5 = no es entero 10 5 = 10/5 = da 2, es entero el cociente, osea que el residuo es 0. y si te das cuenta cada vez que el número de kills es divisible entre 5, va a entrar a la condición. Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Mensajes recomendados
Unirse a la conversación
Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.