Page 1 of 1
обход шахты
Posted: 06.08.2011 16:30
by Alex
поделитесь алгоритмом который достает из GetStaticTilesArray координаты тайлов шахты а потом бегает по шахте обкапывая 25 точек вокруг, не хочется забегать в каждую точку, хочется обкапывать вокруг перса
Re: обход шахты
Posted: 09.08.2011 1:21
by wax
А зачем, если не секрет? Есть WaitTargetXYZ, запихнуть в двойной for и дело с концом.
Re: обход шахты
Posted: 09.08.2011 13:40
by Alex
не хочется забегать в каждую точку и не хочется в скрипт забивать координаты руками, есть функция, которая возвращает координаты всех тайлов в шахте, остается вопрос - как разделить координаты на те в которые бегать и те которые копать
Re: обход шахты
Posted: 10.08.2011 11:24
by wax
Потратишь на алгоритм больше времени, чем руками пометить себе 10 точек, в которые можно стать, и обкопаться в ±3 тайла.
Re: обход шахты
Posted: 10.08.2011 12:42
by Alex
по этому я не трачу, а спрашиваю, мож кто заморачивался уже))
Re: обход шахты
Posted: 10.08.2011 13:01
by Vizit0r
в одном из топик грюндик выкладывал скрипт на поиск деревьев. выдери нужный кусок оттуда.
вроде как там же выкладывали список возможных тайлов в пещерах. если нет - пни меня, достану из ПОЛа или РанУО список тайлов.
а такой скрипт на майнинг точно кто-то писал, в асе обсуждали, но логи аси по весну включительно отсутствуют, так что увы

Re: обход шахты
Posted: 10.08.2011 13:07
by Alex
список тайлов есть, спасиб, поищу этот скрипт, кстати а не так уж и сложно выделить точки для хождения, примерно даже вижу алгоритм
Re: обход шахты
Posted: 10.08.2011 14:28
by Alex
Code: Select all
all_tiles = []
for tile in tiles_nums:
all_tiles = all_tiles + GetStaticTalesArray(bla, bla, tile)
dict_of_tiles = {}
for tile in all_tiles:
dict_of_tiles[tile]=tile
go_tiles = {}
while len(dict_of_tiles)>0:
cur_tile,(t,cx,cy,cz)=dict_of_tiles.popitem()
is_go_tile=True
for go_tile in go_tiles:
t,gx,gy,gz=go_tile
if Dist(cx,cy,gx,gy)<=4:
is_go_tile=False
if Dist(cx,cy,gx,gy)<=2:
go_tiles[go_tile].append(cur_tile)
else:
dict_of_tiles[cur_tile]=cur_tile
break
if is_go_tile:
go_tiles[cur_tile] = []
вот даже реализация) правда не тестил еще в стелсе
Re: обход шахты
Posted: 10.08.2011 14:30
by Vizit0r
а, питон...
Re: обход шахты
Posted: 12.08.2011 1:03
by grundick
кмк, самое простое - для каждой пещеры создать списки точек, по которым ходить , и не мучать свою задницу и комп алгоритмами...
Re: обход шахты
Posted: 12.08.2011 1:21
by MuDaCk