XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Sdonourg

offline
Опыт: 469
Активность:
Вот
» Триггер
Код:
Runes Location
События
Время - Every 90.00 seconds of game time
Условия
(Item-type of (Random item in Runes 1 Location <gen>)) не равно |Cffff0000Руна регенерации
(Item-type of (Random item in Runes 1 Location <gen>)) не равно |cff007FFFРуна двойного повреждения
(Item-type of (Random item in Runes 1 Location <gen>)) не равно |cff008000Руна скорости
(Item-type of (Random item in Runes 1 Location <gen>)) не равно |cff7d267dРуна невидимости
(Item-type of (Random item in Runes 1 Location <gen>)) не равно |cff9F9F5FРуна иллюзии
(Item-type of (Random item in Runes 2 Location <gen>)) не равно |Cffff0000Руна регенерации
(Item-type of (Random item in Runes 2 Location <gen>)) не равно |cff007FFFРуна двойного повреждения
(Item-type of (Random item in Runes 2 Location <gen>)) не равно |cff008000Руна скорости
(Item-type of (Random item in Runes 2 Location <gen>)) не равно |cff7d267dРуна невидимости
(Item-type of (Random item in Runes 2 Location <gen>)) не равно |cff9F9F5FРуна иллюзии
Действия
If ((Игрок11 (темно-зеленый) is in (All players)) равно Да) then do (Set PassiveChance9 = (Random integer number between 1 and 5)) else do (Do nothing)
If ((Игрок11 (темно-зеленый) is in (All players)) равно Да) then do (Set PassiveChance10 = (Random integer number between 1 and 2)) else do (Do nothing)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance10 равно 1
То - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance9 равно 1
То - Действия
Предмет - Create |Cffff0000Руна регенерации at (Center of Runes 1 Location <gen>)
Иначе - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance9 равно 2
То - Действия
Предмет - Create |cff007FFFРуна двойного повреждения at (Center of Runes 1 Location <gen>)
Иначе - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance9 равно 3
То - Действия
Предмет - Create |cff008000Руна скорости at (Center of Runes 1 Location <gen>)
Иначе - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance9 равно 4
То - Действия
Предмет - Create |cff7d267dРуна невидимости at (Center of Runes 1 Location <gen>)
Иначе - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance9 равно 5
То - Действия
Предмет - Create |cff9F9F5FРуна иллюзии at (Center of Runes 1 Location <gen>)
Иначе - Действия
Do nothing
Иначе - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance10 равно 2
То - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance9 равно 1
То - Действия
Предмет - Create |Cffff0000Руна регенерации at (Center of Runes 2 Location <gen>)
Иначе - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance9 равно 2
То - Действия
Предмет - Create |cff007FFFРуна двойного повреждения at (Center of Runes 2 Location <gen>)
Иначе - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance9 равно 3
То - Действия
Предмет - Create |cff008000Руна скорости at (Center of Runes 2 Location <gen>)
Иначе - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance9 равно 4
То - Действия
Предмет - Create |cff7d267dРуна невидимости at (Center of Runes 2 Location <gen>)
Иначе - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
PassiveChance9 равно 5
То - Действия
Предмет - Create |cff9F9F5FРуна иллюзии at (Center of Runes 2 Location <gen>)
Иначе - Действия
Do nothing
Иначе - Действия
Do nothing
Триггер - Turn on Runes 2 <gen>
Триггер - Turn off (This trigger)


Отредактировано Sasha, 30.07.2008 в 12:45.
Старый 29.07.2008, 06:17
Dragon27

offline
Опыт: 6,779
Активность:
Меня вот это смущает в конце
Триггер - Turn on Runes 2 <gen>
Триггер - Turn off (This trigger)

Я не знаю, может он где-то ещё и включается, но лучше убери это последнее действие нафиг (выделено жирным)

Отредактировано Sasha, 29.07.2008 в 22:00.
Старый 29.07.2008, 07:52
Sdonourg

offline
Опыт: 469
Активность:
Dragon27нене, это я уже добавил потом, просто убрать забыл (пробовал включить/выключить этот триггер через другой), без этого Тарн Офф тоже не работает.
Старый 29.07.2008, 10:18
Dragon27

offline
Опыт: 6,779
Активность:
Блин, у меня ведь (1.20а) всё это работает. Может в 1.22 чё-то с механизмами итемов не то стало? Покажи там у тебя нет никаких новых функций, действий, с итемами связанные?
Старый 29.07.2008, 11:39
Sdonourg

offline
Опыт: 469
Активность:
Вот все действия:
Create
Remove
Show/Hide Item
Move (Instantly)
Set Charges Remaining
Make Invulnerable/Vulnerable
Make Pawnable
Make Undroppable
Make Item Drop From Heroes Upon Death
Change Owner
Set Custom Value
Pick Every Item In Region And Do Action
Pick Every Item In Region And Do Multiple Actions

Sdonourg добавил:
хмм... появилась идея: а если сделать массив с большим количеством этих несчастных рун и через каждые 90 сек. вытаскивать одну? стоит попробывать?
Старый 29.07.2008, 12:50
Dragon27

offline
Опыт: 6,779
Активность:
Давай потестируем триггер:
Уменьши период до 1-2-х секунд (чтобы быстрее реагировал), поставь в самом начале триггера Игра - Text Message какое-нить сообщение. И посмотри, когда оно у тебя появляется/не появляется.
Попробуй убрать кондишены в триггере, начнёт ли он сразу генерировать руны одну за другой?
Старый 29.07.2008, 21:55
Sdonourg

offline
Опыт: 469
Активность:
Dragon27 сейчас попробую
кстати способ с массивом не проканал, может быть проблема не в рунах а в Every 90 seconds?
Старый 30.07.2008, 08:39
Sdonourg

offline
Опыт: 469
Активность:
точнее я наврал, тот способ работал, но опять таки один раз
поставил период 2 сек, но руну спавнит и сообщение выдает только в первый раз
убрал условия и... заработало! значит надо условия как-то по другому выразить

Sdonourg добавил:
сделал вообще без условий, просто теперь через каждый этот период руны сначала удаляются со спавн-поинтов,а потом заново делаются. Думаю, тему можно закрыть.
Старый 31.07.2008, 02:33
Dragon27

offline
Опыт: 6,779
Активность:
Может, когда итем хватается героем, он каким-то образом все равно остаётся? Мало ли чего в 1.22 могли нафигачить.
Может механизм условий багнутый. Я помню на каком-то сайте читал ситуацию, когда условие вопреки логике возвращало не true, а false, или наоборот не помню (там какой-то хитрый механизм, по-моему булева переменная имела множество значений, и одно из них в одном случае интерпретировалось, как true, а в другом как false).
В любом случае если у тебя всё работает, проблема решена. Но надо бы ещё узнать, что там могло быть.
Старый 31.07.2008, 03:08
Sdonourg

offline
Опыт: 469
Активность:
Dragon27 я тоже об этом подумал
Старый 31.07.2008, 03:51
Sdonourg

offline
Опыт: 469
Активность:
эх... все-таки у меня руки кривые, решил тему новую не создавать, а старую продолжить
опять вылетает при сохранении.
опять нужна та же помощь (кстати может быть кто-нибудь если не лень объяснит, как это исправляется, чтобы я потом сам это делал?)
вот карта http://ifolder.ru/7794994
Старый 21.08.2008, 08:35
Dragon27

offline
Опыт: 6,779
Активность:
Sdonourg, поройся в триггерах. В прошлый раз просто у каких-то триггеров отсутствовали значения в параметрах. Как ты этого добился, чёрт его знает.
Старый 21.08.2008, 20:44
Sdonourg

offline
Опыт: 469
Активность:
Dragon27 вроде порылся, но ничего не нашел подозрительного
а добиваюсь этого я правда что, черт знает как. у меня кстати еще половина триггеров перестали работать в игре, а в редакторе норм
Что же всетаки не так?
Старый 22.08.2008, 13:24
Dragon27

offline
Опыт: 6,779
Активность:
Sdonourg, завтра доберусь до компа, проверю мапу.
Старый 22.08.2008, 20:12
Dragon27

offline
Опыт: 6,779
Активность:
Если у тебя ВЕ вылетает при сохранении, а у меня указывает на ошибки - хреновый, значит, этот вар 1.22
Короче:
Качаем JassCraft, и утилиту для того, чтобы потрошить mpq-архивы, например: WinMPQ.
Залазим с помощью WinMPQ в мапу и извлекаем war3map.j (это скрипт карты).
Создаём в JassCraft новый документ и вставляем туда содержимое файла-скрипта. Жмём F9 (Syntax Check)

Споткнётся он на следующих строчках

Код:
function Trig_ItemBuy_MasterAssassin_10_Func001Func001Func002Func001Func001Func001Func001  C takes nothing returns boolean
    if ( not ( udg_AIItemStep[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == 5 ) ) then
        return false
    endif
    if ( not ( GetPlayerState(GetOwningPlayer(GetTriggerUnit()), Error) >= 500 ) ) then
        return false
    endif
    return true
endfunction


Ага! По заголовку функции Trig_ItemBuy_MasterAssassin_10_Func001Func001Func00... мы можем определить, что это триггер "ItemBuy MasterAssassin 10" (или что-то в этом роде).
Открываем мапу, Trigger Editor, ctrl+shift+F и вводим ItemBuy. Нужный триггер найдётся очень быстро.

По строчке кода if ( not ( udg_AIItemStep[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == 5 ) ) ищем нужное место в триггере:
это AIItemStep[(Player number of (Owner of (Triggering unit)))] Equal to 5

а ниже него та самая строчка:
((Owner of (Triggering unit)) Unknown) Greater than or equal to 500

непорядок! Что ещё за Unknown?
редактируем на:
((Owner of (Triggering unit)) Current gold) Greater than or equal to 500

Сохраняем мапу. Ура! Всё работает! (и не ври, что не работает )

Спасибо за внимание.
Старый 23.08.2008, 11:13
Sdonourg

offline
Опыт: 469
Активность:
Dragon27, спасибоб так и сделаю

Sdonourg добавил:
ура! все работает! теперь буду следовать по твоей инструкции
Старый 23.08.2008, 11:39
Dragon27

offline
Опыт: 6,779
Активность:
Sdonourg, учти, что в одном j-файле может быть по несколько ошибок за раз.
Старый 23.08.2008, 11:43
Sdonourg

offline
Опыт: 469
Активность:
Dragon27 эт я уже понял)
проблема. карта-то сохранилась, но половина триггеров все-равно не работает.
сейчас ставлю варкрафт 1.21, а то меня 1.22 в гроб загонит
Старый 23.08.2008, 12:21
Sdonourg

offline
Опыт: 469
Активность:
всё! меня это достало! делаю карту заново на 1.21
Старый 24.08.2008, 06:01
adic3x

offline
Опыт: 108,439
Активность:
хз, имхо сама то крта не меняется от версии редактора, т.е. редактор тупо сейвит инфу, все дело в варе...
Старый 24.08.2008, 11:09
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 15:52.