Çözülemedi Hızlı ch Değiştirme Hk Sorun

  • Konuyu açan Konuyu açan carpiciyim1
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 21
  • Gösterim Gösterim 227
Ne yazık ki bu konuda sorulara çözüm bulunmuyor. Eğer konuda yorumlar varsa hepsini inceleyebilirsiniz. Belki sizlerin sorununuzu çözmek için için ipuçları bulabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

carpiciyim1

Premium Üye
Premium Üye
MT Üye
Mesaj
215
Çözümler
8
Beğeni
105
Puan
514
Ticaret Puanı
0
Sa dostlar
Linkleri görebilmek için giriş yap veya kayıt ol.

konudaki hızlı vh değiştirme ekledim

ama videodaki gibi sorun mevcut

ch1 den oyuna girince ayrı hata vermekte başka ch den oyuna girince ise direk dc yeme gibi bir sorun mevcut nedendir acabası

 
Merhabalar,
Hocam bu tarz bi hızlı kanal ekledim bumuydu bilmiyorum ama daha önce, tahminimce eksik ya da hatalı eklemişsin. Syser felan varmı yoksa, dosyalarına eklediğin yerleri tekrar kontrol etmelisin.
 
Merhabalar,
Hocam bu tarz bi hızlı kanal ekledim bumuydu bilmiyorum ama daha önce, tahminimce eksik ya da hatalı eklemişsin. Syser felan varmı yoksa, dosyalarına eklediğin yerleri tekrar kontrol etmelisin.
hocam öncelikle yorumunuz için telekkürler 3 ayrı kişi baktık ama sorunu çözemedik bi türlü çözemedik zaten olmassa geri kaldıracağım sistemi kafayı yedirecek yoksa cidden
 
hocam öncelikle yorumunuz için telekkürler 3 ayrı kişi baktık ama sorunu çözemedik bi türlü çözemedik zaten olmassa geri kaldıracağım sistemi kafayı yedirecek yoksa cidden
Şuan dışardayım benim eklediğim sorunsuz du eve geçince göndereyim bulursam. Belki çözmesi kolay olur. Ya da kaldırır onu eklersin.
 
çok iyi olur vallahi hocam ilginiz için çok teşekkürler
Rica ederim.
Mobildeyim geçmişten şu konuyu buldum bi karşılaştır bakalım. Ya da bunu bi dene diğerini kaldır.
 
Rica ederim.
Mobildeyim geçmişten şu konuyu buldum bi karşılaştır bakalım. Ya da bunu bi dene diğerini kaldır.
hocam ekledim ama bir syser verdi

Kod:
Genişlet Daralt Kopyala
1110 23:36:14278 :: Traceback (most recent call last):

1110 23:36:14279 ::   File "ui.py", line 1561, in CallEvent

1110 23:36:14279 ::   File "ui.py", line 88, in __call__

1110 23:36:14279 ::   File "ui.py", line 70, in __call__

1110 23:36:14279 ::   File "uiSystem.py", line 157, in __ClickMoveChannel

1110 23:36:14279 ::   File "uiSystem.py", line 201, in __init__

1110 23:36:14279 ::   File "uiSystem.py", line 234, in __LoadBoard

1110 23:36:14279 ::   File "uiSystem.py", line 298, in AddChannels

1110 23:36:14279 :: KeyError
1110 23:36:14279 :: :
1110 23:36:14279 :: 4
1110 23:36:14279 ::
 
hocam ekledim ama bir syser verdi

Kod:
Genişlet Daralt Kopyala
1110 23:36:14278 :: Traceback (most recent call last):

1110 23:36:14279 ::   File "ui.py", line 1561, in CallEvent

1110 23:36:14279 ::   File "ui.py", line 88, in __call__

1110 23:36:14279 ::   File "ui.py", line 70, in __call__

1110 23:36:14279 ::   File "uiSystem.py", line 157, in __ClickMoveChannel

