Yardım Rubinum Channel System sorunu

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

adv1453

Yardımsever Üye
Yardımsever Üye
MT Üye
Mesaj
430
Çözümler
41
Beğeni
208
Puan
844
db build sırasında aşağıdaki gibi hata veriyor, araştırdım ancak bu durumu yaşayan çok olmuş çözümü yazan olmamış acaba bilen var mı?

ClientManager.h:356: error: 'TPacketChangeChannel' has not been declared

satır böyle

Screenshot_1.jpg


sistemi ek dosya olarak ekledim
 

Dosya Eklentileri

  • Rubinum ChannelSystem.rar
    7,3 KB · Gösterim: 156
TPacketChangeChannel common/tables.h içinde tanmlanmış. Build etmeden önce common dosyalarını da sunucuya attınız mı?

Eğer tables.h içinde bu kodlar varsa tables.h dosyasının en başında service.h isimli dosyanın import edildiğinden emin olunuz.
 
Son düzenleme:
#include "lenght.h" altına şunu ekler misin? Böylelikle #ifdef ile belirtilen yerler çalışacak.
C++:
#include "service.h"
 
Client/UserInterface/PythonApplicationModule.cpp dosyasında ENABLE_CHANGE_CHANNEL_SYSTEM python modülü tanımlı olması gerek
 
Dosyaya eklemeyi unutmuş olabilirler. root dosyalarında app. ile başlayan bir şey varsa PythonApplicationModule.cpp içindedir.
Aşağıda söylediklerimi uygulayıp clienti build edin;
Ara;
C++:
#ifdef USE_OPENID
    PyModule_AddIntConstant(poModule, "USE_OPENID",    1);

Üstüne bunları ekle;
C++:
#define ENABLE_CHANGE_CHANNEL_SYSTEM
#ifdef ENABLE_CHANGE_CHANNEL_SYSTEM
    PyModule_AddIntConstant(poModule, "ENABLE_CHANGE_CHANNEL_SYSTEM", 1);
#else
    PyModule_AddIntConstant(poModule, "ENABLE_CHANGE_CHANNEL_SYSTEM", 0);
#endif
 
Dosyaya eklemeyi unutmuş olabilirler. root dosyalarında app. ile başlayan bir şey varsa PythonApplicationModule.cpp içindedir.
Aşağıda söylediklerimi uygulayıp clienti build edin;
Ara;
C++:
#ifdef USE_OPENID
    PyModule_AddIntConstant(poModule, "USE_OPENID",    1);

Üstüne bunları ekle;
C++:
#define ENABLE_CHANGE_CHANNEL_SYSTEM
#ifdef ENABLE_CHANGE_CHANNEL_SYSTEM
    PyModule_AddIntConstant(poModule, "ENABLE_CHANGE_CHANNEL_SYSTEM", 1);
#else
    PyModule_AddIntConstant(poModule, "ENABLE_CHANGE_CHANNEL_SYSTEM", 0);
#endif

Şimdide böyle syserr verdi :D neyse hocam bayağı bi eksik paylaşılmış bu başka hızlı ch ekleyeceğim sağolun ilginiz için kusura bakmayın.

Screenshot_3.jpg
 
Uiscriptte ki dosyadan ch1_button isimli objeyi bulamıyor. Kodlara bakın var mı böyle bir şey. Yoksa ya kendiniz eklemeniz lazım yada dediğiniz gibi sistemi kaldırabilirsiniz ama ben biraz daha uğraşın derim. Hem yeni yeni şeyler öğrenmiş olursunuz. :)
 
Uiscriptte ki dosyadan ch1_button isimli objeyi bulamıyor. Kodlara bakın var mı böyle bir şey. Yoksa ya kendiniz eklemeniz lazım yada dediğiniz gibi sistemi kaldırabilirsiniz ama ben biraz daha uğraşın derim. Hem yeni yeni şeyler öğrenmiş olursunuz. :)

evet var systemdialog.py

Python:
import uiScriptLocale

ROOT = "d:/ymir work/ui/public/"

