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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
[Вопрос] Проверка координат
peinДата: Среда, 26 Октября 2011, 23:36:32 | Сообщение # 1
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды: 1
Репутация: 272
Блокировки:
Ну у меня такая система,


событие
отряд вошол в область = позиция юнита А0001* с расшерениями (100, 100,)
действие
удамить входящий юнит


где А0001* - юнит на карте.
Вопрос как сделать так чтоб тригер срабатывал не на 1го юнита а на весь тип юнитов А0001*
На гуи я не знаю как сделать и не думаю что можна, может на джасс можно както ?
я не силен в нем :(
 

[san9]Дата: Четверг, 27 Октября 2011, 00:10:21 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1500
Награды: 1
Репутация: 286
Блокировки:
pein,
Заноси в отряд каждого юнита на карте
Quote (pein)
А0001*

Потом проверяй есть ли кто рядом с ним на n расстоянии.


 

peinДата: Четверг, 27 Октября 2011, 00:13:26 | Сообщение # 3
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды: 1
Репутация: 272
Блокировки:
[san9], я так и делаю
Quote (pein)
отряд вошол в область = позиция юнита А0001* с расшерениями (100, 100,)

простоо надо чтоб в событие вместо 1го юнита стоял тип юнитов
 

[san9]Дата: Четверг, 27 Октября 2011, 00:20:15 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1500
Награды: 1
Репутация: 286
Блокировки:
pein,
Ты не так делаешь avtorfffuuu
Чтото типо так

Code
Событие:
Каждые 1 сек   //можно меньше таймер сделать
Условие:
Действие:
Отряд - Выбрать каждого юнита в (Вся карта)
цикл:
Если\то\иначе
Если:
Тип юнита(выбранный юнит) == твой тип
То:
Отряд - выбрать каждого юнита - юниты в диапозоне - Юниты в (200) (Позиция юнита(выбранный юнит))
цикл:
Если\то\инче
Если:
//тут свои проверки делай
То:
//тут действия над юнитами который рядом с нужными юнитами
Иначе:




Сообщение отредактировал [san9] - Четверг, 27 Октября 2011, 00:21:00
 

peinДата: Четверг, 27 Октября 2011, 00:31:54 | Сообщение # 5
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды: 1
Репутация: 272
Блокировки:
[san9], функция должна роботать на протяжение игры а как минимум
Quote (|san9|)

Каждые 1 сек //можно меньше таймер сделать

и
Quote (|san9|)
Отряд - Выбрать каждого юнита в (Вся карта)

будут тупить систему
 

[san9]Дата: Четверг, 27 Октября 2011, 00:33:25 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1500
Награды: 1
Репутация: 286
Блокировки:
pein,
Могу написать на jass не лагающую систему если осилишь с импортом.


 

peinДата: Четверг, 27 Октября 2011, 00:41:21 | Сообщение # 7
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды: 1
Репутация: 272
Блокировки:
[san9], ок
я знаю джасс но оч плохо :) но импортить смогу
 

[san9]Дата: Четверг, 27 Октября 2011, 00:46:32 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1500
Награды: 1
Репутация: 286
Блокировки:
pein,
Скажи тогда более подробную информацию.

Надо проверять есть ли какой либо юнит рядом со всеми юнитами на картами определённого типа?
Каких юнитов проверять?(героев,простых,воздушных или всех.

Добавлено (27 Октябрь 2011, 00:43:52)
---------------------------------------------
И что с ними делать.

Добавлено (27 Октябрь 2011, 00:46:32)
---------------------------------------------
а ну и врагов или союзников


 

Mep3aB4uKДата: Четверг, 27 Октября 2011, 04:22:36 | Сообщение # 9
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
pein, Если ты хочешь сделать типо мины, то как вариант... даешь этому типу юнитов атаку 1-1
С: атакован
У:Атакующий равно А0001
Д:бла-бла
 

Ty3uKДата: Четверг, 27 Октября 2011, 07:04:19 | Сообщение # 10
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
GetUnitTypeId(юнит) == 'тип юнита'

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

lawsonДата: Четверг, 27 Октября 2011, 10:09:01 | Сообщение # 11
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Mep3aB4uK)
Если ты хочешь сделать типо мины, то как вариант

