Yardım Otomotik Av İtem Proto Kabul etmiyor.

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

kadirkado123

Üye
Üye
Mesaj
76
Çözümler
5
Beğeni
8
Puan
89
Ticaret Puanı
0
Merhaba, otomatik av'ın item_proto.sql' da ki kodları new query ile okutuyorum. Fakat "Column count doesn't match value count at arow 1" hatası alıyorum. Büyük ihtimalle verilen kod satırları fazla. Bu kodu kendi serverime uygun hale nasıl getirebilirim.

item_proto(otoav):
Genişlet Daralt Kopyala
INSERT INTO `item_proto` VALUES ('20171', 0xD1A1D1A8C898C3BCDCAE, 0x4F746F6D6174696B20417620372047FC6E, '16', '0', '0', '1', '0', '0', '0', '', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '604800', '0', '1', '0', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '0', '0', '0', '0');
INSERT INTO `item_proto` VALUES ('20172', 0xD1A1D1A8C898C3BCDCAE, 0x4F746F6D6174696B2041762031342047FC6E, '16', '0', '0', '1', '0', '0', '0', '', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1209600', '0', '1', '0', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '0', '0', '0', '0');

Bir de filezilla'dan bunu eklemeye çalıştım fakat bu da uymuyor. Başka bir item buldum bunun kodlarına yakın, o da rüzgarın ayakkabısıymış bu seferde oyun loading'de kaldı.

item proto.txt:
Genişlet Daralt Kopyala
20171    "OtomatikAv1"    ITEM_UNIQUE    UNIQUE_NONE    MASK_ITEM_TYPE_NONE    0    1    "ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_STACK | ANTI_MYSHOP | ANTI_PKDROP | ANTI_SAFEBOX"    "NONE"    "NONE"    "NONE"    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    604800    0    1    0    0    0    0    0    0
20172    "OtomatikAv2"    ITEM_UNIQUE    UNIQUE_NONE    MASK_ITEM_TYPE_NONE    0    1    "ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_STACK | ANTI_MYSHOP | ANTI_PKDROP | ANTI_SAFEBOX"    "NONE"    "NONE"    "NONE"    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    1209600    0    1    0    0    0    0    0    0

NOT: Aynı sorun ile başka bir konu var ama onu anlamadım.
 
TXT kullanıyorsan navicat üzerinden yapman gereken hiç bir işlem yok demektir.
Ekleyeceğin itemlerin türü neyse (ITEM_USE - ITEM_QUEST vs) proto dosyasında aynı türden bir itemin satırını kopyalayıp tekrar alta yapıştır ve sadece vnum değerini değiştir. Bu şekilde proto sorunsuz çalışır. Eğer başka sorun yaşarsan syserr kontrol et, başka yerde başka sorunlar olabilir.

Eğer TXT kullanmıyorsan bu bahsettiğim işlemi navicat üzerinden yap.
 
MASK TYPE kullanıyor musun? Yoksa hazır proto mu attın?
 
TXT kullanıyorsan navicat üzerinden yapman gereken hiç bir işlem yok demektir.
Ekleyeceğin itemlerin türü neyse (ITEM_USE - ITEM_QUEST vs) proto dosyasında aynı türden bir itemin satırını kopyalayıp tekrar alta yapıştır ve sadece vnum değerini değiştir. Bu şekilde proto sorunsuz çalışır. Eğer başka sorun yaşarsan syserr kontrol et, başka yerde başka sorunlar olabilir.

Eğer TXT kullanmıyorsan bu bahsettiğim işlemi navicat üzerinden yap.
Filezilla usr/game/cores/db deki item_proto.txt' de değişiklik yaptım fakat olmuyor. Loadingde kalıyor.

syserr:
Genişlet Daralt Kopyala
0229 16:48:12368 :: Traceback (most recent call last):

0229 16:48:12368 ::   File "networkModule.py", line 247, in SetGamePhase

0229 16:48:12369 ::   File "game.py", line 106, in __init__

0229 16:48:12369 ::   File "interfaceModule.py", line 315, in MakeInterface

0229 16:48:12369 ::   File "interfaceModule.py", line 146, in __MakeTaskBar

0229 16:48:12369 :: AttributeError
0229 16:48:12369 :: :
0229 16:48:12369 :: 'NoneType' object has no attribute 'SetToggleButtonEvent'
0229 16:48:12369 ::
 
Filezilla usr/game/cores/db deki item_proto.txt' de değişiklik yaptım fakat olmuyor. Loadingde kalıyor.

syserr:
Genişlet Daralt Kopyala
0229 16:48:12368 :: Traceback (most recent call last):

0229 16:48:12368 ::   File "networkModule.py", line 247, in SetGamePhase

0229 16:48:12369 ::   File "game.py", line 106, in __init__

0229 16:48:12369 ::   File "interfaceModule.py", line 315, in MakeInterface

0229 16:48:12369 ::   File "interfaceModule.py", line 146, in __MakeTaskBar

0229 16:48:12369 :: AttributeError
0229 16:48:12369 :: :
0229 16:48:12369 :: 'NoneType' object has no attribute 'SetToggleButtonEvent'
0229 16:48:12369 ::
Python eklemelerini kontrol et. SetToggleButtonEvent fonksiyonu bulamıyor. Ya da yanlış eklenmiş.
 
Python eklemelerini kontrol et. SetToggleButtonEvent fonksiyonu bulamıyor. Ya da yanlış eklenmiş.

Verilen eklemelerde de ve benim packlerimde de " SetToggleButtonEvent" yok usta.

Başka arkadaş bu sorunu yaşamış.

" çözüm martysama fileslerde ftpden çektiği için İtem_proto SQL olarak ekleyin satırı " Demiş ama anlamadım ne demek istediğini.

Benim kullandığım files
 
Başka arkadaş bu sorunu yaşamış.

" çözüm martysama fileslerde ftpden çektiği için İtem_proto SQL olarak ekleyin satırı " Demiş ama anlamadım ne demek istediğini.

Benim kullandığım files
Ben de anlamadım. FTP den çekiyorsa niye SQL olarak eklemiş acaba..

Sorununa gelince, normalde olması lazım(interfaceModule.py).
Python:
Genişlet Daralt Kopyala
    def __MakeTaskBar(self):
        wndTaskBar = uiTaskBar.TaskBar()
        wndTaskBar.LoadWindow()
        self.wndTaskBar = wndTaskBar
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHARACTER, ui.__mem_func__(self.ToggleCharacterWindowStatusPage))
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_INVENTORY, ui.__mem_func__(self.ToggleInventoryWindow))
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_MESSENGER, ui.__mem_func__(self.ToggleMessenger))
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_SYSTEM, ui.__mem_func__(self.ToggleSystemDialog))
        if uiTaskBar.TaskBar.IS_EXPANDED:
            self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_EXPAND, ui.__mem_func__(self.ToggleExpandedButton))
            self.wndExpandedTaskBar = uiTaskBar.ExpandedTaskBar()
            self.wndExpandedTaskBar.LoadWindow()
            self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOUL, ui.__mem_func__(self.ToggleDragonSoulWindow))

        else:
            self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHAT, ui.__mem_func__(self.ToggleChat))
        
        self.wndEnergyBar = None
        import app
        if app.ENABLE_ENERGY_SYSTEM:
            wndEnergyBar = uiTaskBar.EnergyBar()
            wndEnergyBar.LoadWindow()
            self.wndEnergyBar = wndEnergyBar