1110 23:36:14279 ::   File "uiSystem.py", line 201, in __init__

1110 23:36:14279 ::   File "uiSystem.py", line 234, in __LoadBoard

1110 23:36:14279 ::   File "uiSystem.py", line 298, in AddChannels

1110 23:36:14279 :: KeyError
1110 23:36:14279 :: :
1110 23:36:14279 :: 4
1110 23:36:14279 ::
Sistem örnek olarak 2 tane eklemiş sen 4 eklemişsin sanırım ondan kaynaklı
 
2 ch yapmama rağmen aynı hata ile karşı karşıyayım hocam
kodlara baktım chleri anladığım kadarıyla otomatik alıyo zaten sadece dikkat etmen gerekn yer char.cpp ve serverinfo kısmı portlar yani.
Bendeki önemli yerleri aşağıda kod editörüne koyacam oradan karşılaştır düzelir sanırım.

serverinfo.py:
Genişlet Daralt Kopyala
SERVER_1    = "|cffADFF2FMetin2House SF"
SERVER_IP    = "192.168.1.25"
CH_1_NAME    = "CH1"
CH_2_NAME    = "CH2"
CH_3_NAME    = "CH3"
CH_4_NAME    = "CH4"
CH_1        = 13000
CH_2         = 16000
CH_3         = 19000
CH_4         = 21000
AUTH         = 11002
MARKADDR    = 13000


STATE_NONE = "..."
                    
STATE_DICT = {
    0 : "....",
    1 : "|cff00FF7FNORM",
    2 : "|cffffff00BUSY",
    3 : "|cffff0000FULL"
}

SERVER01_CHANNEL_DICT = {
    1:{"key":11,"name":CH_1_NAME,"ip":SERVER_IP,"tcp_port":CH_1,"udp_port":CH_1,"state":STATE_NONE,},
    2:{"key":12,"name":CH_2_NAME,"ip":SERVER_IP,"tcp_port":CH_2,"udp_port":CH_2,"state":STATE_NONE,},
    3:{"key":13,"name":CH_3_NAME,"ip":SERVER_IP,"tcp_port":CH_3,"udp_port":CH_3,"state":STATE_NONE,},
    4:{"key":14,"name":CH_4_NAME,"ip":SERVER_IP,"tcp_port":CH_4,"udp_port":CH_4,"state":STATE_NONE,},

}

REGION_NAME_DICT = {
    0 : "",       
}

REGION_AUTH_SERVER_DICT = {
    0 : {
        1 : { "ip":SERVER_IP, "port":AUTH, },

    }       
}

REGION_DICT = {
    0 : {
        1 : { "name" :SERVER_1, "channel" : SERVER01_CHANNEL_DICT, },
    },
}

MARKADDR_DICT = {
    10 : { "ip" : SERVER_IP, "tcp_port" : MARKADDR, "mark" : "10.tga", "symbol_path" : "10", },
}

char.cpp:
Genişlet Daralt Kopyala
#ifdef ENABLE_CHANGE_CHANNEL
void CHARACTER::ChangeChannel(DWORD channelId){
    long lAddr;
    long lMapIndex;
    WORD wPort;
    long x = this->GetX();
    long y = this->GetY();

    if (!CMapLocation::instance().Get(x, y, lMapIndex, lAddr, wPort))
    {
        sys_err("cannot find map location index %d x %d y %d name %s", lMapIndex, x, y, GetName());
        return;
    }

    if(lMapIndex >= 10000){
        this->ChatPacket(CHAT_TYPE_INFO, ("You can't change channel in private map."));
        return;
    }

    //this->ChatPacket(CHAT_TYPE_COMMAND, "RefreshChannel %d", channelId);

    Stop();
    Save();

    if(GetSectree()){
        GetSectree()->RemoveEntity(this);
        ViewCleanup();
        EncodeRemovePacket(this);
    }
    TPacketGCWarp p;

    p.bHeader    = HEADER_GC_WARP;
    p.lX    = x;
    p.lY    = y;
    p.lAddr    = lAddr;
 
    p.wPort    = (wPort - 3000*(g_bChannel-1) + 3000*(channelId-1)); // PENTRU MINE FUNCTIONEAZA " 1000* + 1000* ", DACA ATUNCI CAND SCHIMBI CH-UL TE SCOATE LA LOGIN, TREBUIE SCOS UN "0" SAU TREBUIE ADAUGAT.
 
    GetDesc()->Packet(&p, sizeof(TPacketGCWarp));
}
#endif

Bendeki portları yapmak zorunda değilsin. Örnek olması adına gönderdim sendeki aralık kaçsa ona göre düzenle
 
kodlara baktım chleri anladığım kadarıyla otomatik alıyo zaten sadece dikkat etmen gerekn yer char.cpp ve serverinfo kısmı portlar yani.
Bendeki önemli yerleri aşağıda kod editörüne koyacam oradan karşılaştır düzelir sanırım.

serverinfo.py:
Genişlet Daralt Kopyala
SERVER_1    = "|cffADFF2FMetin2House SF"
SERVER_IP    = "192.168.1.25"
CH_1_NAME    = "CH1"
CH_2_NAME    = "CH2"
CH_3_NAME    = "CH3"
CH_4_NAME    = "CH4"
CH_1        = 13000
CH_2         = 16000
CH_3         = 19000
CH_4         = 21000
AUTH         = 11002
MARKADDR    = 13000


STATE_NONE = "..."
                   
STATE_DICT = {
    0 : "....",
    1 : "|cff00FF7FNORM",
    2 : "|cffffff00BUSY",
    3 : "|cffff0000FULL"
}

SERVER01_CHANNEL_DICT = {
    1:{"key":11,"name":CH_1_NAME,"ip":SERVER_IP,"tcp_port":CH_1,"udp_port":CH_1,"state":STATE_NONE,},
    2:{"key":12,"name":CH_2_NAME,"ip":SERVER_IP,"tcp_port":CH_2,"udp_port":CH_2,"state":STATE_NONE,},
    3:{"key":13,"name":CH_3_NAME,"ip":SERVER_IP,"tcp_port":CH_3,"udp_port":CH_3,"state":STATE_NONE,},
    4:{"key":14,"name":CH_4_NAME,"ip":SERVER_IP,"tcp_port":CH_4,"udp_port":CH_4,"state":STATE_NONE,},

}

REGION_NAME_DICT = {
    0 : "",      
}

REGION_AUTH_SERVER_DICT = {
    0 : {
        1 : { "ip":SERVER_IP, "port":AUTH, },

    }      
}

REGION_DICT = {
    0 : {
        1 : { "name" :SERVER_1, "channel" : SERVER01_CHANNEL_DICT, },
    },
}

MARKADDR_DICT = {
    10 : { "ip" : SERVER_IP, "tcp_port" : MARKADDR, "mark" : "10.tga", "symbol_path" : "10", },
}

char.cpp:
Genişlet Daralt Kopyala
#ifdef ENABLE_CHANGE_CHANNEL
void CHARACTER::ChangeChannel(DWORD channelId){
    long lAddr;
    long lMapIndex;
    WORD wPort;
    long x = this->GetX();
    long y = this->GetY();

    if (!CMapLocation::instance().Get(x, y, lMapIndex, lAddr, wPort))
    {
        sys_err("cannot find map location index %d x %d y %d name %s", lMapIndex, x, y, GetName());
        return;
    }

    if(lMapIndex >= 10000){
        this->ChatPacket(CHAT_TYPE_INFO, ("You can't change channel in private map."));
        return;
    }

    //this->ChatPacket(CHAT_TYPE_COMMAND, "RefreshChannel %d", channelId);

    Stop();
    Save();

    if(GetSectree()){
        GetSectree()->RemoveEntity(this);
        ViewCleanup();
        EncodeRemovePacket(this);
    }
    TPacketGCWarp p;

    p.bHeader    = HEADER_GC_WARP;
    p.lX    = x;
    p.lY    = y;
    p.lAddr    = lAddr;
 
    p.wPort    = (wPort - 3000*(g_bChannel-1) + 3000*(channelId-1)); // PENTRU MINE FUNCTIONEAZA " 1000* + 1000* ", DACA ATUNCI CAND SCHIMBI CH-UL TE SCOATE LA LOGIN, TREBUIE SCOS UN "0" SAU TREBUIE ADAUGAT.
 
    GetDesc()->Packet(&p, sizeof(TPacketGCWarp));
}
#endif

