Ödül Sandığı Questi

Hyuna Akali

Full Stack Developer
Grafiker
Usta Üye
Editör
Mesaj
727
Çözümler
20
Beğeni
589
Puan
839
Ticaret Puanı
0
Öncelikle Merhaba;
Ödül sandığı questi baya uğraştığım ama bir türlü derleme hatasından dolayı yapamadığım bir questti sağ olsun @Whistle çok yardımcı oldu emeği çok büyük.

Öncelikle Quest ne işe yarar ?
Bu quest serverinizde yarışma düzenlerseniz (OX,GM Bulma,Boss Etkinliği vb..) ödül olarak oyunculara verebileceğiniz bir sandıktır.

odul_sandigi.lua :
Lua (Quest):
Genişlet Daralt Kopyala
quest odul_sandigi begin
    state start begin
        when 50080.use with item.get_id() begin
            say_title(gameforge.odul_sandigi._10_sayTitle)
            say(gameforge.odul_sandigi._20_say)
            say_reward(gameforge.odul_sandigi._30_sayReward)
            pc.give_gold("100000000")
            item.remove()
        end
    end
end

Bu quest dosyasını .lua uzantılı UTF-8 kodlama ile kayıt edin

sonra translate.lua ya gelip en alta şunları ekleyin :

Lua (Quest):
Genişlet Daralt Kopyala
gameforge.odul_sandigi = {}
gameforge.odul_sandigi._10_sayTitle = "Ödül Sandığı "
gameforge.odul_sandigi._20_say = "Merhaba Savaşçı,[ENTER]Bu sandığı aldığına göre başarıyı kafana oldukça [ENTER]takmış birisin demektir...[ENTER]Senin gibi kişilerin ReactMT2'de oynaması [ENTER]bizi gururlandırıyor.[ENTER]Başarıya giden yolda, ufak bir yardım eli uzatmak istedik.[ENTER]Umarız sana bir yardımı olur "
gameforge.odul_sandigi._30_sayReward = "[ENTER][ENTER]                              100m Kazandın... Hayırlı Olsun "

ben kırmızı ejderha sandığına yaptım siz istediğiniz sandığa göre ayarlayın. Hangi sandığı yaptıysanız
NO_TXT için:
navicattan > player > item_proto dan itemi bulup type değerini 18 yapın

TXT için :
item_proto dan vnum u bulup type değerini ITEM_QUEST olarak değiştirin

sonra putty den questi okutup ,oyun içi /reload q ve /go c1 yazarak test edin

iyi forumlar dilerim...
 
@Whistle sizden sonra itemi silme kodunu eklemeyi unuttuğumu fark ettim az daha oyunculara sınırsız yang veriyordum :D
 
Bak onu bende fark etmemiştim. :D
Paylaşımınız içinde teşekkürler. :)
bana grup olarak canavar öldürme questi lazım küçük bir kod olsada olur grup kurduklarında quest aktif olacak ve grupta bulunan tüm oyuncular için öldürme ortak sayılacak,örneğin 1 kişi bir canavarı öldürdüyse grupta 4 kişi var diyelim bunlarda da aynı şekilde öldürülen canavar -1 azalacak.
 
bana grup olarak canavar öldürme questi lazım küçük bir kod olsada olur grup kurduklarında quest aktif olacak ve grupta bulunan tüm oyuncular için öldürme ortak sayılacak,örneğin 1 kişi bir canavarı öldürdüyse grupta 4 kişi var diyelim bunlarda da aynı şekilde öldürülen canavar -1 azalacak.
Bu dediğiniz yazılabilir.
if party.is_party() then ile karakterin bir grupta olup olmadığını kontrol edebilirsiniz.

Daha sonra şu kod ile mevcut grubunuzda bulunan üyelerin tamamını alabilirsiniz;
Lua (Quest):
Genişlet Daralt Kopyala
local grupUyeleri = {party.get_member_pids()}

Bundan sonra ise döngü kurmanız gerekecek ve her grup elemanının değerlerine erişebilmek için q.begin_other_pc_block fonksiyonundan faydalanacağız. Mesela grubunuzdaki kişilerin adını ekrana yazdırma örneği;
Lua (Quest):
Genişlet Daralt Kopyala
local grupUyeleriAdlar = {}
for i, pid in next, grupUyeleri, nil do
    q.begin_other_pc_block(pid) ## oyuncuya gecis
        table.insert(grupUyeleriAdlar, pc.get_name())
    q.end_other_pc_block() ##geri kendi karakterinizde donus
end

for name in next, grupUyeleriAdlar , nil do
    say(name)
end
 
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