Jump to content

Dextrok

Miembro
  • Contador contenido

    111
  • Ingreso

  • Última visita

  • Días ganados

    5

Todo lo publicado por Dextrok

  1. Ah, el problema está en la query, prueba con esta otra: quest prueba begin state start begin when 20094.chat."Prueba" begin say_size(350,365) say_title("Prueba") local prueba = mysql_query("SELECT account.real_name, player.name FROM account.account, player.player WHERE player.name='"..pc.get_name().."';") say("") say("Bienvenido "..pc.get_name().."") say("") say_light_blue("En la casilla real_name tienes puesto: "..prueba.real_name..".") end end end No estoy 100% seguro porque no he probado, pero es más probable que te funcione.
  2. Testeala así. quest prueba begin state start begin when 20094.chat."Prueba" begin say_size(350,365) say_title("Prueba") local prueba = mysql_query("SELECT account.real_name FROM account.account WHERE name='"..pc.get_name().."';") say("") say("Bienvenido "..pc.get_name().."") say("") say_light_blue("En la casilla real_name tienes puesto: "..prueba.real_name..".") end end end
  3. Ese es un típico problema, si quieres conservarlo has lo que te han dicho los chicos arriba, y si lo deseas dejar vacío no tendrás ningun problema con ello tampoco.
  4. Es prácticamente lo mismo que hizo PACIFICADOR pero como al parecer tuvo un problemita, acá te lo dejo más claro. quest polimorfo begin state start begin when 70016.use with pc.level >= 5 begin pc.set_skill_level(129, 59) end end end
  5. intenta ponerla de nuevo exactamente igual como la puse, lo que te esta diciendo es que no tienes el "quest" del principio, fijate en ello.
  6. Pruebala así quest mision_tanaca begin state start begin when login or levelup with pc.get_level() >= 60 begin set_state(information) end end state information begin when letter begin send_letter("Piratas Tanakas") q.set_counter("Pirata Tanaka", 100 - pc.getqf("piratas")) end when enter begin pc.setqf("piratas", 0) end when button or info begin say_title("Piratas Tanakas") say("Hola Metinero") say("Creo que estas listo para hacerme un trabajo sucio.") say("los Piratas Tanakas esta me esta deviendo Mucho Oro.") say("Quiero que mates 100 de ellos para Asustarlos y que me Pagen..") say("Los puedes encontrar en los eventos de lideres o en las citys") say("como recompensa te dare 500kk por hacer este trabajo estas listo") say_reward("Mata 100 Luchadores Piratas Tanakas") say("") end when 5001.kill begin pc.setqf("piratas", pc.getqf("piratas")+1) q.set_counter("Pirata Tanaka", 100 - pc.getqf("piratas")) if pc.getqf("piratas") == 100 then say_title("Piratas Tanakas") say("Has logrado Asustarlos me han pagado mi oro. recibiras el 50%!") say("Usted recibirá:") say_reward("500kk Yang") pc.change_money(500000000) clear_letter() set_state(__COMPLETE__) end end end state __COMPLETE__ begin end end
  7. Cierto, como dice PACIFICADOR si es posible, pero recuerda que debes de tener en cuenta que lo que se haga del state último al state primero seguirá teniendo su efecto, por ejemplo: quest test begin state start begin set_state(inicial) end state inicial begin when login begin if pc.getqf("edad") == 0 then pc.setqf("edad", 1) set_state(final) end end end state final begin when login begin pc.setqf("edad", 5) set_state(inicial) end end end Esta quest establecerá una edad inicial de 1, y luego la establecerá en 5, pero cuando regrese al estado inicial no volverá a establecer la edad en 1, porque el qf ("edad") tendrá el valor de 5, esa valor no se reinicia sino que prevalece.
  8. Lo que pasa es que la función IDITEM.use no se activa al quitártelo, por tanto cuando te lo pones de nuevo lo que hará obviamente es quitártelo. Abría que buscar la forma, oye me consigues esos anillos?
  9. Pues los 3 los tienen fíjate al final: state __COMPLETE__ begin end end Ahora me explico mejor: Así tiens tu quest sin contenido: quest entrada_server begin state start begin when login begin end end end state __COMPLETE__ begin end end Si te puedes fijar hay 2 end al final, en tontal 5, para un total de 4 begins. En cambio, en la que te mostré. quest entrada_server begin state start begin when login begin end end state __COMPLETE__ begin end end El último end que crees que falta se encuentra al final de todo.
  10. Pues la verdad sólo es cosa de un: end quedaría así: quest entrada_server begin state start begin when login begin notice_all("Bienvenido ".. pc.get_name() .." a TheBlackMt2") set_state(__COMPLETE__) end end state __COMPLETE__ begin end end
  11. Yo creo que es muy bueno, le ayuda bastante a las personas que se están iniciando en un servidor. Pienso que es una buena labor de tu parte, felicidades.
  12. quest go_to_map begin state start begin when login or levelup with pc.get_level() >= 75 begin set_state(_PERGAMINO_) end end state __PERGAMINO_ begin when letter begin send_letter("Gruta del Exhilio") end when info or button begin local x, y = xxxx, yyyy --Aca se le asigna las coordenadas del mapa say("Deseas ir a la gruta del exhilio?") local k = select("Si", "No") if k == 1 then pc.warp(x, y) end end end end
  13. dice archivo invalido al descargar.
  14. quest grandmaster_skills begin state start begin when 9006.chat."GrandMaster Skills" begin say_title("Großmeister") local seelicount = pc.count_item(50513) if pc.get_skill_group() == 0 then say("Du hast keine Fertigkeiten "..pc.get_skill_group()) return end if get_time() < pc.getqf("next_time") then -- and not is_test_server() then if pc.is_skill_book_no_delay() then say("Du hast eine Exo-Rolle Gelesen!") say("Nun kannst du einen weiteren") say("Seelenstein lesen!") say("") wait() say_title("Großmeister") else say("Du hast heute Bereits einen Seelenstein gelesen!") return end end local result = training_grandmaster_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group()) local vnum_list = result[1] local name_list = result[2] if table.getn(vnum_list) == 0 then say("Du hast keine Fertigkeiten") return end say("Fertigkeit Auswählen") say("") local menu_list = {} table.foreach(name_list, function(i, name) table.insert(menu_list, name) end) table.insert(menu_list, "Abbrechen") local s=select_table(menu_list) if table.getn(menu_list) == s then return end local skill_name=name_list[s] local skill_vnum=vnum_list[s] local skill_level = pc.get_skill_level(skill_vnum) local cur_alignment = pc.get_real_alignment() local need_alignment = 1000+500*(skill_level-30) test_chat("Momentaner Rang: "..cur_alignment) test_chat("Benötigter Rang: "..need_alignment) local title=string.format("%s auf Großmeister %d lesen", skill_name, skill_level-30+1) if pc.count_item(50513) != seelicount then say("Stfu Buguser!") return end item.remove() say_title(title) say("Das lesen eines Seelensteines") say("kostet Rangpunke.") say("") if cur_alignment<-19000+need_alignment then say_reward("Du hast zu wenig Rang!") return end if cur_alignment<0 then say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2)) say_reward("Beim klappen des Seelensteins wird dir") say_reward("das doppelte an Rangpunkten abgezoegn!") need_alignment=need_alignment*2 elseif cur_alignment<need_alignment then say_reward(string.format("Benötigter Rang: %d", need_alignment)) say_reward("Beim klappen des Seelensteins wird dir") say_reward("das doppelte an Rangpunkten abgezoegn!") else say_reward(string.format("Benötigter Rang: %d", need_alignment)) end say("") local s=select("Lesen", "Abbrechen") if s==2 then return end if cur_alignment>=0 and cur_alignment<need_alignment then say_title(string.format("%s -Bestätigen", title)) say("Das Lesen eines Seelensteines kostet Rang,") say("wenn du diesen Seelenstein ließt,") say("kommst du in -Rang") say("Bitte Bestätige das du diesen Seelenstein") say("wirklich lesen möchtest!") say("") say_reward("Bestätigen") say("") say("Bitte gebe 'Trainieren' ein!") local s=input() if s!="Trainieren" then return end end if get_time() < pc.getqf("next_time") then -- and not is_test_server() then if pc.is_skill_book_no_delay() then pc.remove_skill_book_no_delay() else say("Seelitest1") return end end pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12))) if need_alignment>0 then if pc.learn_grand_master_skill(skill_vnum) then pc.change_alignment(-need_alignment) say_title(string.format("%s -Erfolgreich", title)) if 40 == pc.get_skill_level(skill_vnum) then say(string.format("%s Seelitest2.", skill_name)) else say(string.format("Dein Seelenstein war Erfolgreich!", skill_name, skill_level-30+1+1)) end say("") say_reward("Erfolgreich!") say_reward(string.format("Kosten an Rang: %d ", need_alignment)) say("") else say_title(string.format("%s -Fehlgeschlagen", title)) say("Dein Seelenstein hat nicht geklappt.") say("") say_reward("Fehlgeschlagen!") say("") pc.change_alignment(-number(need_alignment/3, need_alignment/2)) end end end function BuildGrandMasterSkillList(job, group) GRAND_MASTER_SKILL_LEVEL = 30 PERFECT_MASTER_SKILL_LEVEL = 40 local skill_list = special.active_skill_list[job+1][group] local ret_vnum_list = {} local ret_name_list = {} -- test_chat(string.format("job=%d, group=%d", job, group)) table.foreach(skill_list, function(i, skill_vnum) local skill_level = pc.get_skill_level(skill_vnum) -- test_chat(string.format("[%d]=%d", skill_vnum, skill_level)) if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then table.insert(ret_vnum_list, skill_vnum) local name=locale.GM_SKILL_NAME_DICT[skill_vnum] if name == nil then name=skill_vnum end table.insert(ret_name_list, name) end end) return {ret_vnum_list, ret_name_list} end end end Sería esto, no me dió tiempo probarla, pero si tiene errores y cuando regrese nadie te ha podido ayudar, pues te ayudo =)
  15. quest skill_reset2 begin state start begin when oldwoman.chat."Restablecer habilidades" begin local cost = 200000 + pc.level * 40 local s = 0 local STAT_RESET_SAY1= say_title ("Anciana: ") say ("Hola, has venido al sitio correcto.Tus ojos" ) say ("muestran mucho dolor.Permito a las personas" ) say ("olvidar sus habilidades para que puedan empezar" ) say ("de nuevo.!Quieres olvidar tus habilidades y" ) say ("empezar de nuevo? Cuesta " .. cost .. "Yang.[ENTER]" ) local STAT_RESET_SAY2= say ("Desea restablecer sus Habilidades?" ) say(STAT_RESET_SAY2) s = select ( "Resetear Habilidades" , "No restaurar" ) if s==1 then say(STAT_RESET_DETAIL_SAY2) say ("Despues de resetear tus habilidades" ) say ("Debes desloguear tu cuenta y entrar de nuevo" ) say ("para poder pedir tus habilidades") s = select ( "Resetear Habilidades" , "No restaurar" ) + 1 end if s == 2 then if pc.get_level() < 30 then if pc.money < cost then say(locale.oldwoman.not_enough_money) else pc.changegold(-cost) pc.set_skill_group(0) end else say_title("Lo siento") say("Solo puedo cambiarte tus habilidades") say("Si eres menor del nivel 30") say("La única opcion que tienes es utilizar") say("El reajuste de estado") say_title("Buena Suerte") end end end end end
  16. pc.get_job() == 0 --Guerrero pc.get_job() == 1 --Ninja pc.get_job() == 2 --Sura pc.get_job() == 3 --Chamán
  17. Recuerda colocar la id del mapa y el nivel minimo para entrar al mapa. quest mapa begin state start begin when login with pc.get_map_index() == idmapa and pc.get_level() < limite begin --Cambiar id mapa, y nivel limite warp_to_village() end end end
  18. Lo unico que tienes que hacer es guardarlo y al final del nombre ponerle .quest, por ejemplo matanza.quest
  19. Exacto, pero creo que sería mejor when levelup with pc.get_level() == 100 begin para que de esta manera, no haya que desconectarse y volverse a conectar para que se active la quest. quest sube_niveles begin state start begin when levelup with pc.get_level() == 100 begin while pc.get_level() < 250 do pc.give_exp2(pc.get_next_exp()) chat("Has sido subido al nivel 250") end end end end
  20. prueba así entonces: quest yang_missao_I begin state start begin when login or levelup with pc.get_level() >= 5 begin set_state(missaolv5) end end state missaolv5 begin when letter begin send_letter("Missão de Caça I") end when enter begin pc.setqf("contagem", 0) end when button or info begin say_title("Missão de Caça I") say("") say("Objetivo:") say_reward("Matar 10 Lobo Alfa Azul Feroz.") say("") say("Recompensa:") say_reward("100.000 Yangs.") end when 175.kill begin pc.setqf("contagem", pc.getqf("contagem") +1) q.set_counter("Lobo Alfa Azul Feroz", 10 - pc.getqf("contagem")) if pc.getqf("contagem") >= 10 then set_state(missaolv5acabada) end end end state missaolv5acabada begin when letter begin send_letter("Missão de Caça I - Finalizada") end when button or info begin say_title("Missão de Caça I - Finalizada") say("") say("Parabéns por completares a missão!") say("") say_reward("Recebeste 100.000 Yangs.") pc.change_gold(100000) clear_letter() set_state(acabou) set_quest_state("yang_missao_II", "missaolv10") end end state acabou begin end end
  21. quest matanza begin state start begin when kill with npc.is_pc() and pc.get_empire() ~= npc.get_empire() begin pc.setqf("asesinatos", pc.getqf("asesinatos")+1) chat("Has matado " .. pc.getqf("asesinatos") .. " enemigos") chat("Te falta acabar con " .. 100 - pc.getqf("asesinatos") .. " para recibir el premio" if pc.getqf("asesinatos") == 100 then pc.give_item2(vnum) --Aca se le coloca el vnum del item pc.setqf("asesinatos", 0) end end end end
  22. quest yang_missao_I begin state start begin when login or levelup with pc.get_level() >= 5 begin set_state(missaolv5) end end state missaolv5 begin when letter begin send_letter("Missão de Caça I") end when button or info begin say_title("Missão de Caça I") say("") say("Objetivo:") say_reward("Matar 10 Lobo Alfa Azul Feroz.") say("") say("Recompensa:") say_reward("100.000 Yangs.") end when 175.kill begin pc.setqf("contagem", pc.getqf("contagem") +1) q.set_counter("Lobo Alfa Azul Feroz", 10 - pc.getqf("contagem")) if pc.getqf("contagem") >= 10 then set_state(missaolv5acabada) end end end state missaolv5acabada begin when letter begin send_letter("Missão de Caça I - Finalizada") end when button or info begin say_title("Missão de Caça I - Finalizada") say("") say("Parabéns por completares a missão!") say("") say_reward("Recebeste 100.000 Yangs.") pc.change_gold(100000) clear_letter() set_state(acabou) set_quest_state("yang_missao_II", "missaolv10") end end state acabou begin end end
  23. Dextrok

    Testing Attacks

    Recuerda que tienes que buscar: QUEST_SCROLL_TYPE_KILL_ANOTHER_EMPIRE = 2 y justo debajo agregar esto: bonus={} bonus.trans= { [1]="Maximo HP", [2]="Maximo SP", [3]="Vitalidad", [4]="Inteligencia", [5]="Fuerza", [6]="Dextresa", [7]="Velocidad de Ataque", [8]="Velocidad de Movimento", [9]="Velocidad de hechizo", [10]="Regeneracion HP", [11]="Regeneracion SP", [12]="Inmune a Apagon", [13]="Posibilidad de Envenenar", [14]="Posibilidad de Retardo", [15]="Fuerza Ataque Critico", [16]="Fuerza de penetracion", [17]="Fuerza contra Medio Humano", [18]="Fuerza contra animales", [19]="Fuerza contra Orcos", [20]="Fuerza contra Misticos", [21]="Fuerza contra NoMuerto", [22]="Fuerza contra Demonios", [23]="Daño absorbido por HP", [24]="Daño absorbido por SP", [25]="Posibilidad de robar el HP del enemigo", [26]="Posibilidad de robar el SP del enemigo", [27]="Bloquear Ataque directo al Cuerpo", [28]="Posibilidad para esquivar las flechas", [29]="Defensa Espada", [30]="Defensa dos manos", [31]="Defensa Daga", [32]="Defensa Campana", [33]="Defensa Fan", [34]="Defensa Flecha", [35]="Resistencia Fuego", [36]="Defensa Rayo", [37]="Defencia Magia", [38]="Resistencia Viento", [39]="Probabilidad para reflejar ataque al cuerpo ", [40]="Reflectar Maldicion", [41]="Resistencia Veneno", [42]="Posibilidad de restaurar SP", [43]="Posibilidad de bonus de EXP", [44]="Posibilidad de drop de Yang", [45]="Posibilidad de doble drop de objetos", [46]="Trank effekt zuwachs", [47]="Posibilidad de restaurar HP", [48]="Inmune contra Apagon", [49]="Inmune a retardo", [50]="Inmune a caida", [51]="Kill", [52]="Aumentar la puntería del arco", [53]="Aumento de valore de ataque", [54]="Aumento de defensa", [55]="Aumento de valore de ataque magico", [56]="Aumento de defensa mágica", [57]="Posibilidad de maldecir", [58]="Max resistencia", [59]="Fuerza contra Guerrero", [60]="Fuerza contra Ninja", [61]="Fuerza contra Sura", [62]="Fuerza contra Shamane", [63]="Fuerza contra Moustro", } Debes de colocar todo como está ahí, revisa que lo hayas puesto así. **Es necesario un reinicio del servidor, para que el servidor reconozca esta parte.
  24. Dextrok

    Testing Attacks

    Alguna vez has tenido la necesidad de querer probar como estan los bonus de tu servidor, sin la necesidad de tener que estar dopando continuamente los objetos para que te salgan los bonos indicados? Pues este es el post que buscabas, TestingAttacks, es una quest que te permite obtener una bonificación para tu personaje temporalmente, sin llevar ningún tipo de item puesto, y fue diseñada especialmente para realizar pruebas en los servidores. 1-Esta quest tiene un pre-requisito, y es el sistema que creo Noa, hace poco. Si desean implementar la quest, deberán haber realizado lo de este post antes: http://metin2zone.ne...codigos-by-noa/ *Es necesario un reinicio del servidor, para que el servidor reconozca la parte del questlib. 2-Luego solo queda implementarla, como cualquier otra quest. quest testing_attacks begin state start begin when 71056.use begin say_title("Hola, selecciona el atributo que deseas ponerte") local i = 1 local k = 0 repeat if i == 61 then k = select(bonus.trans[i], bonus.trans[i+1], bonus.trans[i+2], "Salir") --última Linea else k = select(bonus.trans[i], bonus.trans[i+1], bonus.trans[i+2], bonus.trans[i+3], "Mas", "Salir") --Las demás lineas end i = i + 4 until (k != 5) if (k == 6 or (i == 65 and k == 4)) then return else say("Digite la Cantidad de " .. bonus.trans[i - 4 + (k - 1)]) cantidad = tonumber(input()) say("Digite los miutos, que durara con ese efecto") tiempo = tonumber(input()) affect.add_collect(i - 4 + (k - 1), cantidad, tiempo*60) --60¦~ end end end end
×
×
  • Crear nuevo...