3 Sayfadan Oluşan İtem Sorgulamalı Işınlanma Questi Basitçe Düzenlenebilir

  • Konuyu açan Konuyu açan Tengrist
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 3
  • Gösterim Gösterim 105

Tengrist

Yardımsever Üye
Yardımsever Üye
MT Üye
Mesaj
1.299
Çözümler
41
Beğeni
1.076
Puan
1.309
Ticaret Puanı
0
Çoğu ışınlanma questi tek blok halindeydi gözüme çok estetik gelmiyordu baştan quest yazdım. Bazı maplere ışınlanmak için o mapin kilit kırıcısını elde etmeniz gerekiyor, o item varsa ışınlanabiliyorsunuz yazdığım questte. Toplam 9 maplik bir ışınlanma questi.

IŞINLANMA QUESTİ:
Genişlet Daralt Kopyala
quest premium_teleport begin
    state start begin
        when 508050.use begin
            local page, done = 1, false
            while not done do
                say_title("Teleport Ring")
                say("Select the region you want to teleport to:")

                if page == 1 then
                    local menu = select("1. Map [200x]", "2. Map [200x]", "3. Map [200x]", "Next", "Exit")
                    if menu == 1 then
                        if pc.count_item(508051) >= 1 then pc.warp(1055100, 619500) else say("You need the following item to teleport:") say_item_vnum(508051) end
                        done = true
                    elseif menu == 2 then
                        if pc.count_item(508052) >= 1 then pc.warp(921600, 614400) else say("You need the following item to teleport:") say_item_vnum(508052) end
                        done = true
                    elseif menu == 3 then
                        if pc.count_item(508053) >= 1 then pc.warp(921600, 742400) else say("You need the following item to teleport:") say_item_vnum(508053) end
                        done = true
                    elseif menu == 4 then
                        page = 2
                    elseif menu == 5 then
                        done = true
                    end

                elseif page == 2 then
                    local menu = select("4. Map [200x]", "5. Map [200x]", "6. Map [200x]", "Back", "Next", "Exit")
                    if menu == 1 then
                        if pc.count_item(508054) >= 1 then pc.warp(793600, 614400) else say("You need the following item to teleport:") say_item_vnum(508054) end
                        done = true
                    elseif menu == 2 then
                        if pc.count_item(508055) >= 1 then pc.warp(665600, 614400) else say("You need the following item to teleport:") say_item_vnum(508055) end
                        done = true
                    elseif menu == 3 then
                        if pc.count_item(508056) >= 1 then pc.warp(1049600, 742400) else say("You need the following item to teleport:") say_item_vnum(508056) end
                        done = true
                    elseif menu == 4 then
                        page = 1
                    elseif menu == 5 then
                        page = 3
                    elseif menu == 6 then
                        done = true
                    end

                elseif page == 3 then
                    local menu = select("7. Map [200x]", "8. Map [200x]", "9. Map [200x]", "Back", "Exit")
                    if menu == 1 then
                        if pc.count_item(508057) >= 1 then pc.warp(1177600, 614400) else say("You need the following item to teleport:") say_item_vnum(508057) end
                        done = true
                    elseif menu == 2 then
                        if pc.count_item(508058) >= 1 then pc.warp(665600, 742400) else say("You need the following item to teleport:") say_item_vnum(508058) end
                        done = true
                    elseif menu == 3 then
                        if pc.count_item(508059) >= 1 then pc.warp(742400, 742400) else say("You need the following item to teleport:") say_item_vnum(508059) end
                        done = true
                    elseif menu == 4 then
                        page = 2
                    elseif menu == 5 then
                        done = true
                    end
                end
            end
        end
    end
end

questi okuttuğunuzda menüler gelmiyorsa bu köşeli parantezleri silin bazı fileslarda sıkıntı çıkartabilir. yani şu işaretleri:: "[" ve "]". düzenleyip tekrar okutun.
 
200x olarak ayrılmış questte 55-120 sunucu yapısına özgün gibi teşekkürler paylaşım için hocam :)
 
eline sağlık güzel düşünmüşsün. Şu quest işine hiç girişmedim niyeyse hep gereksizmiş gibi geldi bana. Questinde item sorgusu yapılıyor ama ışınlanıktan sonra item silmiyor, ışınlanmak için o itemler sürekli envanterdemi duracak yani, işin içine biraz c++ katarak daha da geliştirebilirsin bence.
 
eline sağlık güzel düşünmüşsün. Şu quest işine hiç girişmedim niyeyse hep gereksizmiş gibi geldi bana. Questinde item sorgusu yapılıyor ama ışınlanıktan sonra item silmiyor, ışınlanmak için o itemler sürekli envanterdemi duracak yani, işin içine biraz c++ katarak daha da geliştirebilirsin bence.
Silme bilerek eklemedim, haritaya girmek için envanterde durması gereken bir mühür mantığı yoksa questlerde de silmeye yarayan fonksiyon var dileyen ekleyip o şekilde kullanır.

Metim mantığımda atıyprum adam sohan dağına ışınlanmak istiyor ama ışınlanması için sohan dağı mührünün envanterinde bulunması lazım
 
Geri
Üst