window = {
    "name" : "SystemDialog",
    "style" : ("float",),

    "x" : (SCREEN_WIDTH  - 200) /2,
    "y" : (SCREEN_HEIGHT - 288 + 30) /2,

    "width" : 200,
    "height" : 288 + 30,

    "children" :
    (
        {
            "name" : "board",
            "type" : "thinboard",

            "x" : 0,
            "y" : 0,

            "width" : 200,
            "height" : 288 + 30,

            "children" :
            (
                {
                    "name" : "ch1_button",
                    "type" : "button",

                    "x" : 10,
                    "y" : 17,

                    "text" : "CH1",

                    "default_image" : ROOT + "small_Button_01.sub",
                    "over_image" : ROOT + "small_Button_02.sub",
                    "down_image" : ROOT + "small_Button_03.sub",
                },
                {
                    "name" : "ch2_button",
                    "type" : "button",

                    "x" : 55,
                    "y" : 17,

                    "text" : "CH2",

                    "default_image" : ROOT + "small_Button_01.sub",
                    "over_image" : ROOT + "small_Button_02.sub",
                    "down_image" : ROOT + "small_Button_03.sub",
                },
                {
                    "name" : "ch3_button",
                    "type" : "button",

                    "x" : 100,
                    "y" : 17,

                    "text" : "CH3",

                    "default_image" : ROOT + "small_Button_01.sub",
                    "over_image" : ROOT + "small_Button_02.sub",
                    "down_image" : ROOT + "small_Button_03.sub",
                },
                {
                    "name" : "ch4_button",
                    "type" : "button",

                    "x" : 145,
                    "y" : 17,

                    "text" : "CH4",

                    "default_image" : ROOT + "small_Button_01.sub",
                    "over_image" : ROOT + "small_Button_02.sub",
                    "down_image" : ROOT + "small_Button_03.sub",
                },
                {
                    "name" : "help_button",
                    "type" : "button",

                    "x" : 10,
                    "y" : 17 + 30,

                    "text" : uiScriptLocale.SYSTEM_HELP,

                    "default_image" : ROOT + "XLarge_Button_01.sub",
                    "over_image" : ROOT + "XLarge_Button_02.sub",
                    "down_image" : ROOT + "XLarge_Button_03.sub",
                },
                {
                    "name" : "mallbox_button",
                    "type" : "button",

                    "x" : 10,
                    "y" : 57 + 30,

                    "text" : uiScriptLocale.SYSTEM_MALLBOX,
                    "text_color" : 0xffF8BF24,

                    "default_image" : ROOT + "XLarge_Button_02.sub",
                    "over_image" : ROOT + "XLarge_Button_02.sub",
                    "down_image" : ROOT + "XLarge_Button_02.sub",
                },

                {
                    "name" : "system_option_button",
                    "type" : "button",

                    "x" : 10,
                    "y" : 87 + 30,

                    "text" : uiScriptLocale.SYSTEMOPTION_TITLE,

                    "default_image" : ROOT + "XLarge_Button_01.sub",
                    "over_image" : ROOT + "XLarge_Button_02.sub",
                    "down_image" : ROOT + "XLarge_Button_03.sub",
                },
                {
                    "name" : "game_option_button",
                    "type" : "button",

                    "x" : 10,
                    "y" : 117 + 30,

                    "text" : uiScriptLocale.GAMEOPTION_TITLE,

                    "default_image" : ROOT + "XLarge_Button_01.sub",
                    "over_image" : ROOT + "XLarge_Button_02.sub",
                    "down_image" : ROOT + "XLarge_Button_03.sub",
                },
                {
                    "name" : "change_button",
                    "type" : "button",

                    "x" : 10,
                    "y" : 147 + 30,

                    "text" : uiScriptLocale.SYSTEM_CHANGE,

                    "default_image" : ROOT + "XLarge_Button_01.sub",
                    "over_image" : ROOT + "XLarge_Button_02.sub",
                    "down_image" : ROOT + "XLarge_Button_03.sub",
                },
                {
                    "name" : "logout_button",
                    "type" : "button",

                    "x" : 10,
                    "y" : 177 + 30,

                    "text" : uiScriptLocale.SYSTEM_LOGOUT,

                    "default_image" : ROOT + "XLarge_Button_01.sub",
                    "over_image" : ROOT + "XLarge_Button_02.sub",
                    "down_image" : ROOT + "XLarge_Button_03.sub",
                },
                {
                    "name" : "exit_button",
                    "type" : "button",

                    "x" : 10,
                    "y" : 217 + 30,

                    "text" : uiScriptLocale.SYSTEM_EXIT_2,

                    "default_image" : ROOT + "XLarge_Button_01.sub",
                    "over_image" : ROOT + "XLarge_Button_02.sub",
                    "down_image" : ROOT + "XLarge_Button_03.sub",
                },
                {
                    "name" : "cancel_button",
                    "type" : "button",

                    "x" : 10,
                    "y" : 247 + 30,

                    "text" : uiScriptLocale.CANCEL,

                    "default_image" : ROOT + "XLarge_Button_01.sub",
                    "over_image" : ROOT + "XLarge_Button_02.sub",
                    "down_image" : ROOT + "XLarge_Button_03.sub",
                },
            ),
        },
    ),
}
 
