Lélekkő esélye

Indította ddani700, 2019-03-12, 11:01:26

Sziasztok!

Hol tudom állítani hogy hány % eséllyel legyen sikeres a képesség húzása lélekkőnél?
Quest ben kell keresni?
Mert én nem látom benne.
training_grandmaster_skill.quest:
---------------------
--Magyarosítva
--by. P3NG3R
---------------------
quest training_grandmaster_skill begin
    state start begin
when 50513.use begin
say_title("A Nagymesteri képességek edzése")
say("")
say("Ez a kő tele van lelki energiával,")
say("amely javíthatja a képességeidet.")
say("")
wait()
if pc.get_skill_group() == 0 then
say("Nincs képességed, amit fejleszthetnél!" ..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_title("A Nagymesteri képességek edzése")
say("")
say("Ahhoz, hogy nagymesteri képességeid")
say("fejleszthesd, kattints a 'Tovább' gombra.")
say("")
wait()
say_title("A Nagymesteri képességek edzése")
say("")
else
say("Ma már használtál egy lélek követ!")
say("Ördögűző tekercs segítségével újat használhatsz.")
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("Jelenleg nincs nagymesteri képességed,")
say("amit fejleszthetnél.")
return
end

say("Válaszd ki azt a képességet, amivel el szeretnéd")
say("érni a tökéletes mester szintet.")

local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Bezár")

local s=select_table(menu_list)
if table.getn(menu_list) == s then
return
end
if pc.count_item(50513)==0 then
say("A mágikus lelkek ereje megszűnt,")
say("mert a kő időközben eltűnt.")
say("")
return
end

local skill_name=name_list[s]
local skill_vnum=vnum_list[s]
local skill_level = pc.get_skill_level(skill_vnum)
local cur_alignment = pc.get_real_alignment()
local need_alignment = 1000+500*(skill_level-30)

test_chat("Jelenlegi rangod: "..cur_alignment)
test_chat("Szükséges rangpontok: "..need_alignment)

local title=string.format("%s fejlesztése G%d-ről", skill_name, skill_level-30+1)
say_title(string.format("%s", title))
say("Ha felhasználod edzés közben a rossz/jó pontjaidat,")
say("akkor megtörténhet, hogy az átlagszint alá esel.")
say("")

if cur_alignment<-19000+need_alignment then
say_reward("Nem lehet tovább rontani a rangod. Muszáj javítanod")
say_reward("rajta, hogy tovább fejleszthesd a képességeid!")
say("")
return
end

if cur_alignment<0 then --Fejlesztés előtti, és utáni rangod: %d -> %d
say_reward(string.format("Fejleszés után levont rang pont ha[ENTER]sikertelen és ha sikeres: %d -> %d", need_alignment, need_alignment*2))
say_reward("Folytatáshoz kattints a 'Tovább' gombra.")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Szükséges rossz/jó pontok: %d", need_alignment))
say("")
say_reward("Ha most edzed képességed, akkor a rangod negatívba")
say_reward("csökken, ami 50. Szint felett veszélyes is lehet!")
say_reward("Ha biztosan akarod, kattints a 'Tovább' gombra.")
else
say_reward(string.format("Szükséges rossz/jó pontok: %d", need_alignment))
end
say("")
local s=select("Tovább", "Megszakít")
if s==2 then
return
end


if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("%s megerősítés!", title))
say("")
say("Ha nagymester képességeket akarsz elsajátítani,")
say("akkor a rossz/jó pontjaid az átlagszint alá ")
say("eshetnek, mivel pillanatnyilag csak kevés")
say("rang ponttal rendelkezel.")
say("Ha tényleg edzeni akarsz, akkor írd be az")
say("alábbi sorba a következő szót.")
say("")
say_reward("Fejleszteni")
say()
say("Ha nem akarod edzeni, akkor hagyd üresen a")
say("szövegdobozt és nyomd meg az 'ENTER' billentyűt.")
local s=input()
if s!="Fejleszteni" 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("blabla")
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 sikeres!", title))
say("")
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("A %s Tökéletes mester lett.", skill_name))
else
say_reward("Képesség edzése sikeres!")
say("")
say_reward(string.format("%s elérte a G%d szintet.",skill_name, skill_level-30+1+1))
end
say("")
say_reward("Vesztettél néhány rossz/jó rangpontot, és")
say_reward("felhasználtad a lélek követ.")
say("")
else
say_title(string.format("%s sikertelen!", title))
say("")
say_reward("Képesség edzése sikertelen!")
say("")
say("Nem sikerült a képességedet feljavítani.")
say("Próbáld meg később.")
say("")
say_reward("Vesztettél néhány rossz/jó rangpontot, és")
say_reward("felhasználtad a lélek követ.")
pc.change_alignment(-number(need_alignment/3, need_alignment/2))
end
end
pc.removeitem("50513", 1)
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



Mert olyan 5-10% növelnék a sikerességén.

Előre is köszi a segítséget!

if need_alignment>0 then
if pc.learn_grand_master_skill(skill_vnum) then
pc.change_alignment(-need_alignment)
say_title(string.format("%s sikeres!", title))
say("")
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("A %s Tökéletes mester lett.", skill_name))
else
say_reward("Képesség edzése sikeres!")
say("")
say_reward(string.format("%s elérte a G%d szintet.",skill_name, skill_level-30+1+1))
end
say("")
say_reward("Vesztettél néhány rossz/jó rangpontot, és")
say_reward("felhasználtad a lélek követ.")
say("")
Az ember csak fiatalon találhat ki igazán új dolgokat. Utána már túl tapasztalt, túl híres (...) és túl ostoba.

Ezt most nem értem mit kell át írni hogy nagyobb % eséllyel sikerüljön?

Itt semmit, mivel a forrásban kell átírni...
"Tisztelet a kivételnek! Mindig tisztelet a kivételnek!"
"KezdÅ' vagyok, ne nézz le... (:"