Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Не заводится.

тут можно задать вопрос по скриптингу
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Не заводится.

Post by nah nah »

раньше код был такого вида

Code: Select all

if newMoveXY(.......):
  Smelt()
Была та же проблемма - ходил к плавилки через раз, но каждый раз пытался плавить
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Не заводится.

Post by Vizit0r »

так не бывает :)
ну в конце концов добавь одну строку проверки на нужные координаты.

а вообще такого быть не должно как бы.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Не заводится.

Post by nah nah »

Ещё если в клиенте пытаться куда-либо бежать во время работы newMoveXY, то тоже сбивается, и стелс переходит на следующую строку в скрипте.
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: Не заводится.

Post by CFA »

nah nah wrote:Ещё если в клиенте пытаться куда-либо бежать во время работы newMoveXY, то тоже сбивается, и стелс переходит на следующую строку в скрипте.
newMove прекращает попытки дойти, если чар внезапно оказался больше чем в 5 тайлах от той точки, куда должен был быть сделан шаг, тк считает что произошел телепорт, или еще что-то такое случилось. Но в таком случае он возращает False. True возвращается только если чар находится на нужном расстоянии от заданной точки.
Попробуй включить в настройках стелса сообщения от ходилки, и посмотри что он пишет, в тех случаях когда не доходит до плавилки.
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Не заводится.

Post by nah nah »

Сейчас не получится проверить что она там пишет (банк забит айроном), да и не совсем понял как. Может включить какое-нибудь логирование?

В интерпритаторе (наверное это так называется) питона, по умолчанию стоит кодировка юникода, не поддерживающая кирилицу. У меня с сервера приходят мессаги на русском. Как переключить кодировку?
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Не заводится.

Post by nah nah »

Есть у меня ещё вопрос.
Как мне определить, что перед чаром кочка(с которой можно копать руду)?
Image
инфотайл пишет, что номер тайла 0.
MuDaCk
Apprentice
Apprentice
Posts: 393
Joined: 10.10.2006 0:03
Contact:

Re: Не заводится.

Post by MuDaCk »

Мне тоже интересно, как определить копабельную точку без рытья в статике))) а заодну ещё и определить точку для рыбалки :roll:
My name is Игорёшка Image
Пишу скрипты за едуImage
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Не заводится.

Post by Vizit0r »

рыться. сам же прекрасно понимаешь, что иначе никак - но все равно "интересно".
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Не заводится.

Post by nah nah »

чем и где рыться? Реализовать можно?
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Не заводится.

Post by Vizit0r »

http://stealth.od.ua/wiki/doku.php?id=tile_working
примеры на форуме. статьи в вики умерли после смерти сервера :(
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

Re: Не заводится.

Post by Alex »

с помощью GetMapCell можно выяснить номер тайла кочки такой.
а потом этот номер передавать в GetLandTilesArray. эта функция вернет координаты всех кочек в указанных рамках координат.
Новый стелс лежит тут. Стелс это произведение искусства! :)
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Не заводится.

Post by nah nah »

Спасибо, нашёл то, что мне нужно в поиске по GetMapCell

Есть ли в питоне аналог инжектового UO.Timer() Перерыл кучу документации к модулям datetime и time, но ни чего дельного не нашёл кроме каких-то эр и таймеров с высоким разрешением. Ни то ни другое мне не походит. Мне нужно что бы функция возвращала числовой тип данных, чтобы потом без лишнего гемора заносить в глобалку в виде строки, потом вытаскивать и проводить математические операции 8)
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

Re: Не заводится.

Post by Alex »

можно так

Code: Select all

import time
print(time.time()) #число в секундах
Новый стелс лежит тут. Стелс это произведение искусства! :)
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Не заводится.

Post by nah nah »

Ещё раз благодарен
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Не заводится.

Post by nah nah »

В вот такой конструкции

Code: Select all

import time

Resources = []

def FindResources():
  Cache = []
  Match = 0
  for i in [3274, 3275, 3276, 3277, 3280, 3283, 3286, 3289, 3291, 3292, 3294, 3295, 3296, 3299, 3302, 3394, 3395, 3417, 3440, 3461, 4792, 4793, 4794, 4795]:
    for t, x, y, z in GetStaticTilesArray(GetX(Self()) - 50, GetY(Self()) - 50, GetX(Self()) + 50, GetY(Self()) + 50, WorldNum(), i):
      Cache += [(t, x, y, z, 'Tree')]
  for i in [240, 241, 242, 243]:
    for t, x, y, z in GetLandTilesArray(GetX(Self()) - 50, GetY(Self()) - 50, GetX(Self()) + 50, GetY(Self()) + 50, WorldNum(), i):
      Cache += [(t, x, y, z, 'Rock')]
  for i in Cache:
    for j in Resources:
      if i == j:
        Match = 1
        break
    if not Match:
      Resources += i
выдаёт такую вот ошибку

Code: Select all

25:94:64:666 [#Character Name#]:   File "S:\Stealth\Scripts\Test.py", line 15, in FindResources
UnboundLocalError: local variable 'Resources' referenced before assignment
в этой строке

Code: Select all

for j in Resources:
Не могу понять, почему переменная инициировалась как локальная, ведь ей был присвоет пустой список в самом начале.
Post Reply