Cod: Selectaţi tot
FUNCTION BuildGRangMasterSkillList(job,group)
vreo idee ?
Cod: Selectaţi tot
FUNCTION BuildGRangMasterSkillList(job,group)
vreo idee ?

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
Cod: Selectaţi tot
if pc . count_item ( 71002 ) > 0 or pc . count_item ( 71003 ) > 0 then
say_title ( "Gradul de maestru:" )
say ( "Ai in inventar." )
if pc . count_item ( 71002 ) > 0 then
say_item ( "Resetare status" , 71002 , "" )
end
if pc . count_item ( 71003 ) > 0 then
say_item ( "Resetare skill" , 71003 , "" )
end
else
if pc . count_item ( 50513 ) == 0 then
say ( "Nu ai piatra spiritului." )
return
end
say_title ( "Gradul de maestru:" )
local seelicount = pc . count_item ( 50513 )
if pc . get_skill_group ( ) == 0 then
say ( "Nu poţi folosi piatra spiritului " .. pc . get_skill_group ( ) )
return
end
if get_time ( ) < pc . getqf ( "next_time" ) then
if pc . is_skill_book_no_delay ( ) then
say ( "Acum poţi folosi o piatră a spiritului!" )
else
say ( "Ai antrenat deja o piatră a spiritului!" )
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 ai aptitudini de antrenat!" )
return
end
say ( "Selectaţi îndemânarea:" )
say ( "" )
local menu_list = { }
table . foreach ( name_list , function ( i , name ) table . insert ( menu_list , name ) end )
table . insert ( menu_list , "Închide" )
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 ( "Gradul actual : " .. -cenzurat-_alignment )
test_chat ( "Ai nevoie de puncte la grad : " .. need_alignment )
local title = string . format ( "%s G%d " , skill_name , skill_level - 30 + 1 )
if pc . count_item ( 50513 ) ~= seelicount then
say ( "Stfu Buguser ( netradus )!" )
return
end
if pc . count_item ( 50513 ) == 0 then
say ( "Nu ai nicio piatra a spiritului." )
return
end
say_title ( title )
say ( "Antrenarea unei pietre necesita" )
say ( "puncte de grad." )
if -cenzurat-_alignment < - 19000 + need_alignment then
say_reward ( "Nu ai destule puncte la grad!" )
return
end
if -cenzurat-_alignment < 0 then
say_reward ( string . format ( "Puncte necesare : %d -> %d" , need_alignment , need_alignment * 2 ) )
say_reward ( "Când piatra reuşeşte, îţi" )
say_reward ( "ia puncte duble de grad!" )
need_alignment = need_alignment * 2
elseif -cenzurat-_alignment < need_alignment then
say_reward ( string . format ( "Puncte necesare: %d" , need_alignment ) )
say_reward ( "Când piatra reuşeşte, îţi" )
say_reward ( "ia puncte duble de grad!" )
else
say_reward ( string . format ( "Puncte necesare: %d" , need_alignment ) )
end
say ( "" )
local s = select ( "Antreneaza" , "Închide" )
if s == 2 then
return
end
if -cenzurat-_alignment >= 0 and -cenzurat-_alignment < need_alignment then
say_title ( string . format ( "%s - Confirmare" , title ) )
say ( "Antrenarea unei pietre necesita" )
say ( "puncte de grad." )
say ( "Dacă antrenatiţi veţi pierde" )
say ( "puncte de grad." )
say ( "Dacă acceptaţi" )
say ( "" )
say_reward ( "scrieţi: Antreneaza" )
say ( "" )
say ( "Vă rugăm să acceptaţi" )
local s = input ( )
if s ~= "Antreneaza" 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 ( "Test" )
return
end
end
pc . setqf ( "next_time" , get_time ( ) + time_hour_to_sec ( number ( 8 , 12 ) ) )
if pc . count_item ( 50513 ) == 0 then
say ( "Nu ai nicio piatra a spiritului !" )
return
end
if need_alignment > 0 then
if pc . learn_grand_master_skill ( skill_vnum ) then
pc . change_alignment ( - need_alignment )
say_title ( string . format ( "%s - Reuşit" , title ) )
if 40 == pc . get_skill_level ( skill_vnum ) then
say ( string . format ( "%s test." , skill_name ) )
else
say ( string . format ( "Antrenamentul piatrei a reuşit!" , skill_name , skill_level - 30 + 1 + 1 ) )
pc . removeitem ( "50513" , 1 )
end
say ( "" )
say_reward ( "Succes!" )
say_reward ( string . format ( "Puncte de grad luate : %d " , need_alignment ) )
say ( "" )
else
say_title ( string . format ( "%s - A eşuat" , title ) )
say ( "Nu a funcţionat." )
say ( "" )
say_reward ( "A eşuat!" )
say ( "" )
pc . removeitem ( "50513" , 1 )
pc . change_alignment ( - number ( need_alignment / 3 , need_alignment / 2 ) )
end
end
end
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 11 vizitatori