Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Не обижаюсь, ибо твоя правда
Цитата:
Сообщение от dark-dragon
Я прошу прощения, но как же уже надоели чукчи-пейсатели-нечитатели.
Для особо одаренных машинистов поездов
Теперь запускается окно Adobe Air c ошибками:
Код:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Main/getSalt()
at Main/init()
at Main()
at runtime::ContentPlayer/loadInitialContent()
at runtime::ContentPlayer/playRawContent()
at runtime::ContentPlayer/playContent()
at runtime::AppRunner/run()
at ADLAppEntry/run()
at global/runtime::ADLEntry()
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от Anch665
Теперь запускается окно Adobe Air c ошибками:
Код:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Main/getSalt()
Если она не прочитала из keys.txt строчку, потому что он пустой, а Вы не знаете, как сделать валидно заполненный, то переходите к правке питонового бота, он сам запишет keys.txt и проект запустит.
Или в другом причина? Тут просто я строчки не вижу, в которой ошибка, предполагаю в
var postfix:String = sessionKey.substring(sessionKey.indexOf(":") + 1);
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от megabyte0
Белое окно остаётся только в одном случае - если он не может загрузить salt.swf с сервера или локально. Локально он вроде уже грузить её не должен, а если с сервера не грузится, то, может, и не надо? Вдруг там обнова или ещё что, а мы ломиться будем.
Между тем, у меня всё ок с перезагрузкой.
Ну если это было бы пару раз такое. А тут у меня получается в течение 10-30 минут он должен остановится. И так же с запуском.
Можно ли как то отследить что ему мешает работать\запускаться?
Последний раз редактировалось alexx48743; 11.08.2014 в 19:41.
def calcSig(self,sessionKey, requestId, authKey):
if hasattr(self,'sig') and isinstance(self.sig,dict): #если запущены не в первый раз
if self.sig.has_key(str(requestId)): #то если не кончились сгенерированные sigи
return hashsum._md5hash(self.sig[str(requestId)]) #понятно, вернём её
elif requestId == self.max_request_id: #если они именно что кончились
raise GameError("No sig for %s"%(" ".join([authKey,str(requestId),sessionKey]))) #понятно, ошибка, перезагрузка бота
#а иначе, если новая загрузка или вообще первый раз
with open("sig\\bin\\keys.txt",'wt') as f:
f.write(" ".join([authKey,str(requestId),sessionKey]))
cwd = os.getcwd()
os.chdir("sig")
subprocess.call(["Run.bat"])
os.chdir(cwd)
with open("sig\\bin\\sig.txt",'rt') as f:
data=f.read()
self.sig=eval(data)
self.max_request_id = max(long(i) for i in self.sig.iterkeys()) + 1
return hashsum._md5hash(self.sig[str(requestId)])
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
раньше запускал бота на клонах с батникак, который запускал всех по очереди, потом стало вылетать, так как не успевал прогрузиться AIR DEBUG.... исправил чуток, вродь пашет)
#!/usr/bin/python
# coding=utf-8
from game_engine import Game
from connection import Connection
from settings import Settings
from sn import Site
import logging
import os
import errno
import sys
from user_interface import UserPrompt
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
исправил
в ответ получил:
Код:
Download items...
Items downloaded!
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 808, in __bootstrap_inner
self.run()
File "E:\install\zombot\app.py", line 35, in run
self.run_function(self)
File "main.py", line 79, in run_game
Game(site, settings, UserPrompt(gui_input), gui_input=gui_input).start()
File "E:\install\zombot\game_engine.py", line 469, in start
start_response,self.__friendsid,self.__server_time = self.__game_initializer.start()
File "E:\install\zombot\game_engine.py", line 180, in start
start_response, friendsid = self.start_game(server_time, session_key)
File "E:\install\zombot\game_engine.py", line 215, in start_game
return self.__request_sender.send(command),friendsid
File "E:\install\zombot\game_engine.py", line 682, in send
request = self.__factory.createRequest(data)
File "E:\install\zombot\message_factory.py", line 132, in createRequest
request_data['data'] = self.__createDataValue(data, data_keys_order)
File "E:\install\zombot\message_factory.py", line 157, in __createDataValue
self.__addSigOrAuth(data_value)
File "E:\install\zombot\message_factory.py", line 170, in __addSigOrAuth
auth_key)
TypeError: calcSig() takes exactly 4 arguments (3 given)
ругается на:
Код:
def __addSigOrAuth(self, objectData):
sessionKey = self.__session.getSessionKey()
auth_key = self.__session.getAuthKey()
authSessionKey = self.__session.getAuthSessionKey()
if sessionKey is not None:
objectData["sig"] = calcSig(sessionKey, self.__request_id,
auth_key)
else:
objectData["auth"] = calcAuth(self.__request_id, auth_key)
if authSessionKey is not None:
objectData["key"] = authSessionKey
return objectData
def calcSig(self,sessionKey, requestId, authKey):
if hasattr(self,'sig') and isinstance(self.sig,dict): #если запущены не в первый раз
if self.sig.has_key(str(requestId)): #то если не кончились сгенерированные sigи
return hashsum._md5hash(self.sig[str(requestId)]) #понятно, вернём её
elif requestId == self.max_request_id: #если они именно что кончились
raise GameError("No sig for %s"%(" ".join([authKey,str(requestId),sessionKey]))) #понятно, ошибка, перезагрузка бота
#а иначе, если новая загрузка или вообще первый раз
with open("sig\\bin\\keys.txt",'wt') as f:
f.write(" ".join([authKey,str(requestId),sessionKey]))
cwd = os.getcwd()
os.chdir("sig")
subprocess.call(["Run.bat"])
os.chdir(cwd)
with open("sig\\bin\\sig.txt",'rt') as f:
data=f.read()
self.sig=eval(data)
self.max_request_id = max(long(i) for i in self.sig.iterkeys()) + 1
return hashsum._md5hash(self.sig[str(requestId)])
, правка calcSig.
Тоже самое....
[Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось alexx48743; 12.08.2014 в 09:59.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от Anch665
исправил
в ответ получил:
Код:
Download items...
Items downloaded!
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 808, in __bootstrap_inner
self.run()
File "E:\install\zombot\app.py", line 35, in run
self.run_function(self)
File "main.py", line 79, in run_game
Game(site, settings, UserPrompt(gui_input), gui_input=gui_input).start()
File "E:\install\zombot\game_engine.py", line 469, in start
start_response,self.__friendsid,self.__server_time = self.__game_initializer.start()
File "E:\install\zombot\game_engine.py", line 180, in start
start_response, friendsid = self.start_game(server_time, session_key)
File "E:\install\zombot\game_engine.py", line 215, in start_game
return self.__request_sender.send(command),friendsid
File "E:\install\zombot\game_engine.py", line 682, in send
request = self.__factory.createRequest(data)
File "E:\install\zombot\message_factory.py", line 132, in createRequest
request_data['data'] = self.__createDataValue(data, data_keys_order)
File "E:\install\zombot\message_factory.py", line 157, in __createDataValue
self.__addSigOrAuth(data_value)
File "E:\install\zombot\message_factory.py", line 170, in __addSigOrAuth
auth_key)
TypeError: calcSig() takes exactly 4 arguments (3 given)
ругается на:
Код:
def __addSigOrAuth(self, objectData):
sessionKey = self.__session.getSessionKey()
auth_key = self.__session.getAuthKey()
authSessionKey = self.__session.getAuthSessionKey()
if sessionKey is not None:
objectData["sig"] = calcSig(sessionKey, self.__request_id,
auth_key)
else:
objectData["auth"] = calcAuth(self.__request_id, auth_key)
if authSessionKey is not None:
objectData["key"] = authSessionKey
return objectData
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от alexx48743
Тоже самое....
[Ссылки могут видеть только зарегистрированные пользователи. ]
Праивльно, java. и не должен отдавать salt, это делает сервер, на который Вас отправляют после редиректа. Правка вот http://zhyk.ru/forum/showpost.php?p=...postcount=2854 (сообщение 2854)
Если уже применена, пишите, когда именно он отказывается отдавать salt. Я повторно тот же уже не запрашиваю, вроде бы.
Последний раз редактировалось megabyte0; 12.08.2014 в 11:48.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от megabyte0
Праивльно, java. и не должен отдавать salt, это делает сервер, на который Вас отправляют после редиректа. Правка вот http://zhyk.ru/forum/showpost.php?p=...postcount=2854 (сообщение 2854)
Если уже применена, пишите, когда именно он отказывается отдавать salt. Я повторно тот же уже не запрашиваю, вроде бы.
Спасибо Вам большое за помощь. Теперь работает как раньше. Спасибо!
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Помогите, кто знает как настроить бота чтоб сажал собирал только определенные культуры?? За реально работающий совет отблагодарю голосами вконтакте мой
[Ссылки могут видеть только зарегистрированные пользователи. ]
вот для этого бота
[Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось j0rac0rnev; 12.08.2014 в 14:47.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Удалось запустить бота, за что всем отдельное спасибо!!!
Но во всех файлах пришлось указать прямые пути. вплоть до файла RUN.bat
adl c:\install\ZomBot\application.xml c:\install\ZomBot\bin
В противном случае путь по умолчанию устанавливался - домашний каталог пользователя, и из за этого относительные пути искались в другом месте.
у кого нибудь получилось завести это все дело под линуксом? что-то я не нашел SDK
Последний раз редактировалось Anch665; 12.08.2014 в 17:47.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от alexx48743
Спасибо Вам большое за помощь. Теперь работает как раньше. Спасибо!
Цитата:
Сообщение от Anch665
во всех файлах пришлось указать прямые пути. вплоть до файла RUN.bat
...
В противном случае путь по умолчанию устанавливался - домашний каталог пользователя, и из за этого относительные пути искались в другом месте.
Это которая винда такая упрямая? Не решалось просто прописыванием cd путь_к_боту первой командой в батнике, которым запускаете? Или, как вариант, в первом os.chdir
Спасибо за замечание, у меня тоже везде полные стоят в питоновом исходнике