Dextrok Posted February 28, 2013 Report Share Posted February 28, 2013 --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. Quote Link to comment Share on other sites More sharing options...
KeKo Posted February 28, 2013 Report Share Posted February 28, 2013 No la hice asi eso no hace lo mismo que el sistema del hispano. Quote Link to comment Share on other sites More sharing options...
Dextrok Posted March 1, 2013 Author Report Share Posted March 1, 2013 Y que es lo que no hace KeKo? Quote Link to comment Share on other sites More sharing options...
KeKo Posted March 1, 2013 Report Share Posted March 1, 2013 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. Quote Link to comment Share on other sites More sharing options...
Dextrok Posted March 1, 2013 Author Report Share Posted March 1, 2013 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 , que como tu has dicho es diferente a la de MT2Hispano y a la que creastes tu. Quote Link to comment Share on other sites More sharing options...
KeKo Posted March 1, 2013 Report Share Posted March 1, 2013 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. Quote Link to comment Share on other sites More sharing options...
Dextrok Posted March 1, 2013 Author Report Share Posted March 1, 2013 --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 Quote Link to comment Share on other sites More sharing options...
Croqueta Posted March 1, 2013 Report Share Posted March 1, 2013 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) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.