nazarpunk, откуда по варкрафту статьи в педивикии? Я ж сказал - как образец, а не копипастить содержимое
Лучше брать оригинал вики сервиса, как пример. Хотя есть и викия фандом, по играм и вселенным.
Зайди в педивикию, выбери "хорошие статьи" и посмотри исполнение любой статьи, Либо зайди в викию, набери в поисковике местном какую нибудь игру и посмотри исполнение, если там тоже есть раздел "хорошие статьи", загляни туда. К чему мне кидать сюда ссылку на рандомную статью?
Берётся любая более менее большая статья из педивикии как образец
Важные термины и слова делаются как ссылки на смежные статьи
Добавляются рисунки, скрины, схемы итд по месту.
Получится такая внутри -хгм "педивикия" по варкрафту, редактору карт, геймдеву итд итп. Единственное, что потребуется, это чтобы юзеры могли вносить правки, а модераторы - их принимать/откатывать. В целом всё, так сгодится.
nazarpunk, прочитать идиот сможет, тут мозгов не надо, в спецшколах их кое-как читать учат. А вот понять итд... rsfghd, ну если человек даже после разжеванной статьи не научится, тогда ему действительно надо другими делами заниматься. Но все же большинство осилит базу. А дальше зависит от устремлений. Но я к тому, что делать изначально статью для "избранных" - бестолковая затея, разве что ЧСВ ради
А вообще, нормальная статья должна быть такой, чтобы даже круглый идиот её мог понять. Если статью поймут 1,5 человека, "с мозгом", как ты говоришь, ценность такой статьи как источника информации и тем более образовательного контента - равна нулю. Это всё равно что сделать игру, которая запускается только на твоём компе и у пары друзей, и нигде больше. И какой толк от такой игры? Кто играть то будет? Здесь также.
В идеале должны быть ещё перекрёстные ссылки на другие статьи, для полноты, но что имеем, то имеем
nazarpunk, rsfghd, можете сами глянуть, какие вопросы обычно задают. 80% примерно одно и то же, по смежным темам, хотя на сайте 100500 статей.
Если же следовать логике - "не надо разжевывать" и "сами должны понять", то можно прямо сейчас снести все статьи с сайта, и пусть сами варик изучают, ибо нефиг. И тратят килотонны часов на изучение изученного и изобретение колёс, вместо того, чтобы потратить их на стоящий проект или новые открытия. Чисто армейский способ получится - подметание ломом и покраска листвы в зелёный цвет, зато в деле
Добавьте, пожалуйста, в статью дополнение:
Что если в функции создаётся новый триггер (например, для группы юнитов через событие получения урона) и есть какие либо вводные данные, то можно сохранить данные в хэш по get handle Id этого триггера, а потом в trigger action'е выгружать данные из хэша через get handle id ( get Triggering Trigger() ).
Подобное можно также провернуть и в функции callback для for group или в функции фильтра boolexpr.
IceFog, скорее всего автор преследует цель, чтобы карту можно было запускать из лобби и не качать заранее доп файл с контентом, а чтобы карта сама его нашла и загрузила к себе. Тогда твой вариант рабочий)
Просто нужно к нему добавить ещё файл наподобие прелоада, где будет список файлов и который можно будет править в блокноте, не залезая в дебри кода )
использовать то можно, только с кем и где потом играть?
Вот потому остро и нужна mix версия ujapi, чтоб можно было скачать файлик вместе с картой и спокойно играть/править карту, но автор ujapi по непонятным причинам отказывается её делать.
Это связано с механикой исполнения триггеров.
В финальном коде у тебя получается for group, в функции которого есть trigger sleep action, а подобная комбинация недопустима, она ломает поток или что то в этом роде.
Тебе нужно сделать 2 pick every - первый на заморозку, затем записать отряд в переменную и потом сделать второй, по отряду из переменной, на разморозку.
В идеале, конечно, без ожидания, а через запуск по таймеру, а то если поставить игру на паузу во время заморозки, то спустя время разморозка... все равно запустится (баг), а таймер так не глючит
Немного кривая механика задумана. Обычно "захват флага" в играх делается так:
Юнит подходит к флагу
Запускается время N минут
Если спустя N юнит находится у флага, то флаг захвачен
Если за время N приходит юнит владелец флага, то захват останавливается
Если флаг нейтральный и к нему приходят 2+ разных юнита, то флаг достаётся тому, чьих юнитов больше у флага спустя N
Примерно так же, как в серии battlefield, в общем)
Нет, модель джасс не меняет. Если модель с ошибкой - например пустая анимация поверхности без поверхности - при показе модели редактор просто вылетит. Сильно сомневаюсь, что в код модели можно всунуть какой нибудь код, который будет портить джасс. А вот как себя ведёт движок- это хз, что там.
Помню, был у меня случай, когда я открывал карту через jngp. В коде были подобные твоим ошибки, но компилятор каким то образом их не замечал. Чудеса, не иначе)
Ну, самое простое, это сделать свою ауру в РО, на основе любой ауры восстановления здоровья и настроить её на тип цели Сам воин, радиус 50 и поставить ей отрицательный параметр регенерации, и триггерно выдавать нужному даммику.
либо можно костылем, создать специального игрока союзника с полным контролем над ним, и все подобные здания давать ему. Управление будет, цвет свой можно выставить, а иконок не будет. Правда там с триггерами будут косяки
host_pi, я просто этот кусок кода выдрал из своего bj файла, для удобства разделил кастомные глобалки на "общие" и "только для мода", "общие" подписал как bj_. Всё просто для собственной же удобочитаемости )
Вариант наработки покраски цветом игрока через массивы, без elseif-ов, для 1.26
globals
constant playercolor PLAYER_COLOR_BLACK = ConvertPlayerColor(12)
playercolor array bj_PlayerColors
string array bj_PlayerColorPrefiks
endglobals
function InitPlayerColors takes nothing returns nothing
// Запускать на старте игры
set bj_PlayerColors[0] = PLAYER_COLOR_RED
set bj_PlayerColors[1] = PLAYER_COLOR_BLUE
set bj_PlayerColors[2] = PLAYER_COLOR_CYAN
set bj_PlayerColors[3] = PLAYER_COLOR_PURPLE
set bj_PlayerColors[4] = PLAYER_COLOR_YELLOW
set bj_PlayerColors[5] = PLAYER_COLOR_ORANGE
set bj_PlayerColors[6] = PLAYER_COLOR_GREEN
set bj_PlayerColors[7] = PLAYER_COLOR_PINK
set bj_PlayerColors[8] = PLAYER_COLOR_LIGHT_GRAY
set bj_PlayerColors[9] = PLAYER_COLOR_LIGHT_BLUE
set bj_PlayerColors[10] = PLAYER_COLOR_AQUA
set bj_PlayerColors[11] = PLAYER_COLOR_BROWN
set bj_PlayerColors[12] = PLAYER_COLOR_BLACK
set bj_PlayerColorPrefiks[0] = "|c00FF0302"
set bj_PlayerColorPrefiks[1] = "|c000142FF"
set bj_PlayerColorPrefiks[2] = "|c001CE5B9"
set bj_PlayerColorPrefiks[3] = "|c008D30C8"
set bj_PlayerColorPrefiks[4] = "|c00FFFC01"
set bj_PlayerColorPrefiks[5] = "|c00FE8B0E"
set bj_PlayerColorPrefiks[6] = "|c0020BF00"
set bj_PlayerColorPrefiks[7] = "|c00E55BB0"
set bj_PlayerColorPrefiks[8] = "|c00959698"
set bj_PlayerColorPrefiks[9] = "|c007DBFF1"
set bj_PlayerColorPrefiks[10] = "|c0030906A"
set bj_PlayerColorPrefiks[11] = "|c007E4F30"
set bj_PlayerColorPrefiks[12] = "|c00606060"
endfunction
function ConvertIndexPlayerColor takes playercolor color returns integer
local integer index = 0
loop
exitwhen color == bj_PlayerColors[index] or index == 12
set index = index + 1
endloop
return index
endfunction
function GetPlayerColorText takes player p, string str returns string
local integer index = ConvertIndexPlayerColor( GetPlayerColor(p) )
return bj_PlayerColorPrefiks[index] + str + "|r"
endfunction
Добавляется событие перманентно, и удалить его нельзя отдельно, можно только отключить и/или удалить сам триггер. Также удалить можно действие и условие триггера, чтоб событие не запускало скрипт действия и не делало проверку по условию (за исключением тех событий, к которым можно добавить условие сразу через встраиваемый boolexpr)
Ред. EugeAl
» WarCraft 3 / Hashtable - работаем с хеш-таблицей
Ред. EugeAl
» WarCraft 3 / Hashtable - работаем с хеш-таблицей
Скрин 1 - название и тип текста. Важные термины ведут на ссылки. Чередуется со скриншотами.
» WarCraft 3 / Hashtable - работаем с хеш-таблицей
Ред. EugeAl
» WarCraft 3 / Hashtable - работаем с хеш-таблицей
» WarCraft 3 / Hashtable - работаем с хеш-таблицей
rsfghd, ну если человек даже после разжеванной статьи не научится, тогда ему действительно надо другими делами заниматься. Но все же большинство осилит базу. А дальше зависит от устремлений. Но я к тому, что делать изначально статью для "избранных" - бестолковая затея, разве что ЧСВ ради
Ред. EugeAl
» WarCraft 3 / Hashtable - работаем с хеш-таблицей
В идеале должны быть ещё перекрёстные ссылки на другие статьи, для полноты, но что имеем, то имеем
» WarCraft 3 / Hashtable - работаем с хеш-таблицей
» WarCraft 3 / Как изменить инконку у способности во время игры?
» WarCraft 3 / Hashtable - работаем с хеш-таблицей
» WarCraft 3 / Hashtable - работаем с хеш-таблицей
Что если в функции создаётся новый триггер (например, для группы юнитов через событие получения урона) и есть какие либо вводные данные, то можно сохранить данные в хэш по get handle Id этого триггера, а потом в trigger action'е выгружать данные из хэша через get handle id ( get Triggering Trigger() ).
Подобное можно также провернуть и в функции callback для for group или в функции фильтра boolexpr.
Ред. EugeAl
» WarCraft 3 / [MemHack] Загрузка .mix файла с модельками прямо в игре
Просто нужно к нему добавить ещё файл наподобие прелоада, где будет список файлов и который можно будет править в блокноте, не залезая в дебри кода )
» WarCraft 3 / Как изменить инконку у способности во время игры?
» WarCraft 3 / Захват генератора с помощью точки/области
» WarCraft 3 / Изменение начальных юнитов
» WarCraft 3 / Заморозка юнитов
В финальном коде у тебя получается for group, в функции которого есть trigger sleep action, а подобная комбинация недопустима, она ломает поток или что то в этом роде.
» WarCraft 3 / Захват генератора с помощью точки/области
Юнит подходит к флагу
Запускается время N минут
Если спустя N юнит находится у флага, то флаг захвачен
Если за время N приходит юнит владелец флага, то захват останавливается
Если флаг нейтральный и к нему приходят 2+ разных юнита, то флаг достаётся тому, чьих юнитов больше у флага спустя N
» WarCraft 3 / GetHeroLevel() и GetUnitLevel()
Вторая выдаёт уровень обычного юнита, прописанный в РО или slk
Ред. EugeAl
» WarCraft 3 / вирусная моделька?
» WarCraft 3 / Редактор: Очередь юнитов на смерть
» WarCraft 3 / Редактор: Очередь юнитов на смерть
» WarCraft 3 / Здания герои?
Ред. EugeAl
» WarCraft 3 / ЦВЕТ - как из игры получить точные значения playercolor в RGB кодировке ?
Ред. EugeAl
» WarCraft 3 / ЦВЕТ - как из игры получить точные значения playercolor в RGB кодировке ?
» WarCraft 3 / Триггер - добавить событие к триггеру