- Katılım
- 4 Ağu 2010
- Konular
- 356
- Mesajlar
- 4,122
- Çözüm
- 74
- Online süresi
- 3mo 14d
- Reaksiyon Skoru
- 2,235
- Altın Konu
- 82
- Başarım Puanı
- 292
- Yaş
- 32
- MmoLira
- 3,067
- DevLira
- 138
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Anlatım Tamamen Bana Aittir.
DungeonInfo Sisteminden Örnek Vereceğim.
Benim DungeonInfo Sistemim'de Zindan Süre Sıfırlama Buton İle Yapılıyor.
self.dungeonIndex İsimli Bir Tanımlamam Var. Bu Tanımlama DungeonInfo'daki Butonlara Bastığımda Bana Bir Sayı Verir.
Örneğin : Zodyak Tapınağı-> self.dungeonIndex = 0 , Ork Labirenti-> self.dungeonIndex = 1
(Zindan Süre Sıfırlama Butonunu Nasıl Yaptım Gibi İşlemleri Anlatmayacağım.)
Geçelim İşin Özüne;
Zodyak Tapınağı Butonuna Basıyorum ve Ardından Zindan Süre Sıfırlama Butonuna Bastığımda ClientSource/PythonNetworkStreamModule.cpp'deki Modül Dizisindeki Fonksiyonu Kullanmasını Söylüyorum.
net.DungeonInfoResetTime(self.dungeonIndex)
Argüman Olarak self.dungeonIndex Alıyor. (self.dungeonIndex Ne İşe Yaradığını Yukarıda Anlattım.)
Şimdi Gelelim PythonNetworkStreamModule.cpp'ye
BYTE Veri Tipinde Bir Tanımlama Yapıyorum. Karşısına Bir Değer Yazmıyorum Çünkü Değerin Kullanıcıdan Gelmesini İstiyorum.
Bu Tanımlama Benim 1.Argümanım ve Zaten 1 Tane Argümanımız Var.
if (!PyTuple_GetByte(poArgs, 0, &dungeonIdx)) = Buradaki 0 Aslında 1.ci Argümanımız. 2.ci Bir Argümanımız Olsaydı Yeni Bir Tanımlama Yapıp Veri Tipine Göre Tuplemimizi Alıp İçine 1 Yazacaktık.
rkNetStream.DungeonInfoResetTime(dungeonIdx);
CPythonNetworkStream Sınıfından Bir Fonksiyona Göndereceğimizi Söylüyoruz Argüman İle Birlikte.
O Fonksiyona Geldik.
Bir struct Türünde Yapımız Var ve Bu Yapımızın Değişkeni ve Elemenları Var. Küçük P ise Bu Değişkeni Temsil Ediyor.
Ayrıca Tanımlaması + Ek
Packet.h
Burada Client Artık Game'ye Gönderiyor. Gelelim Game Tarafına
ClientSource/Packet.h 'deki Olayı Game/Packet.h'de Anlatmayacağım Bir Fark Yok. Copy - Paste
GameSource/InputMain.cpp
Client'den Gelen Paketimiz. Paket Çalıştığında Nelerin Olacağını, Altta Bir Fonksiyona Göndereceğimizi Söylüyoruz.
Burada DungeonInfo Sınıfından DungeonInfoResetTime İsimli Bir Fonksiyonu Çalıştıracağımı ve Argümanı Olarak LPCHARACTER Sınıfının ve Packet.h'deki Struct Yapımızdan dungeonIdx isimli Elemanı Alacağımı Söylüyorum.
Gelelim DungeonInfo.cpp'ye
Karakter Ölü İse ve ClientSourceden Gelen Sayının 0'dan Küçük ve 16'dan Büyük ise İşlemin Durdurulmasını Söylüyorum.
(Daha Farklı Engeller Var Konu Uzamasın Diye Bu Kadarını Gösteriyorum.)
71129 Vnumlu İtem Envanterimde Yok ise Hata Mesajı Vermesini ve İşlemi Durdurmasını Söylüyorum.
1 Adet Sabit Tanımlı std::string Türü ve flag_dungeon ismini veriyorum.
İçeriğinden Örnek:
Sabitler İçin DungeonInfo.h
Burada flag_dungeon Dizisindeki Sayıları Client'den Gelen dungeonIdx = idx Sayısına Karşılık Belirtiyorum. ve Burada Süre Kontrolü Yapıyorum.
Örneğin: Client'den Gelen idx == 6 'ya Dizideki 6.cı Diziyi Alacak.
Burada İtemi Sildiriyorum, SetQuestFlag İle Süreyi Sıfırlıyorum ve Oyuna Zindan Süresinin Sıfırlandığını Söyleyen Bir Mesaj Gönderiyorum.
Bu Pencerede Anlık Yenilenmez. Anlık Yenilenmesi İçin Client Tarafına Tekrar Bir Paket Göndermeniz Gerekir. Fakat Işınlandığınızda Pencere'de Güncellenecektir.
Tekrar Client Tarafına Gönderimi'de Ekleyeceğim.
packet_info.cpp
İnput.h
DungeonInfo.h
KANIT:
DungeonInfo Sisteminden Örnek Vereceğim.
Benim DungeonInfo Sistemim'de Zindan Süre Sıfırlama Buton İle Yapılıyor.
self.dungeonIndex İsimli Bir Tanımlamam Var. Bu Tanımlama DungeonInfo'daki Butonlara Bastığımda Bana Bir Sayı Verir.
Örneğin : Zodyak Tapınağı-> self.dungeonIndex = 0 , Ork Labirenti-> self.dungeonIndex = 1
(Zindan Süre Sıfırlama Butonunu Nasıl Yaptım Gibi İşlemleri Anlatmayacağım.)
Geçelim İşin Özüne;
Zodyak Tapınağı Butonuna Basıyorum ve Ardından Zindan Süre Sıfırlama Butonuna Bastığımda ClientSource/PythonNetworkStreamModule.cpp'deki Modül Dizisindeki Fonksiyonu Kullanmasını Söylüyorum.
net.DungeonInfoResetTime(self.dungeonIndex)
Argüman Olarak self.dungeonIndex Alıyor. (self.dungeonIndex Ne İşe Yaradığını Yukarıda Anlattım.)
Şimdi Gelelim PythonNetworkStreamModule.cpp'ye
BYTE Veri Tipinde Bir Tanımlama Yapıyorum. Karşısına Bir Değer Yazmıyorum Çünkü Değerin Kullanıcıdan Gelmesini İstiyorum.
Bu Tanımlama Benim 1.Argümanım ve Zaten 1 Tane Argümanımız Var.
if (!PyTuple_GetByte(poArgs, 0, &dungeonIdx)) = Buradaki 0 Aslında 1.ci Argümanımız. 2.ci Bir Argümanımız Olsaydı Yeni Bir Tanımlama Yapıp Veri Tipine Göre Tuplemimizi Alıp İçine 1 Yazacaktık.
rkNetStream.DungeonInfoResetTime(dungeonIdx);
CPythonNetworkStream Sınıfından Bir Fonksiyona Göndereceğimizi Söylüyoruz Argüman İle Birlikte.
O Fonksiyona Geldik.
Bir struct Türünde Yapımız Var ve Bu Yapımızın Değişkeni ve Elemenları Var. Küçük P ise Bu Değişkeni Temsil Ediyor.
Ayrıca Tanımlaması + Ek
Packet.h
Burada Client Artık Game'ye Gönderiyor. Gelelim Game Tarafına
ClientSource/Packet.h 'deki Olayı Game/Packet.h'de Anlatmayacağım Bir Fark Yok. Copy - Paste
GameSource/InputMain.cpp
Client'den Gelen Paketimiz. Paket Çalıştığında Nelerin Olacağını, Altta Bir Fonksiyona Göndereceğimizi Söylüyoruz.
Burada DungeonInfo Sınıfından DungeonInfoResetTime İsimli Bir Fonksiyonu Çalıştıracağımı ve Argümanı Olarak LPCHARACTER Sınıfının ve Packet.h'deki Struct Yapımızdan dungeonIdx isimli Elemanı Alacağımı Söylüyorum.
Gelelim DungeonInfo.cpp'ye
Karakter Ölü İse ve ClientSourceden Gelen Sayının 0'dan Küçük ve 16'dan Büyük ise İşlemin Durdurulmasını Söylüyorum.
(Daha Farklı Engeller Var Konu Uzamasın Diye Bu Kadarını Gösteriyorum.)
71129 Vnumlu İtem Envanterimde Yok ise Hata Mesajı Vermesini ve İşlemi Durdurmasını Söylüyorum.
1 Adet Sabit Tanımlı std::string Türü ve flag_dungeon ismini veriyorum.
İçeriğinden Örnek:
Sabitler İçin DungeonInfo.h
Burada flag_dungeon Dizisindeki Sayıları Client'den Gelen dungeonIdx = idx Sayısına Karşılık Belirtiyorum. ve Burada Süre Kontrolü Yapıyorum.
Örneğin: Client'den Gelen idx == 6 'ya Dizideki 6.cı Diziyi Alacak.
Burada İtemi Sildiriyorum, SetQuestFlag İle Süreyi Sıfırlıyorum ve Oyuna Zindan Süresinin Sıfırlandığını Söyleyen Bir Mesaj Gönderiyorum.
Bu Pencerede Anlık Yenilenmez. Anlık Yenilenmesi İçin Client Tarafına Tekrar Bir Paket Göndermeniz Gerekir. Fakat Işınlandığınızda Pencere'de Güncellenecektir.
Tekrar Client Tarafına Gönderimi'de Ekleyeceğim.
packet_info.cpp
İnput.h
DungeonInfo.h
KANIT:
Ekli dosyalar
Son düzenleme:
En Çok Reaksiyon Alan Mesajlar
Sen yapıyorsun bu sporu paylaşım için tşk
olkanı hiç tanımasamda bu tarz huylarından dolayı çok seviyorum başarılar diliyorum.muah
Paylaşım için teşekkürler.
Teşekkürler eline sağlık faydalı paylaşım.
- Katılım
- 3 Eki 2017
- Konular
- 1,673
- Mesajlar
- 18,445
- Çözüm
- 48
- Online süresi
- 9mo 24d
- Reaksiyon Skoru
- 8,721
- Altın Konu
- 297
- Başarım Puanı
- 374
- MmoLira
- 41,550
- DevLira
- 753
Paylaşım için teşekkürler.
- Katılım
- 10 Nis 2022
- Konular
- 208
- Mesajlar
- 3,545
- Çözüm
- 68
- Online süresi
- 3mo 20d
- Reaksiyon Skoru
- 2,084
- Altın Konu
- 61
- Başarım Puanı
- 211
- MmoLira
- 1,440
- DevLira
- 3
Sen yapıyorsun bu sporu paylaşım için tşk 

