Jump to content

Slabon

Miembro
  • Contador contenido

    83
  • Ingreso

  • Última visita

  • Días ganados

    3

Mensajes publicados por Slabon

  1. Keko podrías hacer que el anillo tuviese divididos los mapas por categoría, ejemplo:

    Ciudades y salgan sólo las opciones de ir a las citys

    Mapas de leveo y salgan sólo opciones de mapas de leveo

    Otros mapas y aquí salgan otros mapas.

     

    Te agradecería mucho que postees una así, sólo la estructura por favor.

  2. Tengo esta quest pero no funciona u.u

    quest eventopescador begin
    	state start begin
    when 9009.chat."Evento del Pescador" with game.get_event_flag("pez")>0 begin
    	 say_title("Pescador:")
    	 say("")
    	 say("Hoy existe la oportunidad de cambiar" .. game.get_event_flag("pez") .. "un Pez Pequeño")
    	 say("por un objeto valioso.")
    	 say("")
    	 say("En su interior encontraras")
    	 say("una recompensa sorprendente!")
    	 say("")
    end
    when 9009.chat."Quiero mi Recompensa" with game.get_event_flag("manwoo")>0 and pc.countitem(27802) >= game.get_event_flag("pez") begin
    	 local count = pc.countitem(27802)
    	 local need = game.get_event_flag("pez")
    	 say_title("Pescador:")
    	 say("")
    	 say("Aquí tienes tu recompensa!")
    	 say("Mira en su interior.")
    	 say("")
    	 say_reward("Ganaste una Bolsa de Dinero!")
    	 pc.removeitem(27802, need)
    	 pc.give_item2(50023, 1)
    	 say("")
    end
    	end
    end
    
  3. Aquí completa:

     

    
    quest training_grandmaster_skill begin
        state start begin
    when 50513.use begin
       say_title("Fertigkeitstraining des Großmeisters")
               say ("Mit diesem Stein, erfüllt mit Seelen,")
               say ("wirst du deine Fertigkeiten verbessern können.")
       say("")
       wait()
       if pc.get_skill_group() == 0 then
    say("§A¨S¦³¥ô¦ó¾·~."..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("Um mit dem Fertigkeitstraining des Großmeister")
       say("fortzufahren klicke auf 'WEITER'.")
       say("")
       wait()
       say_title("Fertigkeitstraining des Großmeister")
    else
       say("Du kannst heute nicht weiter trainieren,")
    say("außer du benutzt eine Exorzismus-Schriftrolle!")
       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("Fertigkeitstraining des Großmeister")
    return
       end
    
       say("Wähle die zu trainierende Fertigkeit!")
       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
    if pc.count_item(50513)==0 then
    say("Die magische Kraft der Seelen sind erloschen,")
    say("da du den Stein verloren hast..")
    say("")
    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("²{¦bµ½´c­È: "..cur_alignment)
       test_chat("»Ý­nµ½´c­È: "..need_alignment)
    
       local title=string.format("%s Großmeisterstufe %d Training", skill_name, skill_level-30+1)
    
       say_title(title)
       say("")
    
       if cur_alignment<-19000+need_alignment then
    say_reward("Du hast nicht genügend Rangpunkte")
    say_reward("für ein erneutes Training.")
    return
       end
    
       if cur_alignment<0 then
    say_reward(string.format("Du benötigst %d Rangpunkte -> %d", need_alignment, need_alignment*2))
    say_reward("(Wenn du den Seelen bereit bist diese Rangpunkte zu opfern)")
    say_reward("(drücke 'WEITER'.)")
    need_alignment=need_alignment*2
       elseif cur_alignment<need_alignment then
    say_reward(string.format("Du benötigst %d Rangpunkte ", need_alignment))
    say_reward("(²{¦b­×½mªº¸ü, ·|¤U­°¨ì®ö¤H¥H¤U.)")
       else
    say_reward(string.format("Du benötigst %d Rangpunkte ", need_alignment))
       end
       say("")
    
       local s=select("Weiter", "Abbrechen") 
       if s==2 then
    return
       end
    
    
       if cur_alignment>=0 and cur_alignment<need_alignment then
    say_title(string.format("Bestätigen!", title))
    say("Wenn du jetzt eine Großmeisterfertigkeit")
    say("trainierst, könnten deine Rangpunkte unter")
    say("den Durchschnittslevel fallen, da du bereits zu")
    say("diesem Zeitpunkt nur wenige besitzt. Wenn du")
    say("wirklich trainieren willst,")
    say("gib in das Eingabefeld das Wort")
    say_reward("Trainieren")
    say("ein.")
    say("")
    say("Willst du nicht trainieren, drücke einfach")
    say("die Taste 'ENTER'.")
    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("[°ª¯Åµ¥¯Å]§Þ¯à­×½m¿ù»~: ¥ð®§¤¤")
       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("Fertigkeitstraining des Großmeister erfolgreich!", title))
       if 40 == pc.get_skill_level(skill_vnum) then
    say(string.format("Fertigkeitstraining", skill_name))
       else
    say(string.format(skill_name, skill_level-30+1+1))
       end
       say("")
       say_reward("Erfolgreich!")
       say_reward(string.format("Du hast ein paar Rangpunkte verbraucht!"))
       say("")
    else
       say_title(string.format("Großmeister Fertigkeitstraining fehlgeschlagen!", title))
    say ("")
    say_reward("Fehlgeschlagen!")
       say("Du hast deine Fertigkeit nicht verbessern")
       say("können")
       say_reward("Du hast einige Rangpunkte verloren")
    say_reward("und den Seelenstein verbraucht.")
       say("")
       pc.change_alignment(-number(need_alignment/3, need_alignment/2))
    end
       end
    
    pc.removeitem("50513", 1)     
    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}
    
    
       --return {ret_vnum_list, ret_name_list}
    end
        end
    end
    
    

     

  4.  

     

    	   if need_alignment>0 then
      if pc.learn_grand_master_skill(skill_vnum) then
    		  pc.change_alignment(-need_alignment)
    		  say_title(string.format("%s ", title))
    		  if 40 == pc.get_skill_level(skill_vnum) then
       say(string.format("%s ahora es Perfect", skill_name))
    		  else
       say(string.format("%s entrenado con éxito", skill_name, skill_level-30+1+1))
    		  end
    		  say("")
    		  say_reward("Ha aumentado con éxito!")
    		  say_reward(string.format("Karma perdido: %d ", need_alignment))
    		  say("")
    pc.removeitem("50513", 1)   
      else
    		  say_title(string.format("%s ", title))
       say ("")
       say_reward("Entrenamineto Fallado!")
    		  say("No has podido mejorar la habilidad.")
    		  say("")
    		  say_reward("Has perdido algo de tu Karma y")
       say_reward("la piedra alma, las almas se lo han llevado.")
    		  say("")
    		  pc.change_alignment(-number(need_alignment/3, need_alignment/2))
      end
    		 end
      pc.removeitem("50513", 1)	
    end
    

     

    se me olvido comentar que hace un rato hice eso de agregar el removeitem y me daba error al conectar u.u
  5. Tengo la quest funcional al 100% pero hay un pequeño detalle, sólo retira la piedra alama cuando falla, cuando sube con éxito la habilidad la piedra permanece en el inventario y me gustaría que también se desapareciera.

     

    	 if need_alignment>0 then
      if pc.learn_grand_master_skill(skill_vnum) then
    	  pc.change_alignment(-need_alignment)
    
    	  say_title(string.format("%s ", title))
    	  if 40 == pc.get_skill_level(skill_vnum) then
       say(string.format("%s ahora es Perfect", skill_name))
    	  else
       say(string.format("%s entrenado con éxito", skill_name, skill_level-30+1+1))
    	  end
    	  say("")
    	  say_reward("Ha aumentado con éxito!")
    	  say_reward(string.format("Karma perdido: %d ", need_alignment))
    	  say("")
      else
    	  say_title(string.format("%s ", title))
       say ("")
       say_reward("Entrenamineto Fallado!")
    	  say("No has podido mejorar la habilidad.")
    	  say("")
    	  say_reward("Has perdido algo de tu Karma y")
       say_reward("la piedra alma, las almas se lo han llevado.")
    	  say("")
    	  pc.change_alignment(-number(need_alignment/3, need_alignment/2))
      end
    	 end
      pc.removeitem("50513", 1)	
    end
    
×
×
  • Crear nuevo...