1
10
17 лет назад
1

» StarCraft / Триггеры: рандомизация

Если ты имеешь в виду управление при помощи горячих клавиш постройки юнитов (скажем из барака), то тебе понадобятся сетки. А вообще вопрос не по теме, создай топик и я отвечу более подробно.
1
10
17 лет назад
1

» StarCraft / Триггеры: деньги за убийства

Зевс, я что-то не пойму, твоя система учета убийств - это те четыре триггера для каждого игрока с комментами "Player Color Hydralisk/Zergling Death Trigger X" плюс триггер без коммента, который обнуляет очки при привышении 550? Скажи мне, что я чего-то не понимаю :)
1
10
17 лет назад
1

» StarCraft / Триггеры: деньги за убийства

Зевс, работает как надо? Мне очень интересно, может ты там чего новое придумал? Что ты имеешь в виду под триггерной наработкой, ускоряющей работу триггеров?
Хотя мне всёравно не верится, что всё работает как надо... Я утверждаю, что только с использованием очков убийств, счётчиков смертей, и быть может переключателей нельзя полностью АБСОЛЮТНО точно определить, кто кого убил (в случае если убивают по крайней мере два игрока и убивают не только друг друга) и посчитать правильно очки, хотя возможно достичь очень хороших результатов, дающих сбои крайне редко.
з.ы. Я рад, что хоть кому-то статья оказалось полезной.
1
10
17 лет назад
1

» StarCraft / Триггеры: деньги за убийства

nic666:
  1. "Если опираться на Kills Score, то согласен... вообще не возможно.
Но я когда предлагал свой вариант, я имел ввиду убийство нескольких арбитров, а не убийство разных типов юнитов..."
Никогда не говори никогда :) Способ 4 различает разные типы юнитов, а если твой работает только с одним типом, то это уже не 4+ :р
"И ,кстати, а что делать если Kills Score>0, а при том ни одного счетчика shuffered>0 нет???
Явно не хватает триггера на этот случай..."
Если такое случилось, значит произошла ошибка, и Бог тебе в помошь, чтобы больше ошибок не было. Да, ты прав, можно обнулить очки, что может повысить стабильность системы в случае сбоев, но здесь я рассказываю об основных приемах награждения игрока, а это, согласись, детали.
  1. "Определить кто кого убил ВОЗМОЖНО, но геморно в самом деле если делать серию триггеров типа..."
Этот способ не решает проблемы. Всегда есть возможность убить юнитов больше чем задумано.
Q:
"я особо не врубился мож кто пояснит...ну вот случилось за 2 игровые секунды (стариковский тик, 1 реальная) два убийства, и как игра поймет че к чему?"
Вопервых, этот способ не различает типов убитых юнитов. Объясняю: пусть с самого начала у тебя было 0 убийств. Тогда Хранитель начинает в состоянии Most Kills с одним убийством. Теперь ты одновременно убил двух юнитов. У тебя стало 2 убийства и ты имеешь статус Most Kills. После чего срабатывает триггер, который дает Хранителю убийство. Теперь у вас с Хранителем поровну - по два убийства и ты все ещё имеешь статус Most Kills. Ты опять засекащься триггером, который даёт тебе минерал, а Хранителю убийство. Теперь у Хранителя больше всего убийств и ничего не происходит.
"вот сделал он 2 или больше убийств за 1 тик (что вполне реально например танком или фотонками) а мы даем ему награду как за одно убийство и щетчег киллзов прибавляем только на единицу, отсюда глюки, ну допустим еще через тик триггер отработает еще раз и снова хоппа единица, кароче в какой-нить тд триггер не сможет догнать реальные килзы если я правильно понял суть описанного тут;)"
Да, ты правильно понял, недаром первым недостатком является:
"- Cкорость срабатывания ограничена скоростью обновления статуса Most Kills, которая может оказаться приличной при большом количестве одновременных смертей."
Естесственно не стоит применять этот способ в Мэднесс картах, где одно мясо, и где +/- несколько неправильно посчитанных убийств мало чего значат, но где нужна скорость набора минералов. Однако в РПГ картах, где надо четко посчитать убитых юнитов, и где важен каждый убитый, этот способ (возможно с добавлением распознавания типов юнитов) может очень даже пригодиться.
И еще одно замечание, можно увеличить скорость срабатывания триггеров в 24 раза, используя Гипер Триггеры, что даст 12 тиков в игровую секунду. Это, безусловно, не снимает проблемы одновременных убийств, т.к. они могут происходить АБСОЛЮТНО одновременно, из-за сплэш ударов Архона, Ривера и т.д.
"встречал я более извратные способы контроля киллзов но там вообще геморно писать..."
Это какие?
1
10
17 лет назад
1

» StarCraft / Триггеры: деньги за убийства

"Достоинство относительно №4:
  • одновременное убийство не теряет очки"
Это неверно. Одновременное убийство всё ещё может вызвать потерю очков. Например, Игрок1 убивает Арбитера Игрока4, а Игрок2 (одновременно с Игроком1) убивает 15 Гостов Игрока3. Если триггеры расположены в таком порядке как у меня в статье, с тем только отличием, что каждый триггер с условием 'Foes' заменён на группу триггеров с условиями для Игрока1, Игрока2 и т.д. (причем расположенных строго в таком порядке!), то в этом случае Игрок1 получит чужие минералы за 14 Гостов и у него останется 150 (=5050-4900=5050-14*350) очков убийств на счету, а Игрок2 получит минералы лишь за одного госта и останется с 4900 (=5250-350) очками убийств. Помимо того Игрок4 останется со счётчиком смертей Арбитера равным одному.
Этот пример охватывет все те случаи, когда есть две группы игроков: "Жертвы" (Игроки 3 и 4 в моём примере), которые служат лишь мишенью для Хищников, и "Хищники" (Игроки 1 и 2), которые убивают Жертв и не могут убивать друг друга, и для которых мы делаем награду за убийства. Как можно видеть, даже в этом упрощённом случае возможна потеря очков, не говоря уже о тех случаях, когда все игроки убивают всех и все должны получать награду за убийство друг-друга. Даже в частном случае, когда группа игроков Жертвы состоит из одного игрока (Игрок 8 в статье) невозможно во всех случаях однозначно определить кто кого убил. Достаточно рассмотреть пример, когда Игрок1 убивает 15 Гостов, а Игрок2 убивает Арбитера.
Способ 4 будет работать "идеально", лишь когда Хищник и Жертва одни, Способ 4+ работает "идеально" и в случае, когда Жертв много (но Хищник должен быть один!). Если же рассматривать случай без разделения игроков на Хищников и Жертв, то в этом случае оба способа 4 и 4+ равноправны и работают "идеально" только для двух игроков, где один играет против другого.
Прошу прощения, в первом примере я допустил ошибку при разборе: с Игроком1 все в порядке, а вот Игрок2 вместо Госта получит минералы за Арбитера (естественно, ведь сначала проверятся арбитеры всех игроков) и останется при 200 (=5250-5050=15*350-5050) очках убийств. Кроме того, Игрок3 останется со счётчиком смертей Гостов равным одному, а счётчик смертей Арбитера Игрока4 будет равен нулю...
Но, впрочем, это совершенно не важно...