[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Форум » У костра (общий) » Туториалы » Помощь со скриптом (Движение объекта)
Помощь со скриптом
Сазан Дата: Суббота, 2012-07-21, 23:41 | Сообщение # 1

Группа: Друзья
42
1
0
Наверное, я уже достал biggrin
Но опять возникла проблемка:
Суть вчем: игрок заходит в АПЛ (квест), жмет на консоль. Там выскакиевает мессадж, (да-нет), жмем да, игрока телепортит наружу. Дисаблятся действия игрока. А адльше из АПЛ должна вылетать атомная ракета.
Скрипт на атомной бомбе:

Code
scn HHAtomBombMoveScript

float Timer
short Step
float StartPosition
float ZPosVar
float ZPos

Begin GameMode
  if (Step == 0)
     set StartPosition to (GetPos Z)
     set Step to 1
  elseif (Step == 1)
  if ( HHAtomBombZWayRef.GetDisabled == 1 )
       set ZPosVar to (GetPos Y)
       set ZPos to (ZPosVar  +4)
       SetPos Z ZPos
   set Timer to (Timer + GetSecondsPassed)
       if (Timer >= 14)
         SetPos Z StartPosition
         set Timer to 0
       endif
   endif
endif
End


Скрипт на активаторе-консоли:

Code
SCN HHAtomBombConsoleScript

Short State
Float Timer
short button

Begin OnActivate
  if (State == 0)
Set State to 1
Activate
  endif
End

Begin GameMode
if ( State == 1 )
  Set Timer to Timer + GetSecondsPassed
  if ( Timer >= 0.5 )
   DisablePlayerControls
       HHAtomBombZWayRef.Disable
   Set Timer to 0
   Set State to 2
  endif
endif

if ( State == 2 )
Set Timer to Timer + GetSecondsPassed
  if ( Timer >= 1 )
   Set Timer to 0
   Set State to 3
  endif
endif

if ( State == 3 )
Set Timer to Timer + GetSecondsPassed
  if ( Timer >= 3 )
   Set Timer to 0
   Set State to 4
  endif
endif

if ( State == 4 )
Set Timer to Timer + GetSecondsPassed
  if ( Timer >= 3 )
   Set Timer to 0
   Set State to 5
  endif
endif

if ( State == 5 )
Set Timer to Timer + GetSecondsPassed
  if ( Timer >= 3.5 )
   showmessage HHAtomBombMenu
   Set Timer to 0
   Set State to 6
  endif
endif

if ( State == 6 )
  Set Timer to Timer + GetSecondsPassed
  if ( Timer >= 4 )
   Set Timer to 0
   Set State to 7
  endif
endif

if ( State == 7 )
  Set Timer to Timer + GetSecondsPassed
  if ( Timer >= 4.5 )
   HHAtomBombZWayRef.Enable
   EnablePlayerControls
   Set Timer to 0
   Set State to 0
  endif
endif

End

Begin GameMode

set Button to GetButtonPressed

if ( button == 0 )
  player.moveto HHAtomBombZWayRef
  enableplayercontrols
elseif ( button == 1)
endif
End

Проблема вот в чем: игрока мувит к маркеру наружу, но ракеты уже нет. Вообще нигде. Уже перепробовал все, где ошибка - не пойму.
Прошу помощи.


Cinema 4D
Статус: Offline
djsave Дата: Воскресенье, 2012-07-22, 03:07 | Сообщение # 2
Ни шагу назад !!!!
Группа: Администраторы
1490
Моск ща чет не пашет - я тут с лазером запарился. Но судя по тому что ты хочешь то я бы сделал по другому :
Активируем консоль - ее скрипт нас перемещает на маркер куда там надо.
Маркер стоит в тригере - скрипт тригера запускает ракету и отключает себя
все просто и все счастливы.
Правильное понимание алгоритма действий это уже 80% скрипта.
и не юзай так часто таймеры, то что тебе надо можно вообще без них сделать.


Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
Статус: Offline
Сазан Дата: Воскресенье, 2012-07-22, 20:00 | Сообщение # 3

Группа: Друзья
42
1
0
djsave, спасибо, попробую.

Добавлено (2012-07-22, 16:32)
---------------------------------------------
И все-таки она вертится летит! осталось только увеличить скорость + добавить пламя внизу, и звук полета.

Добавлено (2012-07-22, 18:07)
---------------------------------------------
Какой командой можно использовать в скрипте Explosion'ы? IMod не подходит. Нужно, чтобы через определенное время полета бомбы раздавался взрыв. Именно, как при взрыве мегатонны в Тенпенни Тауэр. Я искал там - так ничего и не нашел, лишь эффекты (пыль, тряска и т.д.)

Добавлено (2012-07-22, 20:00)
---------------------------------------------
Опять же, все нашел, и во всем разобрался. Теперь вопрос, довольно-таки простой: как отменить теперь все это? Ракета летит, взрывается, атомная вспышка, ба-бах. Но! Это все повторяется. Как остановить процесс?
Code
scn HHAtomBombMoveScript

float Timer
short Step
float StartPosition
float ZPosVar
float ZPos

Begin GameMode
   if (Step == 0)
      set StartPosition to (GetPos Z)
      set Step to 1
   elseif (Step == 1)
   if ( HHAtomBombZWayRef.GetDisabled == 1 )
        set ZPosVar to (GetPos Z)
        set ZPos to (ZPosVar  +25)
        SetPos Z ZPos
    set Timer to (Timer + GetSecondsPassed)
        if (Timer >= 10)
          imod MegatonNukeISFX
          HHAtomBombRef.PlaceAtMe MegatonNuke 1
          if (timer >= 11)
          HHAtomBombRef.Disable
          if HHAtomBombRef.GetDisabled
          set Timer to 0
          Endif
         endif
        endif
    endif
endif
End


Все, опять во всем разобрался.


Cinema 4D

Сообщение отредактировал Сазан - Воскресенье, 2012-07-22, 20:36
Статус: Offline
Macoron Дата: Воскресенье, 2012-07-22, 20:52 | Сообщение # 4

Группа: Администраторы
623
5
Сазан,
Мы за тобой не успеваем wacko


Если ото всех воняет говном, может, это ты обосрался?
Mr. Freeman, Part 58
Статус: Offline
Сазан Дата: Воскресенье, 2012-07-22, 21:16 | Сообщение # 5

Группа: Друзья
42
1
0
Macoron, это я на отдыхе, времени полно. biggrin Как отключить эффект MegatonNuke? Он постоянно повторяется, и это не есть хорошо.

Cinema 4D
Статус: Offline
djsave Дата: Понедельник, 2012-07-23, 00:40 | Сообщение # 6
Ни шагу назад !!!!
Группа: Администраторы
1490
что значит отключить ? а как ты его включил ?
Если для включения писал imod бла бла бла , то отключаешь rimod бла бла бла.


Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
Статус: Offline
Сазан Дата: Понедельник, 2012-07-23, 01:48 | Сообщение # 7

Группа: Друзья
42
1
0
HHAtomBombRef.PlaceAtMe MegatonNuke 1 - это не аймод. Он регулярно идет на повтор. Не знаю, как отключить.

Добавлено (2012-07-23, 01:48)
---------------------------------------------
Исправил проблему командой MarkForDelete


Cinema 4D
Статус: Offline
djsave Дата: Понедельник, 2012-07-23, 01:50 | Сообщение # 8
Ни шагу назад !!!!
Группа: Администраторы
1490
а ну тогда да. Кто же знал что ты и как включил.

Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
Статус: Offline
djsave Дата: Понедельник, 2012-07-23, 01:51 | Сообщение # 9
Ни шагу назад !!!!
Группа: Администраторы
1490
Насколько я понимаю ты делаешь под 3й фол ?

Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
Статус: Offline
Сазан Дата: Понедельник, 2012-07-23, 11:10 | Сообщение # 10

Группа: Друзья
42
1
0
djsave, да, под его самого.
Не очень люблю НВ. Уж ничего с собой не поделать.


Cinema 4D
Статус: Offline
djsave Дата: Понедельник, 2012-07-23, 15:28 | Сообщение # 11
Ни шагу назад !!!!
Группа: Администраторы
1490
Мне тоже по душе больше 3й фол, но вот функционал - больше все же в вегасе - поэтому работаем под него.

Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
Статус: Offline
Macoron Дата: Понедельник, 2012-07-23, 15:44 | Сообщение # 12

Группа: Администраторы
623
5


Если ото всех воняет говном, может, это ты обосрался?
Mr. Freeman, Part 58
Статус: Offline
Сазан Дата: Понедельник, 2012-07-23, 19:02 | Сообщение # 13

Группа: Друзья
42
1
0
Macoron, класс!

Cinema 4D
Статус: Offline
djsave Дата: Вторник, 2012-07-24, 17:03 | Сообщение # 14
Ни шагу назад !!!!
Группа: Администраторы
1490
Сазан, да ты строчишь так что прям не успеваешь подумать над твоими вопросами.
Ну так ракета то летит ? Что там бомбить то собрался ?


Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
Статус: Offline
Сазан Дата: Среда, 2012-07-25, 17:22 | Сообщение # 15

Группа: Друзья
42
1
0
djsave, да это квест к моду на новое Убежище biggrin
Понял, что стандартные "простенькие" квесты уже народу надоели. Народ требует хлеба и зрелищ. Нужен атомный взрыв над Ривет-Сити. ракета летит, взрыв есть, эффекты есть.
Злые анклавовцы:D Решили запустить атомную бомбу прямо в Цитадель.


Cinema 4D
Статус: Offline
djsave Дата: Среда, 2012-07-25, 20:58 | Сообщение # 16
Ни шагу назад !!!!
Группа: Администраторы
1490
да это точно - а после взрыва конец мода или локацию цитадели переделываешь ?

Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
Статус: Offline
Сазан Дата: Среда, 2012-07-25, 23:27 | Сообщение # 17

Группа: Друзья
42
1
0
djsave, нет, мы взрываем бомбу в воздухе.

Cinema 4D
Статус: Offline
djsave Дата: Четверг, 2012-07-26, 07:35 | Сообщение # 18
Ни шагу назад !!!!
Группа: Администраторы
1490
ух пироманьяки. cool

Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
Статус: Offline
Озон Дата: Вторник, 2014-09-02, 21:58 | Сообщение # 19

Группа: Друзья
64
2
2
Скрипты Фолла пока еще осваиваю. Готовлю вычислительный центр, а там у нас был лифт. С дверями в принципе сложностей не будет. А вот команду телепорта игрока в другую ячейку (то бишь новый этаж) что-то не нашёл. Подобный скрипт видел, но он не фурычит. Идея проста - при нажатии кнопки у игрока выбор, на какой этаж отправится. И каждый выбор делает действие - телепортация игрока в другую ячейку, где уже стоит копия лифта ) В Морре с этим было просто по скриптам. Тут я что-то не догнал. wacko
Статус: Offline
djsave Дата: Вторник, 2014-09-02, 22:15 | Сообщение # 20
Ни шагу назад !!!!
Группа: Администраторы
1490
С самим плеером то все просто а вот как быть с его напарниками ?
Для плеера можно юзать команду :
Код

Player.moveto doorvzhopuref

doorvzhopuref - это как можно догадаться маркер куда будет перемещен ГГ.
Но напарники то не переместятся, так что с лифтами необходимо быть предельно осторожно или делать потайные двери для напарников.


Гули! -вскричали рейдеры. Мясо! -вскричали гули. Опыт! -обрадовался игрок.
Статус: Offline
Форум » У костра (общий) » Туториалы » Помощь со скриптом (Движение объекта)
Страница 1 из 212»
Поиск: