Перейти к содержанию

DaemoniaC

Граждане
  • Постов

    6
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные DaemoniaC

  1. Доброго всем времени суток, я не разбираюсь в скриптинге и язык учебника OSFM для меня немного тяжеловат, поэтому прошу помощи у Вас. На основе заклинания "Вызов Хаскилла" я захотел сделать заклинание, призывающее трон Шеогората к игроку. Создал 2 маркера (SheoThroneSummonMarker и SheoThroneSummonReturnMarker), присвоил трону новый скрипт (1), создал квест вызова трона, привязал измененный скрипт (2) к нему, создал заклинание и на основе вызова камердинера сделал третий скрипт (3) и привязал к спеллу. В итоге, трон призывается, но есть несколько НО:

     

    1) Трон не перемещается обратно, то есть остается навсегда

    2) Я никак не могу заставить трон появиться прямо за спиной игрока и повернутым к нему сиденьем, он появляется с одной и той же стороны, а нужно, чтобы он появлялся за спиной независимо от угла поворота игрока, и смотрел на спину игрока сиденьем.

     

    Помогите начинающему, пожалуйста :)

     

    Скрипт 1

     

     

     

    scn SheoThroneScript

     

    short introWho

    short introWhat

    short introDoor

    short introWant

    short introPeople

    short greetVAR

     

    short leaveVAR

    float timer

    short doOnce

    float fadetimer

    float HaskillAlpha

    short fadeOnce

    short resetAlpha

    short summoned

    float summontimer

    short summonblocker

     

     

    Begin GameMode

     

    ;this chunk fades him out after summon

    if ( fadeOnce == 4 )

    Set HaskillAlpha to 0.9

    Set FadeTimer to 4

    SetActorAlpha HaskillAlpha

    set fadeOnce to 5

    endif

     

    if ( FadeOnce == 5 )

    if ( FadeTimer > 0 )

    Set FadeTimer to ( FadeTimer - GetSecondsPassed )

    Set HaskillAlpha to ( HaskillAlpha - .01 )

    SetActorAlpha HaskillAlpha

    elseif ( FadeTimer <= 0 )

    Set HaskillAlpha to 0

    Set FadeOnce to 2

    Set FadeTimer to 0

    MoveTo SheoThroneSummonReturnMarker

    set resetAlpha to 1

    set summoned to 0

    set summontimer to 0

    set summonblocker to 0

    endif

    endif

     

    if ( resetAlpha == 1 )

    setActorAlpha 1

    set resetAlpha to 0

    endif

     

    if ( summoned == 1 )

    set summontimer to ( summontimer + GetSecondsPassed )

    if ( summontimer >= 5 )

    if ( summonblocker == 0 )

    SESheogorathThroneREF.pme STRP

    set SESheogorathThroneREF.FadeOnce to 4

    set summonblocker to 1

    endif

    endif

    endif

     

    End

     

     

    Скрипт 2

     

     

    scn SheoThroneSummonQuestScript

     

    ;this script keeps the player from breaking the Haskill summon by summoning and quickly fast travelling. With this, resetVAR is set

    ;in the SESummonHaskillSpellScript on ScriptEffectFinish if the player isn't in the same cell. This script then resets all of Haskill's variable

    ;as they would be if the player remained in the cell with him and Haskills script were still updating every frame

     

    short resetVAR

     

    Begin GameMode

     

    if ( resetVAR == 1 )

    Set SESheogorathThroneREF.HaskillAlpha to 0

    Set SESheogorathThroneREF.FadeOnce to 2

    Set SESheogorathThroneREF.FadeTimer to 0

    SESheogorathThroneREF.MoveTo SheoThroneSummonReturnMarker

    set SESheogorathThroneREF.resetAlpha to 1

    set SESheogorathThroneREF.summoned to 0

    set SESheogorathThroneREF.summontimer to 0

    set SESheogorathThroneREF.summonblocker to 0

    set resetVAR to 0

    endif

     

    End

     

    Скрипт 3

     

    scn SheoThroneSummonSpellSCRIPT

     

    float timer

    short returnEffect ; set to 1 when played

    float x

    float y

    float z

    float angle

     

    begin ScriptEffectStart

    if ( SESheogorathThroneREF.summoned == 0 )

    set SESheogorathThroneREF.summoned to 1

    SheoThroneSummonReturnMarker.moveto SESheogorathThroneREF

    SheoThroneSummonMarker.moveto player

    set angle to SESheogorathThroneREF.getangle z + SESheogorathThroneREF.GetHeadingAngle player

    SESheogorathThroneREF.setangle z angle

     

    SESheogorathThroneREF.moveto player -100 y 130

    SESheogorathThroneREF.pme STRP

    else

    Message "Haskill has been summoned too recently."

    endif

     

    end

     

    begin ScriptEffectUpdate

    set timer to timer + ScriptEffectElapsedSeconds

    if returnEffect == 0 && timer > 4.5

    SESheogorathThroneREF.pme STRP

    set returnEffect to 1

    endif

    end

     

    begin ScriptEffectFinish

    if ( SESheogorathThroneREF.GetInSameCell Player == 0 ) && ( SESheogorathThroneREF.summoned == 1 )

    set SheoThroneSummonQuest.resetVAR to 1

    endif

    ; send Haskill back where he came from

    ;SESheogorathThroneREF.pme STRP

    ;SESheogorathThroneREF.removescriptpackage

    ;SESheogorathThroneREF.stoplook

    ;SESheogorathThroneREF.moveto SheoThroneSummonReturnMarker

    ;set SESheogorathThroneREF.FadeOnce to 4

    ;set SESheogorathThroneREF.greetVAR to 0

    end

  2. если я создал подобную тему, наверное, я попробовал все варианты, в том числе переустановить морроуинд :) в т.ч. баловался с настройками самого exe optimizer :) даже пробовал "решение проблем" в мануале данной утилиты, но быстро забил на это, не охото мне выискивать несколько битых патчей из 120 штук :)
  3. А изменения text.dll по типу таковой для написания русского текста через скроллок или МСР стоят?

    Нет, стоит только лишь оригинальный Морроуинд + Трибунал + Бладмун, все в локализации от 1С и Акеллы без каких-либо плагинов, только свежая инсталляция дистрибутива.

  4. Здравствуйте, форумчане, у меня возникла проблема с утилитой exe optimizer'ом. Запускаю, указываю путь к игре, нажимаю "patch morrowind", все нормально патчится, предлагает почитать лог, заглядываю, в конце лога примерно 30 сегментов с ошибками, при этом никаких окон с предупреждениями и фразами "все плохо" не было, запускаю игру и мне пишет "unknown morrowind.exe" и все... Стоит Windows Seven x64. Помогите, пожалуйста, решить проблему :(
×
×
  • Создать...