От временного безделья внедрили стрелы в Flash - теперь они видимые и летят куда надо. При проигрывания события "удаленная атака" вызываем функцию makeArrow. В функции четыре параметра - исходные координаты и цели.
В самой функции создается объект типа creature с типом -2, с анимацией передвижения. Количество шагов анимации (animate_num) зависит от расстояния (иначе каким не было расстояние - стрела летела одно и тоже время - и для выстрела в упор была очень замедленная анимация).
![]() |
Итак это то место, где обменивают золотую монету на опыт. Изначально задумывалось изничтожение шаров, но наш дизайнер как бы спросил, а откуда (по истории) будут брать бесконечное число шаров? |
Сделал редизайн сундука и окончательный функционал по взятию вещей, на сервере.
Также теперь выводится артефакты на экране в зависимости от общего количества, один арт - выводится по середине, если два - то по краям.
Код примитивный :)
Зато так более красивее, мне кажется
Начал реализовывать сбор вещей из сундуков, для начала нарисовал сундук в двух вариантах: закрытый и открытый
Думаю как реализовывать сундуки, есть два варианта:

Делаю глобальную "мировую" карту. Рисую в Flash, вообще конечно идею/графику мне подкинул Илля Варгатий , за что ему большое спасибо (жаль что контакт прервался).
Все думаю насчет героя и аммуниции, спросил совета на форуме www.flasher.ru и вроде бы его получил :)
Что не может не радовать, т.к. получил ответ на оба варианта моих задумок:
1) грузить разными клипами и объединять их в один
2) скрывать на клипе все сейчас не нужное(например в оружии меч, если выбран топор и тому подобного множество вещей)
Когда начал делать арену, понял какой ужасный код получился и сколько в нем косяков и багов.
Во-первых пришлось срочно добавить переменную очередности - чтоб клиент знал, кто сейчас ходит.
Во-вторых у при получение данных о существе если это был игрок (id>10000) то второму игроку не передавалось его HP, а у меня было повязано на это условие - нет HP - не показывался персонаж (считалось что он уже умер)
Но самый главный косяк и не продуманность была в getaction - получении и обработки команд с сервера.
Пытался сделать уже веб реализацию арены, но вперся в то, что есть несколько статусов.
Вернее как – для начала жмем по ссылке на арене – все хорошо, мы либо попадаем в заявку, либо создаем ее. Далее должен сработать редирект на лабиринт, либо все должно вернуться на вид арены (т.е. открытое двухуровневое меню на тот уровень).
Муторно это т.к. теоретически это меню может быть в любом месте и запоминать параметры (а именно так передается сейчас пункт меню/подменю) муторно.
В Flash передача оказалась (как и предполагалась) ерундовым делом:
Кнопка, на кнопке onPress.
on (press) {
btn_apply._visible = false;
var inv='';for(var i=0;i<_root.itemsList.length;i++) {
var tmp = itemsList[i].id.toString(16);
if (tmp.length<6) { var i=6-tmp.length; for(var j=0;j<i;j++) {tmp='0'+tmp;} }
inv+=itemsList[i].place.toString(16)+tmp;
}
loadVariablesNum(_root.host+"/maze?action=set_inv&inv="+inv+"&sessionid="+_root.session,0);
}
Ну да в Flash'ку пришлось передавать host, ну думаю может и не надо.
На стороне сервера :

С инвентарем получилось как-то с одной стороны проще, а с другой - сложнее.
Провозился в целом, а онлайн для подрузки описаний и параметров вещей и вовсе не потребовался.
В Flash нарисовал картинку - силуэт человека и квадраты куда можно понавесить вещей (оригинально, правда? :).
Создаю два массива: