Онлайн игра Адамант Адан: Хроники Средиземья
0 Пользователей и 1 Гость просматривают эту тему.
Страницы: 1 2 3 [4]

касик

  • Герой
  • *****
  • Сообщений: 456
21 Мар 2013 в 14:49

Re: Тригер для Зоны

Вопрос к гуру триггеров)

Как переместить всю группу, когда стриггерил только один игрок на клетке? Допустим, если бы в логове по команде телепортироваться перемещался не только тот, кто триггерит, а и все игроки, которые были с ним на клетке?

к сожалению нет мапера под рукой, но вроде так и есть типа teleport all ну ессно с буквой m/o/r в начале команды.

к примеру еси ТПшит моб имх будет так: mteleport all rnum(номер клетки).
правда думаю он сам тудаже ТПшнеца, такчто его надо будет вернуть обратно)

p.s. я правдо не гуру триггеров) и наверное есть способ проще, но так тоже должно работать.


Дело в том, что этот триггер не для клетки, а для моба...который ходит и которого телепортировать не надо вместе с игроками

ну после mteleport all rnum
ты можешь командой mgoto rnum вернуть его на положенное место, это не будет заметно игрокам.
или как вариант создать этого моба в нужной клетке и удалить того, который степешился с игроками.

если вариант как с фангом триг будет выглядеть примерно следующим образом:

set firstchar %self.people%
while %firstchar%
set pc %firstchar.next_in_room%
if (%firstchar.vnum% == -1)
mteleport %firstchar.alias% rnum
mforce %firstchar.alias% look
end
if %pc%
makeuid firstchar %pc.id%
else
set firstchar 0
end



Триггер работает, но телепортирует только того, кто стриггерил, остальные игроки стят на месте...может ошибка где?(

dad Min

  • Рядовой
  • ***
  • Сообщений: 31
21 Мар 2013 в 16:10

Re: Тригер для Зоны

Цитата

set firstchar %self.people%
while %firstchar%
set pc %firstchar.next_in_room%
if (%firstchar.vnum% == -1)
mteleport %firstchar.alias% rnum
mforce %firstchar.alias% look
end
if %pc%
makeuid firstchar %pc.id%
else
set firstchar 0
end



Триггер работает, но телепортирует только того, кто стриггерил, остальные игроки стят на месте...может ошибка где?(

Я конечно не билдер и не знаю этот язык, но соответствующее образование подсказывает, что:
set firstchar %self.people%
while %firstchar%
set pc %firstchar.next_in_room%
if (%firstchar.vnum% == -1)
mteleport %firstchar.alias% rnum
mforce %firstchar.alias% look
end
if %pc%
makeuid firstchar %pc.id%
else
set firstchar 0
end
end  <---- возможно нужен здесь как завершающая "логическая скобка" оператора while ?
как вариант, в общем нужно закрыть тело цикла (возможно для этого есть какой то другой оператор, например: done)

Линдир

  • [Бессмертный]
  • Герой
  • *****
  • Сообщений: 1012
21 Мар 2013 в 16:16

Re: Тригер для Зоны

set char %self.people%
while (%char%)
  set pc %char.next_in_room%
    if (%char.vnum%==-1 || %char.is_pet%)
     mteleport %char.unique_id% 80207
     mat 80207 mforce %char.unique_id% look
    end
  set char %pc%
done

касик

  • Герой
  • *****
  • Сообщений: 456
21 Мар 2013 в 18:05

Re: Тригер для Зоны

всем спасибо - работает)

Lenin

  • [Аст-Ахэ]
  • Герой
  • *
  • Сообщений: 811
22 Мар 2013 в 08:45

Re: Тригер для Зоны

линдир на раз вопрос решил)
Изменено

Страницы: 1 2 3 [4]