marsh123
Member+
offline
Опыт:
1,219Активность: |
Проверить, за какого героя играет игрок?
Извините, что так много тем создаю, просто только начал учить ДЖАСС и есть некоторые вопросы,
Ну так вот, я пытаюсь определить за какого героя играет игрок, при условии что у каждого игрока только 1 герой, написал такой код: Код:
Emoo - код мираны pid - параметр ф-ции(Integer) Но выдает ошибку: Cannot Convert Integer To Unit. Я так понял моя фукция должна брать игрока с ид параметра ф-ции и сравнивать его с игроком - владельцем мираны, не понимаю тогда где у нее там не конвертитца Инт В Юнит? Я впринципе догадываюсь в чем проблема, но как тогда определить то, что мне нужно? Отредактировано marsh123, 30.11.2008 в 11:46. |
30.11.2008, 11:31 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
елементарно, тебе надо передаить не интегер значение типа юнита, а хендл конкретного юнита, к примеру GetOwningPlayer(GetFilterUnit())
|
30.11.2008, 11:51 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
marsh123
Member+
offline
Опыт:
1,219Активность: |
ADOLF
Я правильно понял? if Player(pid) == GetOwningPlayer(GetFilterUnit('Emoo')) then ? Тогда: Too Mane Arguements Passed To Function - ошибка компиля |
30.11.2008, 12:06 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
нет конечно
ADOLF добавил: ГетФилтерЮнитов вообще не должен ничего принимать ADOLF добавил: в каком случае тебе надо рповерять владельца? содержиться ли твоя мирана в переменной (не инт тип юнита, а сам юнит) ? |
30.11.2008, 12:15 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Ему по видимому нужно проверить id героя, принадлежащего конкретному игроку. |
30.11.2008, 12:26 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
Цитата:
Тогда можно смело пикать и записывать ид пикнутого юнита в массив: Код:
Однако лучше будет проверять и записывать ид героя в массив при непосредственном выборе героя. |
|
30.11.2008, 12:46 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
marsh123
Member+
offline
Опыт:
1,219Активность: |
ShadoW DaemoN
Чет я не совсем понял твою функцию, хотя может и понял но это не совсем то.. Мне нужно, чтобы в параметрах ф-ции я мог ввести ID игрока, после чего через if <сравнение> then elseif <сравнение> elseif <сравнение> итп.. Определялся каким героем владеет игрок, ИД которого я ввел.. Цитата:
Нет, переменных я не создавал, только стандартную привел, значит Emoo нельзя использовать? Что-то я совсем запутался |
|
30.11.2008, 13:35 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
marsh123 сделать массив юнитов, при создании/выборе героя помещай его в массив под ячейку ноера игрока, потом когда тебе нужен герой какого то игрока достовай его из этого массива под индесом номера этого игрока
|
30.11.2008, 13:39 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
marsh123
Member+
offline
Опыт:
1,219Активность: |
Jon
Тоесть отследить каким героем управляет игрок можно только через преднамеренное занесение в массив руками ? :( |
30.11.2008, 13:54 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Dragon Knight
Меткий стрелок!!!
offline
Опыт:
4,138Активность: |
Код:
Dragon Knight добавил: Цитата:
зачем руками - создавай героев в определённом регионе, а на событие "A unit Enter Region" заноси Triggering Unit в массив под номером игрока(пример: set h[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetTriggerUnit() ) |
|
30.11.2008, 14:10 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
Цитата:
marsh123, в твоем случае можно юзать немного измененный код swdn, но все-таки лучше заносить героев в массив руками при выборе - так уменьшится количество выполняемых в последствии операций Код:
|
|
30.11.2008, 14:24 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Цитата:
|
|
30.11.2008, 14:35 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
marsh123
Member+
offline
Опыт:
1,219Активность: |
Почему-то не работает, в итоге должна задаться иконка для мультибоарда, сделал как вы сказали, также выкладываю ф-цию, которая задает имя игрока и рядом иконку, имя норм задалось, а у всех вместо иконки глаза..
Код:
|
30.11.2008, 15:00 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
А сами юниты на карте стоят? :) |
30.11.2008, 15:04 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
marsh123
Member+
offline
Опыт:
1,219Активность: |
Van Damm
Да, стоит довольно много героев, каждому игроку по 1 герою, всего 12 игроков, 2 из этих героев - Мирана и Кровавый чародей или как там его.. |
30.11.2008, 15:06 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
Код:
Думаю, теперь все должно заработать. |
30.11.2008, 15:17 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
marsh123
Member+
offline
Опыт:
1,219Активность: |
ShadoW DaemoN
Ой, блин, точно... Забыл про релиз :( щас проверю marsh123 добавил: Работает, тему можно закрыть :) // тема кстати аццкая ^_^ 20666. © swdn. |
30.11.2008, 15:19 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|