26

» WarCraft 3 / Не запускается миссия кампании с JASS-триггером.

quq_CCCP, извлёк. Теперь мне засунуть этот код в копию этой карты, которую в редакторе кампаний добавить в кампанию и сохранить? Вроде как получается то же самое, как при сохранении карты в JNGP отдельно, а потом её добавлении в кампанию.
P. S. Цвета персонажей слетели при этом способе, а они очень важны. Хотя так код и правда работает.
P. P. S. Сначала карта запускалась, но цвета юнитов менялись, код срабатывал. Потом решил повторить это(замену файла war3map.j), внеся изменения в простые триггеры, но карта уже не запускалась.
P. P. P. S. Короче, разобрался в причине того, что карта не запускалась, я её с рабочего стола загружал и сохранял. Видимо из-за русских символов в пути не получалось. Если карта лежит в папке maps, то нормально. Но проблема с другими цветами персонажей, а точнее красным цветом, так и осталась. В итоге решил не мучиться, а сделать всё обычными триггерами.
Кстати, из триггера убрали элементы vjass, код стал таким, но всё равно не сохранялся в кампании:
globals
timer alp_t = CreateTimer()
integer alp_m = 0
unit array alp_a
boolean array alp_f
integer array alp_alpha
real array alp_speed
real array alp_time
endglobals
function TimeUnitAlpha takes nothing returns nothing
local integer i = 0
loop
set i = i + 1
exitwhen i>alp_m
if GetWidgetLife(alp_a[i])>0.405 and alp_time[i]>0 then
if alp_f[i] then
set alp_alpha[i] = alp_alpha[i] + R2I(alp_speed[i])
else
set alp_alpha[i] = alp_alpha[i] - R2I(alp_speed[i])
endif
call SetUnitVertexColor(alp_a[i],255,255,255,alp_alpha[i])
set alp_time[i] = alp_time[i] - 0.05
else
if alp_f[i] then
call SetUnitVertexColor(alp_a[i],255,255,255,255)
endif
set alp_a[i] = alp_a[alp_m]
set alp_f[i] = alp_f[alp_m]
set alp_time[i] = alp_time[alp_m]
set alp_alpha[i] = alp_alpha[alp_m]
set alp_speed[i] = alp_speed[alp_m]
set alp_m = alp_m - 1
if alp_m==0 then
call PauseTimer(alp_t)
endif
endif
endloop
endfunction
Принимает : (Юнита, Длительность , начальная прозрачность , макс. прозрачности за время , Появится/Исчезнуть )
call AddUnitAlpha(Caster,3,0,255,true) = Появится за 3 секунды
call AddUnitAlpha(Caster,3,255,255,false) = Исчезнет за 3 секунды
function AddUnitAlpha takes unit A,real TIMES,integer ALPHA,integer MAX_ALPHA,boolean F returns nothing
set alp_m = alp_m + 1
set alp_a[alp_m] = A
set alp_f[alp_m] = F
set alp_time[alp_m] = TIMES+0.10
set alp_alpha[alp_m] = ALPHA
set alp_speed[alp_m] = MAX_ALPHA/TIMES*0.05
if alp_m==1 then
call TimerStart(alp_t,0.05,true,function TimeUnitAlpha)
endif
endfunction
26

» WarCraft 3 / Не запускается миссия кампании с JASS-триггером.

quq_CCCP, я не умею писать на jass, мне человек сделал. И как вытащить код и засунуть в карту кампании?
26

» WarCraft 3 / Не запускается миссия кампании с JASS-триггером.

quq_CCCP, а там ведь куча данных кампании, которые в самой карте отсутствуют, разве отдельное сохранение карты не повредит.
Хотя просто проверю сначала)
Всё также, то есть просто чёрный экран появляется после нажатия на кнопку.
Я решил так проверить:
  1. взял карту без изменений, которая нормально запускается в кампании;
  2. вставил в неё JASS-триггер с библиотекой и триггер с обращением к библиотеке, но в игре их не задействовал;
  3. сохранил два раза;
  4. в кампании карта не запускается(после нажатия на кнопку с картой на секунду появляется чёрный экран, а потом экран кампании), а как одиночная карта запускается.
26

» WarCraft 3 / Не запускается миссия кампании с JASS-триггером.

PrincePhoenix, я понял и в первый раз, но есть в JNGP такая утилита:
Что и как делает не знаю.
Загруженные файлы
26

» WarCraft 3 / Не работает DISBTN модели

BattleMaster, укажи имена:
BTNBT
DISBTNBT
Потом в редакторе объектов проверь путь к BT, скорее всего надо будет поменять на BTNBT.
26

