Intrebare - Piatra Spiritului

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

Nivel 3
Mesaje: 476
Membru din: 16 Iul 2015, 21:31
Server: Doar testez
Regat: Chunjo
Aprecieri: 94  
Mulţumiri: 44  
 Contact:
Medalii

*Intrebare: Imi puteti da va rog un quest pentru Piatra Spiritului, functional, in format .lua?
Tipologie server: -
*Resursă folosită: -
*ServerFiles utilizat: -
*Syserr: -
Poză: -
*Detalii suplimentare: Am incercat sa le modific eu pe cele de pe forum, dar functioneaza "pe jumatate". :|
Avatar utilizator
Titan
Metin Master

Metin Master
Mesaje: 2783
Membru din: 01 Iun 2015, 15:09
Server: In curand.
Regat: Chunjo
Aprecieri: 42  
Mulţumiri: 377  
  Rezolvări prob.: 3
Discord: Copiază ID
 Contact:
Medalii

Cum adică funcționează pe jumătate?

Poftim aici unul, nu am altul mai aranjat, sunt pe telefon.
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 vă permite")
say("perfecţionarea competenţelor.")
say("")
wait()
say_title("Piatra Spiritului")
else
say("Trebuie să aşteptaţi.")
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
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("Punctre rang:"..-cenzurat-_alignment)
test_chat("Rang negativ prea mare:"..need_alignment)

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

say_title(title)
say("Atunci când citiţi 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


[ Postat de pe Android ]
Imagine
Imagine
Afișează semnătura
Avatar utilizator
t4zu
Nivel 3

Nivel 3
Mesaje: 476
Membru din: 16 Iul 2015, 21:31
Server: Doar testez
Regat: Chunjo
Aprecieri: 94  
Mulţumiri: 44  
 Contact:
Medalii

.Titan scrie:Cum adică funcționează pe jumătate?

Poftim aici unul, nu am altul mai aranjat, sunt pe telefon.
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 vă permite")
say("perfecţionarea competenţelor.")
say("")
wait()
say_title("Piatra Spiritului")
else
say("Trebuie să aşteptaţi.")
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
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("Punctre rang:"..-cenzurat-_alignment)
test_chat("Rang negativ prea mare:"..need_alignment)

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

say_title(title)
say("Atunci când citiţi 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


[ Postat de pe Android ]
Imagine


Salut, pe acesta il am. Din pacate e o nealiniat, e vraiste, dar functional, eu vrau sa modific chestii la el si vreau sa stiu exact taburile... Daca il ai intr-o varianta .lua, pus la punct frumos, ar fi ceea ce caut.
R: Imi merge pana intr-un punct, questul modificat, apoi iese afara, desi nu are nici un core dumped...
Avatar utilizator
t4zu
Nivel 3

Nivel 3
Mesaje: 476
Membru din: 16 Iul 2015, 21:31
Server: Doar testez
Regat: Chunjo
Aprecieri: 94  
Mulţumiri: 44  
 Contact:
Medalii

Am rezolvat problema!
Am facut questul .lua si am vazut unde am gresit.

Cer T/C!
Avatar utilizator
George.
Membru Club

Membru Club
Mesaje: 863
Membru din: 08 Mar 2018, 12:08
Server: Invictus2
Regat: Jinno
Aprecieri: 78  
Mulţumiri: 127  
  Rezolvări prob.: 1
 Contact:
Medalii

T/C, rezolvat.
Ţinând cont că oamenii te bârfesc, nu ar fi ok să îi iei în seamă... Dar mna, unii te judecă fără să le spui nimic, pur şi simplu se iau în seamă fără rost. ;;) :ymhug:
Afișează semnătura
Închis
Răspunsuri
1
Vizualizări
330
Răspunsuri
1
Vizualizări
328
Răspunsuri
16
Vizualizări
1326
Răspunsuri
1
Vizualizări
1057

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

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