Коллеги, не могу понять, почему карта (см. приложение) после 10-15 итераций ломается и крестьяне стоят.
В кратце - я заставляю бегать крестьян к самому ближнему кусту звездолиста, но после нескольких кустов они наотрез отказываются продолжать движение дальше.
Следующим этапом будет добавление чуточку рандома и генерация случайных свойств дистабилизирующих или улучшающих выживание крестьян в этом тяжелом мире.

Naadir, мне почему-то кажется, что у тебя проблема в том, что есть цветок 1 и 10 работников. И у тебя получаются записи типа:
цветок 1 - работник 10.
цветок 1 - работник 8.
цветок 1 - работник 7.
В общем, массив не отчищается при удалении предмета с карты. А ещё может быть такое, что функция pick предметов на карте, каждый раз выдает разные id предметам.
Добавил БД-индификтор предметам в первую версию поиска.
Получить ID любого предмета можно стандартной гуи-фцией valueitem. Пока что в раздумьях, как сделать адекватную матрицу, адекватно расширяемую? Или возможно её чем-то заменить?
Можно ли как-то обыграть такую структуру в war3?
За неимением мысли о матрице, сделал пока что генерацию "родства" до 4х поколений. Теперь Вы вполне можете узнать, кто был отцом, дедом и прадедом отдельно взятого юнита. См. приложенный файл. по ссылке.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
19
Naadir, эм, одна из них, которая прогоняет все через массив - не пашет. Не знаешь в чем дело? По коду так и не сказать. Во второй, двойной цикл поиска предметов, убивающий варкрафт :)
16
На вот такую версию. У меня не лагает. Чуть-чуть оптимизировал.
С массивом у меня всё работает. Редактор версии 1.29. Сейчас попробую на ранней открыть.
У меня всё работает. Проблема на твоей стороне.
1.26а, 1.27 и 1.29 версии варкрафта с моей последней версией работали дольше 5 минут.
Вот ещё более оптимизированный вариант.
Загруженные файлы
19
Naadir, вот эта версия хорошо пашет. Спасибо :)
Но стоило мне ввести табличку для рандомного генома, все поломалось. У Вас так же?
Загруженные файлы
16
DemonoiD, я не вводил табличку генома.
Я уходил на тренировку и оставлял ту прогу.
Вот лог. Численность держится на ~30 юнитах.
Загруженные файлы
19
Naadir, у меня не пашет. Юниты отказываются ходить :/ но это и правда именно моя проблема, и я не знаю, с чем она связана
16
DemonoiD, я ввёл новый геном "Агрессивный".
Агрессивный рождается при поднятии предмета Работником с шансом 10%
Агрессивный рождается при поднятии предмета Агрессивным с шансом 50%
Работник рождается при поднятии предмета Агрессивным с шансом 50%
Работник рождается при поднятии предмета Работником с шансом 90%
Агрессивный рождается при атаке Работником с шансом 20%
Работник не рождается при атаке Работником
Агрессивный рождается при атаке Агрессивным с шансом 40%
Работник рождается при атаке Агрессивным с шансом 60%
Агрессивные восстанавливают здоровье, когда атакуют других и когда поднимают предмет
Работники восстанавливают здоровье, когда поднимают предмет
Работник имеет 5% шанс атаковать кого-то и 95% шанс брать предмет
Агрессивный имеет 95% шанс атаковать кого-то и 5% шанс брать предмет
Новая версия:
Загруженные файлы
27
у меня похожее было, когда толпа бегала за одним итемом. система
чтобы такого не было, я короче ставил на итем метку, что за ним уже идут. Когда циклом будешь перебирать, надо смотреть если ли на итеме метка, если нет, то бегом за ним.
16
Steal nerves, да это-то понятно. Проблема в том, что здесь айтемов меньше, чем потребителей. Поэтому конкуренция -- норма.
16
В общем, вот конечная версия на данный момент:
Вводить ещё один класс будет сложнее, чем до этого: нужно будет придумать ему фишку, нужно будет обработать его атаки по другим классам, нужно будет обработать его сбор предметов.
Загруженные файлы
27
почему карта (см. приложение) после 10-15 итераций ломается и крестьяне стоят.
  1. потому что не удалена руна, так как указана другая переменная, вместо manipulated item удаляется picked item. Поэтому руна была не удалена (ее не видно, но она на карте есть), но она была самой ближайшей. Короче рабы стояли около нее. Очень долго из-за неудаленного итема мучался, просто не могло быть так. Когда мало, объектов мало, откуда в ней лимит кода. А то у меня после 5-6 сборов, больше не хотели идти, стояли.
  2. нужно проверять приказ Current Order of Unit вместо Issued Order (лучше проверять координаты, я координаты юзаю, сохраняю в хэш, и при смерти вычищаю). лучше каждый раз периодически каждую 1 секунду проверять группу, не стоят ли они. А то есть те, кто могут стоять без дела. завел группу, и в нее заносил всех созданных юнитов. Мне нет нужных пикать всех
  3. если создается предмет (прям в триггере), то нужно перепроверить всех. артефакт может находится рядом, короче юнит может развернуться и подбежать к тока что заспавненному итему, нет смысла бежать за дальним.
  4. не естественно смотрится, когда целое стадо голодное дурачье бежит за ближайшей едой. Если вижу, что спереди бежит два чела, я понимаю, что не успею съесть, и пойду в другую сторону. Понимаете, на карте например 4-5 айтемов, а все бегут за одним, потому что он ближе =), это неправильно..А то и подохнет раньше, или эволюционирует в хитрое и умное. Бывает отделяются несколько челиков от группы (в моей карте), но это чисто случайно. А так бегают группами, так как пищи не много спавнится.
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.