autoLumber - вырубка с автопоиском деревий

Good scripts, not reviewed and checked yet

Moderators: Murderator+, Murderator

zOMBIKs
Posts: 21
Joined: 2006-08-21 19:33:07
Contact:

Post by zOMBIKs »

поясните глупому нубу :)


куда и как в первом посте и какую ходилку вставить чтобы он ходил рубил ?

и может кто поправит этот скрипт полностью с ходилой и чтобы он при весе 400 отновил нарубленные логи в банк ? :)

ну хоть 1н скриптик пожалуйста слепите такой

всял отсуда ходилку viewtopic.php?t=6742

вставил её в конце этого макроса...

не работает не чего :)

где то настроить что куда вставить :)

может кто через аську поможет ?

ася 77747210
grundick
Posts: 258
Joined: 2006-11-25 17:44:44

Post by grundick »

Пока сам не научишься разбираться, ни одна сссука тебе не станет помогать :wink:
zOMBIKs
Posts: 21
Joined: 2006-08-21 19:33:07
Contact:

Post by zOMBIKs »

grundick wrote:Пока сам не научишься разбираться, ни одна сссука тебе не станет помогать :wink:

да я уже это понял :)

для чего задавать вопросы на форуме ? если не кто не подскажет ?

или искать тех людей которые помогут написать за денги :)
grundick
Posts: 258
Joined: 2006-11-25 17:44:44

Post by grundick »

Есть действительно ВОПРОСЫ, а есть пионерский тупизмъ, на который никто не хочет отвечать.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Тем не менее, японский то тупизм или нет, человек просто непонимает - нужно его направить.

Я ему недавно про чеклаг объяснил, про делжурнал заставил догадаться самому. Думаю скоро и ходилку прилепить сумеет.

PS: Я же тебе говорил, что за тебя никто не будет такой фигнёй заниматься - так, что? - учися, пробуй, ошибайся. Главное помнить, что хуже не будет :wink:
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
grundick
Posts: 258
Joined: 2006-11-25 17:44:44

Post by grundick »

Дестр, ты автопоиск то будешь окончательно оформлять?:) Жду - не дождусь :) Ещё б ходилку кто номаную написал для ламбера, чтоб кусты всякие и камни без проблем обходились...
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Буду оформлять - всё будет как положено - возможность рекола по разным местам, добор регов итд итп. Но позже, сейчас мне это не нужно.

Ходилка нормальная есть - бендерский волкер чем вас не устраивает? Я использую его и ничего выдумывать не хочу, пока хотя бы не разберусь как последний работает.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
grundick
Posts: 258
Joined: 2006-11-25 17:44:44

Post by grundick »

Бендерский волкер хорошо ходит, но всё равно нашлось место где он зациклился.Да и плюс ещё Run Time error с потрясной стабильностью выдает после нескольких часов хождения :(
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

grundick wrote:Бендерский волкер хорошо ходит, но всё равно нашлось место где он зациклился.Да и плюс ещё Run Time error с потрясной стабильностью выдает после нескольких часов хождения :(

У меня данной проблемы нет, к сожалению.. Иначе возможно мог бы чем-либо помочь.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Поставил оптимизированную функцию searchTree.

У кого есть желание проверить?...

PS: Перечитал ещё раз темку - так и не понял, толи меня никто не понимает, толи я действительно бред говорю.. В любом случае, как-то так :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
NBKua
Posts: 13
Joined: 2007-12-15 11:30:58
Contact:

Post by NBKua »

пользуюсь скриптов вполне удачно, не считая нескольких мелочей.
1. я его в цикл загоняю и после прохождения полного цикла (возвращение на точку откуда начинал рубить) мне необходимо очистить глобальные переменные дабы деревья вырубленые в первом кругу можна было рубить снова.
подскажите как :)
2. было бы неплохо добавить Y координату, на АоС+ранка она имеет значение.

и кстати одна ошибочка

Code: Select all

                  uo.setGlobal( "tree_y", str( x + cy ) )

должно быть

Code: Select all

                  uo.setGlobal( "tree_y", str( y + cy ) )


x на y поменять.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Воё!

1. Тут три варианта:
1.1 Полный перебор (скажем 10к*10к=слишком много)
1.2 Записывать куда-нибудь список вырубленных координат и по списку чистить.
1.3 Я где-то реализовывал ф-цию, чтобы вызывала другие ф-ции через N сек, что было бы тут удобно - знаем, что через час деревья респяться - повесили таймаут на час, через час скрипт забыл, что дерево было вырублено. Соответственно эффективность будет выше. Поищи темку, кажеться я её назвал "эксперементальный скриптинг".
2. Знаю, имеет, но тогда работать без ASM'а не будет, а у последнего на UO ML проблемы некоторые - всё равно некорректно таргет кидает.
За ошибочку спасибо - поправим, говорю же - не тестировал, просто переписал, чтобы цикл был покороче, в теме описано, что и почему. Исправлено вобщем.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
NBKua
Posts: 13
Joined: 2007-12-15 11:30:58
Contact:

Post by NBKua »

пачесал репу немного прикинул все за и против, и ради экономии своего времени и нервоф ляпнул вот такую штуку под твой скрипт ;)
но чота неполучаецца, поправь где я мог ошибиться, с глобальными я пока не совсем логику их работы понимаю...

