Problema piatra spirit

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Închis
Avatar utilizator
DominiK
Nivel 1

Nivel 1
Mesaje: 138
Membru din: 18 Iul 2018, 11:34
Server: Metin2
Regat: Jinno
Aprecieri: 16  
Mulţumiri: 1  
Medalii

b]*Problemă:Primesc aceasta erroare in putty cand adaug questul la piatra[/b]
Tipologie server: PVM
*Resursă folosită:
*ServerFiles utilizat:2009 40k
*Syserr:
Poză:
*Detalii suplimentare: Primesc asta in putty QUEST : training_gRangmaster_skill
STATE : start
WHEN : 50513.use
FUNCTION BuildGRangMasterSkillList(job,group)
Calls undeclared function! :
pc.learn_gRang_master_skill
Abort (core dumped)


Quest

Cod: Selectaţi tot

quest training_gRangmaster_skill begin
    state start begin
   when 50513.use begin
       say_title("Piatra Spiritului")

       if pc.get_skill_group() == 0 then
      say("Nu ai nicio aptitudine"..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("Aceast lucru va permite")
          say("perfectionarea competentelor.")
          say("")
          wait()
          say_title("Piatra Spiritului")
      else
          say("Trebuie sa asteptati.")
          return
      end
       end

       local result = training_gRangmaster_skill.BuildGRangMasterSkillList(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("Nu iti poti perfectiona competentele!")
      return
       end

       say("Alegeti o competenta din urmatoarele.")
       say("")

       local menu_list = {}
       table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
       table.insert(menu_list, "Renunta") 

       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 -cenzurat-_alignment = pc.get_real_alignment()
       local need_alignment = 1000+500*(skill_level-30)

       test_chat("Punctre rang:"..-cenzurat-_alignment)
       test_chat("Rang negativ prea mare:"..need_alignment)

       local title=string.format("%s a reusit", skill_name, skill_level-30+1)

       say_title(title)
       say("Atunci când cititi piatra spiritului")
       say("pierzi punctaj din grad!")
       say("")

       if -cenzurat-_alignment<-19000+need_alignment then
      say_reward("Puncte insuficiente.")
      return
       end

       if -cenzurat-_alignment<0 then
      say_reward(string.format("Puncte necesare: %d -> %d", need_alignment, need_alignment*2))
      say_reward("pentru a mari competenta")
      need_alignment=need_alignment*2
       elseif -cenzurat-_alignment<need_alignment then
      say_reward(string.format("Puncte necesare: %d", need_alignment))
      say_reward("Rang negativ prea mare")
       else
      say_reward(string.format("Puncte necesare: %d", need_alignment))
       end
       say("")

       local s=select("Mai mult", "Renunta")   
       if s==2 then
      return
       end


       if -cenzurat-_alignment>=0 and -cenzurat-_alignment<need_alignment then
      say_title(string.format("Piatra Spiritului", title))
      say("A venit timpul!!")
      say("Pentru antrenament,")
      say("Va rugam sa scrieti : Antrenament")
      say("")
      say("")
      say_reward("Antrenament")
      say("")
      say("")
      local s=input()
      if s!="Antrenament" 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("Sa vedeam ce-ai reusit")
          return
      end
       end

       pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))

       if need_alignment>0 then
      if pc.learn_gRang_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 este deja Perfect", skill_name))
          else
         say(string.format("%s Succes", skill_name, skill_level-30+1+1))
          end
          say("")
          say_reward("Succes!")
          say_reward(string.format("Puncte luate %d ", need_alignment))
          say("")
      else
          say_title(string.format("%s ", title))
          say("Acest lucru nu este elaborat ,din pacate.")
          say("")
          say_reward("Ai esuat!")
          say("Mai Incearca")
          pc.change_alignment(-number(need_alignment/3, need_alignment/2))
      end
       end

       item.remove()
   end
   function BuildGRangMasterSkillList(job, group)
       GRang_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 >= GRang_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
Avatar utilizator
Spyke
Metin Master

Metin Master
Mesaje: 2613
Membru din: 29 Iul 2016, 09:08
Server: Aoem2
Aprecieri: 205  
Mulţumiri: 3918  
Discord: Copiază ID
Medalii

adauga in quest_functions pc.learn_gRang_master_skill
Avatar utilizator
DominiK
Nivel 1

Nivel 1
Mesaje: 138
Membru din: 18 Iul 2018, 11:34
Server: Metin2
Regat: Jinno
Aprecieri: 16  
Mulţumiri: 1  
Medalii

Spyke scrie:adauga in quest_functions pc.learn_gRang_master_skill
Am adaugat si nu mai primesc acea erroare , dar cand intru in joc sa fac G1 nu imi creste deloc G2 G3 , de ce ?
Avatar utilizator
Spyke
Metin Master

