|
|
|
|
Передача целям способности "Москиты"
|
|
Nerobrine | Дата: Четверг, 17 Апреля 2014, 10:16:48 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 336
Награды: 0
Репутация: 102
Блокировки:
| Делаю две способности, 1 которая дает способность "москиты" и 2, которая ее отбирает. Однако данной способности нету в списках, уточню, что я имею ввиду москиты, которые делают юнита некликабельным. Может быть можно использовать Jass через Custom script, однако не знаю как.
"Хаос — не пропасть. Хаос — это лестница. Многие пытались взобраться по ней, но оступились и уже не пытались вновь — падение ломало их. У других был шанс взойти наверх, но они отказывались, продолжая цепляться за государство, за богов или за любовь. Всё это иллюзии. Реальна лишь лестница, и важен лишь подъем наверх." Петир Бейлиш - Игра престолов
|
|
|
|
Bibo | Дата: Четверг, 17 Апреля 2014, 11:53:40 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Цитата Nerobrine ( ) уточню, что я имею ввиду москиты, которые делают юнита некликабельным А других то и нет. В Jass-е функция которая дает способность юниту, называется UnitAddAbility, а которая удаляет UnitRemoveAbility. Используется следующим образом: Код call UnitAddAbility(ТвойЮнит, ТвояСпособность) call UnitRemoveAbility(ТвойЮнит, ТвояСпособность) ТвойЮнит - переменная, в которой хранится необходимый юнит, например udg_Unit. Напомню, при использовании в Jass-e глобальных переменных, к их названию нужно добавлять приставку udg_. Эта приставка автоматически добавляется к названиям глобальных переменных, при их создании, однако в GUI крывается редактором для удобства. ТвояСпособность - raw-код способности, которую ты хочешь дать или удалить. Raw-код способности можешь посмотреть в редакторе объектов, нажав сочетание клавиш Ctrl + D. При этом, указывая raw-код способности, его нужно брать в апострофы. Пример: Код call UnitAddAbility(udg_Unit, 'AHtb') call UnitRemoveAbility(udg_Unit, 'AHtb') Здесь мы даем и удаляем способность "Молот бурь" горного короля у юнита в переменной Unit.
Способность "Москиты" имеет raw-код 'Aloc'. Если дать юниту способность москиты, а затем удалить, он станет некликабелен, однако его по прежнему можно будет выбрать прямоугольным выделением.
Сообщение отредактировал Bibo - Четверг, 17 Апреля 2014, 11:53:54 |
|
|
|
Imba_pvL | Дата: Четверг, 17 Апреля 2014, 13:05:49 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
| Кстати у экстрематора в редакторе можно добавить способность Москиты. (причина неизвестна)
|
|
|
|
Nerobrine | Дата: Четверг, 17 Апреля 2014, 13:22:02 | Сообщение # 4 |
7 уровень
Группа: Проверенные
Сообщений: 336
Награды: 0
Репутация: 102
Блокировки:
| Bibo,спасибо большое, вопрос последний и можно закрыть тему, как написать на джаззе "Построенная структура"? То есть здание, которое достроили.
"Хаос — не пропасть. Хаос — это лестница. Многие пытались взобраться по ней, но оступились и уже не пытались вновь — падение ломало их. У других был шанс взойти наверх, но они отказывались, продолжая цепляться за государство, за богов или за любовь. Всё это иллюзии. Реальна лишь лестница, и важен лишь подъем наверх." Петир Бейлиш - Игра престолов
Сообщение отредактировал Nerobrine - Четверг, 17 Апреля 2014, 13:23:33 |
|
|
|
Bibo | Дата: Четверг, 17 Апреля 2014, 13:22:24 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Цитата Imba_pvL ( ) Кстати у экстрематора в редакторе можно добавить способность Москиты. (причина неизвестна) Потому что JNGP.
|
|
|
|
Nerobrine | Дата: Четверг, 17 Апреля 2014, 13:25:08 | Сообщение # 6 |
7 уровень
Группа: Проверенные
Сообщений: 336
Награды: 0
Репутация: 102
Блокировки:
| Цитата Nerobrine ( ) Bibo,спасибо большое, вопрос последний и можно закрыть тему, как написать на джаззе "Построенная структура"? То есть здание, которое достроили.
"Хаос — не пропасть. Хаос — это лестница. Многие пытались взобраться по ней, но оступились и уже не пытались вновь — падение ломало их. У других был шанс взойти наверх, но они отказывались, продолжая цепляться за государство, за богов или за любовь. Всё это иллюзии. Реальна лишь лестница, и важен лишь подъем наверх." Петир Бейлиш - Игра престолов
|
|
|
|
Bibo | Дата: Четверг, 17 Апреля 2014, 14:11:26 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Если имеется в виду сообщение игрокам о завершение строительства, то: Код call DisplayTextToPlayer(GetLocalPlayer(), 0.00, 0.00, "Построена структура " + GetObjectName(GetUnitTypeId(GetConstructedStructure()))) Покажет всем игрокам сообщение "Построена структура <имя_построенного_юнита>"
Сообщение отредактировал Bibo - Четверг, 17 Апреля 2014, 14:29:08 |
|
|
|
Overkills | Дата: Четверг, 17 Апреля 2014, 16:04:38 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
| Боже, неужели так трудно написать на GUI и перевести на джасс, а потом посмотреть как оно пишется?
|
|
|
|
Bibo | Дата: Четверг, 17 Апреля 2014, 16:26:26 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Цитата Overkills ( ) Боже, неужели так трудно написать на GUI и перевести на джасс, а потом посмотреть как оно пишется? Не думаю что хорошим решением будет скопировать BJ-функцию DisplayTextToForce из GUI, которая в свою очередь работает не с конкретным игроком, а с группой игроков, посредством очередной BJ-функции GetPlayerAll. А в случае, если необходимо показать текст одному игроку, пришлось бы создавать свои переменные типа группа игроков. К тому же, в данном случае, помимо отображения текста, идет обращение к функциям GetObjectName и GetConstructedStructure, которые вызовут большие затруднения у GUI-шника, даже в случае наличия JNGP и подсветки синтаксиса. Другими словами, этот вопрос появился бы в любом случае. Однако хочу заметить, если начинаешь регулярно использовать Custom Script, переходи сразу на Jass. Сочетание GUI + CS вставок, крайне негативно сказывается на результате.
|
|
|
|
Overkills | Дата: Четверг, 17 Апреля 2014, 16:28:46 | Сообщение # 10 |
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
| Я не про текст, а вообще говорю. Да я и не имел ввиду просто скопировать, можно ведь изменить.
|
|
|
|
Bibo | Дата: Четверг, 17 Апреля 2014, 16:44:53 | Сообщение # 11 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Цитата Overkills ( ) Я не про текст, а вообще говорю. Да я и не имел ввиду просто скопировать, можно ведь изменить. В этом нет смысла, как и в том, что я написал выше. Человек не начнет ходить прямо, пока не выбросит костыли.Добавлено (17 Апреля 2014, 16:44:53) --------------------------------------------- Я сегодня несу какую-то ахинею...
|
|
|
|
Nerobrine | Дата: Четверг, 17 Апреля 2014, 17:57:44 | Сообщение # 12 |
7 уровень
Группа: Проверенные
Сообщений: 336
Награды: 0
Репутация: 102
Блокировки:
|
Решил сделать небольшое удобство, а именно сделать кнопку некликабельной щелчками, но чтобы прямоугольным выделением выделялось. Однако "Москиты" не удалились.
"Хаос — не пропасть. Хаос — это лестница. Многие пытались взобраться по ней, но оступились и уже не пытались вновь — падение ломало их. У других был шанс взойти наверх, но они отказывались, продолжая цепляться за государство, за богов или за любовь. Всё это иллюзии. Реальна лишь лестница, и важен лишь подъем наверх." Петир Бейлиш - Игра престолов
Сообщение отредактировал Nerobrine - Четверг, 17 Апреля 2014, 18:00:26 |
|
|
|
Bibo | Дата: Четверг, 17 Апреля 2014, 18:38:17 | Сообщение # 13 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Перед тем как удалить способность "Москиты", скрой боевую единицу.
Сообщение отредактировал Bibo - Четверг, 17 Апреля 2014, 19:13:23 |
|
|
|
SirNikolas | Дата: Четверг, 17 Апреля 2014, 18:45:18 | Сообщение # 14 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата Bibo ( ) пришлось бы создавать свои переменные типа группа игроков. from Blizzard.j:[code=jass]globals //...
// Force predefs force bj_FORCE_ALL_PLAYERS = null force array bj_FORCE_PLAYER
//... endglobals
function InitBlizzardGlobals takes nothing returns nothing //...
// Init force presets set index = 0 loop exitwhen index == bj_MAX_PLAYER_SLOTS set bj_FORCE_PLAYER[index] = CreateForce() call ForceAddPlayer(bj_FORCE_PLAYER[index], Player(index)) set index = index + 1 endloop
set bj_FORCE_ALL_PLAYERS = CreateForce() call ForceEnumPlayers(bj_FORCE_ALL_PLAYERS, null)
//... endfunction[/code]
|
|
|
|
Nerobrine | Дата: Четверг, 17 Апреля 2014, 19:02:54 | Сообщение # 15 |
7 уровень
Группа: Проверенные
Сообщений: 336
Награды: 0
Репутация: 102
Блокировки:
| Bibo, все заработало, спасибо
"Хаос — не пропасть. Хаос — это лестница. Многие пытались взобраться по ней, но оступились и уже не пытались вновь — падение ломало их. У других был шанс взойти наверх, но они отказывались, продолжая цепляться за государство, за богов или за любовь. Всё это иллюзии. Реальна лишь лестница, и важен лишь подъем наверх." Петир Бейлиш - Игра престолов
|
|
|
|
GodOfDead | Дата: Четверг, 17 Апреля 2014, 20:05:44 | Сообщение # 16 |
7 уровень
Группа: Проверенные
Сообщений: 302
Награды: 0
Репутация: 115
Блокировки:
|
Если ты не знаешь кто это ---> , то ты оочень многое упустил в своей жизни...
|
|
|
|
Bibo | Дата: Четверг, 17 Апреля 2014, 22:47:55 | Сообщение # 17 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Цитата SirNikolas ( ) from Blizzard.j: Не знал, спасибо.
|
|
|
|
|
|
|
|
|
|
|