Code: Select all

Sub clearglob(xx,yy,radius)
var xxc,yyc
xxc=xx-radius
yyc=yy-radius
while yyc<yy+radius
   while xxc<xx+radius
   uo.setGlobal( 't:' + str( xxc ) + "," + str( yyc ), "" )
   xxc=xxc+1
   wend
yyc=yyc+1
wend
endsub
NBKua
Posts: 13
Joined: 2007-12-15 11:30:58
Contact:

Post by NBKua »

немного профтыкал строчку ;)

Code: Select all

Sub clearglob(xx,yy,radius)
var xxc,yyc
xxc=xx-radius
yyc=yy-radius
while yyc<yy+radius
   while xxc<xx+radius
   uo.setGlobal( 't:' + str( xxc ) + "," + str( yyc ), "1" )
   xxc=xxc+1
   wend
xxc=xx-radius
yyc=yyc+1
wend
endsub


этот норма работает хотя и при радиусе 100 вешает уо на дето минуту
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

viewtopic.php?t=12735&highlight=

Вот это лучше попробуй - несколько сыровато, но впринципе - вполне рабочий пример.

Плюс в том, что инжу не подвешивает :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
NBKua
Posts: 13
Joined: 2007-12-15 11:30:58
Contact:

Post by NBKua »

я пока оставил чистку координат после каждой вырубки чищу своим способом, да и нетак уж он и вешает инж ;)
твой скрипт непонял совсем... даже его идею :(
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Ну смотри - мы знаем время респа дерева.. А если незнаем - можем засечь..

Задачей остаётся только запустить скрипт с нужными параметрами через энное время, чем и занимается мой скрипт :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
NBKua
Posts: 13
Joined: 2007-12-15 11:30:58
Contact:

Post by NBKua »

всеже скрипт твой немогу в покое оставить :)
харит меня создавать файлы с масивами :lol:
есть мыслишка
var timeresp=время респа
в скрипте поиска

Code: Select all

if NOT uo.getGlobal( 't:' + str( x + cx ) + "," + str( y + cy ) ) == "empty" then 

меняем на

Code: Select all

if NOT uo.getGlobal( 't:' + str( x + cx ) + "," + str( y + cy ) ) >= timeresp+текущая дата и время then


вот тут стоит чуток падумать... я пока не выяснил какие данные я получу с uo.date() и uo.time()
но вместо 'empty' на дереве ставить текущую дату и время, а уже получить перевести в число, добавить время респа, и сравнить больше или меньше это уже ньюансы ;)
NBKua
Posts: 13
Joined: 2007-12-15 11:30:58
Contact:

Post by NBKua »

наработка по вышесказаному.

Code: Select all

sub datetime(jord,jort)
var serd=str(jord), t=''
var sert=str(jort)
if len(serd)==5 then
serd='0'+serd
end if
if len(sert)==5 then
sert='0'+sert
end if
t=serd+sert
return t
endsub


вызывать можна так.

Code: Select all

uo.print(datetime(uo.date(),UO.time()))


а вот такой вариант сразу покажет проблему складывания времени, пытаемся добавить 59 минут 59 секунд

Code: Select all

tt=val(datetime(uo.date(),UO.time()))+5959
uo.print(str(tt))




еще осталось решить как правильно перевести формат времени ГГММДДччммсс в десятичное исчесление сложить значением респа и патом назад :) и вопщем таймер дерева готов.

как вариант разложить на составляющие сложить по отдельности выделить целое число... но пока в голове не помещается вся логика... что бы изложить ее скриптом.

возможно есть какая-то из стандартных формул. я пока что не нашол.

сенк 2 Mihail за основу
viewtopic.php?t=9399
Mental
Posts: 20
Joined: 2008-10-19 18:34:50

Post by Mental »

Умно размышлаете :)
Подскажите что нужно менять в скрипте чтоб он работал в Оскоме?
Post Reply