6

» WarCraft 3 / Агрессия крипов

quq_CCCP:
Мда ну и советчики... Нейтральные крипы = читеры, они видят всю карту. Два у них встроенный ИИ который приказывает им охранять место спауна, для блуждающих крипов нужно взять игрока от 1 до 12 и напиать примитивное ИИ для него, прочие варианты не работоспособны на 100%.
Я ведь писал выше, у меня манипуляции с коричневым игроком..
6

» WarCraft 3 / Агрессия крипов

Пушистый:
qzGoon, если это именно крипы (нейтрально-враждебный), то нужно на нейтрально-враждебного, а вообще - поведение у них сложное.
У меня создаются враги для игрока (коричневый), они создаются в области и из-за максимального рейджа и открой карты идут атаковать героев.
2-3 врага проходят спокойно, остальные идут и резко сворачивают обратно.
6

» WarCraft 3 / Агрессия крипов

Пушистый:
Отменить (игнорировать) guard-позиции для игрока нейтрально-враждебный (во вкладке ИИ в триггерах).
Отменил для игрока 11, так как 11 это враги. Досеих пор кучкуются в одном месте.
6

» WarCraft 3 / Можно ли получить IP-адрес игрока?

quq_CCCP:
Можно, с мемхаком почти все можно.
nvc123:
через мемхак подгружаем стороннюю ддл в которой юзаем GeoIP
Пушистый:
Но только зачем? Для разбирательств?) "Теперь искать нубов по IP станет гораздо проще. Новая технология геопоиска, внедренная в нашу карту, поможет вам отомстить криворуким союзникам."
P.S. А если серьезно, то мемхак - хороший вариант, так как видел среди его функционала возможность работы с интернетом (тип для обновления карты). Если благодаря ему можно открыть определенный сайт, то в принципе можно отловить и IP-адрес, который потом через ячейки памяти передавать обратно в вар.
Ссылку на статейку не подкините?..
6

» WarCraft 3 / Как правильно реализовать?

Haikyo:
  1. Даешь одиннадцатому игроку видимость над всей картой. Даешь нужным боевым единицам радиус агрессии на всю карту.
    Если не работает, то: Во время спавна мобов даешь им приказ атаковать ближайшего героя, если ЛЮБОЙ герой умер, повторяешь это действие.
  2. Если юнит манипулирует когтями
    Выкинуть когти
    Если юнит манипулирует когтями
    Поднять когти
    Удалить когти
    Удалить когти
    Создать нужный предмет
P.S. Неужели планируешь создать свою Goblin Survival? Пересекались на боте, может помнишь меня. Ты еще грузился по несколько лет в карту и назвал меня школьником, лол.
Чем же тут пахнет GS? То что я собераюсь волны сделать?.. Или же что для крафта нужно 2 одинаковых предмета?.. Бредишь..
Ну а ты разве не школьник?)
6

» WarCraft 3 / [Защита] Если код в карте был изменён, значит не запускать карту

prog:
qzGoon, защита от раков описана множество раз, как на сайтах картостроителей так и на сайтах авторов читпаков и прочей гадости, у первых со способами реализации, а у вторых со способами обхода в несколько действий - нет сейчас универсальной и надежной защиты, которую можно установить по инструкции и которая не ломалась бы при этом по инструкции. А что-то более мощное требует соответствующих навыков, в том числе навык самостоятельного поиска информации.
Вас также отправлю прочитать вопрос ещё раз, особенно последние строки. Это вполне адекватный вам ответ, так как вы уже не первый кто прочитав 2-3 слова уже делает выводы.
6

» WarCraft 3 / [Защита] Если код в карте был изменён, значит не запускать карту

pro100master:
шел 2018 все еше хотят защитить карту, совет дам хотите свои права иди на Unity3d и делай права на лизенцию у вар нет лизенция на карт чтобы нарушали ни MIT ни другие лизенции
Fakov:
Зачем?
как вариант - делать копию файла скрипта, сохранять хеш оригинала и копии, потом проверять при запуске внешними средствами, что хеш копии=хешу файла скрипта оригинала, и если нет - звонить в ментовку и вызывать фсб, потому что кто-то посмел изменить твой шедевр.
Если кто не понял, это ирония на тему того, зачем протектить карты варкрафта в 2018 году.//
Читать разве разучились? Вы увидели что такое пишут в более старых постах и решили плагиатить ответы? Вместо того чтобы помочь, пишите 'Нахера' , 'Зачем' , 'В 2018 протектить'. Я всё объяснил в посте.
quq_CCCP:
Элементарно, мемхак и ретурн баг на code, C2I вернет разные значения от одной и той же функции до и после изменения, но это выпилить не особо проблема.
Можно ссылку на статью?
Astra:
Он спрашивает по сути про такой вид защиты, при котором изменение любой части кода приведет к срабатываю некой защиты. Самый примитивный вариант - отслеживать хендлы, самый сложный - юзать мемхак.
Как их отслеживать?.... Вызывает просто уйму вопросов своими же ответами. Я конечно благодарен за ответ, но можно ссылку на статью или пример.
6

» WarCraft 3 / Как отловить событие когда герой наносит урон

8gabriel8:
qzGoon, ещё кое-что. Не проверял всё, но по словам других и проверке некоторых способностей, заклинания наносят урон 0, то есть, наверное, следует в триггер на отлов урона поставить условие, что урон не равен 0.00. Это не точно нужно для твоего случая, просто дополнительная информация.
когда юнит атакует выплывает вверху текст нанесенного урона..
6

» WarCraft 3 / [Защита] Если код в карте был изменён, значит не запускать карту

ledoed:
ты карту не мог запустить потому что ты карту взламал депротектом ,или повредил ее открывая но не как скриптами,тут те защита нужна от открывания как у зомбии 666 стоит(например),открыть ее сложновато для нубиков,
можно пример такой защиты?..
6

» WarCraft 3 / Jass выдаёт странную ошибку

UrsaBoss:
qzGoon:
включен, и 0..
не включен, во первых AdicHelper обрабатывает код раньше JassHelper'а
Во вторых он убирает все пробелы, а тут пробелы есть
В третьих локалки не в начале функции должны автоматически переноситься парсером в начало функции.
Вывод: у тебя не работает AdicHelper
Кинь карту и JNGP туда где нету русских букв в пути
Решение было таким:
  1. Зашёл в ексешник адик хелпер который находится в папек вместе с jngp.
  2. Перешёл по ссылке на сайт.
  3. Зашёл опять же в эдитор, и всё скомпилилось нормально.
( дело было не в перезапуске, перезапускал 5-6 раз )
6

» WarCraft 3 / Jass выдаёт странную ошибку

Raised:
Рекомендуется ввести в привычку прочтение примечаний к ошибкам.
Я читал ошибку, понял как исправить. Но мне не нужно создавать эти локальные переменные вне фунцкии. Ошибка появилась когда установил fnwe.
KingMaximax:
Локальная переменная должна объявляется в самом начале функции. А она у вас объявляется в неположенном месте. Хотя можно включить cJass, но вряд ли это поможет.
включен, и 0..
6

» WarCraft 3 / wow в warcraft

Доктор:
denismilyaev1, а через конверт 3д редакторов? Плагины? Блендер, 3дмакс, автодеск?
В блендере анимации не из всех игр переносит в вар
6

» WarCraft 3 / Особый персонаж

TomHollow:
Не поймите меня превратно, но скрипты писал не я (человек перестал над ними работать) и приходится работать с тем, что имею. В скриптах не разбираюсь вовсе. Так поверхностно могу понять за что и как отвечает функция и редактировать не много. А вот прям новую переменную вписать и исправить ошибку с массивами не способен. Поэтому прошу помощи тут в том, чтобы помогли написать переменную)
Можно сделать примерно так:
  1. Создаёшь глобальную переменную: g_iDuelPlayer (логическая) с массивом
  2. Потом ставишь set g_iDuelPlayer[Номер игрока] = нет
  3. При вызове на дуель проверяешь. Увы на весь код у меня нет времени, завтра приеду с работы если никто не напишет то думаю скину тебе.
6

» WarCraft 3 / Пассивная способность героя

nvc123:
qzGoon, в статьях в которые ты просил тебя не посылать написано что вейты не работают в функциях вызываемых из ForGroup
т.е. весь код который идёт после вейта не будет выполнятся
а если ещё прочесть статьи про джасс то можно узнать что они нигде не работают кроме действий триггеров и потоков дочерних от них
самый лучший способ - переделать на таймеры
самый быстрый способ - порождать дочерний поток через экзекут
Тоесть код написанный выше твоего комментария не рабочий?
6

» WarCraft 3 / Пассивная способность героя

LordDracula:
Кстати, реализация доп. дамага через событие "Атакован" позволяет игроку спамить приказами "Отставить", после чего герой будет вновь пытаться атаковать. Это приведет к почти безинтервальному вызову триггера, и, соответственно, имбалансному урону. Но это не единственная проблема в контексте задуманного. Крч, тебе нужно отлавливать получение урона.
Можно ссылку на наработку нормального отлова урона? Погуглив нашёл очень много наработок, но не знаю какая из них самая оптимизированная. Если не сложно..
8gabriel8:
В JASS профан, но так часто слышу от его пользователей, что не надо использьвать Wait'ы, что сразу в глаза это бросилось.
Мне нужно чтобы эффект бросился на время. p.s. Я только перехожу на Jass.
Sheridan_75:
Когда ты добавляешь эффект, то делаешь слишком много присваиваний, причём сохраняешь эффект и в локальной переменной, и в глобальной:
call AddSpecialEffectTargetUnitBJ( "overhead", PickUnit , "Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl" )
set udg_SetEffect = GetLastCreatedEffectBJ()
set SelectEffect = udg_SetEffect
call PolledWait( 3.00 )
set udg_SetEffect = SelectEffect
call DestroyEffectBJ( udg_SetEffect )
Все эти присваивания являются излишними, поэтому твой код можно сократить до такого (также не забывай обнулять локальные переменные):
set SelectEffect = AddSpecialEffectTargetUnitBJ( "overhead", PickUnit , "Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl" )
call PolledWait( 3.00 )
call DestroyEffectBJ( SelectEffect )
set SelectEffect = null
Скоро опробую, спасибо за подсказку, а про обнуление вообще забыл)
6

