Çözüldü Metin2 Event Quest Yardım Lütfen..

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

gsahmet27

Üye
Üye
Mesaj
24
Çözümler
2
Beğeni
4
Puan
415
Ticaret Puanı
0
Pet Sandıgı Eventi Yapıyorum Bütün Hayvanlardan Düşüyor Yani 1 Levellik Köpeklerden Bile Düşüyor Ben Sadece Şeytan Kulesindeki Hayvanlardan Düşmesini İstiyorum Nasıl Ayarlıya Bilirim Lütfen Yardımcı Olurmusunuz. Şimdiden Teşekkür Ederim..

Lua (Quest):
quest Pet_quest begin
state start begin
        when 20095.chat."Pet Eventi" with pc.is_gm ( ) begin

                if game.get_event_flag ( "Pet_quest" ) == 0 then
         say_title ( "Pet Eventi " )
         say ( "Pet Eventini Baslatmak istiyormusun?" )
         local ysno = select ( "Evet" , "Hayir" )
         if ysno == 1 then
         game.set_event_flag ( "Pet_quest" , 1 )
         notice_all ( "Pet Eventi Etkinligi Baslamistir ! " )
         notice_all ( "iyi Eglenceler Dileriz." )
         end
             else
         say_title ( "Pet" )
         say ( "Pet Eventini Kapatmak istiyormusun?" )
         local yesno = select ( "Evet" , "Hayir" )
         if yesno == 1 then
         game.set_event_flag ( "Pet_quest" , 0 )
         notice_all ( "Pet Eventi  Etkinligi Bitmistir ! " )
         end
             end

        end

        when kill with game.get_event_flag ( "Pet_quest" ) == 1 begin

        if math.random ( 1 , 6000 ) < 105 then
         local itmrnd = math.random ( 1 , 1 )
         if itmrnd == 1 then
       pc.give_item2 ( 38055 , 1 )         
end
end
end
end
end
 
En son bir moderatör tarafından düzenlenmiş:
Çözüm
Buldum :)
Lua (Quest):
if game . get_event_flag ( "Binek_quest" ) == 1 then if math . random ( 1 , 6000 ) < 105 then
local itmrnd = math . random ( 1 , 1 )
if itmrnd == 1 then
pc . give_item2 ( 38052 , 1 )
end
end
return end

İşlenmemiş Sileyim Yeniden Yükleyeyim Bi Öyle Deniyeyim
Bunu aslında şu şekilde yapabilirsin.
Lua (Quest):
 when kill with game.get_event_flag ( "Pet_quest" ) == 1 begin

        if math.random ( 1 , 6000 ) < 105 then
         local itmrnd = math.random ( 1 , 1 )
         if itmrnd == 1 then
       pc.give_item2 ( 38055 , 1 )

bu kod blogunun anlamı şudur. pet_quest eventi aktifse ve oyuncu bir mob kestiyse 1 ila 6000 arasında bir sayı oluştur. Sayı 105'den düşükse itmrnd değişkenine 1 sayısını ata. Bu da bir se oyuncuya 1 tane 38055 numaralı itemi var.

Tabi bu when blogunda açıklar var. Öncelikle bir oyuncuyu kesersen sayabilir.

Şeytan kulesinde bulunan mobların idlerini çıkart.
Sonra şu şekilde when başlığını değiştir. İdleri sallıyorum şuan sen düzenlersin.

Lua (Quest):
when 394.kill or 393.kill or 392.kill or 391.kill or 301.kill or 302.kill or 303.kill or 304.kill with game.get_event_flag ( "Pet_quest" ) == 1  begin

anladın mı. Ne kadar mob varsa or ekle. İdleri kendine göre değiştirebilirsiniz.
 
Denedim Ama Olmadı Diger Yaratıklardan da Düşüyor
Bi Bakın İsterseniz


Lua (Quest):
quest Pet_quest begin
state start begin
        when 20095.chat."Pet Eventi" with pc.is_gm ( ) begin

                if game.get_event_flag ( "Pet_quest" ) == 0 then
         say_title ( "Pet Eventi " )
         say ( "Pet Eventini Baslatmak istiyormusun?" )
         local ysno = select ( "Evet" , "Hayir" )
         if ysno == 1 then
         game.set_event_flag ( "Pet_quest" , 1 )
         notice_all ( "Pet Sandığı Eventi Etkinligi Baslamistir ! " )
        notice_all ( "Pet Sandığı Şeytan Kulesinde. ! " )
        notice_all ( "Bulunan Yaratıklardan Elde Edebilirsiniz. ! " )
        notice_all ( "Event Süresi 1 Saat'tir. ! " )
         notice_all ( "iyi Eglenceler Dileriz." )
         end
             else
         say_title ( "Pet" )
         say ( "Pet Eventini Kapatmak istiyormusun?" )
         local yesno = select ( "Evet" , "Hayir" )
         if yesno == 1 then
         game.set_event_flag ( "Pet_quest" , 0 )
         notice_all ( "Pet Eventi  Etkinligi Bitmistir ! " )
         end
             end

        end

        when 1001.kill or 1004.kill or 1038.kill or 1040.kill or 1041.kill or 1061.kill or 1062.kill or 1066.kill or 1069.kill or 1070.kill or 1071.kill with game.get_event_flag ( "Pet_quest" ) == 1 begin

        if math.random ( 1 , 5000 ) < 105 then
         local itmrnd = math.random ( 1 , 1 )
         if itmrnd == 1 then
       pc.give_item2 ( 38055 , 1 )         
