Jump to content

Sistema de Puntos en Guerras Gremio


Dextrok

Mensajes recomendados

--Sistema de Estadisticas en Guerra de Gremios
quest Kills begin
state start begin
  when kill with npc.is_pc() and pc.get_guild() != npc.get_guild() and pc.get_map_index(index) begin --index = mapa de guerra de gremios
   pc.setqf("estado", pc.getqf("estado")+1)
  
   if pc.getqf("estado") == 1 then
    pc.setqf("asesinatos", pc.getqf("asesinatos")+1)
    timer("FristKill", 60)
    chat("He tio, pero si has hecho un *FristKill*")
   elseif pc.getqf("estado") == 2 then
    pc.setqf("asesinatos", pc.getqf("asesinatos")+2)
    timer("DoubleKill", 50)
    chat("He tio, pero si has hecho un *DoubleKill*")
   elseif pc.getqf("estado") == 3 then
    chat("He tio, pero si has hecho un *TripleKill*")
    timer("TripleKill", 40)
    pc.setqf("asesinatos", pc.getqf("asesinatos")+4)
   elseif pc.getqf("estado") == 4 then
    chat("He tio, pero si has hecho un *MultiKill*")
    timer("MultiKill", 30)
    pc.setqf("asesinatos", pc.getqf("asesinatos")+7)
   elseif pc.getqf("estado") == 5 then
    chat("He tio, pero si has hecho un *UltraKill*")
    timer("UltraKill", 20)
    pc.setqf("asesinatos", pc.getqf("asesinatos")+15)
   elseif pc.getqf("estado") == 6 then
    say_in_map( pc.get_name() .. ", acaba de hacer un *PerfectKill*")
    pc.setqf("estado", 0)
    pc.setqf("asesinatos", pc.getqf("asesinatos")+30)
--    timer("PerfectKill", 0)
   end
  end
 
  when FristKill.timer with pc.getqf("estado") == 1 begin pc.setqf("estado", 0) end
  when DoubleKill.timer with pc.getqf("estado") == 2 begin pc.setqf("estado", 0) end
  when TripleKill.timer with pc.getqf("estado") == 3 begin pc.setqf("estado", 0) end
  when MultiKill.timer with pc.getqf("estado") == 4 begin pc.setqf("estado", 0) end
  when UltraKill.timer with pc.getqf("estado") == 5 begin pc.setqf("estado", 0) end
--  when PerfectKill.timer with pc.getqf("estado") == 6 begin pc.setqf("estado", 0) end
 
  when 20017.chat."Ver Ranking de Guerras de Gremio" begin
   local USER = "USUARIO_ACA" --USUARIO de Su base de Datos
   local PASSWORD = "CONTRASEÑA_ACA" --CONTRASEÑA de su base de datos
   local SERVERIP = "IP_ACA" --IP DE SU SERVIDOR
  
   local rangliste = mysql_query("SELECT * FROM player, quest WHERE player.name NOT LIKE '[%]%' ORDER BY quest.IValue DESC AND szState='asesinatos'","'" .. USER .. "'","'" .. PASSWORD .. "'","player","" .. SERVERIP .. ";")
  
   say_title("Top 10")
   say("#:   Nombre	  Cantidad de Muertes ")
   say_reward("Top 1: "..rangliste.name[1].." "..rangliste.Ivalue[1].." ")
   say_title("Top 2: "..rangliste.name[2].." "..rangliste.Ivalue[2].." ")
   say("Top 3: "..rangliste.name[3].." "..rangliste.Ivalue[3].." ")
   say("Top 4: "..rangliste.name[4].." "..rangliste.Ivalue[4].." ")
   say("Top 5: "..rangliste.name[5].." "..rangliste.Ivalue[5].." ")
   say("Top 6: "..rangliste.name[6].." "..rangliste.Ivalue[6].." ")
   say("Top 7: "..rangliste.name[7].." "..rangliste.Ivalue[7].." ")
   say("Top 8: "..rangliste.name[8].." "..rangliste.Ivalue[8].." ")
   say("Top 9: "..rangliste.name[9].." "..rangliste.Ivalue[9].." ")
   say("Top 10: "..rangliste.name[10].." "..rangliste.Ivalue[10].." ")  
  end