locale/tr/ui içindeki systemdialog.py dosyasına da sistem kodlarını ekleyin.
Orijinal Metin2'de ülkeden ülkeye farklı özellikler sunduğu için root dosyasında bazı gui kodları locale altında ki script dosyalarını alıyor.
 
locale/tr/ui içindeki systemdialog.py dosyasına da sistem kodlarını ekleyin.
Orijinal Metin2'de ülkeden ülkeye farklı özellikler sunduğu için root dosyasında bazı gui kodları locale altında ki script dosyalarını alıyor.

Bilgi için teşekkür ederim, bu sefer böyle syserr verdi :D ne syserr miş be

Screenshot_4.jpg
 

Dosya Eklentileri

  • uisystem.zip
    1,4 KB · Gösterim: 130
Hocam öncelikle selam, eklemeye çalıştığınız kanal değiştirme sisteminin Vegas isimli developerin yaptığını söyleyen birkaç konu okudum.
Yukarıda bu sistemin kaynak dosyalarını eklemişsiniz, onları açıp inceledim. uisystem.py için
GetObject("mallbox_button").SAFE_SetEvent(self.__ClickMallBoxButton)
kod bloğu bittikten sonra eklenmesi gerektiği yazılmış. Sizden istediğim uisystem.py'nin içerisinde yukarıdaki kod yok. Kanal değiştirme sisteminin sizin altyapı server filesinizde çalışması için yukarıdaki koda ihtiyaç duymadığınızın farkındayım ama dikkatinizi çekmek istediğim konu bu sistemin bir server files için oluşturulduğu. O server files de büyük ihtimalle Vegas'ın kendi server filesi. Belki ücretli satıyor, belki de warez veya Vegas tarafından paylaşılmıştır. Sorunun, sizin server dosyalarınızda olmayan bazı kodlardan kaynaklandığını düşünüyorum, yukarıda bazı sorunları @Whistle 'ın yardımıyla çözmüşsünüz, belki bu sysseri de çözersiniz ve bundan sonra gelecekleri de ama oyun içinde bu sistem ile ilgili bir bug oluşursa bu sizin için çok kötü olabilir. Üzerinde testlerin yapıldığı, çalıştığına dair kanıtların eklendiği kanal değiştirme sistemlerini kullanmanızı öneririm. Bilginiz var ise paylaşılan server fileslerden de sökebilirsiniz ama benim önerim paylaşılan dosyaları kullanmanız. Sökmek emeğe saygısızlık olabilir :oops:

edit: Şunu da söylemek isterim, paylaşılan dosyalar sorunsuz ise ve siz eklerken bir yanlış yaptıysanız da bu sysserleri alıyor olabilirsiniz :D
Kontrol ederek bir kez daha eklemeyi deneyin derim.
edit2: Bununla ilgili bir sistem paylaşacağım, sadece biraz zamana ihtiyacım var. :rolleyes:
 
Son düzenleme:
Geri
Üst