Сейчас 17:09:29 Пятница, 29 марта, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Проблема с системой
Проблема с системой
FaionДата: Воскресенье, 16 Мая 2010, 21:33:23 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:

Коротко о системе:
Цикл А действий для каждого города.
Цикл x:
- ищет ближайший город противника, по отношению к городу А и записывает наименьшее найденое значение;
- ищет ближайшего героя противника, по отношению к городу А и записывает наименьшее найденое значение;
После цикла х, идет сравнение 2х полученных значений, наименьшее присваивается как точка для атаки, для каждого города А;
Цикл B действий, для каждого города А;
проверяются все группы города А на присутствие(т.е. живы или нет), если нет, то создает, в соответствии с владельцем города А,
в соответствии с нужным типом, уровнем и количеством.

После юниты отправляются в точку атаки, которая просчитывается ранее.

Проблемы:
- В 4 шаге не смотря на то что система определяет что отряд мертв, юниты не создаются; Причем когда как, то создаются, то не создаются(условие изменяется при перезапуске мапы);
- Точка атаки просчитывается верно 1-ый раз, при повторном расчете, точка атаки устанавливается на центр карты, почему - не понятно;
- Юниты не отправляются в точку атаки;

В общем посмотрите свежим взглядом, мб я какой мелочи не заметил, или какую глупую ошибку допустил, ибо я статьи не читаю, сам разбираю что каждая функция делает и как=)


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

windrunnerДата: Воскресенье, 16 Мая 2010, 21:40:59 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
Quote (Faion)
В общем посмотрите свежим взглядом, мб я какой мелочи не заметил, или какую глупую ошибку допустил, ибо я статьи не читаю, сам разбираю что каждая функция делает и как=)

В гуи все так делают=)Пометь шаги чтоль


И в правду мир сошел с ума...
И до тех пор пока нас не обесточат
Пока не догорит аварийных фонарей заряд
Мы будем жечь тут электричество что есть мочи
Русский мапмейкинг - бессмысленный и беспощадный.xD
 

FaionДата: Воскресенье, 16 Мая 2010, 21:45:26 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (windrunner)
В гуи все так делают=)Пометь шаги чтоль

Quote (Faion)
Коротко о системе:
Цикл А действий для каждого города.
Цикл x:
- ищет ближайший город противника, по отношению к городу А и записывает наименьшее найденое значение;
- ищет ближайшего героя противника, по отношению к городу А и записывает наименьшее найденое значение;
После цикла х, идет сравнение 2х полученных значений, наименьшее присваивается как точка для атаки, для каждого города А;
Цикл B действий, для каждого города А;
проверяются все группы города А на присутствие(т.е. живы или нет), если нет, то создает, в соответствии с владельцем города А,
в соответствии с нужным типом, уровнем и количеством.

После юниты отправляются в точку атаки, которая просчитывается ранее.

Не пойдет так чтоли?=)


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

windrunnerДата: Воскресенье, 16 Мая 2010, 21:57:32 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
Quote (Faion)
Не пойдет так чтоли?=)

Не обратил внимания=)


И в правду мир сошел с ума...
И до тех пор пока нас не обесточат
Пока не догорит аварийных фонарей заряд
Мы будем жечь тут электричество что есть мочи
Русский мапмейкинг - бессмысленный и беспощадный.xD
 

_ShadowДата: Понедельник, 17 Мая 2010, 06:46:18 | Сообщение # 5
8 уровень
Группа: Проверенные
Сообщений: 581
Награды: 0
Репутация: 65
Блокировки:
Кстати вроде ошибка вот где. Там зона игровой карты. После смерти юнитов зоны либо исчезают, либо остаются на мести смерти. Поэтому, советую сделать так. Создать несколько триггеров
1) Считает расстояние
2) Сравнивает их
3) Проверка живая ли цель
4) Присваивание точки атаки
5) Отправление юнитов на точку атаки, и новый подсчёт расстояния
Это всё засунь в одну категорию и тогда ошибки не будет (если она была допущена в одном триггере), а имея разбитые триггеры проще ориентироваться.
 

