Mount bug

Indította endox93, 2018-08-14, 00:12:55

2018-08-14, 00:12:55 Utolsó szerkesztés: 2018-08-14, 00:15:09 Szerző: endox93
Sziasztok lenne egy olyan hiba hogy mounton le dob a kliens ha nyomkodom a W+A+S+D és a CTRL+G -t ...
Valakinek valami ötlet?
UI: Láttam valahol egy fixet erre kb egy hónapja de már 2 órája keresem és nincs meg :D

Hiba:

0814 00:10:59378 ::   File "game.py", line 1362, in OnKeyUp

0814 00:10:59378 :: TypeError
0814 00:10:59378 :: :
0814 00:10:59378 :: 'NoneType' object has no attribute '__getitem__'
0814 00:10:59378 ::
Skype : Derota2

Idézetet írta: Zhymer Dátum 2017-09-03, 16:32:06
W/A/S/D+(CTRL+G/H/J) hiba javítása

Sziasztok,

Majdnem minden szerveren megtalálható az a bug, hogy megnyomjuk a W/A/S/D-t hogy a karakter mozogjon, és azonnal megnyomjuk a CTRL+G/H/J-t hogy felszálljon a mountra, és ilyenkor (nem mindig, de elég gyakran) kidob szerverválasztóhoz.

Az alábbi megoldással azt érjük el, ha a W/A/S/D nyomva van, ne tudjuk használni a CTRL+G/H/J kombinációt.
Biztos van szebb megoldás, de mivel senki sem publikált erre a buggra semmi fixet, így én ezt most kirakom.
Egynek elmegy :)

A módosításokat a game.py-ben kell elvégezned.

Ctrl+G:
[spoiler]Keresd:

def __PressGKey(self):
if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):


Alá:

if player.IsMountingHorse():
net.SendChatPacket("/unmount")
return
if app.IsPressed(app.DIK_W) or app.IsPressed(app.DIK_A) or app.IsPressed(app.DIK_S) or app.IsPressed(app.DIK_D):
chat.AppendChat(chat.CHAT_TYPE_INFO, "Mozgás közben nem használhatod!")
return


Tehát így nézzen ki:

def __PressGKey(self):
if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
if player.IsMountingHorse():
net.SendChatPacket("/unmount")
return
if app.IsPressed(app.DIK_W) or app.IsPressed(app.DIK_A) or app.IsPressed(app.DIK_S) or app.IsPressed(app.DIK_D):
chat.AppendChat(chat.CHAT_TYPE_INFO, "Mozgás közben nem használhatod!")
return

net.SendChatPacket("/ride")
else:
if self.ShowNameFlag:
self.interface.ToggleGuildWindow()
else:
app.PitchCamera(app.CAMERA_TO_POSITIVE)
[/spoiler]

Ctrl+H:
[spoiler]Keresd:

def __PressHKey(self):
if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):


Alá:

if player.IsMountingHorse():
net.SendChatPacket("/unmount")
return
if app.IsPressed(app.DIK_W) or app.IsPressed(app.DIK_A) or app.IsPressed(app.DIK_S) or app.IsPressed(app.DIK_D):
chat.AppendChat(chat.CHAT_TYPE_INFO, "Mozgás közben nem használhatod!")
return


Tehát így nézzen ki:

def __PressHKey(self):
if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
if player.IsMountingHorse():
net.SendChatPacket("/unmount")
return
if app.IsPressed(app.DIK_W) or app.IsPressed(app.DIK_A) or app.IsPressed(app.DIK_S) or app.IsPressed(app.DIK_D):
chat.AppendChat(chat.CHAT_TYPE_INFO, "Mozgás közben nem használhatod!")
return

net.SendChatPacket("/user_horse_ride")
else:
self.interface.OpenHelpWindow()
[/spoiler]

Ctrl+J:
[spoiler]Keresd:

def __PressJKey(self):
if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
if player.IsMountingHorse():
net.SendChatPacket("/unmount")
else:


Alá:

if app.IsPressed(app.DIK_W) or app.IsPressed(app.DIK_A) or app.IsPressed(app.DIK_S) or app.IsPressed(app.DIK_D):
chat.AppendChat(chat.CHAT_TYPE_INFO, "Mozgás közben nem használhatod!")
return


Tehát így nézzen ki:

def __PressJKey(self):
if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
if player.IsMountingHorse():
net.SendChatPacket("/unmount")
else:
if app.IsPressed(app.DIK_W) or app.IsPressed(app.DIK_A) or app.IsPressed(app.DIK_S) or app.IsPressed(app.DIK_D):
chat.AppendChat(chat.CHAT_TYPE_INFO, "Mozgás közben nem használhatod!")
return

#net.SendChatPacket("/user_horse_ride")
if not uiPrivateShopBuilder.IsBuildingPrivateShop() or not uiOfflineShopBuilder.IsBuildingOfflineShop():
for i in xrange(player.INVENTORY_PAGE_SIZE):
if player.GetItemIndex(i) in (71114, 71116, 71118, 71120):
net.SendItemUsePacket(i)
break
[/spoiler]

Szerk:
Ctrl+G/H kódhoz hozzáadtam hogy mozgás közben le lehessen szálni a mountról, hisz az nem buggos.
(J-ben megtalálható alapból)

2018-08-14, 00:18:19 #2 Utolsó szerkesztés: 2018-08-14, 00:26:13 Szerző: endox93
Bakker a poén hogy mindenhol néztem csak m2h-n nem  :'( :'(
Köszi  ;)

Üzenet összefésülés: 2018-08-14, 00:26:13

A hiba még mindig fent áll mozgás közben le dobja a karaktert de leginkább a ninját dobálja le valakinek valami ötlete?
Skype : Derota2