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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Передача целям способности "Москиты"
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:

Не знал, спасибо.
 

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

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