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 375

Tengrist

Mapper
Mapper
Yardımsever Üye
MT Üye
Mesaj
1.713
Çözümler
44
Beğeni
1.688
Puan
1.329
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
 
Uyarı: Bu konu açıldığından bu yana baya zaman geçmiş.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.
Geri
Üst