Jump to content
Dextrok

Sistema de Puntos en Guerras Gremio

Recommended Posts

--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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites


--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

Share this post


Link to post
Share on other sites

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)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...