FaionДата: Понедельник, 17 Мая 2010, 13:58:35 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Во посмотрел, нашел одну ошибку, сравнение полученных длин нужно внести в цикл "X", щас проверю.

Добавлено (17-05-2010, 13:58)
---------------------------------------------
Туплю, не над вносить >_<.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

_ShadowДата: Понедельник, 17 Мая 2010, 14:01:39 | Сообщение # 7
8 уровень
Группа: Проверенные
Сообщений: 581
Награды: 0
Репутация: 65
Блокировки:
Quote (Faion)
не над вносить >_<.

Quote (_Shadow)
Там зона игровой карты. После смерти юнитов зоны либо исчезают, либо остаются на мести смерти

внеси в цикл, и разбей всё по отдельным триггерам. должно помочь ;)
 

FaionДата: Понедельник, 17 Мая 2010, 15:49:47 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Изначально было в разных, вынос по разным не поможет, более того, будет лишнего кода море. Система поиска цели, и система создания хоть и в одном триггере, но не зависят друг от друга в целом.

Добавлено (17-05-2010, 14:31)
---------------------------------------------
В общем суть проблемы вычислил... почему то юниты не видят эту точку, если записать приказ идти в центр карты, то юниты пойдут. Точка устанавливается верно, т.к. маркером на карте отмечаются верные точки. Прям загадка ВЕ, пробовал убирать ремов точки, тоже не помогло=)

Добавлено (17-05-2010, 15:49)
---------------------------------------------
Убицца блин, сменил приказ с attack-move to point, на attack unit, и работает, тварь, ведь почти одно и то же. Вот пойми потом как работет этот чертов вар, или у меня что то с варом, но заметил что attack-move to point() у меня вообще как правило не работает. Вообще не буду эту тупую функцию юзать >_<


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

_ShadowДата: Понедельник, 17 Мая 2010, 16:04:47 | Сообщение # 9
8 уровень
Группа: Проверенные
Сообщений: 581
Награды: 0
Репутация: 65
Блокировки:
Quote (Faion)
- Точка атаки просчитывается верно 1-ый раз, при повторном расчете, точка атаки устанавливается на центр карты, почему - не понятно

А эта проблема исчезла???
 

FaionДата: Понедельник, 17 Мая 2010, 16:09:38 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Да, все работает корректно, если указать как цель атаки не точку, которую я создавал, а юнита, я могу объяснить это только тем, что в самом варе какой то глюк, потому что реально в коде все верно, я его в течении дней 3х как только не изменял и не проверял.
В общем факт в том, что если указать attack-move to центр карты, то юниты шли, корректность присвоения точки проверял. В общем все теперь работает как нужно, в некотором смысле даж лучше такая реализация чем через точку.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

FaionДата: Среда, 26 Мая 2010, 20:55:12 | Сообщение # 11
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:

Меня интересует, что может тут обнулить переменную массив udg_CityGuardsCount[udg_VALUE[8]]. Лично я найти не могу что бы могло обнулить массив. Проверял правильно ли заполняется массив, заполняется верно, но в условии где идет сравнение значений другого массива и этого массива возникает проблема, массив по какой то причине принимает значение 0.

Прикрепления: 9796971.jpg (170.1 Kb)


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

MTTДата: Четверг, 27 Мая 2010, 00:25:48 | Сообщение # 12
9 уровень
Группа: Пользователи
Сообщений: 941
Награды: 0
Репутация: 81
Блокировки:
Faion,
копаться чужих массивах ето ужасно, ты делаеш по своему, а нам разбераться долго, сам тести, иди по порядку, где у тебя не работает и все... по скрину, это нада копировать, или вчитываться, проще карту тебе сюда кинуть и обьяснить, что не работает и как оно должно работать и, если и не получиться найти ошибку, можно все сделать самостоятельно заного.
 

kaisarДата: Четверг, 27 Мая 2010, 06:48:20 | Сообщение # 13
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
скинь мапу, мы посмотрим. А то не у всех енгл. триггеры.
 

