Hey hab mal wieder ein Problem mit Python, genauer der OnUpdate. Und zwar stellt folgendes Script nach ner gewissen Zeit die Arbeit ein. Ich habe versucht was einzubauen, das den client killt und ihn dann neugestartet, was auch das gewünschte ergebnis erzielt(das script arbeitet wieder) aber nicht die endlösung sein kann weil ich eben Metin immer neu aufrufen muss. Entfert man den teil, stellt es nach etwas mehr als einer Stunde die arbeit ein. Hat jemand ne Idee woran das liegen könnte und wie ich das beheben oder umgehen kann?
Schonmal vielen dank mfg Arya
niemand ne Idee?
niemand ne Idee?
Code:
import ui
import game
import chat
import time
import player
import net
import event
import shop
import chr
import time
import thread
import constInfo
import background
timeskip = 0
time_old = int(time.strftime("%H%M%S"))
time_verz = 10
time_verz2 = 3400
time_old2 = int(time.strftime("%H%M%S"))+time_verz2
class switchhelper(ui.ScriptWindow):
def __init__(self):
ui.ScriptWindow.__init__(self)
self.OldRecv = game.GameWindow.OpenQuestWindow
chat.AppendChat(1, "Switchhelper")
def __del__(self):
ui.ScriptWindow.__del__(self)
def Destroy(self):
self.Hide()
return TRUE
def InstallQuestWindowHook(self):
game.GameWindow.OpenQuestWindow = self.HookedQuestWindow
chat.AppendChat(1, "Quest Window wurde erfolgreich gehooked.")
def UnHookQuestWindow(self):
game.GameWindow.OpenQuestWindow = self.OldRecv
chat.AppendChat(1, "Quest Window Hook wurde entfernt.")
def HookedQuestWindow(self, skin, idx):
pass
def rebuy(self):
if player.GetItemCountByVnum(71084) <= 400:
net.SendShopBuyPacket(6)
def yangspeicher(self):
if player.GetMoney() <= 6000000:
self.quest()
else:
self.shopopen()
self.rebuy()
def quest(self):
global timeskip
if timeskip == 2:
event.SelectAnswer(1, 0)
self.UnHookQuestWindow()
timeskip = 0
if timeskip == 1:
for Slot in xrange(player.INVENTORY_PAGE_SIZE * 2):
ItemValue = player.GetItemIndex(Slot)
if ItemValue == 91805:
net.SendItemUsePacket(Slot)
timeskip = 2
if timeskip == 0:
self.OldRecv = game.GameWindow.OpenQuestWindow
self.InstallQuestWindowHook()
timeskip = 1
def shopopen(self):
if shop.IsOpen() == 0:
self.open()
def open(self):
for vid in range(100000):
if chr.IsNPC(vid) == 1 and chr.GetNameByVID(vid) == "Schatztruhe" and player.GetCharacterDistance(vid) <= 600:
net.SendOnClickPacket(vid)
def OnUpdate(self):
global time_verz
global time_old
global time_verz2
global time_old2
if time_old2 <= int(time.strftime("%H%M%S")):
if net.IsConnect() == 1:
app.Abort()
time_old2 = int(time.strftime("%H%M%S"))+time_verz2
if time_old <= int(time.strftime("%H%M%S")):
self.yangspeicher()
time_old = int(time.strftime("%H%M%S"))+time_verz
start = switchhelper()
start.Show()
niemand ne Idee?
niemand ne Idee?