ЧТо за чушь. У меня спелл который по действую схож на мины. Я просто создаю даммика с мне нужной моделькой, создаю под ним rect и локальный триггер на регистрацию входящих в него (rect) юнитов.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Четверг, 27 Октября 2011, 10:09:46
 

Mep3aB4uKДата: Четверг, 27 Октября 2011, 12:15:01 | Сообщение # 12
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
lawson, А если подумать.... как проще будет(ему), и без создания областей,которые тоже жрут память(не значительно но все же)
 

Ty3uKДата: Четверг, 27 Октября 2011, 13:29:04 | Сообщение # 13
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Рект не жрет много памяти. Рект- не область. Это объект. Создавай его в локалку и все хорошо. Памяти будет есть не больше, чем дамми, эффект или молния

Добавлено (27 Октябрь 2011, 13:29:04)
---------------------------------------------
Дуся осадил, сказал что много ректов != много молний. Лагает сильнее. От себя: Но если автору не нужен постоянный рект- думаю будет норм


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

peinДата: Четверг, 27 Октября 2011, 17:43:09 | Сообщение # 14
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды: 1
Репутация: 272
Блокировки:
фишка в том что данная нарабтка должна работать круглосуточно в игре..
Quote (Ty3uK)
GetUnitTypeId(юнит) == 'тип юнита'

и темо можна както замиксить на джасе в событие?

Добавлено (27 Октябрь 2011, 17:43:09)
---------------------------------------------
local real x = I2R(GetUnitPointValueByType('hgry'))
local real y = I2R(GetUnitPointValueByType('hgry'))
как исправить чтоб
х и у были координатами юнита типа hgry

 

[san9]Дата: Четверг, 27 Октября 2011, 17:56:08 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 1500
Награды: 1
Репутация: 286
Блокировки:
pein,
Опиши нормально что ты хочеш сделать я сделаю.


 

Ty3uKДата: Четверг, 27 Октября 2011, 17:58:26 | Сообщение # 16
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
local unit u =
local real x
local real y
if GetUnitType(u) == 'hgry' then
set x = GetWidgetX(u)
set y = GetWidgetY(u)
endif

Добавлено (27 Октябрь 2011, 17:58:26)
---------------------------------------------
После юнит = пиши твоего юнита (триггерюнит и т.д.)


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

peinДата: Четверг, 27 Октября 2011, 18:08:11 | Сообщение # 17
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды: 1
Репутация: 272
Блокировки:
Quote (Ty3uK)
local unit u =
local real x
local real y
if GetUnitType(u) == 'hgry' then
set x = GetWidgetX(u)
set y = GetWidgetY(u)
endif

это должно бить в условие к примеру так
У: юнит вошол в область (позиция юнита u с расшерениями 50, 50)
call RegionAddRect(rectRegion, Rect( x - 50*0.5, y - 50*0.5, x + 50*0.5, y + 50*0.5 ))
не знаю как задать 2 переменных х и у
пока задал их так
local real x = I2R(GetUnitPointValueByType('hgry'))
local real y = I2R(GetUnitPointValueByType('hgry'))
но ето не правильно
 

lawsonДата: Четверг, 27 Октября 2011, 18:30:44 | Сообщение # 18
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
pein, Как создавать ректы есть наработка.

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

peinДата: Четверг, 27 Октября 2011, 18:35:44 | Сообщение # 19
9 уровень
Группа: Проверенные
Сообщений: 1114
Награды: 1
Репутация: 272
Блокировки:
это не то
 

HexingДата: Суббота, 05 Ноября 2011, 19:20:48 | Сообщение # 20
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote
У: юнит вошол в область (позиция юнита u с расшерениями 50, 50)

этого не описать двумя переменными - x и y
попробуйте использовать trigger с event-ом вход на RegionAddRect(rectRegion, Rect( x - 50*0.5, y - 50*0.5, x + 50*0.5, y + 50*0.5 )) -- тоесть на rectRegion и действие - KillUnit(GetEnteringUnit())
p.s. это реализуемо на триггерах... Нужен пример, скажите, скину ссылку в лс


 

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

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