» WarCraft 3 / Не запускается миссия кампании с JASS-триггером.

quq_CCCP, прошу простить за задержку, были личные вопросы.
Вот сам триггер AlphaUnit:
define
void = nothing
int = integer
bool = boolean
enddefine
library AlphaUnit
globals
private timer t = CreateTimer()
private int m = 0
private unit array a
private bool array f
private int array alpha
private real array speed
private real array time
endglobals
function TimeUnitAlpha takes void returns void
local int i = 0
loop
set i = i + 1
exitwhen i>m
if GetWidgetLife(a[i])>0.405 and time[i]>0 then
if f[i] then
set alpha[i] = alpha[i] + R2I(speed[i])
else
set alpha[i] = alpha[i] - R2I(speed[i])
endif
call SetUnitVertexColor(a[i],255,255,255,alpha[i])
set time[i] = time[i] - 0.05
else
if f[i] then
call SetUnitVertexColor(a[i],255,255,255,255)
endif
set a[i] = a[m]
set f[i] = f[m]
set time[i] = time[m]
set alpha[i] = alpha[m]
set speed[i] = speed[m]
set m = m - 1
if m==0 then
call PauseTimer(t)
endif
endif
endloop
endfunction
Принимает : (Юнита, Длительность , начальная прозрачность , макс. прозрачности за время , Появится/Исчезнуть )
call AddUnitAlpha(Caster,3,0,255,true) = Появится за 3 секунды
call AddUnitAlpha(Caster,3,255,255,false) = Исчезнет за 3 секунды
function AddUnitAlpha takes unit A,real TIMES,int ALPHA,int MAX_ALPHA,bool F returns void
set m = m + 1
set a[m] = A
set f[m] = F
set time[m] = TIMES+0.10
set alpha[m] = ALPHA
set speed[m] = MAX_ALPHA/TIMES*0.05
if m==1 then
call TimerStart(t,0.05,true,function TimeUnitAlpha)
endif
endfunction
endlibrary
А вот как вызываю функцию:
В кинематике один юнит превращается в другого, для этого помещаю обоих на одну позицию, у второго ставлю прозрачность 100%, далее происходит превращение, когда первый юнит периодически теряет прозрачность, а второй периодически приобретает. Так как полностью потерять прозрачность от этого триггера не получается и что-то малоразличимое остаётся, то по истечению времени исчезающего первого юнита прячу(hide).
Загруженные файлы
26

» WarCraft 3 / Эфирия: Рыцари священного круга

Blaster Dark:
У нас большое обсуждение, как устанавливать сложность кампании. Если сделать очень простым, то игровой процесс становится скучным, а если сделать сложным, то слишком маленькое количество игроков со всем справляется. Отсутствие подсказок относится к сложному игровому процессу. (вроде бы для доступа к свитку надо запустить катапульту после того, как развернёшь её переключателем в разрушенном форте, что в юго-восточном углу, она сломает деревья)
Шестая часть в процессе, но сейчас с учёбой напряжёнка, потому пока новости не публикую.
26

» WarCraft 3 / Пропадает название диалогового окна после нескольких появлений

quq_CCCP:
Ну не удивительно, ты в рестарте показываешь не стартовый а второстепенный диалог, да и нафига то пересоздаешь кнопки, достаточно создать диалоги со всеми кнопками и показывать их по очреди, или очищать 1 диалог от кнопок и лепить в него новые.
Могу кинуть пример диалогов сложного диалога на jass.
Во-первых, давайте определимся с названиями, чтобы не путаться:
-стартовый диалог - это вопрос в самом начале «Какой тип диалоговых окон посмотреть?» с вариантами ответов «с одним вопросом» и «с двумя вопросами»;
-главный диалог - это вопрос «Что выбираем?» с четыремя расами, он общий для обоих случаев из стартового диалога;
-дополнительный диалог - это диалог во втором варианте после главного диалога с типами юнитов.
Во-вторых, я не пересоздаю кнопки, иначе бы с каждым появлением диалога их бы становилось всё больше. Я один раз создал все диалоги в триггере dialog и просто вызываю их далее командой Show Dialog.
В-третьих, на jass не надо. Jass хорош для многопользовательских карт, а мы одиночную кампанию делаем, нам надо попроще)
26

» WarCraft 3 / Чит не работает, но почему???

Не понял, то есть чит не будет работать на тех, чья позиция не фиксирована? Всего-то)
Мне подсказали, что может быть дело именно в 10 игроке? Так как похожая штука наблюдалась и ранее именно с юнитами этого цвета.
26