- Katılım
- 5 Eyl 2010
- Konular
- 197
- Mesajlar
- 1,854
- Çözüm
- 26
- Online süresi
- 3mo 15d
- Reaksiyon Skoru
- 1,006
- Altın Konu
- 1
- TM Yaşı
- 15 Yıl 9 Ay 10 Gün
- Başarım Puanı
- 266
- MmoLira
- 11,439
- DevLira
- 39
Paylaşım için teşekkürler
- Katılım
- 16 Mar 2014
- Konular
- 137
- Mesajlar
- 1,385
- Çözüm
- 18
- Online süresi
- 2mo 8d
- Reaksiyon Skoru
- 876
- Altın Konu
- 40
- Başarım Puanı
- 246
- Yaş
- 28
- MmoLira
- 31,753
- DevLira
- 15
50 yıl sonra böyle bir paylaşımın gelmesi gerçekten şaşırtıyor. Lafta paylaşım, bilgilendirme forumuyuz ama herkes bilgilerini kendisine saklıyor. Paylaşım için teşekkürler inşallah bir şeyler için öncü olur bu.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 10
- Görüntüleme
- 2K
- 5.00 yıldız(lar) 1 Değerlendirme
- Cevaplar
- 3
- Görüntüleme
- 823
- Kilitli
- Cevaplar
- 12
- Görüntüleme
- 2K