Bendeki portları yapmak zorunda değilsin. Örnek olması adına gönderdim sendeki aralık kaçsa ona göre düzenle
Kod:
Genişlet Daralt Kopyala
import app
import localeInfo
from constInfo import TextColor
app.ServerName = None
RUTIL_MINIMAP = "|cffffd500|h OldSchool" #MiniMap Altı Yazı

SERVER_NAME = {
    "name":TextColor("OldSchool", "ffd500"), #GOLD
    "host":"192.168.1.24 ",
    "auth1":30001,
    "ch1":13900,
    "ch2":13910, #if you only have 1 ch and see it online, it's ch99 having the same port 30011
    #"ch3":13920, #3007
    #"ch4":13930, #30015
}

STATE_NONE = TextColor(localeInfo.CHANNEL_STATUS_OFFLINE, "FF0000") #RED

STATE_DICT = {
    0: TextColor(localeInfo.CHANNEL_STATUS_OFFLINE, "FF0000"), #RED
    1: TextColor(localeInfo.CHANNEL_STATUS_RECOMMENDED, "00ff00"), #GREEN
    2: TextColor(localeInfo.CHANNEL_STATUS_BUSY, "ffff00"), #YELLOW
    3: TextColor(localeInfo.CHANNEL_STATUS_FULL, "ff8a08") #ORANGE
}

SERVER1_CHANNEL_DICT = {
    0: {"key":10, "name":TextColor("CH-1", "FFffFF"), "ip":SERVER_NAME["host"], "tcp_port":SERVER_NAME["ch1"], "udp_port":SERVER_NAME["ch1"], "state":STATE_NONE,},
    1: {"key":11, "name":TextColor("CH-2", "FFffFF"), "ip":SERVER_NAME["host"], "tcp_port":SERVER_NAME["ch2"], "udp_port":SERVER_NAME["ch2"], "state":STATE_NONE,},
    #2: {"key":12, "name":TextColor("CH-3", "FFffFF"), "ip":SERVER_NAME["host"], "tcp_port":SERVER_NAME["ch3"], "udp_port":SERVER_NAME["ch3"], "state":STATE_NONE,},
    #3: {"key":13, "name":TextColor("CH-4", "FFffFF"), "ip":SERVER_NAME["host"], "tcp_port":SERVER_NAME["ch4"], "udp_port":SERVER_NAME["ch4"], "state":STATE_NONE,},
}

REGION_NAME_DICT = {
    0: SERVER_NAME["name"],
}

REGION_AUTH_SERVER_DICT = {
    0: {
        0: {"ip": SERVER_NAME["host"], "port": SERVER_NAME["auth1"],},
        1: {"ip": SERVER_NAME["host"], "port": SERVER_NAME["auth1"],},
        2: {"ip": SERVER_NAME["host"], "port": SERVER_NAME["auth1"],},
        3: {"ip": SERVER_NAME["host"], "port": SERVER_NAME["auth1"],},
    }
}

REGION_DICT = {
    0: {
        1: {"name": SERVER_NAME["name"], "channel": SERVER1_CHANNEL_DICT,},
    },
}

MARKADDR_DICT = {
    10: {"ip": SERVER_NAME["host"], "tcp_port": SERVER_NAME["ch1"], "mark": "10.tga", "symbol_path": "10",},
}

