Problema Piatra Spirit

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

Nivel 2
Mesaje: 176
Membru din: 14 Noi 2018, 23:31
Server: Olimpus
Regat: Jinno
Aprecieri: 242  
Mulţumiri: 212  
Discord: Copiază ID
Medalii

*Problemă/Întrebare: Problema cu ss-ul
Tipologie server(PvM / PvP): PVM
*Resursă folosită: --
*ServerFiles utilizat: Clean 40k
*Syserr: -
Poză:
*Detalii suplimentare: Am incercat foarte multe quest-uri , unele sunt testate si merg pe alte servere , probabil e ceva din sursa..dau pe ss si imi spune ca nu ma grad , chiar daca am grad prietenos 2000pct etc, daca sunt pe - cu gradul , merge :)) adica e cam invers , va las si quest mai jos sa va uitati ! Am incercat peste 10 quest-uri si toate lfl ! VA MULTUMESC !
Quest:
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_orange(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("Antrenament")
say("")
say_reward("Este posibil ca dupã citirea pietrei, rangul")
say_reward("tãu sã fie negativ.")

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

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

Avatar utilizator
minoiu16
Nivel 2

Nivel 2
Mesaje: 176
Membru din: 14 Noi 2018, 23:31
Server: Olimpus
Regat: Jinno
Aprecieri: 242  
Mulţumiri: 212  
Discord: Copiază ID
Medalii

up
Avatar utilizator
FALLEN1
Nivel 4

Nivel 4
Mesaje: 585
Membru din: 14 Noi 2015, 20:12
Server: Dark-Fusion2
Regat: Chunjo
Aprecieri: 366  
Mulţumiri: 758  
  Rezolvări prob.: 2
Discord: Copiază ID
Medalii

Incearca-l pe asta
quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say(" ")
say_title("Antrenamentul deprinderilor al marilor maeştrii")
local seelicount = pc.count_item(50513)
if pc.get_skill_group() == 0 then
say ( "Nu aveţi abilităţi care pot fi antrenate.[ENTER]" )
return
end

if pc.is_polymorphed() then
say(" ")
say("Nu poţi folosi piatra spiritului când eşti transformat.")
return
end

if pc.count_item(71002) >= 1 then
say(" ")
say_reward("Şterge pergament reset skill din inventar.")
say_item("Pergament reset skill", 71002, "")
return
end

if pc.count_item(71003) >= 1 then
say(" ")
say_reward("Şterge pergament reset skill din inventar.")
say_item("Pergament reset skill", 71003, "")
return
end

if pc.count_item(71103) >= 1 then
say(" ")
say_reward("Şterge redistribuire vit din inventar.")
say_item("Redistribuire VIT", 71103, "")
return
end

if pc.count_item(71104) >= 1 then
say(" ")
say_reward("Şterge redistribuire int din inventar.")
say_item("Redistribuire INT", 71104, "")
return
end

if pc.count_item(71105) >= 1 then
say(" ")
say_reward("Şterge redistribuire str din inventar.")
say_item("Redistribuire STR", 71105, "")
return
end

if pc.count_item(71106) >= 1 then
say(" ")
say_reward("Şterge redistribuire dex din inventar.")
say_item("Redistribuire DEX", 71106, "")
return
end

if pc.count_item(71048) >= 1 then
say(" ")
say_reward("Şterge vraja schimbarii din inventar.")
say_item("Vraja schimbarii", 71048, "")
return
end

if pc.count_item(71054) >= 1 then
say(" ")
say_reward("Şterge tinctura regatelor din inventar.")
say_item("Tinctura regatelor", 71054, "")
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 ( "Dacă ai citit Pergamentul Exorcizării poţi continua[ENTER]cu învăţatul fără a mai fi nevoie să astepţi.[ENTER]" )
wait()
say_title( "Antrenamentul deprinderilor al marilor maeştrii" )
else
say ( "După ce îţi termini antrenamentul trebuie să[ENTER]faci o pauză de o jumătate de zi.[ENTER]Mai încearcă odată mai târziu sau foloseşte un[ENTER]pergament de exorcizare." )
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_title(title)
say ( "Nu aveţi abilităţi care pot fi antrenate.[ENTER]" )
return
end
-- addimage(- 85, - 130, "voucher.tga")
say ( "Alege te rog o deprindere în care doreşti să-ţi[ENTER]însuşeşti titlul de mare maestru." )
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)
test_chat("Gradul actual: "..-cenzurat-_alignment)
test_chat("Grad necesar: "..need_alignment)
local title=string.format("Antrenează %s", skill_name, skill_level-30+1)
if skill_level-30+1==10 then
title=string.format("%s auf P trainieren1222", skill_name)
end
if pc.count_item(50513) != seelicount then
say("OPRESTE-TE SI LASA BUGURILE!")
return
end
say_title(title)
say ("Ridicarea la nivelul de grand master foloseşte[ENTER]puncte de rang. Aşa că este posibil ca nivelul[ENTER]rangului tău să scadă la o valoare negativă.")
say ( " " )
if -cenzurat-_alignment<-19000+need_alignment then
say_reward ( "Ai prea puţine puncte de grad.[ENTER]" )
return
end
if -cenzurat-_alignment<0 then
say_reward (string.format( "Puncte necesare de rang: %d -> %d", need_alignment, need_alignment*2))
say_gold ( "Rangul tău are o valoare negativă. Asta înseamnă[ENTER]că vei folosi dublul punctelor de rang pentru a[ENTER]te ridica la grand master faţă de cineva care are[ENTER]valoare pozitivă." )
need_alignment=need_alignment*2
elseif -cenzurat-_alignment<need_alignment then
say_reward (string.format("Puncte necesare de rang: %d", need_alignment))
say_gold ( "Dacă te antrenezi acum, punctele rangului tău[ENTER]vor avea valoarea negativă." )
else
say_orange(string.format( "Puncte necesare de rang: %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_reward ( "Confirmă." )
say ( "Dacă creşti acum o deprindere de mare maestru,[ENTER]rangul tău ar putea să scadă la negativ,[ENTER]deoarece momentan ai un grad prea mic.[ENTER]Când se întâmplă asta, rangul tău va deveni" )
say ( "negativ şi poţi fi atacat de războinici regatului.[ENTER]Dacă încă mai doreşti să te antrenezi, introdu[ENTER]cuvântul 'Antrena' în linia de comandă." )
say_orange ( "Antrena " )
say ( "Dacă nu vrei să te antrenezi, apasă tasta 'ENTER'" )
local s=input()
if s!="Antrena" 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("Introdu corect Antrena ")
return
end
end
if pc.count_item(50513)>=1 then
pc.remove_item("50513", 1)
else return 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 succes", title))
if 40 == pc.get_skill_level(skill_vnum) then
say (string.format("%s este perfect antrenat.", skill_name))
say ( "" )
else
say(string.format ( "Antrenamentul a reuşit.", skill_name, skill_level-30+1+1))
end
say("")
say_orange (string.format( "Punctele de grad au scăzut cu: %d ", need_alignment))
say("")
say("")
else
say_title(string.format("%s", title))
say_reward ( "Eroare!" )
say("Nu ai reuşit să-ţi îmbunătăţeşti deprinderile.")
local rang = number(need_alignment/3, need_alignment/2)
say_orange("Ai pierdut câteva puncte de rang şi ai folosit")
say_item("Piatra Spiritului", 50513, "")
say("")
pc.change_alignment(-rang)
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

Dar mai intai dezinstaleaza calumea celalalt quest
Avatar utilizator
Ionuţ M.
Metin Master

Metin Master
Mesaje: 2680
Membru din: 28 Noi 2015, 22:02
Aprecieri: 170  
Mulţumiri: 12723  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

Arhivat.
Imagine
Afișează semnătura
Închis
Răspunsuri
1
Vizualizări
292
Răspunsuri
5
Vizualizări
643
Răspunsuri
10
Vizualizări
568
Răspunsuri
7
Vizualizări
482

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

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Google [Bot] și 68 vizitatori