FaionДата: Пятница, 28 Мая 2010, 14:39:20 | Сообщение # 14
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
MTT, система полностью рабочая, за одним НО, по какой то причине массив данных обновляется, хотя я его не использую нигде по сути, он просто хранит значения постоянные, которые я не изменяю. Я делал проверку на заполнение массива, массив верно заполнялся, а потом перед использованием данных массива в системе я снова делал проверку, а он оказывался пустой, пытался избегнуть использование этой переменной (в ней хранится количество защитников каждого города), путем использования отрядов для каждого города, но при тоже не вышло, проверка показывала что отряд пустой\все юниты мертвы, хотя это не так.
В общем ломаю голову над этим странным багом. Отмечу еще что переменные этой системы используются только в этой системе, и еще при инициализации, т.е. конфликтов с другими системами или еще чем просто не может быть. Да и еще одна мистическая проблема. У меня определенный тип юнитов занесен в переменную, которая хранит их тип, и в системе где идет проверка на тип юнита, некоторые юниты по какой то причине ее не проходят >_< Видимо я уже ВЕ сломал :D

Quote (kaisar)
А то не у всех енгл. триггеры.

Вообще то у мя ру WE, просто там сплошные переменные, присмотрись=)


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

kaisarДата: Пятница, 28 Мая 2010, 14:55:20 | Сообщение # 15
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
ах да, точно) ну лучше все же скинь мапу xD
 

FaionДата: Пятница, 28 Мая 2010, 16:23:06 | Сообщение # 16
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (kaisar)
ах да, точно) ну лучше все же скинь мапу xD

Не скину по простой причине, система в проекте, вытаскивать на тест мапу для демонстрации очень геморно.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

MTTДата: Пятница, 28 Мая 2010, 19:17:23 | Сообщение # 17
9 уровень
Группа: Пользователи
Сообщений: 941
Награды: 0
Репутация: 81
Блокировки:
А проект много весит чтоли?
Почиму ты этот триггер называеш системой?
Копаться в русских тригерах ето не оч. весело.
Суть твоего триггера мне всетаки не ясно, расскажи, что он должен делать воопще, а не толко то, что не работает.

Добавлено (28-05-2010, 19:17)
---------------------------------------------
Что за ЦЦД что за переменная Х? как мы можем понять воопще твою проблему?

 

FaionДата: Суббота, 29 Мая 2010, 07:15:55 | Сообщение # 18
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
Quote (MTT)
А проект много весит чтоли?

7+ мб, но дело не в этом, кто будет свой проект кидать в шару=)

Quote (MTT)
Почиму ты этот триггер называеш системой?

Потому что этот тригер систематизирует респавн гвардов для любого количества городов, нужного типа, контроллера, в нужной точке и тд, а так же при определенных условиях меняет владельца.

Quote (MTT)
Суть твоего триггера мне всетаки не ясно, расскажи, что он должен делать воопще, а не толко то, что не работает.

В нем работает все как раз=) Просто по какой то причине в процессе выполнения обнуляется переменная udg_CityGuardsCount[udg_VALUE[8]], хотя мне этого и не нужно вовсе, я нигде не вызываю обнуление этого массива.

Quote (MTT)
Что за ЦЦД что за переменная Х?
Не туда смотришь)) То вообще другая часть системы, которая работает независимо от этой части, и никак не затрагивает работу.


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

kaisarДата: Суббота, 29 Мая 2010, 07:23:32 | Сообщение # 19
9 уровень
Группа: Проверенные
Сообщений: 814
Награды: 0
Репутация: 91
Блокировки:
Не знаю в чем тут дело, но если ты не вызываешь нигде обнуление, и она самовольничают, то может быть это из за массива, с ними вообще всегда много проблем)))попробуй ка массивные переменные заменить на обычные
З.Ы. у меня иногда они просто не хотят работать, а заменяю на обычные и все поперло......
 

FaionДата: Суббота, 29 Мая 2010, 14:16:45 | Сообщение # 20
10 уровень
Группа: Проверенные
Сообщений: 1894
Награды: 0
Репутация: 430
Блокировки:
kaisar, у меня нету возможности заменить массивную переменную на обычную. Но ты верно отметил, массив самовольничает=)

О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Проблема с системой
  • Страница 1 из 1
  • 1
Поиск:

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