Сравнение типов атаки
|
|
SunCreep | Дата: Среда, 29 Июня 2011, 03:52:36 | Сообщение # 1 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Решил настроить интеллект крипов чтоб они били цель с типо защиты который им выгоден.То бишь к примеру если юнит дальний бой имеет больший урон по лёгкой броне,то чтоб он бил лёгкую,а не первую попавшуюся цель.Но не знаю где сравнение типов атаки,так что собственно в этом и есть вопрос. И вот ещё ,если я каждую секунду буду выбирать юнита устанавливать его как переменную,после выбирать юнитов в диапазоне от этого юнита и сравнивать их типы атаки,это не сильно будет сказываться на игре?Ну в смысле не вызовет лагов и т.д.
|
|
|
|
Эллесар | Дата: Среда, 29 Июня 2011, 04:13:58 | Сообщение # 2 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| 1 Способ, чтобы определить тип атаки, нужно составить бд. 2 Способ, создавать илюзии, заставить ударить, по формуле высчитать и узнать какой тип атаки.
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
SunCreep | Дата: Среда, 29 Июня 2011, 04:17:29 | Сообщение # 3 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Эллесар, о первом способе.То бишь изначально составить какой тип юнитов должен бить какой тип?Тогда как ты можешь предложить искать нужного?Ну к примеру если у меня трент должен предпочесть бить танк нежели мечника.Варианты только GuI,триггеры русские.
|
|
|
|
FkoFF | Дата: Среда, 29 Июня 2011, 04:46:40 | Сообщение # 4 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| SunCreep, на гуи можно использовать функции... создать эти самые функции и базы данных и радоваться. В любом случае если ты хочешь патриотично сделать это исключительно на гуи то даже если реализуешь - будет кошмарно тормозить.
|
|
|
|
SunCreep | Дата: Среда, 29 Июня 2011, 05:23:29 | Сообщение # 5 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| FkoFF, каждый твой ответ порождает ещё два моих вопроса: 1)Как создавать эти функции и базы данных? 2)Что будет причиной этих лагов?
Добавлено (29-06-2011, 05:23) --------------------------------------------- И вот ещё,если я сделаю так:
С-атакован У-атакующий юнит тип равно Мечник Д-установить Location1 равно позиция атакующий юнит CS:set bj_wantDestroyGroup = true Д-Выбрать каждый юнит в диапазоне 600 Location1 Если/то/иначе Если выбранный юнит тип равно Лучница Если процент хп атакованный юнит >= 30% То приказать атакующий юнит атаковать выбранный юнит CS:call RemoveLocation(udg_Location1)
Сообщение отредактировал SunCreep - Среда, 29 Июня 2011, 05:27:28 |
|
|
|
DeadJass | Дата: Среда, 29 Июня 2011, 06:52:50 | Сообщение # 6 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| SunCreep, Составляеш бд а именно. например массив юнитов с разнцми защитами Божественная Нет защиты Тяжелая и массив с юнито в разными атаками Божественная Дальняя Ближняя //Атака Holyatc[1]=Паладин Range[1]=Лучник Melee[1]=Мечник //Броня Holy[1]=Паладин Nothing[1]=Лучник Heavy[1]=Мечник
И потом в триггерах ИИ проверяешь из бд например С: Получает урон Д:Цикл if Источник повреждений например Holyatc[интегер А] == true then Выбрать юнитов ля ля ля if выбранный юнит равно Holy[интегер А] then //
Ну вот как то так.
Если очень понадобится может быть напишу рабочую на Jass,ибо гуи боюсь до ужаса.. брр
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
FkoFF | Дата: Среда, 29 Июня 2011, 06:56:10 | Сообщение # 7 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (SunCreep) С-атакован У-атакующий юнит тип равно Мечник Д-установить Location1 равно позиция атакующий юнит CS:set bj_wantDestroyGroup = true Д-Выбрать каждый юнит в диапазоне 600 Location1 Если/то/иначе Если выбранный юнит тип равно Лучница Если процент хп атакованный юнит >= 30% То приказать атакующий юнит атаковать выбранный юнит CS:call RemoveLocation(udg_Location1) это ужасно
Я когда задумался о рационализации пространства памяти - быстро и просто придумал использовать одну общую группу юнитов для всех дейсвтий связанных с pick every
|
|
|
|
SunCreep | Дата: Среда, 29 Июня 2011, 14:08:35 | Сообщение # 8 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| FkoFF, Quote (FkoFF) одну общую группу юнитов для всех действий связанных с pick every что?Я в шоке и не понимаю что ты имел в виду. DeadJass, да,знаешь я попробую сделать сам,не думаю что это сложно)
|
|
|
|
vov68 | Дата: Среда, 29 Июня 2011, 14:45:41 | Сообщение # 9 |
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
| можно попробовать через ИИ: в закладке "Общие" оставляешь только "Пощады не будет", остальное сносишь и даёшь этот ИИ тому игроку, который управляет крипами. герои и строительство тоже чистишь, чего нет - того не должно быть.
Зачем делать для других новые карты... ... лучше устроить коту божественный почесон. :)
|
|
|
|
SunCreep | Дата: Среда, 29 Июня 2011, 14:49:02 | Сообщение # 10 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| vov68, хм,не знаю,а комп не спятит?Там же не стандартные условия победы и я не уверен что о на карте найдёт тир.К тому же я не хотел бы чтоб комп повернул в лес и пошёл крипаться) DeadJass, по твоей системе варианту всё работает,наверно, буду делать так.
|
|
|
|
vov68 | Дата: Среда, 29 Июня 2011, 15:45:08 | Сообщение # 11 |
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
| Quote (SunCreep) а комп не спятит?Там же не стандартные условия победы
а чего ему спятить? делается не стандартный ИИ, выбираешь из условий что надо. путь же ты и так задаёшь триггерно, крипы по нему бегать будут. я так ботам-героя ИИ сделал: (редактор ИИ)+ триггера.
Зачем делать для других новые карты... ... лучше устроить коту божественный почесон. :)
|
|
|
|
SunCreep | Дата: Среда, 29 Июня 2011, 16:00:08 | Сообщение # 12 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| vov68, я не когда с ИИ не работал и не имею даже малейшего понятия как с ним работать.
|
|
|
|
adiga | Дата: Среда, 29 Июня 2011, 16:17:54 | Сообщение # 13 |
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
| vov68, тему говорит, почитай об ии, там не сложно
триггеринг 439/450 спеллкрафт 447/450 картокрафт 427/450 ландшафтинг 189/450 фастмэйкинг 225/225 иконкрафтинг 310/450 импортинг 110/450 самооценкинг 450/450
|
|
|
|
SunCreep | Дата: Среда, 29 Июня 2011, 16:23:50 | Сообщение # 14 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| А это не отразится на уровне компа? В карте за крипов отвечает игрок-компьютер,но он так же всегда отвечает ещё за своего героя.И я хотел делать для каждого героя три тактики в зависимости от уровня компьютера.
|
|
|
|
FkoFF | Дата: Среда, 29 Июня 2011, 16:57:56 | Сообщение # 15 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| DeadJass, плохая идея делать через цикл. При условии что нам требуется закрепить за типом объекта какие либо данные самый разумный вариант с появлением хэштаблиц вешать эти данные сразу на равкод нужного объекта, а ля SaveInteger(udg_UnitsData,'Hpal',0,1) а потом и выдирать сразу с равкода.
В миллион раз быстрее нежели циклы. )
|
|
|
|
Эллесар | Дата: Четверг, 30 Июня 2011, 02:01:51 | Сообщение # 16 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| на гуи же есть хеш таблицы? ну вот привязываешь атаку и защиту по ним. А именно по типу войск
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
SunCreep | Дата: Четверг, 30 Июня 2011, 02:15:40 | Сообщение # 17 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Эллесар, хм,таблицы есть,а опыта нет.Я понятия не имею как с ними работать.Если поясните буду рад.
|
|
|
|
[DS] | Дата: Четверг, 30 Июня 2011, 03:20:13 | Сообщение # 18 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| с хэшами я разобрался ток на джассе, на гуи наверное тоже самое будет.
|
|
|
|
DeadJass | Дата: Четверг, 30 Июня 2011, 11:16:01 | Сообщение # 19 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| Quote (FkoFF) DeadJass, плохая идея делать через цикл. При условии что нам требуется закрепить за типом объекта какие либо данные самый разумный вариант с появлением хэштаблиц вешать эти данные сразу на равкод нужного объекта, а ля SaveInteger(udg_UnitsData,'Hpal',0,1) а потом и выдирать сразу с равкода. Я думаю если будет много юнитов и т.д то хт уступит перебору массивов
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
vov68 | Дата: Четверг, 30 Июня 2011, 13:08:54 | Сообщение # 20 |
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
| Quote (SunCreep) он так же всегда отвечает ещё за своего героя
если герой имеет 10 уровней, как стандарт, то лучше покопаться в ИИ если нет, но не заморачивайся.
а если на триггерах, то можно воспроизвести поведение копма в режиме сражения - событие - юнит атакован условие - атакующий юнит имеет 10% жизни действие - атакованный юнит атаковать атакующего юнита
Зачем делать для других новые карты... ... лучше устроить коту божественный почесон. :)
|
|
|
|