end
end

Aviso: Aun no la testeo, pero por lo menos les dejo una visión inicial de la idea que nos trajo KeKo al foro sobre el Sistema de Gremios, en cuanto termine de hacerle las pruebas, se la reparo si tiene errores claro.

Enlace para comentar
Compartir en otros sitios

Y que es lo que no hace KeKo?

 

Tampoco te voi a dar la pista total, pero es cosa del tiempo. Tu estas haciendo que al hacer una muerte te salte un timer y a los 60seg te diga que has hecho una muerte, luego si haces otra muerte te salta otro timer y a los 50 te dice que has hecho una doble, etc Y no es así como el hispano planteo el tiempo en su quest.

Enlace para comentar
Compartir en otros sitios

No la hice asi ._. eso no hace lo mismo que el sistema del hispano.

 

Pues la verdad es que en el mundo de la Programacion, hay varias maneras de codificar algo, no siempre hay un camino, que mi quest no sea igual a la tuya, no precisamente eso quiere decir que este mal, o que su funcionamiento este errado. De hecho esta quest la codifique de tipo Spaghetty Code, o sea lo primero que me salio.

 

 

Tampoco te voi a dar la pista total, pero es cosa del tiempo. Tu estas haciendo que al hacer una muerte te salte un timer y a los 60seg te diga que has hecho una muerte, luego si haces otra muerte te salta otro timer y a los 50 te dice que has hecho una doble, etc Y no es así como el hispano planteo el tiempo en su quest.

 

Mira como funciona esta quest, te explico:

 

Matan a una persona, entonces empieza un timer de 60 segundos a contar, si esos 60 segundos terminaron antes de que mataran a la siguiente persona, entonces le informan que ha hecho un FristKill, si los 50 segundos acaban antes de que maten a 2 personas entonces le informan de un DoubleKill, y asi sucevamente.

 

Pues la de MT2Hispano esta un poco diferente, ya que ellos van almacenando los diferentes Kills por separado.

 

Pero bueno basada en tu idea salio esta Quest :P, que como tu has dicho es diferente a la de MT2Hispano y a la que creastes tu.

Enlace para comentar
Compartir en otros sitios

Pues la verdad es que en el mundo de la Programacion, hay varias maneras de codificar algo, no siempre hay un camino, que mi quest no sea igual a la tuya, no precisamente eso quiere decir que este mal, o que su funcionamiento este errado. De hecho esta quest la codifique de tipo Spaghetty Code, o sea lo primero que me salio.

 

Ya te tengo dicho en otro post que sé que hay varias maneras de codificar algo, y de nuevo te digo que no he dicho en ningun momento que la quest esté mal, simplemente que no es igual a la del hispano.

Enlace para comentar
Compartir en otros sitios


--Sistema de Estadisticas en Guerra de Gremios

quest Kills begin

state start begin

when kill with npc.is_pc() and pc.get_guild() != npc.get_guild() and pc.get_map_index(index) begin --index = mapa de guerra de gremios

pc.setqf("estado", pc.getqf("estado")+1)

 

if pc.getqf("estado") == 1 then

pc.setqf("asesinatos", pc.getqf("asesinatos")+1)

timer("FristKill", 60)

chat("He tio, pero si has hecho un *FristKill*")

elseif pc.getqf("estado") == 2 then

pc.setqf("asesinatos", pc.getqf("asesinatos")+2)

timer("DoubleKill", 50)

chat("He tio, pero si has hecho un *DoubleKill*")

elseif pc.getqf("estado") == 3 then

chat("He tio, pero si has hecho un *TripleKill*")

timer("TripleKill", 40)

pc.setqf("asesinatos", pc.getqf("asesinatos")+4)

elseif pc.getqf("estado") == 4 then

chat("He tio, pero si has hecho un *MultiKill*")

timer("MultiKill", 30)

pc.setqf("asesinatos", pc.getqf("asesinatos")+7)

elseif pc.getqf("estado") == 5 then

chat("He tio, pero si has hecho un *UltraKill*")

timer("UltraKill", 20)

pc.setqf("asesinatos", pc.getqf("asesinatos")+15)

elseif pc.getqf("estado") == 6 then

say_in_map( pc.get_name() .. ", acaba de hacer un *PerfectKill*")

pc.setqf("estado", 0)

pc.setqf("asesinatos", pc.getqf("asesinatos")+30)

-- timer("PerfectKill", 0)

end

end

 

when FristKill.timer with pc.getqf("estado") == 1 begin pc.setqf("estado", 0) end

when DoubleKill.timer with pc.getqf("estado") == 2 begin pc.setqf("estado", 0) end

when TripleKill.timer with pc.getqf("estado") == 3 begin pc.setqf("estado", 0) end

when MultiKill.timer with pc.getqf("estado") == 4 begin pc.setqf("estado", 0) end

when UltraKill.timer with pc.getqf("estado") == 5 begin pc.setqf("estado", 0) end

-- when PerfectKill.timer with pc.getqf("estado") == 6 begin pc.setqf("estado", 0) end

 

when 20017.chat."Ver Ranking de Guerras de Gremio" begin

local USER = "USUARIO_ACA" --USUARIO de Su base de Datos

local PASSWORD = "CONTRASEÑA_ACA" --CONTRASEÑA de su base de datos

local SERVERIP = "IP_ACA" --IP DE SU SERVIDOR

 

local rangliste = mysql_query("SELECT * FROM player, quest WHERE player.name NOT LIKE '[%]%' ORDER BY quest.IValue DESC AND szState='asesinatos'","'" .. USER .. "'","'" .. PASSWORD .. "'","player","" .. SERVERIP .. ";")

 

say_title("Top 10")

say("#: Nombre Cantidad de Muertes ")

say_reward("Top 1: "..rangliste.name[1].." "..rangliste.Ivalue[1].." ")

say_title("Top 2: "..rangliste.name[2].." "..rangliste.Ivalue[2].." ")

say("Top 3: "..rangliste.name[3].." "..rangliste.Ivalue[3].." ")

say("Top 4: "..rangliste.name[4].." "..rangliste.Ivalue[4].." ")

say("Top 5: "..rangliste.name[5].." "..rangliste.Ivalue[5].." ")

say("Top 6: "..rangliste.name[6].." "..rangliste.Ivalue[6].." ")

say("Top 7: "..rangliste.name[7].." "..rangliste.Ivalue[7].." ")

say("Top 8: "..rangliste.name[8].." "..rangliste.Ivalue[8].." ")

say("Top 9: "..rangliste.name[9].." "..rangliste.Ivalue[9].." ")

say("Top 10: "..rangliste.name[10].." "..rangliste.Ivalue[10].." ")

end

end

end

Enlace para comentar
Compartir en otros sitios

pruebalo asi si funciona

local rangliste = mysql_query("SELECT * FROM player, quest WHERE player.name NOT LIKE '[%]%' ORDER BY quest.IValue DESC AND szState='asesinatos'","'" .. USER .. "'","'" .. PASSWORD .. "'","player","" .. SERVERIP .. " LIMIT 10;")
say_title("Top 10")
say("#:   Nombre	   Cantidad de Muertes ")
table.foreachi(rangliste,function(index,val) say(index..". "..val[1],val[2]) end)
Enlace para comentar
Compartir en otros sitios

Unirse a la conversación

Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.

Guest
Responder a este tema...

×   Has pegado contenido con formato .   Eliminar formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incorporado automáticamente.   Mostrar un enlace en su lugar

×   Se ha restaurado el contenido anterior. .   Borrar editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...