Всем привет, такой вопрос, как сделать чтобы задания которые я создаю отображались у определенных игроков, а не у всех сразу
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
4 недели назад
0
Похожие вопросы:

ответ
Событие:
Юнит умирает
Условие:
Количество типов юнитов "Казарма" равно 0 or тип юнита "Казарма" из мертв равно да
Количество типов юнитов "Ферма" равно 0 or тип юнита "Казарма" из мертв равно да
Количество типов юнитов "Олодом" равно 0 or тип юнита "Казарма" из мертв равно да
Событие:
Задание выполнено-показать блаблабла (не важно)
Я с этим согласен, но можно было б
Событие: каждые 0.05сек.
Условия
Кол-во тип юнита "Казармы" В ОБЛАСТИ равно 0
Кол-во тип юнита "Ферма" В ОБЛАСТИ равно 0
Кол-во тип юнита "Олодом" В ОБЛАСТИ равно 0
ОБЛАСТЬ создай и помести в неё все свои домики
Действие:
Твоё что ты там хочешь.....

Только проблема: я не помню есть ли такое условие..*(
ответ
The Dude, это несерьезно. Все вопросы описаны в большом количестве статей здесь, на нашем сайте - xgm.guru/p/wc3/articles. То, что перечисляешь не верх мастерства WE, а базовые знания. Материалов предостаточно. Успехов в обучении.
ответ
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
ответ
Вроде бы удалось решить проблему самостоятельно. Ошибка действительно была элементарной - идентификатор не устраивал введённый туда заглавный символ, а я не знал об этом. Простите за беспокойство.
ответ
Я не особо разбираюсь в англоязычном варианте триггеров, но у вас вроде стоит "Удалить - последний брошенный предмет", вам нужно "Удалить - Предмет переносимый [герой] типа [название предмета]". Если мой руссификатор не влияет на последовательность пунктов в настройке, то вы использовали третью строчку, а вам нужна девятая. Там вы можете удалить конкретный предмет у конкретного же персонажа.

0
27
4 недели назад
0
Вам поможет эта статья
Эта команда GetLocalPlayer() дает узнать, какая машина является локальной. Если ты играешь за красного игрока, у тебя покажет, что ты локальный игрок. Если твой сосед играет за синего, у него отображается, что синий это локальный, а не красный. У каждой машины будет свой игрок.
В начале игры или в какой то момент игры (не обязательно со старта) ты создаешь для всех общее задание, и скрываешь. Статья учит, что нельзя создать локально данные, иначе это будет плохо. Я вот не знаю, как с квестами, можно ли их локально создавать, ведь это относится к части интерфейса, а там все локально можно сделать.
Можно проверить у каких игроков (допустим красный и синий), локальная машина, и добавить/изменить задание.
if GetLocalPlayer() == Красный ИЛИ GetLocalPlayer() == Синий then
Показать квест
end
Ответы (15)
0
29
4 недели назад
0
Я вот не знаю, как с квестами, можно ли их локально создавать, ведь это относится к части интерфейса, а там все локально можно сделать.
Ты неправильно думаешь. В игре есть таблица ссылок handles. Если у игроков разойдутся эти таблицы, то будет десинх.
Хэндлы меньше 0x10000000 не синхронизируются. К таким относятся например тексттаги и молнии.
0
18
4 недели назад
0
MpW, кстати, а Get Local Player можно ли сохранять в глобалку на старте игры, чтобы не вызывать команду каждый раз? Просто смущает момент, что у каждого игрока будет переменная с разным значением. Вдруг там движок сравнивает значения одинаковых переменных по всем игрокам в сетевой игре, и выдаёт десинк при несоответствии
0
29
4 недели назад
0
EugeAl, вдруг? Игра сравнивает состояние.
Просто смущает момент, что у каждого игрока будет переменная с разным значением.
Ну так заведи массив, в чём проблема?
0
27
4 недели назад
0
nazarpunk, информацию надо в статью дока
0
18
4 недели назад
Отредактирован EugeAl
0
nazarpunk, пожалуй, сделаю на всякий случай.👍
А, стоп. А как туда приписать индексы игроков, если функция вызывается 1 раз для записи в глобалку. А если её вызвать 12 раз на каждую ячейку, то по сути это будет то же самое.
0
29
4 недели назад
0
А как туда приписать индексы игроков, если функция вызывается 1 раз для записи в глобалку.
А ты не юзай функцию. А храни все данные отдельно для каждого игорька.
0
18
4 недели назад
0
nazarpunk, проще будет от глобалки отказаться и делать как обычно, с вызовами, по крайней мере, вызовы не десинкуют.
0
27
4 недели назад
Отредактирован MpW
0
кстати, а Get Local Player можно ли сохранять в глобалку на старте игры, чтобы не вызывать команду каждый раз?
Можно. Я так когда то делал. Без проблем. Заводил глобалку на старте и писал GetLocalPlayer = GetLocalPlayer()
Вдруг там движок сравнивает значения одинаковых переменных по всем игрокам в сетевой игре, и выдаёт десинк при несоответствии
Такое логически невозможна. Значение в глобалке у каждого игрока на своей машине будет свое. Пример глобалка GetLocalPlayer у красного хранит значение, что он локальный игрок, у синего GetLocalPlayer будет показывать что он.
Можно еще локально узнвть номер локального игрока, и его брать.
Хотя, мне без разницы. Позже я отказался от глобалок. Я на фреймах кстати хранил данные квждого игрока локально в массивах
На самом деле, я не специалист по десинхам, тк у меня карты нк доходили до этапа мульплеерной игры. Но вот часто тестил, и ни разу не бывало десинхов, а если бывали, то я устранял. Нужно знать как правильнее делать или устранять
0
29
4 недели назад
0
Позже я отказался от глобалок.
И зря. Пачка универсальных глобалок намного удобней геммороя с обнулением хэндлов.
0
18
4 недели назад
0
MpW, поздно сказал, я уже переделал всё. Прыгать туда-сюда, потому что один сказал нельзя, а другой можно - не выход )
0
29
4 недели назад
0
Прыгать туда-сюда, потому что один сказал нельзя, а другой можно - не выход )
Я так понимаю, что разобраться в теме и решить какой подход удобней религия запрещает?
0
18
4 недели назад
Отредактирован EugeAl
0
nazarpunk, запрещает движок, точнее отсутствие доступа к его исходникам. Тогда бы разбирался.
Мб, потом когда нибудь протестирую и верну назад, хотя не обязательно, у меня мало где используется гет локал плэйер
И ещё я написал Анрайзу, у него есть код движка.
0
18
4 недели назад
0
nazarpunk, собственно ответ Анрайза
Десинхает не сохранение разных значений (да и Player существует всегда, потому GetLocalPlayer не создаёт новый хендл). И да, так можно, но читаемость кода сильно пострадает ради пары наносекунд разницы по скорости.
0
29
4 недели назад
0
EugeAl, как будто никто этого и раньше не знал.
0
18
4 недели назад
0
nazarpunk, Кто то может быть и сейчас не знает, для них и написал, посмотрят, узнают. Не только мы читаем этот тред.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.