end
end
end
end
end
 
En son bir moderatör tarafından düzenlenmiş:
Kodları kod blogunun içine ekleseniz? Kodda bir sorun gözükmüyor. ./qc ile questi derlediniz mi?
 
Evet derledim
cd usr/game/share/locale/turkey/quest
./qc pet.quest enter

Okudu hatasız sorunsuz ama aynı bütün yaratıklardan düşüyor

Oyun içi /reload q yazdım
Reboot attım aynıydı
 
En son bir moderatör tarafından düzenlenmiş:
Okuttuğundan emin olmak için object/notarget/kill/Pet_quest
diye bir dosyası olması lazım. İçine bir bakalım yapılan değişiklikleri almış mı..
 
20095 Npc Koduna Kodladıgım İçin Senin Verdigin Adres Cıkmadı 20095 kodlu npc de Bulundu İçerisindeki Kod
Lua (Quest):
if game . get_event_flag ( "Pet_quest" ) == 0 then
say_title ( "Pet Eventi " )
say ( "Pet Eventini Baslatmak istiyormusun?" )
local ysno = select ( "Evet" , "Hayir" )
if ysno == 1 then
game . set_event_flag ( "Pet_quest" , 1 )
notice_all ( "Pet Sandığı Eventi Etkinligi Baslamistir ! " )
notice_all ( "Pet Sandığı Şeytan Kulesinde. ! " )
notice_all ( "Bulunan Yaratıklardan Elde Edebilirsiniz. ! " )
notice_all ( "Event Süresi 1 Saat'tir. ! " )
notice_all ( "iyi Eglenceler Dileriz." )
end
else
say_title ( "Pet" )
say ( "Pet Eventini Kapatmak istiyormusun?" )
local yesno = select ( "Evet" , "Hayir" )
if yesno == 1 then
game . set_event_flag ( "Pet_quest" , 0 )
notice_all ( "Pet Eventi  Etkinligi Bitmistir ! " )
end
end

Yazmakta dır. 20095 npc de bulunan tüm dosyaları sildim quest sildim yeniden yükledim derlemesini yaptım gine böyle oldu
 
En son bir moderatör tarafından düzenlenmiş:
Dosya dediğim yoksa o zaman nasıl item düşüyor moblardan? Benim dediğim yere bakın bakın kodlar işlenmiş mi? ;)
 
/usr/game/share/locale/turkey/quest/object/notarget/kill/Pet_quest

Bölümünde yoktur baktım bişey cıkmadı
 
Buldum :)
Lua (Quest):
if game . get_event_flag ( "Binek_quest" ) == 1 then if math . random ( 1 , 6000 ) < 105 then
local itmrnd = math . random ( 1 , 1 )
if itmrnd == 1 then
pc . give_item2 ( 38052 , 1 )
end
end
return end

İşlenmemiş Sileyim Yeniden Yükleyeyim Bi Öyle Deniyeyim
 
En son bir moderatör tarafından düzenlenmiş:
Çözüm
Dedim size derlenmiş gibi gözüksede bazen derlenmiyor. Böyle durumlarda syserr kayıtlarına bakın. Belki bir sorun çıkabilir.
Bu işler kurcalamayla, deneme ve yanılma ile olur. Ne kadar azim gösterirseniz o kadar başarılı olursunuz. Birde gözünü seveyim şu kodları kod blogunun içine al. :D
 
Fazla alışkın değilim.

Kod bloguna almak için yavaş yavaş burda senin sayende öğrencem :) Her şey için teşekkür ederim :)
 
En son bir moderatör tarafından düzenlenmiş:
Sorun çözüldü. Teşekkürler ederim usta.
 
En son bir moderatör tarafından düzenlenmiş:
Fazla alışkın değilim.

Kod bloguna almak için yavaş yavaş burda senin sayende öğrencem :) Her şey için teşekkür ederim :)
Hepimiz bu yollardan geçtik. Bazıları edindiği bilgileri paylaşırken bazıları kendine saklıyor. Bende geçmişte çok sıkıntı çektiğim için çok gizli olmadığı müddetçe öğrendiğim şeyleri anlatıyorum.
Mesajını düzenledim çok yazım hatası yapmışsın. Yazım kurallarına da uyarsan iyi olur. :D

Bu konu çözüldüğüne göre konu öneki "Çözüldü" olarak değiştirilmiş olup konu kilitlenmiştir.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst