Page 1 of 1

И снова, или опять Lamberjecking.

Posted: 06.03.2010 17:42
by Oswald
Когда Edred писал свой "Урок 11", он говорил так:
Во-первых, нам потребуется массив координат деревьев, их типов, а также, с учетом отсутствия удобной ходилки с обходом препятствий, массив координат в которых чар должен стоять перед деревьями.
На сегодняшний день удобная ходилка существует и работает исправно.
Учитывая этот факт, я захотел написать скрипт на ламбер, но так как знаний катастрофически не хватает, приходится обращаться сюда, чего я очень не люблю - как то стыдно выставлять себя неучем и бестолковкой. :oops:

Собственно говоря, мне не составило труда написать участки кода с подходом к дому, выгрузкой, хождения к кресту и назад. Но вот сам процесс вырубки я осилить не могу. А задумал я это так:
У нас имеются вырубаемые типы тайлов (3277, 3280, 3283, 3286, 3289, 3291, 3294, 3296, 3299, 3302)

сам блок вырубки я представил себе таким образом

Code: Select all

var
вырубкаХ, вырубкаY

1. определение координат и типа тайлов в радиусе // здесь ещё не знаю какое значение 
используя при этом функцию:

function ReadStaticsXY(X,Y: Word; WorldNum: Byte): TStaticCell; // Возвращает тип тайла с координатами и цветом, а так же количество слоев

2. когда один из типов совпадёт с вырубаемым, то  присвоить его координаты переменным 
3. подход к тайлу MoveXY(вырубкаХ, вырубкаY, false, 1, true);
4. юзать тип/объект, потом таргет на тайл.
5. идти дальше, к следующему найденному тайлу.
Понятно, что потом надо будет сделать проверки на вес, мёртвость, мессаджи и т.д., это я смогу.

Подскажите как реализовать код? Правильно ли я предполагаю использовать именно эту функцию? Как при этом не рубить опять тоже дерево? Да и вообще, возможно ли это? :) Или как в старые добрые времена прокладывать маршруты?

Posted: 06.03.2010 18:06
by SaNeK
Ну если ты знаешь что снова. То чего новую создавать. Есть куча ламберов. И уже 2 раза разжовивался ридстатик. Ну аж до дотошных мелочей
http://stealth.od.ua/forum/viewtopic.ph ... sc&start=0
Внимательно смотрите форум и не дублируйте темы

Posted: 06.03.2010 20:12
by Oswald
Хорошо, по поводу ридстатика понял, буду вкуривать.
Есть куча ламберов.
Но все они опять же берут массивы передвижения и тайлов из файлов.
Присвоить координаты переменным, думаю тоже разберусь, чтоб не нервировать вас, всякими глупостями не отвлекать. )
Но, как при этом не рубить опять тоже дерево?
Я же не прошу: нарисуйте мне скрипт. Я прошу ткните меня:
По пункту раз использовать функции такие то.
По пункту два - такие.
По вопросу о неповторной рубке - такие и такие.

Для этого вроде и существует форум, в частности раздел хелп.

Posted: 06.03.2010 21:08
by SaNeK
function GetStaticTilesArray
Получаешь все деревья в заданной зоне по тайлу и рубаешь себе их по очереди

Posted: 06.03.2010 22:02
by WladL
Прям то, что ты хочешь сделать.
http://stealth.od.ua/forum/viewtopic.php?t=1395

Posted: 08.03.2010 12:15
by Oswald
Спасибо WladL, спасибо SaNeK!
Так проще, на основе уже созданного, разобраться и сделать всё под себя.