[C++ / Python] Official Elemental World Haritası (Ölüm Eklentisi)

  • Konuyu başlatan Konuyu başlatan olkan41
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 12
  • Görüntüleme Görüntüleme 2K
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

olkan41

Müzik Prodüktörü ve Ses Tasarımcısı
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
Ticaret - 0%
0   0   0

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Anlatım Tamamen Bana Aittir.

Şimdi Official'de Öldüğünüzde Eğer Mapİndex'iniz Eşit İse Elemental World 4 Yani Set Parçalarının 2.ci Parçasının Düştüğü Haritaya
Karşınıza Bir QuestionDialog Gelir ve Burada Sizin Öldüğünüzü ve Buradan Gitmenizi İsteyen Bir Mesaj ve Tamam Butonu Gelir.

Tamam Butonuna Bastığınızda Sizi Şavaşçı Heykelinin Yani Liman Haritasına Işınlar. (Set Demiricilerinin Olduğu Yere)

Peki Biz Nasıl Yapacağız?

Zaten Hali Hazır'da Öldüğümüzde Sol Yukarıya Restart Dialoglarımız Geliyor.

Peki Onlar Nedir?

Burada yeniden başla ve Şehirde yeniden başla.


Bu Butonlar Oraya Aslen char_battle.cpp'den Game’den Client'e Gönderilen Paket Aracılığı ile ve Client'den Python İşlevine Gönderilir.

Hali Hazırda Böyle Bir Altyapımız Varken Hızlıca char_battle.cpp İçerisine Girip Buradan Dead Fonksiyonuna Gidelim.




Ve Biraz Alt Kısımlara Geldikten Sonra Şurayı Şu Şekilde Değiştirelim:



Şimdi Gelelim Packet.h Dosyamıza ve Resimdeki Struct Yapımızdaki Gibi Yapalım.



GameSource İşlemi Bitti Şimdi ClientSource Kısmına Gelelim.

ClientSource'de Packet.h'deki Yapacaklarınız GameSource'deki Packet.h ile Aynı Olacak Orayı Eklemiyorum.

Şimdi Gördüğünüz Üzere Geçenlerde Client-Game ve Game-Client Paket Transfer İletişiminden Bahsetmiştim. Anlayacağınız Üzere Game'den Gelen Paketimiz Çalıştığı Zaman Yani "HEADER_GC_DEAD"





RecvDeadPacket İsimli Fonksiyonun Çalışmasını İstiyor.

Gelelim O Fonksiyona ve İçeriğine



İçeriğini Tamamen Göstermiyorum Fakat Biraz Alt Tarafına Geldiğinizde
Python Tarafındaki OnGameOver İsimli İşlevi Çalıştır Diyor.

Yukarıdaki Resimdeki Gibi Yapın (Kendinize Göre Düzenleyin.)

ve ClientSource Derleyin.

Root Tarafına Gelelim ve Game.py Açın:




ClientSourceden Gelen OnGameOver İsimli İşlevi Çalıştırsın Dediğim İşlev.
Argüman Olarak GameSource'den ClientSource'ye Gelen GetMapIndex'imiz.


Ardından İnterFaceModule.py Açın Çünkü Oraya Yönlendiriyor OpenRestartDialog İşlev İsmi İle.
Argüman Olarak GameSource'den ClientSource'ye Gelen GetMapIndex'imiz.



self.dlgRestart Ne Olum? (Merak Edenler İçin)



Evet Şimdi uiRestart Açalım ve RestartDialog Sınıfına Gelelim



Burada Haritamın MapIndex Sayısını Tanımlıyorum.

ve Ardından OpenDialog'a Gelin ve Şu Şekilde Değiştirin




AnswerRestartElementalWorld İşlevi



LocaGame.txt İçin

RESTART_POPUP_GIVEUP_ELEMENTAL_DUNGEON Öldün. \nElementer dünyasından geri dön!

Ben uiCommon'da Yeni Bir Class Oluşturdum Onu'da Ekleyeceğim.

İşte Kanıt: (Sol Yukarıya Dikkat - Non Official ) Onların Olmasını İstemedim.





Peki Öldüğüm Harita MapIndex'i Bu Haritaya Eşit Değil İse? (Sol Yukarıya Dikkat)





Anlatımda Hata veya Problem Varsa Kusura Bakmayın. Bu Eklentide Tamam Butonuna Bastığınızda QuestinDialog Kapanır. En Yakın Zaman'da Küçük Bir Eklenti İle Sizi Heykel Savaşçısının Oraya Warp Etmesini Yapacağım. Bu Konu Sadece Ekrana QuestionDialog'u Getirmekti.

HERKESE KOLAY GELSİN İYİ AKŞAMLAR
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

Thanks for sharing my friend, beautiful guides.
 
Emek koktu eline sağlık paylaşım için teşekkürler knkm
 
Paylaşım için teşekkürler.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)