Что самое печальное в редакторе? Jass
|
|
Наклз | Дата: Воскресенье, 23 Сентября 2012, 10:21:02 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Кто может сказать почему это не работает?
Quote Событие: Юнит входит в зону Условие: входящий юнит = призрак Действие: Личный сценарий Code if GetLocalPlayer() == GetOwningPlayer (GetTriggerUnit ()) then Создать эффект над головой входящего юнита Личный сценарий
Если поменять Code if GetLocalPlayer() == GetOwningPlayer (GetTriggerUnit ()) then на Code if (GetLocalPlayer() == Player(0)) then , то всё работает , но мне надо что б эффект был виден только хозяину юнита...
|
|
|
|
Borodach | Дата: Воскресенье, 23 Сентября 2012, 10:41:46 | Сообщение # 2 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Наклз, Попробуй так: переменная типа строка с названием S установить переменную S = "" Code if GetLocalPlayer() == GetOwningPlayer (GetTriggerUnit ()) then установить переменную S = "твой спецэффект" cоздать спецэффект над головой входящего юнита
Karamba
Сообщение отредактировал Borodach - Воскресенье, 23 Сентября 2012, 10:44:09 |
|
|
|
SirNikolas | Дата: Воскресенье, 23 Сентября 2012, 10:55:14 | Сообщение # 3 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Учим мат. часть.
|
|
|
|
Наклз | Дата: Воскресенье, 23 Сентября 2012, 11:44:35 | Сообщение # 4 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| хм... посмотри на строки... которые я написал... я взял их от туда...Добавлено (23 Сентября 2012, 11:41:41) --------------------------------------------- Borodach, сейчас попробую , спасибо. Добавлено (23 Сентября 2012, 11:44:35) --------------------------------------------- неа не работает , а вот если вынести Code s = war3mapImported\Omniblue.mdx за Code if GetLocalPlayer() == GetOwningPlayer (GetTriggerUnit ()) then то работает... так что я больше чем уверен что ошибка в Code if GetLocalPlayer() == GetOwningPlayer (GetTriggerUnit ()) then , у мя созрела идея , а что если установить переменную типа : Spirit(игрок) = владелец входящего юнита... , тогда как написать Code if GetLocalPlayer() == GetOwningPlayer (GetTriggerUnit ()) then только что бы было Code if GetLocalPlayer() == Переменная ???
|
|
|
|
SirNikolas | Дата: Воскресенье, 23 Сентября 2012, 11:58:07 | Сообщение # 5 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Наклз) if GetLocalPlayer() == GetOwningPlayer (GetTriggerUnit ()) then Создать эффект над головой входящего юнита endif Quote (Функция GetLocalPlayer()) Сначала покажу вам пример: Это десинхронизирующий код, так как: Эта функция возвращает effect... ...а effect наследуется от handle.
|
|
|
|
Наклз | Дата: Воскресенье, 23 Сентября 2012, 12:03:29 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Лучше ответь как записать это : Code if GetLocalPlayer() == GetOwningPlayer (GetTriggerUnit ()) then только с переменной...
|
|
|
|
Ty3uK | Дата: Воскресенье, 23 Сентября 2012, 12:05:44 | Сообщение # 7 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Code local boolean b = GetLocalPlayer() == GetTriggeringPlayer()
if b then call AddSpecialEffectTarget(...) endif
|
|
|
|
Наклз | Дата: Воскресенье, 23 Сентября 2012, 12:23:51 | Сообщение # 8 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Ty3uK, щас опробуем... неа , выбивает ошибку во всех трёх строчьках...
|
|
|
|
SirNikolas | Дата: Воскресенье, 23 Сентября 2012, 12:40:37 | Сообщение # 9 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Code local string s = "model.mdl" if GetLocalPlayer() != GetOwningPlayer(GetTriggerUnit()) then set s = "" endif call DestroyEffect(AddSpecialEffect(s, x, y))
|
|
|
|
Наклз | Дата: Воскресенье, 23 Сентября 2012, 12:45:50 | Сообщение # 10 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| Ty3uK, щас опробуем... неа , выбивает ошибку во всех трёх строчьках... Добавлено (23 Сентября 2012, 12:45:50) --------------------------------------------- SirNikolas, не совсем то что нужно , но это не важно , главное что строчка Code if GetLocalPlayer() != GetOwningPlayer(GetTriggerUnit()) then правильная !!! а остальное я подредактирую. Спасибо!
|
|
|
|
[SeKtOR] | Дата: Воскресенье, 23 Сентября 2012, 15:08:07 | Сообщение # 11 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Всётаки я бы тебе советовал почитать статью про GetLocalPlayer(), а то будешь потом орать на форуме почему всех игроков выкидывает кроме хоста
|
|
|
|
kapa6acvlk | Дата: Воскресенье, 23 Сентября 2012, 17:08:00 | Сообщение # 12 |
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
| SirNikolas, Если мне память не изменияет, то H2I это RB, а RB был выпилен с патчем 1,23. Поэтому, если у тебя есть доступ к редактированию статьи, пофикси.
Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна. © Александр Зорич
|
|
|
|
Наклз | Дата: Воскресенье, 23 Сентября 2012, 20:40:46 | Сообщение # 13 |
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
| GetLocalPlayer(), почитай посты выше , я прочитал ту статью! и десника не будет ща напишу по чему! Добавлено (23 Сентября 2012, 20:40:46) --------------------------------------------- потому что эффект создаётся для всех , но только для этого игрока путь к эффекту нормальный у остальных он пустой , читай выше.
|
|
|
|
Ty3uK | Дата: Воскресенье, 23 Сентября 2012, 20:45:56 | Сообщение # 14 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| #define H2I(h) = GetHandleId(h);
решит проблему с функцией рб :3
|
|
|
|
SirNikolas | Дата: Понедельник, 24 Сентября 2012, 13:37:22 | Сообщение # 15 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Угу, поправлю.
|
|
|
|