» WarCraft 3 / Чит не работает, но почему???

Скорее всего в альянсах дело, но в данный момент не могу посмотреть. Это, конечно же, очень облегчит жизнь всем внедрятелям античит систем.
26

» WarCraft 3 / Чит не работает, но почему???

Steal nerves:
8gabriel8, все работает. Просто когда герой замахивается, то враг телепортируется, и удар отменяется. И где тут система урона? Ты путаешь "юнит атакован" и "юнит получает урон"
Нет, если босса атаковать заклинанием с оглушением, то он не будет телепортироваться. Если бить в это время, то нет сверхурона. А самое главное, что главному герою урон наносят.
26

» WarCraft 3 / Чит не работает, но почему???

Мне просто пока не очень удобно, потому и дал ссылку на кампанию. Там последняя карта, всё нормально до того момента, когда рушится замок и начинается кинематика, где героя мгновенно перемещают в другую область. Всё это выложить здесь на скринах я мог бы, конечно же, но не прямо сейчас. Да и взглянуть самим, вместо того, чтобы я тут манускрипт строчил, мне кажется, будет легче)
P. S. Там триггеры в стиле Nebo - установить такое-то небо, либо при уничтожении юнита включить кинематику, где стоит реплика, а за ней wait, снова реплика, а за ней wait.
Fraps:
Там есть игрок, а чит нормально работает до битвы с боссом.
26

» WarCraft 3 / Как сделать растягивание лишь части карты на экран мини-карты?

Steal nerves:
Я, наверное, выразился не очень понятно. Мне надо сделать большую карту, а на мини-карту поставить лишь её часть, чтобы складывалось впечатление, что игровая карта никакого дополнительного пространства не имеет. Полно есть карт, где на мини-карту наложено своё изображение. Из последнего видел карту "Бесполезные герои Азерота" с xgm, там серия мини-игр. Вроде бы карта победила в каком-то местном конкурсе.
Наверное, по приведённым ссылкам где-то есть, как мини-карту заменить. А про то, что можно по выбору игровой области менять мини-карту, мне было бы интересно, но не обязательно.
xgm.guru/forum/showthread.php?t=58446:
MPQ архиватором открываешь карту и выливаешь оттуда файл "war3mapMap.blp"
Это как раз то, правда картинку под карту придётся как-то подгонять.
Спасибо всем!
26

» WarCraft 3 / Как сделать растягивание лишь части карты на экран мини-карты?

Proshel_Doty:
8gabriel8:
Замок Скиби от Близов открой
По идее как раз подходит, там на мини-карте точки двигаются как раз по малой области, как по большой. Только мини-карта не меняется, оставаясь большой картой, как и прежде.
Но мне лучше на графических триггерах объяснять, а не на jass. В замке Скиби как раз так. А как можно сменить картинку мини-карты на свою?
26

» WarCraft 3 / Как сделать растягивание лишь части карты на экран мини-карты?

Steal nerves:
Я пытаюсь ту карту найти более полугода уже, чтобы посмотреть)
Играл давно, может там какие-то свои особенности есть, которых уже не припоминаю.
По кинематике там рассказывают про нападение на королевство, при этом для победы необходимо захватить как можно больше обелисков. Каких-то подробностей и названий уже не припоминаю.
26

» WarCraft 3 / Как сделать растягивание лишь части карты на экран мини-карты?

TripleKor:
Camera - Set Camera Bounds (Установить границы камеры)
Это для камеры игровой карты, а я про мини-карту.
26

» WarCraft 3 / Творческий кризис

Простая атака шаром света, который прыгает по множеству врагов, подобно цепи молний.
Способности:
  • Волна света, которая представляет собой смесь Благодати паладина и Волны Силы вождя минотавров, исцеляющая живых союзников и наносящая вдвое меньше урона нежити.
  • Благословение, аналог Ледяной брони короля мёртвых, только атаковавшие благословенного противники часто промахиваются, а не замораживаются.
  • Сферы высших сил, вокруг жреца появляются три сферы, которые нельзя выбрать, а сами они атакуют врагов поблизости и защищают/исцеляют жреца.
  • Какая-нибудь ульта, где герой в течении некоторого времени выпускает из оружия столько снарядов, сколько врагов в зоне поражения, чтобы каждому досталось.
На скрине лучница выстрелила несколькими шариками света во врагов, первый был как раз рядом выпущен, а второй успел добраться до верха, хотя она им выстрелила вправо, когда ещё внизу была. А в этот момент она применяет описанную ульту, только надо модели снарядов заменить на жреческие, как и саму лучницу.
Загруженные файлы