lélekkő (K)

Indította ccooppaa2, 2013-07-07, 20:32:17

2013-07-07, 20:32:17 Utolsó szerkesztés: 2013-07-08, 19:08:36 Szerző: [MOD]Aegist
Sziasztok szeretnék kérni tőletek 1 működő lélekkő questtet mert nekem a server filéban hibás és nem találok működőt és lenne mér 1 olyan problémám hogy van 1 mappom amihez írtam 1 teleport questtet ami oda is visz a mappra DE a map sarkán rak ki és nem lehet semerre futni pedig file zilába átvan írva a town városba inditásnál jó is csak ha teleportálok nem oda rak és nem tudom hogy lehet olyan questet írni hogy rögtön 1 adott mapon belül oda rakjon ahova szeretnél szóval ha van valakinek questje az legyen szíves rakja be ide előre is köszönöm a kedvességeteket!
Map teleportáló szám:3049600   3510400
Town file zilában: 645 71

Szia.

A portolást meg úgy tudod megoldanihogy:

GM karival elmész arra a pontra ahova szeretnéd, hogy portoljon a quest.
Beírod ezt /state

A chat ablakot felgörgeted addig ahol a pozíciódat írja. Ott zárójelben lesz benne hogy hol vagy.
Na azt az értéket írd bele a questbe de!!! 2db 0-át írj utánna!!

Tessék, itt van a lélekkő.

www.aoa.hu/training_grandmaster_skill.rar

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
         local skill_vnum=vnum_list
         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

szeritem valami hiba van benne mert nem csinál semmit mikor rányomok

Akkor szerver item_proto-ban a lélekkő type-ja 18 legyen.
“IdÅ'nként elmegyek az orvoshoz, és megvizsgáltatom vele magam, mert az orvos is élni akar. Aztán elmegyek a gyógyszertárba, és kiváltom az orvosságot, mert a patikus is élni akar. Aztán a gyógyszert a csatornába öntöm - mert én is élni akarok!”

Köszi de már megvan locale.luaban nem volt benne ami kellet a lélekőhöz:)))