1

Тема: Написание своих маршрутов

Столкнулся с проблемой в сане когда пошел от королевы на 3-й этаж за еще 25 хлюпами, и там как ни крутись в этом Т-образном перекрестке никак не сделать так чтобы не выйти повторно в одно и тоже положение, повторное посещение клетки(имеется ввиду возможность конструктора "if(dungeonMovementCount["60aaba0791e653afc34bb74c0dce8c12"] == 0) ") работает какимто очень странным образом(имеется ввиду если его применить в конструкторе маршрутов), то он тупо встает на месте. как быть может кто сталкивался с данной проблемой?
пример:
ddf377eef67a6465c185c569a31297b9 : if(dungeonMovementCount["ddf377eef67a6465c185c569a31297b9"] == 0) Walk("m3");

Отредактировано klamat (2010-09-14 14:20:31)

(Please log in or register to see this URL)

2

Re: Написание своих маршрутов

Т.к. этим практически никто не пользуется, тестировали не достаточно, чтобы советовать что-либо именно по данной функции.
Всегда все сводилось к "попробуй боком пройти"... smile
Вобще я понимаю так, что его либо считать == 0, или >0...

Software is like sex: it's better when it's free! © LinusTorvalds

3

Re: Написание своих маршрутов

А можно ли многоуровневое условие написать, к примеру как в приемах:
if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 60)
_name = "krit_wildluck";
else
_name = "krit_blooddrink";
а в маршрутах
if(dungeonMovementCount["ddf377eef67a6465c185c569a31297b9"] => 0)
Walk("m3");
else
Walk("m1");

(Please log in or register to see this URL)

4

Re: Написание своих маршрутов

Можно.
Но не => а >=
это принципиальная вещь smile

Software is like sex: it's better when it's free! © LinusTorvalds

5

Re: Написание своих маршрутов

хорошо сегодня буду пробовать)

(Please log in or register to see this URL)

6

Re: Написание своих маршрутов

не не пашет в таком варианте(((( пробовал
так

be837216451d86c888319fddf1510f6c : if(dungeonMovementCount["be837216451d86c888319fddf1510f6c"] <= 0)
Walk("rl");
else
Walk("rr");

и так

if(dungeonMovementCount["be837216451d86c888319fddf1510f6c"] <= 0) :
Walk("rl");
else
Walk("rr");

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

Кстати есть идея, а можно ли сделать гибрид маршрута такого как был в 7-ке и такого как стал с 8-й и далее версии. имеется ввиду, он идет по клеткам, а начиная с такой клетки по такую будет идти просто список действий не привязанных к клеткам????

Отредактировано klamat (2010-09-15 10:39:21)

(Please log in or register to see this URL)

7

Re: Написание своих маршрутов

if(dungeonMovementCount["ddf377eef67a6465c185c569a31297b9"] => 0)

У тебя всегда будет выполняться это условние, так как значение ниже нуля не бывает.
Замени => на >. Тоесть просто "больше нуля".

8

Re: Написание своих маршрутов

вопрос на засыпку а как он определяет что он на этой клетке в 1-й раз или во второй, это где-то в каких-то логах записано или как?, не судите за назойливость просто очень хочется понять принцип)

(Please log in or register to see this URL)

9

Re: Написание своих маршрутов

dungeonMovementCount[] - это массив.
Ключ элемента массива - идентификатор положения типа ddf377eef67a6465c185c569a31297b9.
Значение - сколько раз наступал.
Наступил - увеличил текущее значение на 1.

Software is like sex: it's better when it's free! © LinusTorvalds

10

Re: Написание своих маршрутов

Итак свершилось
ПРАВИЛЬНО ОФОРМЛЕННОЕ УСЛОВИЕ ВЫГЛЯДЕТ ТАК:

be837216451d86c888319fddf1510f6c : if(dungeonMovementCount["be837216451d86c888319fddf1510f6c"] == 0) Walk("rl"); else Walk("rr");

сейчас допишу маршрут рыцарского задания сана для стрелков, ибо их лишили такого приема как "последний удар@? ну или для тех кто не хочет морочится с переодеванием комплектов в грибнице и т.д.
Вобщем математика в следующем
- поход 55 хлюпов
- если стоять 24/7 то в сутки 440 хлюпов, а не 240
- ровно неделя на выполнение рыцарки

потом хочу замутить еще чтобы за поход получалось 115 хлюпов, но тут сложнее)))).
да и еще тут вопросо скорее всего будет адресован anahronik или zergnm, вот скажите пожалуйста, в файле маршрута с простым условием на 1-й клетке разобрались, а вот есть ли возможность задать несколько условий к примеру:

be837216451d86c888319fddf1510f6c : if(dungeonMovementCount["be837216451d86c888319fddf1510f6c"] == 0) Walk("rl"); else Walk("rr");
be837216451d86c888319fddf1510f6c : if(dungeonMovementCount["be837216451d86c888319fddf1510f6c"] == 1) Walk("m1"); else Walk("m7");

или бот читает только единажды одну и туже клетку, а до следующего условия не доходит, или как сделать к примеру каскадное условие, если Count == 0 условие 1 иначе читай следущую строчку?

Отредактировано klamat (2010-09-15 15:46:31)

(Please log in or register to see this URL)