Меню сайта
HardLife addon
Статистика
Вход

Последнее в блоге
[02.10.2015]
О релизе в steam (14)
[17.06.2015]
Как всё начиналось (3)
Последние картинки
Среда, 08.05.2024, 22:56
Приветствую Вас Гость

on event - Форум

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Модификации » Наука модификации » on event ("События", как и что на них привязывать...)
on event
VorotДата: Пятница, 04.06.2010, 16:14 | Сообщение # 1
Поручик
Группа: Модераторы
Сообщений: 2806
Репутация: 112
Статус: Offline
Как привязать "квест" к началу боя сторон в секторе: партизаны - прравительство или правительство - бандиты? Искал в эвентах что-либо подходящее не нашел, правильно ли я понимаю что нужно постоянно проверять наличие воюющих сторон в секторе?

Идея следующая - если в секторе идет бой, то праздношатающиеся вооруженные люди (т.е. ГГ и его бригада) должны:
1. либо быть незамечены воюющими сторонами (спрятаться),
2. либо покинуть сектор в отведенное время (1-3 мин),
3. либо присоединиться к одной из сторон.

В противном случае обе стороны становятся враждебны...

И отключать потом, когда в игре появится "гражданская" одежда


"Они хотели нас похоронить, но не знали, что мы семена" (мексиканская пословица)

Сообщение отредактировал Vorot - Пятница, 04.06.2010, 16:23
 
DancerДата: Пятница, 04.06.2010, 16:42 | Сообщение # 2
Генерал-лейтенант
Группа: Администраторы
Сообщений: 543
Репутация: 144
Статус: Offline
Quote (Vorot)
Как привязать "квест" к началу боя
Для начала советую попробовать написать так:
on event "Battle start" Player.Say("Бой начался") always
Поясню: таки образом, если эвент кидается игрой - игрок скажет "Бой начался ". Это нужно, чтобы понять кидается ли этот эвент при боях без участия игрока.
Если не кидается, то можно использовать проверку 1 раз в 3 минуты таким образом: on event timer1+180 callm My.CheckVisibility()
Где CheckVisibility - процедура проверки видимости в которой учтён момент:
if(call CombatMode()==Yes)
<проверка видимости>
end if

Вот, н-р, как DeadHead проверяет видят ли рейдеры игрока после входа в сектор:

Code
  phrase CanSeeCheck(ref SomeSector)
    local j
    local i
    local TmpLocID
    local ref TmpRef
         
      if (callm HarlPatrol.GetAttitude(Player)==attEnemy OR Player.Loaded!=Yes OR HarlPatrol.Count<1)
         exit
      end if
       
      if (HarlPatrol.LocalIDList size>0)
       for (j = 1, j<=HarlPatrol.LocalIDList size, j++)
          TmpLocID = HarlPatrol.LocalIDList get(j)
          if (call CanSee (TmpLocID, Player.LocalID)==Yes)
            Banditos.BecomeHostile()
            exit
          end if
          if (Player.MyTeam size>0)
            for (i = 1, i<=Player.MyTeam size, i++)
              TmpRef = Player.MyTeam get(i)
              if (call CanSee (TmpLocID, TmpRef.LocalID)==Yes)
                Banditos.BecomeHostile()
                exit
              end if
            end for
          end if
       end for
      end if   
       
      on event TIMER1+3 Banditos.CanSeeCheck()
         delete when "Killed finally "+str(HarlPatrol.ININame) or
                     "Sector "+str(SomeSector.Name)+" unloaded"
   end phrase
 
VorotДата: Пятница, 04.06.2010, 18:48 | Сообщение # 3
Поручик
Группа: Модераторы
Сообщений: 2806
Репутация: 112
Статус: Offline
Понял, попробую...

"Они хотели нас похоронить, но не знали, что мы семена" (мексиканская пословица)
 
Форум » Модификации » Наука модификации » on event ("События", как и что на них привязывать...)
  • Страница 1 из 1
  • 1
Поиск: