А как ты задаёшь имена?
Если у тебя кэшируется один герой, а судя по видео, это так, можешь к нему обращаться через функцию (Last restored unit).
P. S. Было бы гораздо быстрее и понятнее, если бы скинул файл кампании, а не видео и снимки.
У нас с тобой немного различается перевод редакторов, у меня сохранение и восстановление героя через кэш происходят так:
Буфер игры - Create a game cache from CACHE.w3v
Буфер игры - Store Чародей 0039 <gen> as HERO of HEROES in (Last created game cache)
Буфер игры - Save (Last created game cache)
Буфер игры - Create a game cache from CACHE.w3v
Буфер игры - Restore HERO of HEROES from (Last created game cache) for Игрок 1(красный) at (Center of Область 001 <gen>) facing 350.00
Чтобы обращаться к этому герою через триггеры, ставь сразу после этой строки с восстановлением из кэша переменную для героя:
Set HERO = (Last restored unit)
miolsis, сначала, как на скрине у тебя. В другой главе опять создаёшь 2.w3v и восстанавливаешь оттуда героя, в конце игры опять сохраняешь героя в кэш и сохраняешь кэш.
Как-то раз я здесь видел, что парень назвал по логу причину фатала, потому что ему много раз приходилось с этим фаталом сталкиваться. А вообще здесь не такие гики, чтобы компьютеры по логам ошибок чинить)
Здесь же вопросы по варику третьему, а не ХотС)
С аудасити хороший совет, кстати. Может быть записанный файл лучше оригинала будет, так как игра может наложить на звук какие-нибудь улучшающие звуковые эффекты, хоть это и вряд ли.
А вообще ещё возможно, что в самом экзешнике звуки лежат.
miolsis, видео не даст возможности оценить, в чём может быть причина. А по поводу релиза не волнуйся, в вопросы и ответы почти никто не лазит за новыми картами и кампаниями, если только случайно наткнутся.
miolsis, красным выделяется, потому что указанная в триггере карта отсутствует, скорее всего, в триггере в названии была допущена ошибка. А вот про соединение с администратором удивлён, загрузи свою кампанию, чтобы взглянуть.
Если в триггере поставить Пропустить dialogs, то игра не спросит продолжить ли или выйти(на экран кампании), а сразу начнёт грузить карту.
То есть у тебя проблема, скорее всего, в неправильном указании названия карты 0.2.w.3x.
Как вариант сделать плоскую модель с текстурой окружности и масштабировать ее в мдлвисе до нужных размеров, а потом отображать в игре/редакторе
Такая модель не будет учитывать рельеф местности, не будет гнуться на впадинах или возвышенностях, а также ровно отцентрировать её по интересующему юниту, если захочется узнать точно радиус действия, будет проблематично. Хотя для прикидывания радиуса она определённо лучше сетки редактора, которая для точного радиуса ещё хуже.
А вообще припоминаю, что кто-то триггерами выставлял радиус персонажу, в процессе разработки можно было в игре побегать и оценить. Но мне пока такое не надо)
Maniac_91, такой бред не слышал! Все работает нормально =) Надо проверять
события: юнит вошел в облость
условие: юнит в облости равен да
дейсвтя: выполняем задачу
В самом редакторе указано, что нужно в условие ставить Entering unit. JyHgle:
Maniac_91, просто уметь понять как работает варик это же близзард =)
Господа, я пришёл домой, проверил дебагом, одновременно увидел возможную причину в том, о чём сказал Extremator, то есть в проверке юнита в области, а не проверке того, какой юнит вошёл в область, наделал скриншотов и поправил триггер.
Сначала скриншоты, вот здесь триггер и Область 006:
А тут дебаг в игре, где я сначала повходил в Область 006 с севера и востока, а потом зашёл в неё с юга (до этого с запада уже входил):
В первом случае триггер не срабатывает, а во втором срабатывает.
Ну и в итоге я заменил условие с проверки юнита в области на Entering unit равно Юнит, проверил -нормально работает.
quq_CCCP, я пока не дома, чтобы проверить) Extremator, если я правильно понял вас, то тут не проверка юнита в области, а именно вхождение юнита в область. Есть довольно крупная область, площадь примерно 3х3 ратуши. При входе в неё с запада или юга запускается кинематика. Но когда я решил в неё войти с севера или востока, то ничего не произошло. Я там погулял, вышел и зашёл с того же направления, но ничего. Только зайдя потом с востока, триггер сработал.
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
» WarCraft 3 / Проблема с буфером игры
Если у тебя кэшируется один герой, а судя по видео, это так, можешь к нему обращаться через функцию (Last restored unit).
P. S. Было бы гораздо быстрее и понятнее, если бы скинул файл кампании, а не видео и снимки.
Ред. 8gabriel8
» WarCraft 3 / Проблема с буфером игры
Буфер игры - Store Чародей 0039 <gen> as HERO of HEROES in (Last created game cache)
Буфер игры - Save (Last created game cache)
Буфер игры - Restore HERO of HEROES from (Last created game cache) for Игрок 1(красный) at (Center of Область 001 <gen>) facing 350.00
Чтобы обращаться к этому герою через триггеры, ставь сразу после этой строки с восстановлением из кэша переменную для героя:
Set HERO = (Last restored unit)
» WarCraft 3 / Если те кто начинает создавать проект?
» WarCraft 3 / Проблема с буфером игры
» WarCraft 3 / проблема с триггером
» WarCraft 3 / Срочно плз прошу причины этого фатала
» WarCraft 3 / В какой папке находиться файлы реплики героев?
С аудасити хороший совет, кстати. Может быть записанный файл лучше оригинала будет, так как игра может наложить на звук какие-нибудь улучшающие звуковые эффекты, хоть это и вряд ли.
А вообще ещё возможно, что в самом экзешнике звуки лежат.
» WarCraft 3 / Переход на другую карту (которая идет как импорт )
» WarCraft 3 / проблема с триггером
» WarCraft 3 / Normal map и AO МОД NIRVANA
» WarCraft 3 / Normal map и AO МОД NIRVANA
» WarCraft 3 / проблема с триггером
» WarCraft 3 / проблема с триггером
То есть у тебя проблема, скорее всего, в неправильном указании названия карты 0.2.w.3x.
Ред. 8gabriel8
» WarCraft 3 / Срочно нужна модель русского солдата времён ВОВ
» WarCraft 3 / Триггер для водоворота
» WarCraft 3 / Можно ли как-то увидеть радиусы, которые выставляешь триггерам?
А вообще припоминаю, что кто-то триггерами выставлял радиус персонажу, в процессе разработки можно было в игре побегать и оценить. Но мне пока такое не надо)
» WarCraft 3 / Опять проверка юнита в области
» WarCraft 3 / Событие - Юнит входит в область
JyHgle: Да это гениально!!!
Ред. 8gabriel8
» WarCraft 3 / Событие - Юнит входит в область
Сначала скриншоты, вот здесь триггер и Область 006:
Ну и в итоге я заменил условие с проверки юнита в области на Entering unit равно Юнит, проверил -нормально работает.
» WarCraft 3 / Событие - Юнит входит в область
Extremator, если я правильно понял вас, то тут не проверка юнита в области, а именно вхождение юнита в область. Есть довольно крупная область, площадь примерно 3х3 ратуши. При входе в неё с запада или юга запускается кинематика. Но когда я решил в неё войти с севера или востока, то ничего не произошло. Я там погулял, вышел и зашёл с того же направления, но ничего. Только зайдя потом с востока, триггер сработал.
» WarCraft 3 / Проблема с экранами загрузки
» WarCraft 3 / Как сделать Загрузочный экран?
экран 1920х1080
» WarCraft 3 / Как заменить импорт в карте на старый, если она не открывается?
Ред. 8gabriel8
» WarCraft 3 / Не запускается миссия кампании с JASS-триггером.
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
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
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
» WarCraft 3 / Не запускается миссия кампании с JASS-триггером.