» WarCraft 3 / RPG | Возрождение моба ( С прошлого поста нет решения )

Andrey33:
Тебе надо в изначальной точке или в определенной точке
если в изначальной то это очень хорошая система, сам пользуюсь
Ты единственный кто прочитал вопрос. Спасибо тебе!
6

» WarCraft 3 / RPG | Возрождение моба ( С прошлого поста нет решения )

UrsaBoss:
KingMaximax уф, щас голова начнет болеть. Зачем так всё усложнять? Давно было сказано как можно сделать.
Делаешь триггер, далее в нем через нужное время проверяешь тип умершего юнита и для каждого типа в нужной точке воскрешаешь юнита
Извините за хамство, но вы можете глаза открыть?! Я ведь уточняю что ТИП ЮНИТА ОДИН! Каждого из юнита нужно спавнить в заданные точки.
Прогонять через цыкл это да, решение. Но мне не нужно чтобы ресало всех...
KingMaximax:
KingMaximax уф, щас голова начнет болеть. Зачем так всё усложнять? Давно было сказано как можно сделать.
Делаешь триггер, далее в нем через нужное время проверяешь тип умершего юнита и для каждого типа в нужной точке воскрешаешь юнита
Но есть и второй вариант.
Просто использовать хеш-таблицу с таймером. Сохранять по иду хендла позицию юнита, его тип и время через которое он возродится, и через сие время воскрешать его. Однако, куча таймеров не есть хорошо. А проверку циклом по массивам можно разделить. по опр областям с проверкой.
Когда у меня 50+ мобов, и это всё только кусочек карты, мне нужно на каждого область делать?)
6

» WarCraft 3 / RPG | Возрождение моба в заданной точке.

8gabriel8:
Можно и без JASS, значение (Diyng unit) для триггера не будет меняться.
По подробнее можно?
Fakov:
использовать local unit u = getDyingUnit()
потом триггерно по прошествию времени (вейта какого либо) - воскрешать и очищать локалку.
Но для этого нужны минимальные знания джасса.
Можно геммороиться с группами, занося юнита в группу для воскрешения, и периодически по таймеру воскрешая всех юнитов в группе.
Мне нужно каждого моба спавнить в стартовой его точке, причём на каждого своя точка. И не нужно чтобы в одной точке было 2 и больше мобов.
Насколько я понял без регистрации каждого моба не обойтись?..
  1. Резервировать массив для каждого юнита.
  2. Устанавливать переменную макс. кол-ва юнитов
  3. По циклу записывать позицию в отдельные масивы.
  4. Раз в 60с прогонять цикл и проверять умер юнит или нет, с каждым созданием присваивать переменной отвечающую за юнита последнего создавшегося.
Это единственный вариант?
6

» WarCraft 3 / Усиление нейтрально враждебных

Технологию создать, нет? По началу уровень 0, а потом когда нужно повышать.
6

» WarCraft 3 / Особый персонаж

Работай переменными, заноси Тип героя или Конкретную боевую единицу в переменную, и когда выполняешь функцию телепорта проверяй, если герой != переменная героя, значит выполнять.
Второй якобы вопрос совсем не понятен, объясни более детально.
6

» WarCraft 3 / Проверка на уровень предмета.

Castwork:
qzGoon:
Castwork:
Можно попытаться поставить уровень предмета выше 8-го, предварительно зажав клавишу shift.
Потестил, получилось установить 150 уровень предмету.
Бредишь..
Есть: Уровень предмета - от 1 до 8
И есть: Уровент предмета ( не классифицированный ) - от 1 до ХХХ.
Мне нужно этот: Уровень предмета - от 1 до 8.
что, прости?
вот скрин
В каком это редакторе? В меня стоит ещё старенький FNWE, когда зажимаю шифт даже не пишется ничего.
Fakov:
qzGoon:
Castwork:
Можно попытаться поставить уровень предмета выше 8-го, предварительно зажав клавишу shift.
Потестил, получилось установить 150 уровень предмету.
Бредишь..
Есть: Уровень предмета - от 1 до 8
И есть: Уровент предмета ( не классифицированный ) - от 1 до ХХХ.
Мне нужно этот: Уровень предмета - от 1 до 8.
Триггерно насколько мне известно нельзя устанавливать уровни предметам. С шифтом при создании можно установить предмету любой уровень.
Тебе лучше использовать custom value предмета. Его можно динамически триггером править.
Поточнее? Это типо бд?
6

» WarCraft 3 / Проверка на уровень предмета.

Castwork:
Можно попытаться поставить уровень предмета выше 8-го, предварительно зажав клавишу shift.
Потестил, получилось установить 150 уровень предмету.
Бредишь..
Есть: Уровень предмета - от 1 до 8
И есть: Уровент предмета ( не классифицированный ) - от 1 до ХХХ.
Мне нужно этот: Уровень предмета - от 1 до 8.