Bug la ss-uri.

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
Metin2 Zato
Nivel 1

Nivel 1
Mesaje: 83
Membru din: 29 Noi 2014, 21:24
Server: Metin2 Zato.
Regat: Jinno
Aprecieri: 0
Mulţumiri: 0
Medalii

Salut, am acest quest la ss:

Cod: Selectaţi tot

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

           if pc.get_skill_group() == 0 then
          say("2"..pc.get_skill_group())
          return
           end
		   
		   if pc.count_item(71002) >= 1 then
		  say("Ai Pergament Reset Skill in inventar")
		  return
		   end
		   
		   if pc.count_item(71003) >= 1 then
		  say("Ai Pergament Reset Skill in inventar")
		  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("")
             say("Cu această piatră a spiritului îţi poţi ridica ")
              say("competenţele la un alt nivel ! Nu uita când ")
              say("folosesti Piatra Spiritului , îţi scad punctele ")
             say("de grad. Pentru a creşte gradul stricat vei avea ")
             say("nevoie de Boabe Zen, pe care le gasesti la ")
             say("Magazinul General")
             say("")
              wait()
              say_title("Piatra Spiritului")
          else
             say("")
              say("Te rog aşteaptă puţin timp pentru ")
             say("a ridica competenţele la un alt nivel. ")
              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("")
          say("Momentan nu ai nici o competenţă care trebuie ")
          say("urcată la un alt nivel ! ")
          say("")
          say("Incearcă mai târziu ! ")
          return
           end
          
          say("")
           say("Te rog alege competenţa pe care doreşti să o creşti. ")
           say("")

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

           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("˛{¦bµ˝´c­Č: "..-cenzurat-_alignment)
           test_chat("»Ý­nµ˝´c­Č: "..need_alignment)

           local title=string.format("Competenţa %s urcă la nivel  %d", skill_name, skill_level-30+1)

           say_title(title)
           say("")
          say("Doreşti să creşti această competenţă? ")
           say("")

           if -cenzurat-_alignment<-19000+need_alignment then
          say_reward("12")
          return
           end

           if -cenzurat-_alignment<0 then
          say_reward(string.format("Puncte: %d -> %d", need_alignment, need_alignment*2))
          say_reward("Doreşti să creşti această competenţă ? ")
          need_alignment=need_alignment*2
           elseif -cenzurat-_alignment<need_alignment then
          say_reward(string.format("Puncte: %d", need_alignment))
          say_reward("Doreşti să creşti această competenţă ? ")
           else
          say_reward(string.format("Competenţa creşte la: %d de puncte", need_alignment))
           end
           say("")

           local s=select("Da", "Nu, Mulţumesc ")   
           if s==2 then
          return
           end


           if -cenzurat-_alignment>=0 and -cenzurat-_alignment<need_alignment then
          say_title(string.format("%s", title))
          say("")
          say("Pentru a urca această competenţă , vei avea ")
          say("nevoie de un cuvânt cheie , introdu cuvântul ")
          say("cheie in casuţa de mai jos ! ")
          say("")
          say_reward("Metin2")
          say("")
          local s=input()
          if s!="Metin2" 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("21")
              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 20.", skill_name))
              else
             say("")
             say(string.format("%s A fost upgradată cu succes ! ", skill_name, skill_level-30+1+1))
              end
              say_reward("Competenţa ta a ajus la ")
              say_reward(string.format("%d de Puncte.", need_alignment))
              say("")
          else
              say_title(string.format("%s", title))
              say("")
             say("Ridicarea competenţei la următorul nivel ")
              say_reward("A eşuat ! Te rog încearcă mai târziu. ")
              say("")
              pc.change_alignment(-number(need_alignment/3, need_alignment/2))
          end
           end

           item.remove()
       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
La acest quest, de exemplu am 5 ss-uri intruna, iar daca folosesti un singur ss dispar toate.
O sa va dau cate un (y) celor care incearca sa ma ajute, multumesc :D
Avatar utilizator
DowNNN
Nivel 1

Nivel 1
Mesaje: 125
Membru din: 04 Mai 2014, 19:02
Regat: Jinno
Aprecieri: 99  
Mulţumiri: 13  
Medalii

Foloseste questul asta , va trebui sa mearga
quest training_grandmaster_skill begin
state start begin
when 50513.use begin
--- l
say_title("Antrenamentul deprinderilor al marilor maestrii:")

if pc.get_skill_group() == 0 then
--- l
say("Niciuna dintre abilitatile dumneavoastra nu este")
say("suficient de dezvoltata pentru a o aduce in stadiul")
say("de Grand Master.")
return
end

