Создание Квеста для нескольких игроков
|
|
med_ved | Дата: Среда, 30 Июля 2014, 19:17:50 | Сообщение # 1 |
6 уровень
Группа: Проверенные
Сообщений: 205
Награды: 0
Репутация: 79
Блокировки:
| Можно ли сделать так что бы задание которое взял допустим игрок красный отображалось только у него в заданиях а не у всех?
|
|
|
|
Imba_pvL | Дата: Среда, 30 Июля 2014, 21:50:37 | Сообщение # 2 |
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
| Да. Используй GetLocalPlayer()
|
|
|
|
SirNikolas | Дата: Среда, 30 Июля 2014, 23:19:38 | Сообщение # 3 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Нет. Нельзя создавать объекты (в т. ч. квесты) локально. Локально можно только блокировать (т. е. скрывать описание) для остальных игроков.
|
|
|
|
Extremator | Дата: Среда, 30 Июля 2014, 23:45:24 | Сообщение # 4 |
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
| Люди выше имеют ввиду тот факт, что квесты можно организовать таким образом, что у каждого игрока они будут получаться/выполняться отдельно.
Но сделать это нужно методом создания квестов для всех игроков, но изначально он будут "не получены" игроками. А далее, по мере прохождений - они будут открываться/выполняться.
Делается это через обращение в локальному игроку - GetLocalPlayer() а это либо писать на Jass'е, либо вставлять CS (и знать куда и где, а значит знать Jass), либо использовать JNGP, там в GUI есть локальный игрок
Что бы не создать дисконект в сетевой игре нужно знать как пользоваться полученным локальным игроком...
|
|
|
|
Imba_pvL | Дата: Четверг, 31 Июля 2014, 00:42:47 | Сообщение # 5 |
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
| Создаем задание. Блокируем его.
При приближении к нужному НПС делаем такое через кс: if GetLocalPlayer == Owner of(Trigger Unit) (или как-то так) Разблокировать задание. endif
|
|
|
|
SirNikolas | Дата: Четверг, 31 Июля 2014, 12:24:09 | Сообщение # 6 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| if GetLocalPlayer() == GetOwningPlayer(GetTriggerUnit()) then ... endif
|
|
|
|
med_ved | Дата: Четверг, 31 Июля 2014, 16:04:46 | Сообщение # 7 |
6 уровень
Группа: Проверенные
Сообщений: 205
Награды: 0
Репутация: 79
Блокировки:
| Я не смогу такое осуществить)) исходя из этого игрок который возьмёт задание только у него 1 будет в заданиях этот квест?)
|
|
|
|
SirNikolas | Дата: Четверг, 31 Июля 2014, 16:10:18 | Сообщение # 8 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Нет. Оно будет у всех, но у остальных оно будет помечено как "не полученное" (и текст квеста будет скрыт).
|
|
|
|