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

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

Ответ
 
senatus
тихий и скромный...
offline
Опыт: 7,423
Активность:
Десинкает?
По-моему, тебя вводит в заблуждение имя метода. Локал плеер совсем не то проверяет.
Насколько я понял, это плеер, вызвавший событие. В моем случае, как я уже упоминал, плеер набирал строку в чате, триг отлавливал это и отсылал в фуенкцию, отображающую текст и проигрывающую звук для плеера. Только для того, кто написал строку.
Если ты думаешь, что создается локальный объект ( квест ), то это вполне возможно. Тем более, если он присваивается локальной переменной. Хэндл к нему мы потеряем, это ясно. НО квест останеться, я уверен. А не уничтожится при выходе за область видимости переменной. Если нет надобности его изменять, то можно так легко. А если нада - присваивайте его глобальной переменной. В чем трабл?
Старый 03.03.2008, 16:10
Шева

offline
Опыт: 1,174
Активность:
ну вот вы спрашивали что надо сделать для квеста, я написал подобрать предмет для того чтобы вы просто сделали, а я бы уже потом подправил как мне надо... просто у меня получается сотрите. Когда игрок докачаетса до 15 лвл ему даетса квест, там типа надо будет выбить шмот с мобов и принести его (типа 3 предмета на с зарядом по 5 каждый) и когда он соберет оно превращается в 1 предмет, после чего он должен принести этот предмет 1 типочку в городе и ему в качестве выполненного квесте переменная меняется с 0 на 1, что в свою очередь добавляет герою способность(переменная цифра чтобы удобно было с сейв-лоад делать) и все но главное чтобы каждый игрок сам проходил....)) Думаю суть квеста вы поняли? если вам не лень можете пожалуйста сделать мне квест для отдельного игрока чтобы он должен войти в такуе то зону карты с таким то предметом, чтобы квест пройти, а дальше у меня уже все готово, просто я в джасе не силен ток триги))

Шева добавил:
Да у квеста есть своя переменная в массиве для каждого игрока

Шева добавил:
и игрок в переменной...
Старый 03.03.2008, 18:05
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
senatus, не надо мне расказывать что делает локал плеер =)
Код:
function takes nothing returns nothing
  local unit u
    if (GetLocalPlayer()==Player(1) ) then
      set u = CreateUnit(Player(1),'hfoo',0,0,bj_UNIT_FACING) 
      call SetUnitX(u,12000) // при размере карты меньше 12000*2
      call SetUnitY(u,12000)
    endif
endfunction
Десинкнет а затем выкинет с фаталом синего игрока. Почему - потому что создание юнита на локальной машине, в то время как на других его нет. Соответственно, десинхронизаяция. А вынесение за границы карты - это так, дял наглядности, что одно, что другое одинаково неприятно. Теперь ты говоришь, что
Код:
function ...
  local quest q
    if (GetLocalPlayer()==Player(1) ) then
      set q = CreateQuest() 
    endif
endfunction
работает нормально
про создание "локального объекта" - в том и дело что квест ли виджет ли - объект глобальный и создание его на отдельной машине влечет десинк...

Отредактировано FellGuard, 03.03.2008 в 20:10.
Старый 03.03.2008, 19:59
adic3x

offline
Опыт: 108,439
Активность:
сам не тестил, ибо двух машин нет, НО если вы неуверены лучше создавать обьект глобально и настраивать его локально
Старый 03.03.2008, 20:05
Шева

offline
Опыт: 1,174
Активность:
Типы, вы начали говорить непонятным для меня языком джаса)) Можете кто то плиз создать квест на подобие того что я написал для отдельного игрока, и залит тут.... Я бы на примере посмотрел бы и может понял бы)) и что то делал З-)
Старый 03.03.2008, 20:13
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Шева, дело в том что сейчас на непонятном языке как раз выясняется, пригоден ли алгоритм реализации твоего квеста вот в этом посте, или надо искать другие пути

FellGuard добавил:
я вот считаю что этот апишнег при верности моих догадок вызовет десинхронизацию игрока при использовании
Старый 03.03.2008, 20:19
Шева

offline
Опыт: 1,174
Активность:
Тоесть вы не уверены что такое возможно?)
Старый 03.03.2008, 20:25
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
все возможно, вопрос в том как делать. Создавать ли локальный квест если не десинкает или высвечивать один и тот же квест всем игрокам но сразным содержанием.
Старый 03.03.2008, 20:28
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
Тоесть вы не уверены что такое возможно?)

мы уверены что такое возможно нет так как оно предлагается
Старый 03.03.2008, 20:35
Шева

offline
Опыт: 1,174
Активность:
Ну попробуйте плиз сделать то что я писал, в крайнем случае просто с лвл сделаю....
Старый 03.03.2008, 23:52
senatus
тихий и скромный...
offline
Опыт: 7,423
Активность:
FellGuard
Точно. Я и не подумал. В определение так и не полез глянуть.
Так десинк вызовется только если на одной машине? Или у всех?
Старый 06.03.2008, 11:46
and_y87
Тру Кодер
offline
Опыт: 21,030
Активность:
Если тема актуальна...
У меня есть 2 компа могу проверить работает ли Квест для отдельного игрока...
Только сделайте мне мапу с двумя квестами для двух игроков т.к. я в джассе ещё нубпоршивый я этого несмогу...
Старый 09.06.2008, 00:40
adic3x

offline
Опыт: 108,439
Активность:
думаю уже нет...
Старый 09.06.2008, 09:14
and_y87
Тру Кодер
offline
Опыт: 21,030
Активность:
ADOLF, а работает ваще?
хочеться 100% знать...
Старый 09.06.2008, 12:01
Ответ

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

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

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

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



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