Ödül Sandığı Questi

Hyuna Akali

Full Stack Developer
Grafiker
Usta Üye
Editör
Mesaj
727
Çözümler
20
Beğeni
586
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
 
Geri
Üst