TESTADDR = {"ip": SERVER_NAME["host"], "tcp_port": SERVER_NAME["ch1"], "udp_port": SERVER_NAME["ch1"],}

+10 -10 olarak ayarladım char.cpp de port olayına dikkat ettim hocam
 
Kod:
Genişlet Daralt Kopyala
import app
import localeInfo
from constInfo import TextColor
app.ServerName = None
RUTIL_MINIMAP = "|cffffd500|h OldSchool" #MiniMap Altı Yazı

SERVER_NAME = {
    "name":TextColor("OldSchool", "ffd500"), #GOLD
    "host":"192.168.1.24 ",
    "auth1":30001,
    "ch1":13900,
    "ch2":13910, #if you only have 1 ch and see it online, it's ch99 having the same port 30011
    #"ch3":13920, #3007
    #"ch4":13930, #30015
}

STATE_NONE = TextColor(localeInfo.CHANNEL_STATUS_OFFLINE, "FF0000") #RED

STATE_DICT = {
    0: TextColor(localeInfo.CHANNEL_STATUS_OFFLINE, "FF0000"), #RED
    1: TextColor(localeInfo.CHANNEL_STATUS_RECOMMENDED, "00ff00"), #GREEN
    2: TextColor(localeInfo.CHANNEL_STATUS_BUSY, "ffff00"), #YELLOW
    3: TextColor(localeInfo.CHANNEL_STATUS_FULL, "ff8a08") #ORANGE
}

SERVER1_CHANNEL_DICT = {
    0: {"key":10, "name":TextColor("CH-1", "FFffFF"), "ip":SERVER_NAME["host"], "tcp_port":SERVER_NAME["ch1"], "udp_port":SERVER_NAME["ch1"], "state":STATE_NONE,},
    1: {"key":11, "name":TextColor("CH-2", "FFffFF"), "ip":SERVER_NAME["host"], "tcp_port":SERVER_NAME["ch2"], "udp_port":SERVER_NAME["ch2"], "state":STATE_NONE,},
    #2: {"key":12, "name":TextColor("CH-3", "FFffFF"), "ip":SERVER_NAME["host"], "tcp_port":SERVER_NAME["ch3"], "udp_port":SERVER_NAME["ch3"], "state":STATE_NONE,},
    #3: {"key":13, "name":TextColor("CH-4", "FFffFF"), "ip":SERVER_NAME["host"], "tcp_port":SERVER_NAME["ch4"], "udp_port":SERVER_NAME["ch4"], "state":STATE_NONE,},
}

REGION_NAME_DICT = {
    0: SERVER_NAME["name"],
}

REGION_AUTH_SERVER_DICT = {
    0: {
        0: {"ip": SERVER_NAME["host"], "port": SERVER_NAME["auth1"],},
        1: {"ip": SERVER_NAME["host"], "port": SERVER_NAME["auth1"],},
        2: {"ip": SERVER_NAME["host"], "port": SERVER_NAME["auth1"],},
        3: {"ip": SERVER_NAME["host"], "port": SERVER_NAME["auth1"],},
    }
}

REGION_DICT = {
    0: {
        1: {"name": SERVER_NAME["name"], "channel": SERVER1_CHANNEL_DICT,},
    },
}

MARKADDR_DICT = {
    10: {"ip": SERVER_NAME["host"], "tcp_port": SERVER_NAME["ch1"], "mark": "10.tga", "symbol_path": "10",},
}

TESTADDR = {"ip": SERVER_NAME["host"], "tcp_port": SERVER_NAME["ch1"], "udp_port": SERVER_NAME["ch1"],}

+10 -10 olarak ayarladım char.cpp de port olayına dikkat ettim hocam
Allah Allah garip,
uiSystem.py de kaynaklanıyo sanırım. AddChannels içerisinde muhtemelen 298. Satır
 