if get_time() < pc.getqf("next_time") then
if pc.is_skill_book_no_delay() then
--- l
say_reward("Ati utilizat un pergament al exorcizarii.")
else
--- l
say("Ati mai citit o piatra in decursul a 12 ore.")
say("Trebuie sa asteptati 12 ore pentru a putea citi")
say("o piatra noua, sau puteti folosi pergamentul")
say("exorcizarii care va permite sa cititi mai multe")
say("pietre succesiv.")
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
--- l
say("Niciuna dintre abilitatile dumneavoastra nu este")
say("suficient de dezvoltata pentru a o aduce in stadiul")
say("de Grand Master.")
return
end

--- l
say("Alege te rog o deprindere in care doresti sa-ti")
say("insusesti titlul de mare maestru.")

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

if table.getn(menu_list) == s then

return

end

local skill_name=name_list
local skill_vnum=vnum_list
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("Grad actual: "..-cenzurat-_alignment)
test_chat("Puncte grad necesare: "..need_alignment)

local title=string.format("%s - antrenamentul deprinderilor[ENTER]al marilor maestrii:", skill_name)

--- l
say_title("Antrenamentul deprinderilor al marilor maestrii:")
say("Ridicarea la nivelul de Grand Master foloseste")
say("puncte de rang.Asa ca este posibil ca nivelul")
say("rangului tau sa scada la o valoare negativa.")

if -cenzurat-_alignment<-19000+need_alignment then
say_reward("Din pacate rangul tau este foarte scazut.")
say_reward("Foloseste cateva boabe zen pentru a te")
say_reward("putea antrena in continuare.")
return
end

if -cenzurat-_alignment<0 then
--- l
say_reward("Imbunatatirea competentei dumneavoastra va duce ")
say_reward(string.format("la pierderea a %d puncte de grad.", need_alignment*2))
need_alignment=need_alignment*2
elseif -cenzurat-_alignment >= need_alignment then
say_reward(string.format("Puncte de grad necesare : %d", need_alignment))
end
local s=select("Continua", "Anuleaza")

if s==2 then
return
end

if -cenzurat-_alignment>=0 and -cenzurat-_alignment<need_alignment then
--- l
say_title(string.format("%s", title))
say("Ai un grad foarte mic. Pentru a contiuna aceasta")
say("pregatire trebuie sa introduci in linia de comanda")
say("urmatoarul cod secret lasat de Marele maestru")
say("ucenicului sau cu limba de moarte:")
say_reward("Cupy")
say("Daca nu vrei sa te antrenezi apasa tasta Enter.")

local s=input()
if s!="Cupy" 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
--- l
say("Piatra spiritului a disparut din inventarul")
say("dumneavoastra. Fa rost de alta.")
return
end
end

