Problema piatra spiritului

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

Nivel 4
Mesaje: 559
Membru din: 29 Noi 2013, 21:38
Server: OficialMT2
Regat: Jinno
Aprecieri: 364  
Mulţumiri: 50  
  Rezolvări prob.: 1
Discord: Copiază ID
 Contact:
Medalii

*Problemă: Quest piatra Spiritului
Tipologie server(PvM / PvP):PVM
*Resursă folosită: topicuri-sterse/piatra-spirit-100-diacritice-t4311.html
*ServerFiles utilizat:serverfiles/serverfiles-just4metin-cura ... 82055.html
*Syserr:-
Poză:-
*Detalii suplimentare:
Salutare j4m , am dat peste o problema la care nu ii gasesc rezolvarea nici pe net si nici unde . Am gasit multe discutii pe j4m despre aceasta problema dar cei care au gasit rezolvarea nu au facut publica sa o stim si noi . De aceea cer ajutorul celor care o stiu sa mi-o spuna si mie .Mai exact ce problema am . Am cautat pe j4m quest cu piatra spiritului 100% in romana . Am pus questul in /usr/game/share/locale/romania/quest am dat permisiunea 777 si am dat ./qc antrenament_pietre_spirit.quest si primesc asta :
antrenament_pietre_spirit.quest:138:syntax error : [string "start"]:37: <name> expected near `-'
Abort (core dumped)
Imagine
Afișează semnătura
Avatar utilizator
YoKe
Fost Helper

Fost Helper
Mesaje: 235
Membru din: 07 Ian 2015, 00:34
Regat: Chunjo
Aprecieri: 133  
Mulţumiri: 13  
 Contact:
Medalii

Incearca cu acest quest.
----------------------------------------------------
----- Server: Metin2 Arpas v3.0 -----
----- Author: [A]ivory -----
----------------------------------------------------

quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say_title("Piatra spiritului")
say("")
local seelicount = pc.count_item(50513)
if pc.get_skill_group() == 0 then
say("Nu aveþi abilitãþi care pot fi antrenate.")
say("")
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("Ai folosit pergamentul exorcizãrii. Acum poþi")
say("citi o piatrã a spritiului.")
say("")
wait()
say_title("Piatra spiritului")
else
say("Trebuie sã aºtepþi o zi pentru a putea citi")
say("o piatrã a spiritului sau foloseºte")
say("pergamentul exorcizãrii.")
say("")
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("Nu aveþi abilitãþi care pot fi antrenate.")
say("")
return
end

say("Selectaþi abilitatea care doriþi sã fie antrenatã.")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Renunþã ")
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)

local title=string.format("Antreneazã %s", skill_name)
if pc.count_item(50513) != seelicount then
say("Nu ai piatra spiritului!")
return
end
say_title(title)
say("")
say("Pentru a citi o piatra a spritiului ai nevoie")
say("de puncte de grad.")
say("")
if -cenzurat-_alignment<-19000+need_alignment then
say_reward("Ai prea puþine puncte de grad.")
say("")
return
end

if -cenzurat-_alignment<0 then

say_reward("Punctele tale de grad vor scãdea dupã ")
say_reward("dupã citirea pietrei. Vei pierde")
say_reward(string.format( "între %d ºi %d puncte de grad.", need_alignment, need_alignment*2))

need_alignment=need_alignment*2
elseif -cenzurat-_alignment<need_alignment then
say(string.format("Puncte de grad necesare: %d", need_alignment))
say_reward("Este posibil ca rangul tãu sã fie negativ")
say_reward("dupã citirea pietrei.")
else
say_reward(string.format("Puncte de grad necesare: %d", need_alignment))
end
say("")

local s = select ("Învaþã ","Renunþã ")

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 citi piatra spiritului trebuie sã ")
say("introduci în caseta de mai jos cuvântul")
say_reward("Metin2")
say("")
say_reward("Este posibil ca dupã citirea pietrei, rangul")
say_reward("tãu sã fie negativ.")

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()

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))
say("")
if 40 == pc.get_skill_level(skill_vnum) then

say(string.format("%s este perfect antrenat.", skill_name))
say("")
pc.remove_item(50513, 1)
else
say(string.format ( "Antrenamentul a reuºit.", skill_name, skill_level-30+1+1))
pc.remove_item(50513, 1)
end
say_reward (string.format("Punctele de grad au scãzut cu: %d ", need_alignment))
say("")
else
say_title(string.format("%s", title))
say("")
say_reward("Antrenamentul a eºuat.")
say("")
pc.change_alignment(-number(need_alignment/3, need_alignment/2))
pc.remove_item(50513, 1)
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 = {}

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



[ Postat de pe Android ]
Imagine
Ultima oară modificat 23 Oct 2019, 10:04 de către YoKe, modificat 1 dată în total.
Pentru acest mesaj, YoKe for the post:
skristy96
Nu raspund intrebarilor stupide in PM
Ai o problema contacteaza-ma, te ajut cand am timp .
Afișează semnătura
Avatar utilizator
skristy96
Nivel 4

Nivel 4
Mesaje: 559
Membru din: 29 Noi 2013, 21:38
Server: OficialMT2
Regat: Jinno
Aprecieri: 364  
Mulţumiri: 50  
  Rezolvări prob.: 1
Discord: Copiază ID
 Contact:
Medalii

Nu merge nici cu questul asta ..
Imagine
Afișează semnătura
Avatar utilizator
skristy96
Nivel 4

Nivel 4
Mesaje: 559
Membru din: 29 Noi 2013, 21:38
Server: OficialMT2
Regat: Jinno
Aprecieri: 364  
Mulţumiri: 50  
  Rezolvări prob.: 1
Discord: Copiază ID
 Contact:
Medalii

Problema rezolvata cu ajutorul lui YoKe. Am folosit questul de la el :
----------------------------------------------------
----- Server: Metin2 Arpas v3.0 -----
----- Author: [A]ivory -----
----------------------------------------------------

quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say_title("Piatra spiritului")
say("")
local seelicount = pc.count_item(50513)
if pc.get_skill_group() == 0 then
say("Nu aveþi abilitãþi care pot fi antrenate.")
say("")
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("Ai folosit pergamentul exorcizãrii. Acum poþi")
say("citi o piatrã a spritiului.")
say("")
wait()
say_title("Piatra spiritului")
else
say("Trebuie sã aºtepþi o zi pentru a putea citi")
say("o piatrã a spiritului sau foloseºte")
say("pergamentul exorcizãrii.")
say("")
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("Nu aveþi abilitãþi care pot fi antrenate.")
say("")
return
end

say("Selectaþi abilitatea care doriþi sã fie antrenatã.")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Renunþã ")
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)

local title=string.format("Antreneazã %s", skill_name)
if pc.count_item(50513) != seelicount then
say("Nu ai piatra spiritului!")
return
end
say_title(title)
say("")
say("Pentru a citi o piatra a spritiului ai nevoie")
say("de puncte de grad.")
say("")
if -cenzurat-_alignment<-19000+need_alignment then
say_reward("Ai prea puþine puncte de grad.")
say("")
return
end

if -cenzurat-_alignment<0 then

say_reward("Punctele tale de grad vor scãdea dupã ")
say_reward("dupã citirea pietrei. Vei pierde")
say_reward(string.format( "între %d ºi %d puncte de grad.", need_alignment, need_alignment*2))

need_alignment=need_alignment*2
elseif -cenzurat-_alignment<need_alignment then
say(string.format("Puncte de grad necesare: %d", need_alignment))
say_reward("Este posibil ca rangul tãu sã fie negativ")
say_reward("dupã citirea pietrei.")
else
say_reward(string.format("Puncte de grad necesare: %d", need_alignment))
end
say("")

local s = select ("Învaþã ","Renunþã ")

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 citi piatra spiritului trebuie sã ")
say("introduci în caseta de mai jos cuvântul")
say_reward("Metin2 Arpas")
say("")
say_reward("Este posibil ca dupã citirea pietrei, rangul")
say_reward("tãu sã fie negativ.")

local s=input()

if s!="Metin2 Arpas" 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()

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))
say("")
if 40 == pc.get_skill_level(skill_vnum) then

say(string.format("%s este perfect antrenat.", skill_name))
say("")
pc.remove_item(50513, 1)
else
say(string.format ( "Antrenamentul a reuºit.", skill_name, skill_level-30+1+1))
pc.remove_item(50513, 1)
end
say_reward (string.format("Punctele de grad au scãzut cu: %d ", need_alignment))
say("")
else
say_title(string.format("%s", title))
say("")
say_reward("Antrenamentul a eºuat.")
say("")
pc.change_alignment(-number(need_alignment/3, need_alignment/2))
pc.remove_item(50513, 1)
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 = {}

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

Imagine
Afișează semnătura
Închis
Răspunsuri
1
Vizualizări
265
Răspunsuri
3
Vizualizări
418
Răspunsuri
4
Vizualizări
524
Răspunsuri
4
Vizualizări
319

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

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