Metin2 Hungarian Forum

Metin2 => Szerver készítés => Privát szerverek => Segítség => A témát indította: DeathRangers Dátum 2019-01-24, 13:59:58

Cím: Teleport system [DEV]
Írta: DeathRangers Dátum 2019-01-24, 13:59:58
Sziasztok.
Elkezdtem betenni a teleport rendszert ---> https://metin2dev.org/board/index.php?/topic/6049-teleport-system-gui-quest-code/
alapján.
Szépen belépnék, viszont a betöltő csík megáll és ennyi.
Sysser :
Idéz0124 13:51:53173 :: Traceback (most recent call last):

0124 13:51:53173 ::   File "networkModule.py", line 245, in SetGamePhase

0124 13:51:53173 ::   File "system.py", line 130, in __pack_import

0124 13:51:53174 ::   File "
0124 13:51:53174 :: game.py
0124 13:51:53174 :: ", line
0124 13:51:53174 :: 127
0124 13:51:53174 ::

0124 13:51:53174 ::     
0124 13:51:53174 :: "Teleport"                : self.Teleport, 

0124 13:51:53174 :: 
0124 13:51:53174 :: 
0124 13:51:53174 :: 
0124 13:51:53174 :: 
0124 13:51:53174 :: 
0124 13:51:53174 :: 
0124 13:51:53174 :: ^

0124 13:51:53174 :: SyntaxError
0124 13:51:53191 :: :
0124 13:51:53191 :: invalid syntax
0124 13:51:53191 ::


game.py 127. sora:
"Teleport"                : self.Teleport,
ötlet ? :)
Cím: Re:Teleport system [DEV]
Írta: drift3 Dátum 2019-01-24, 18:26:47
0124 13:51:53174 :: SyntaxError
0124 13:51:53191 :: :
0124 13:51:53191 :: invalid syntax


Tabokat nézd át meg helyesen írtad e.

: self.Teleport, 

:self.Teleport, 

Másold ezt a sort is: File "networkModule.py", line 245, in SetGamePhase
Cím: Re:Teleport system [DEV]
Írta: Pisti95 Dátum 2019-01-24, 20:46:24
game.py 127. sorában vétett egy kis szintaktikai hibát. (általában vessző, pontos vessző, vagy tabolási hiba)
Cím: Re:Teleport system [DEV]
Írta: DeathRangers Dátum 2019-01-26, 10:18:59
Azt sikerült ki javítanom, rossz helyre nyomattam be figyelmetlen voltam, és teli volt az egész szóközzel szóval tabolhattam is.
Viszont akadt itt egy másik probléma is amit nem sikerült megoldanom.
Sysser
Idéz0126 10:11:26348 :: Traceback (most recent call last):

0126 10:11:26349 ::   File "networkModule.py", line 245, in SetGamePhase

0126 10:11:26349 ::   File "system.py", line 130, in __pack_import

0126 10:11:26349 ::   File "
0126 10:11:26349 :: game.py
0126 10:11:26349 :: ", line
0126 10:11:26349 :: 2194
0126 10:11:26349 ::

0126 10:11:26349 ::     
0126 10:11:26349 :: def Teleport(self, getString):

0126 10:11:26349 ::     
0126 10:11:26350 :: 
0126 10:11:26350 :: 
0126 10:11:26350 :: 
0126 10:11:26350 :: 
0126 10:11:26350 :: 
0126 10:11:26350 :: 
0126 10:11:26350 :: 
0126 10:11:26351 :: ^

0126 10:11:26351 :: IndentationError
0126 10:11:26351 :: :
0126 10:11:26351 :: unindent does not match any outer indentation level

Erre panaszkodik: (game.py új funkció)
   def Teleport(self, getString):
        if getString.find("index") != -1:
            self.teleport.UpdateIndex(int(getString.split("x")[1]))
        else:
            constInfo.SendString = str(self.teleport.SendToServer)
            constInfo.CApiSetHide = 1

system.py 130. sora
: newmodule = _process_result(compile(pack_file(filename,'r').read(),filename,'exec'),name)

Drift tessék :
networkmodule 245. sora:
import game


Nem hinném hogy a network vagy a system hibája lenne, mert alapból nem dolgoztam bennünk. :)
Cím: Re:Teleport system [DEV]
Írta: whiteworld Dátum 2019-01-26, 12:59:14
Szép napot. Amennyiben úgy van berakva ahogy ide kitetted akkor a tabolás nem jó, próbáld így.

def Teleport(self, getString):
if getString.find("index") != -1:
self.teleport.UpdateIndex(int(getString.split("x")[1]))
else:
constInfo.SendString = str(self.teleport.SendToServer)
constInfo.CApiSetHide = 1
Cím: Re:Teleport system [DEV]
Írta: DeathRangers Dátum 2019-01-26, 16:14:33
Sikerült ki javítani, ám elő idéztem(--> gondolom én) egy problémát. Nézegettem a game.py-t mit ronthattam el.
Az a lényeg hogy nem nyílik meg 1 quest ablak sem (küldetések-> gondolok ez alatt biosz,vadász,kezdő[give_basic....] küldikre) "szűz root.xy-al" viszont jó szóval most ronthattam el.
Én az alábbiakra gondoltam hátha felülírtam valamit az alábbiakkal ahova/ahogyan beírtam.
def __ProcessPreservedServerCommand(self):
try:
self.teleport = uiteleport.TeleportWindow()
command = net.GetPreservedServerCommand()
while command:
print " __ProcessPreservedServerCommand", command
self.serverCommander.Run(command)
command = net.GetPreservedServerCommand()
except RuntimeError, msg:
dbg.TraceError(msg)
return 0


Ebből lett
def OpenQuestWindow(self, skin, idx):
self.interface.OpenQuestWindow(skin, idx)


Ez
def OpenQuestWindow(self, skin, idx):
if constInfo.CApiSetHide == 1:
net.SendQuestInputStringPacket(str(constInfo.SendString))
constInfo.CApiSetHide = 0
return
self.interface.OpenQuestWindow(skin, idx)

Gondolkoztam azon is hogy lehet hogy az új funkció de arra sok realizmust láttam.
Még ez jutott eszembe.
def __PressJKey(self):
if app.IsPressed(app.DIK_LCONTROL) or app.IsPressed(app.DIK_RCONTROL):
if player.IsMountingHorse():
net.SendChatPacket("/unmount")
else:
self.teleport.Open()
#net.SendChatPacket("/user_horse_ride")
if not uiPrivateShopBuilder.IsBuildingPrivateShop():
for i in xrange(player.INVENTORY_PAGE_SIZE):
if player.GetItemIndex(i) in (71114, 71116, 71118, 71120):
net.SendItemUsePacket(i)
break

2 órán át fürkésztem ezeket sokra nem jutottam. constinfo.py-t teljes mértékben kizárnám mert oda csak ennyit kell betenni
CApiSetHide = 0
SendString = ""

Köszönöm az eddigi segítséget is ! :)

Üzenet összefésülés: 2019-01-26, 17:07:32

Találtam más témát.
A témát zárom.
EhPortal 1.39 © 2025, WebDev