uiTaskbar.py:
Genişlet Daralt Kopyala
def SetToggleButtonEvent(self, eButton, kEventFunc):
    self.toggleButtonDict[eButton].SetEvent(kEventFunc)

Eğer farklı bir interface kullanıyorsan bu kısımlar sende farklı olabilir veya hiç olmayabilir. Öyle bir durumda kendi kodlarına göre düzenlemen veya tekrar elle ekleyip düzenlemen gerekebilir.
 
Ben de anlamadım. FTP den çekiyorsa niye SQL olarak eklemiş acaba..

Sorununa gelince, normalde olması lazım(interfaceModule.py).
Python:
Genişlet Daralt Kopyala
    def __MakeTaskBar(self):
        wndTaskBar = uiTaskBar.TaskBar()
        wndTaskBar.LoadWindow()
        self.wndTaskBar = wndTaskBar
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHARACTER, ui.__mem_func__(self.ToggleCharacterWindowStatusPage))
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_INVENTORY, ui.__mem_func__(self.ToggleInventoryWindow))
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_MESSENGER, ui.__mem_func__(self.ToggleMessenger))
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_SYSTEM, ui.__mem_func__(self.ToggleSystemDialog))
        if uiTaskBar.TaskBar.IS_EXPANDED:
            self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_EXPAND, ui.__mem_func__(self.ToggleExpandedButton))
            self.wndExpandedTaskBar = uiTaskBar.ExpandedTaskBar()
            self.wndExpandedTaskBar.LoadWindow()
            self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOUL, ui.__mem_func__(self.ToggleDragonSoulWindow))

        else:
            self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHAT, ui.__mem_func__(self.ToggleChat))
      
        self.wndEnergyBar = None
        import app
        if app.ENABLE_ENERGY_SYSTEM:
            wndEnergyBar = uiTaskBar.EnergyBar()
            wndEnergyBar.LoadWindow()
            self.wndEnergyBar = wndEnergyBar

uiTaskbar.py:
Genişlet Daralt Kopyala
def SetToggleButtonEvent(self, eButton, kEventFunc):
    self.toggleButtonDict[eButton].SetEvent(kEventFunc)

Eğer farklı bir interface kullanıyorsan bu kısımlar sende farklı olabilir veya hiç olmayabilir. Öyle bir durumda kendi kodlarına göre düzenlemen veya tekrar elle ekleyip düzenlemen gerekebilir.

Pardon bu dediğin yerlerde " SetToggleButtonEvent" varmış. Yanlış aratmışım.

Ama hangi türle eklediysem item_proto'ya eklenmiyor. Revize edilmiş hali;
item proto:
Genişlet Daralt Kopyala
20171    OtomatikAv1    ITEM_UNIQUE    UNIQUE_NONE    0    NONE    NONE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    604800    0    0    0    0    1    0    0    0    0

Bunu da ekledim ama yok. Connection refused hatası veriyor.
 
Connection refused hatası verirken db'deki syserr boş sadece bu var ;
db-syserr:
Genişlet Daralt Kopyala
SYSERR: Feb 29 17:13:51 :: pid_init:
Start of pid: 930

Pack tarafında devam ediyor. Syserr .

Başka önerebileceğiniz oto av var mıdır?
kendi item protonuzda ITEM_UNIQUE typesini kullanan başka itemi direkt kopyalayıp kodunuda otomatik av kodu yapın
 
Geri
Üst