pc.setqf("next_time", get_time()+time_hour_to_sec(number(5, 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
--- l
say_reward("Ai reusit!")
say("Felicitari ! Antrenamentul tau de mare maestru")
say("a fost efectuat cu succes. Asta inseamna ca")
say("deprinderea ta a atins nivelul maxim si")
say("nu mai poate fi antrenata.")
say_reward("Competenta dumneavoastra a atins nivelul maxim!")
else
--- l
say_reward("Ai reusit!")
say("Felicitari ! Antrenamentul tau de mare maestru")
say("a fost efectuat cu succes.")
say(string.format("%s a ajuns la nivelul %d.", skill_name, skill_level-30+2))
say_reward("Ati crescut nivelul deprinderii cu succes!")
end

say_reward(string.format("Ai folosit %d puncte din rang.", need_alignment))

else
--- l
say_title(string.format("%s", title))
say_reward("Ai esuat!")
say("Antrenamentul de mare maestru nu a reusit.")
say_reward("Ati pierdut cateva puncte din grad si")
say_reward("piatra folosita a disparut.")
local alignEchoue=number(need_alignment/3, need_alignment/2)
pc.change_alignment(-alignEchoue)
end
end
item.remove()
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 = {}

table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)

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



Daca te-am ajutat imi poti da un thx . Bafta !
Avatar utilizator
Metin2 Zato
Nivel 1

Nivel 1
Mesaje: 83
Membru din: 29 Noi 2014, 21:24
Server: Metin2 Zato.
Regat: Jinno
Aprecieri: 0
Mulţumiri: 0
Medalii

DowNNN scrie:Foloseste questul asta , va trebui sa mearga
quest training_grandmaster_skill begin
state start begin
when 50513.use begin
--- l
say_title("Antrenamentul deprinderilor al marilor maestrii:")

if pc.get_skill_group() == 0 then
--- l
say("Niciuna dintre abilitatile dumneavoastra nu este")
say("suficient de dezvoltata pentru a o aduce in stadiul")
say("de Grand Master.")
return
end

if get_time() < pc.getqf("next_time") then
if pc.is_skill_book_no_delay() then
--- l
say_reward("Ati utilizat un pergament al exorcizarii.")
else
--- l
say("Ati mai citit o piatra in decursul a 12 ore.")
say("Trebuie sa asteptati 12 ore pentru a putea citi")
say("o piatra noua, sau puteti folosi pergamentul")
say("exorcizarii care va permite sa cititi mai multe")
say("pietre succesiv.")
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
--- l
say("Niciuna dintre abilitatile dumneavoastra nu este")
say("suficient de dezvoltata pentru a o aduce in stadiul")
say("de Grand Master.")
return
end

--- l
say("Alege te rog o deprindere in care doresti sa-ti")
say("insusesti titlul de mare maestru.")

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

if table.getn(menu_list) == s then

return

end

local skill_name=name_list
local skill_vnum=vnum_list
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("Grad actual: "..-cenzurat-_alignment)
test_chat("Puncte grad necesare: "..need_alignment)

local title=string.format("%s - antrenamentul deprinderilor[ENTER]al marilor maestrii:", skill_name)

--- l
say_title("Antrenamentul deprinderilor al marilor maestrii:")
say("Ridicarea la nivelul de Grand Master foloseste")
say("puncte de rang.Asa ca este posibil ca nivelul")
say("rangului tau sa scada la o valoare negativa.")

if -cenzurat-_alignment<-19000+need_alignment then
say_reward("Din pacate rangul tau este foarte scazut.")
say_reward("Foloseste cateva boabe zen pentru a te")
say_reward("putea antrena in continuare.")
return
end

if -cenzurat-_alignment<0 then
--- l
say_reward("Imbunatatirea competentei dumneavoastra va duce ")
say_reward(string.format("la pierderea a %d puncte de grad.", need_alignment*2))
need_alignment=need_alignment*2
elseif -cenzurat-_alignment >= need_alignment then
say_reward(string.format("Puncte de grad necesare : %d", need_alignment))
end
local s=select("Continua", "Anuleaza")

if s==2 then
return
end

if -cenzurat-_alignment>=0 and -cenzurat-_alignment<need_alignment then
--- l
say_title(string.format("%s", title))
say("Ai un grad foarte mic. Pentru a contiuna aceasta")
say("pregatire trebuie sa introduci in linia de comanda")
say("urmatoarul cod secret lasat de Marele maestru")
say("ucenicului sau cu limba de moarte:")
say_reward("Cupy")
say("Daca nu vrei sa te antrenezi apasa tasta Enter.")

local s=input()
if s!="Cupy" 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
--- l
say("Piatra spiritului a disparut din inventarul")
say("dumneavoastra. Fa rost de alta.")
return
end
end

pc.setqf("next_time", get_time()+time_hour_to_sec(number(5, 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
--- l
say_reward("Ai reusit!")
say("Felicitari ! Antrenamentul tau de mare maestru")
say("a fost efectuat cu succes. Asta inseamna ca")
say("deprinderea ta a atins nivelul maxim si")
say("nu mai poate fi antrenata.")
say_reward("Competenta dumneavoastra a atins nivelul maxim!")
else
--- l
say_reward("Ai reusit!")
say("Felicitari ! Antrenamentul tau de mare maestru")
say("a fost efectuat cu succes.")
say(string.format("%s a ajuns la nivelul %d.", skill_name, skill_level-30+2))
say_reward("Ati crescut nivelul deprinderii cu succes!")
end

say_reward(string.format("Ai folosit %d puncte din rang.", need_alignment))

else
--- l
say_title(string.format("%s", title))
say_reward("Ai esuat!")
say("Antrenamentul de mare maestru nu a reusit.")
say_reward("Ati pierdut cateva puncte din grad si")
say_reward("piatra folosita a disparut.")
local alignEchoue=number(need_alignment/3, need_alignment/2)
pc.change_alignment(-alignEchoue)
end
end
item.remove()
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 = {}

table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)

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



Daca te-am ajutat imi poti da un thx . Bafta !


Nu merge, nu pot deschide ss-ul sa pot face P, dar tot o sa primesti un thx, astept un raspuns bun :D
Avatar utilizator
DowNNN
Nivel 1

Nivel 1
Mesaje: 125
Membru din: 04 Mai 2014, 19:02
Regat: Jinno
Aprecieri: 99  
Mulţumiri: 13  
Medalii

Ai dat reboot sau /reload q dupa ce ai instalat quest ?
Avatar utilizator
Metin2 Zato
Nivel 1

Nivel 1
Mesaje: 83
Membru din: 29 Noi 2014, 21:24
Server: Metin2 Zato.
Regat: Jinno
Aprecieri: 0
Mulţumiri: 0
Medalii

Da, am dat si tot nu mergea.
Am luat un quest dupa net si acum merge, multumesc.
TC
Închis

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

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