[C++] Kanal Değiştirme Sistemi

melihalbayrak

Geliştirici
Mesaj
757
Beğeni
345
Puan
909
Sistem alıntıdır. Kendim söktüm ve kullandığım sistem. Paylaştığım kanal bilgisi güncelleme sistemi ile birlikte kullanmanızı öneriyorum. Diğer paylaşılan sistemlerdeki gibi butonlar takılı kalmaz belirli CH’lerde yada başka saçma sorunlar yoktur. Online test edilmiş bir oyunun dosyalarından alıntıdır.

Linkleri görebilmek için giriş yap veya kayıt ol.


 

Dosya Eklentileri

  • Kanal Değiştirme Sistemi.zip
    14,1 KB · Gösterim: 14
Son düzenleme:

hiqermod

Üye
Mesaj
62
Beğeni
19
Puan
64
ClientManager.h:359:51: error: 'TPacketChangeChannel' has not been declared
359 | void FindChannel(CPeer* pkPeer, DWORD dwHandle, TPacketChangeChannel * p);
böyle bir hatası var
 

nebnebsen

MT Üye
Mesaj
201
Beğeni
48
Puan
114
ClientManager.h:359:51: error: 'TPacketChangeChannel' has not been declared
359 | void FindChannel(CPeer* pkPeer, DWORD dwHandle, TPacketChangeChannel * p);
böyle bir hatası var
tables.h eklerken bi hata veya eksik eklemiş olabilirsin. ClientManager.h adlı dosya, tables.h dosyasını göremiyor olabilir. Kontrol et, #include "../../common/tables.h" şeklinde ekleme yapıp tekrar dene. Olmazsa gönder dosyaları kontrol edelim.
 

hiqermod

Üye
Mesaj
62
Beğeni
19
Puan
64
sorunu çözdüm tables.h ı include etsem bile #ifdef komutu define edilmeden çalışmıyor bu yüzden services.h ı da ekledim galiba konuda ve kaynaklarda eksik var bu arada o sorunu çözdükten sonra pack kısmındada sorunlarla karşılaştım bu sistemi denemek bana çok vakit kaybına sebep oldu
 

nebnebsen

MT Üye
Mesaj
201
Beğeni
48
Puan
114
sorunu çözdüm tables.h ı include etsem bile #ifdef komutu define edilmeden çalışmıyor bu yüzden services.h ı da ekledim galiba konuda ve kaynaklarda eksik var bu arada o sorunu çözdükten sonra pack kısmındada sorunlarla karşılaştım bu sistemi denemek bana çok vakit kaybına sebep oldu
Aldığın hatayı paylaşırsan bakabiliriz. Ben bir sorunla karşılaşmadım.
 

melihalbayrak

Geliştirici
Mesaj
757
Beğeni
345
Puan
909
sorunu çözdüm tables.h ı include etsem bile #ifdef komutu define edilmeden çalışmıyor bu yüzden services.h ı da ekledim galiba konuda ve kaynaklarda eksik var bu arada o sorunu çözdükten sonra pack kısmındada sorunlarla karşılaştım bu sistemi denemek bana çok vakit kaybına sebep oldu
Zip içerisinde veya anlatımda eksik yok. Service.h include etmen senin dosyandaki eksikten kaynaklı bir durum ben anlatıma include içine service.h ekleyin yazmaya gerek duymadım game ve db kısımlarındaki stdafx.h dosyası var onun içine service.h include edersen diğer geri kalan cpplerde direkt olarak service include etmiş olursun çünkü tüm cpplerde stdafx.h include edilmiştir. Common kısmında ise bişey diyemem mecbur include etmen gerekiyor. Temiz altyapılarda bu dediklerim yapılı değil include eksiklikleri çok yaşanıyor temiz altyapılarda.
 

hiqermod

Üye
Mesaj
62
Beğeni
19
Puan
64
Zip içerisinde veya anlatımda eksik yok. Service.h include etmen senin dosyandaki eksikten kaynaklı bir durum ben anlatıma include içine service.h ekleyin yazmaya gerek duymadım game ve db kısımlarındaki stdafx.h dosyası var onun içine service.h include edersen diğer geri kalan cpplerde direkt olarak service include etmiş olursun çünkü tüm cpplerde stdafx.h include edilmiştir. Common kısmında ise bişey diyemem mecbur include etmen gerekiyor. Temiz altyapılarda bu dediklerim yapılı değil include eksiklikleri çok yaşanıyor temiz altyapılarda.
eline emeğine sağlık karşılaştığım 2. sıkıntıda şöyle

client sourcesine şunu ekliyoruz

#ifdef ENABLE_CHANNEL_SWITCH_SYSTEM
PyModule_AddIntConstant(poModule, "ENABLE_CHANNEL_SWITCH_SYSTEM", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_CHANNEL_SWITCH_SYSTEM", 0);
#endif

ve oyuna girerken hata veriyor
pack kısmındaki şu kod yüzünden

if app.ENABLE_CHANNEL_INFO_UPDATE:
def BINARY_ReceiveChannel(self, channel):
if self.interface:
if self.interface.wndMiniMap:
self.interface.wndMiniMap.UpdateChannelInfo(channel)
if app.ENABLE_CHANNEL_SWITCH_SYSTEM:
constInfo.channel_idx = channel

bende ENABLE_CHANNEL_INFO_UPDATE yi ENABLE_CHANNEL_SWITCH_SYSTEM olarak değiştirdim ve hata çözüldü burası doğrumu yanlışmı pek bi fikrim yok ama sistemi çalıştıramadım
 

melihalbayrak

Geliştirici
Mesaj
757
Beğeni
345
Puan
909
eline emeğine sağlık karşılaştığım 2. sıkıntıda şöyle

client sourcesine şunu ekliyoruz

#ifdef ENABLE_CHANNEL_SWITCH_SYSTEM
PyModule_AddIntConstant(poModule, "ENABLE_CHANNEL_SWITCH_SYSTEM", 1);
#else
PyModule_AddIntConstant(poModule, "ENABLE_CHANNEL_SWITCH_SYSTEM", 0);
#endif

ve oyuna girerken hata veriyor
pack kısmındaki şu kod yüzünden

if app.ENABLE_CHANNEL_INFO_UPDATE:
def BINARY_ReceiveChannel(self, channel):
if self.interface:
if self.interface.wndMiniMap:
self.interface.wndMiniMap.UpdateChannelInfo(channel)
if app.ENABLE_CHANNEL_SWITCH_SYSTEM:
constInfo.channel_idx = channel

bende ENABLE_CHANNEL_INFO_UPDATE yi ENABLE_CHANNEL_SWITCH_SYSTEM olarak değiştirdim ve hata çözüldü burası doğrumu yanlışmı pek bi fikrim yok ama sistemi çalıştıramadım
Sanırım anlatımda eksik var yaptığın değişikliği geri al ve syserr’i at buraya bakayım. Eksik varsa tamamlayım.
 
En son bir moderatör tarafından düzenlenmiş:

Üst