Metin Master
Mesaje: 2613
Membru din: 29 Iul 2016, 09:08
Server: Aoem2
Aprecieri: 205  
Mulţumiri: 3918  
Discord: Copiază ID
Medalii

Pai incearca questul asta

Cod: Selectaţi tot

 say_title ( "Piatra Spiritului" )
    if pc . get_skill_group ( ) == 0 then
    say ( "Nu ai nici o competenta" .. pc . get_skill_group ( ) )
    return
    end
    if get_time ( ) < pc . getqf ( "next_time" ) then
    if pc . is_skill_book_no_delay ( ) then
    say ( "Acest lucru va permite" )
    say ( "perfectionarea competentelor." )
    say ( "" )
    wait ( )
    say_title ( "Piatra Spiritului" )
    else
    say ( "Trebuie sa asteptati." )
    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 ( "Competentele tale sunt deja perfecte!" )
    return
    end
    say ( "Alegeti o competenta din urmatoarele:" )
    say ( "" )
    local menu_list = { }
    table . foreach ( name_list , function ( i , name ) table . insert ( menu_list , name ) end )
    table . insert ( menu_list , "Inchide" )
    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 -cenzurat-_alignment = pc . get_real_alignment ( )
    local need_alignment = 1000 + 500 * ( skill_level - 30 )
    test_chat ( "Puncte rang:" .. -cenzurat-_alignment )
    test_chat ( "Puncte de rang necesare:" .. need_alignment )
    local title = string . format ( "%s a reusit " , skill_name , skill_level - 30 + 1 )
    say_title ( title )
    say ( "Atunci cand folosestii piatra spiritului" )
    say ( "pierzi punctaj din grad!" )
    say ( "" )
    if -cenzurat-_alignment < - 19000 + need_alignment then
    say_reward ( "Puncte insuficiente." )
    return
    end
    if -cenzurat-_alignment < 0 then
    say_reward ( string . format ( "Puncte necesare: %d -> %d" , need_alignment , need_alignment * 2 ) )
    say_reward ( "pentru a mari competenta." )
    need_alignment = need_alignment * 2
    elseif -cenzurat-_alignment < need_alignment then
    say_reward ( string . format ( "Puncte necesare:: %d" , need_alignment ) )
    say_reward ( "Rang negativ prea mare" )
    else
    say_reward ( string . format ( "Puncte necesare: %d" , need_alignment ) )
    end
    say ( "" )
    local s = select ( "Mai mult" , "Intrerupe" )
    if s == 2 then
    return
    end
    if -cenzurat-_alignment >= 0 and -cenzurat-_alignment < need_alignment then
    say_title ( string . format ( "Piatra Spiritului" , title ) )
    say ( "A venit timpul!" )
    say ( "Pentru antrenament," )
    say ( "Va rugam sa scrieti : Antrenament" )
    say ( "" )
    say ( "" )
    say_reward ( "Antrenament" )
    say ( "" ) 
    local s = input ( )
    if s ~= "Antrenament" then
    return
    end
    end
    if get_time ( ) < pc . getqf ( "next_time" ) then
    if pc . is_skill_book_no_delay ( ) then
    pc . remove_skill_book_no_delay ( )
    else
    say ( "Sa vedeam ce-ai reusit" )
    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 " , title ) )
    if 40 == pc . get_skill_level ( skill_vnum ) then
    say ( string . format ( "%s este deja Perfect" , skill_name ) )
    else
    say ( string . format ( "Succes" , skill_name , skill_level - 30 + 1 + 1 ) )
    end
    say ( "" )
    say_reward ( "Succes!" )
    say_reward ( string . format ( "Puncte luate %d " , need_alignment ) )
    say ( "" )
    else
    say_title ( string . format ( "%s " , title ) )
    say ( "Acest lucru nu este elaborat ,din pacate." )
    say ( "" )
    say_reward ( "Ai esuat," )
    say ( "mai incerca!" )
    pc . change_alignment ( - number ( need_alignment / 3 , need_alignment / 2 ) )
    end
    end
    item . remove ( ) 
Avatar utilizator
DominiK
Nivel 1

Nivel 1
Mesaje: 138
Membru din: 18 Iul 2018, 11:34
Server: Metin2
Regat: Jinno
Aprecieri: 16  
Mulţumiri: 1  
Medalii

Am rezolvat , Multumesc ! T/C
Avatar utilizator
[ST]SSH
Membru Club

Membru Club
Mesaje: 1704
Membru din: 12 Apr 2016, 23:54
Server: Fost Eluria2
Regat: Jinno
Aprecieri: 132  
Mulţumiri: 245  
 Contact:
Medalii

Marcat ca rezolvat.
Închis
Răspunsuri
3
Vizualizări
301
Răspunsuri
1
Vizualizări
292
Răspunsuri
10
Vizualizări
571
Răspunsuri
7
Vizualizări
482

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 11 vizitatori