Allah Allah garip,
uiSystem.py de kaynaklanıyo sanırım. AddChannels içerisinde muhtemelen 298. Satır
hata o şekilde gözükmekte
Kod:
Genişlet Daralt Kopyala
            self.channelButtonList[i].SetText(str(serverInfo.REGION_DICT[0][self.__GetServerID()]["channel"][i+1]["name"]))
ordaki kod bu şekilde
 
hata o şekilde gözükmekte
Kod:
Genişlet Daralt Kopyala
            self.channelButtonList[i].SetText(str(serverInfo.REGION_DICT[0][self.__GetServerID()]["channel"][i+1]["name"]))
ordaki kod bu şekilde
Buradaki i değişkenini 4e kadar getiriyo hata ondan kaynaklı sende 3e kadar var ch1=0, ch2=1, ch3=2, ch4=3 olarak chyi 5 yapsana bi hata değişçekmi yada gidicekmi
 
config dosyalarını kontrol et , hatalı veya eksik yapılandırma vardır belki , direkt oyundan atması ise portlarda sıkıntı olduğunu gösteriyor. Kanal 1 de yüksek kaynak kullanımı da olabilir
 
config dosyalarını kontrol et , hatalı veya eksik yapılandırma vardır belki , direkt oyundan atması ise portlarda sıkıntı olduğunu gösteriyor. Kanal 1 de yüksek kaynak kullanımı da olabilir
confingi şöyle ayarladım
"ch1":13900 core 1 core2 "ch1":13902
"ch2":13910 core 1 core 2 "ch2":13912
"ch3":13920 core 1 core2 "ch3":13922
"ch4":13930 core 1 core2 "ch4":13932
 
marty kullanıyosan ch2 ile ch99 un portları aynı. tek ch açınca da diğer chlere geçemezsin mantıken çünkü başka ch yok. altyapı martyler default olarak tek ch geliyor. ch99a da geçemezsin çünkü ch99da köyler yok.
 
marty kullanıyosan ch2 ile ch99 un portları aynı. tek ch açınca da diğer chlere geçemezsin mantıken çünkü başka ch yok. altyapı martyler default olarak tek ch geliyor. ch99a da geçemezsin çünkü ch99da köyler yok.
evet bende aynı diye ch2 başka port atadım farklı olsun diye 1 auth ch1 ch2 ch3 ch4 ayrı port ch99 ayrı port olarak

haricinde main içindeki server liste yeni coreleri ekledim örnek olarak sv1_ch2_core1 ve core2 seklinde chlar ayrı oldu orada sorun yaşamadım
ve oyunu açarken admin_panelce 1i değilde direk 1 den açıp 4 ch aktif ediyorum
 
Buradaki i değişkenini 4e kadar getiriyo hata ondan kaynaklı sende 3e kadar var ch1=0, ch2=1, ch3=2, ch4=3 olarak chyi 5 yapsana bi hata değişçekmi yada gidicekmi
hocam
5 yapıncada 4 veya 2 fark etmiyor yine syser veriyor syserr hep aynı sadece aşağıdaki sayı kaç ch varsa ona göre değeşiyor

Kod:
Genişlet Daralt Kopyala
1111 19:49:28397 :: Traceback (most recent call last):

1111 19:49:28397 ::   File "ui.py", line 1561, in CallEvent

1111 19:49:28397 ::   File "ui.py", line 88, in __call__

1111 19:49:28397 ::   File "ui.py", line 70, in __call__

1111 19:49:28397 ::   File "uiSystem.py", line 157, in __ClickMoveChannel

1111 19:49:28397 ::   File "uiSystem.py", line 201, in __init__

1111 19:49:28397 ::   File "uiSystem.py", line 234, in __LoadBoard

1111 19:49:28397 ::   File "uiSystem.py", line 298, in AddChannels

1111 19:49:28397 :: KeyError
1111 19:49:28397 :: :
1111 19:49:28397 :: 5
1111 19:49:28397 ::
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst