Сейчас 23:04:57 Вторник, 26 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Сравнение типов атаки
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
Блокировки:
можно попробовать через ИИ: в закладке "Общие" оставляешь только "Пощады не будет", остальное сносишь и даёшь этот ИИ тому игроку, который управляет крипами. герои и строительство тоже чистишь, чего нет - того не должно быть. :D

Зачем делать для других новые карты...
... лучше устроить коту божественный почесон. :)
 

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 уровней, как стандарт, то лучше покопаться в ИИ
если нет, но не заморачивайся. :D

а если на триггерах, то можно воспроизвести поведение копма в режиме сражения -
событие - юнит атакован
условие - атакующий юнит имеет 10% жизни
действие - атакованный юнит атаковать атакующего юнита


Зачем делать для других новые карты...
... лучше устроить коту божественный почесон. :)
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz