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

LonWolf

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

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

  • Посещение

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

  1. Я, наверное, что-то не так делаю с FadeIn/FadeOut. У меня экран темнеет и больше никогда не возвращается в прежний вид..

    Гммм... что-то типа if ( GameHour < 6), set GameHour to? гммм. Я слышала есть какая-то функция, она называется вроде бы timescale. Только мне не приходилось с ней сталкиваться и я не знаю, как она работает. если она есть...

    эх блин был бы у меня морр я бы все протестил и дал тебе точные ответы а так придется все по памяти которая и подвести может :(

     

    вобщем у меня такие мысли насчет затемнения -

    когда надо ввергнуть во тьму юзаем

    FadeTo 100 4.0

    четыре ноль это время затемнения в секундах. далее чтобы высветить юзаем

    FadeTo 0 4.0

    между ними можно оставить задержку по таймеру и в дополнение DisablePlayerControls.

    Для времени юзаем код

    Set GameHour to GameHour + 2

    не знаю безошибочно ли сие, возможно потребуются исключения...

    timescale... не помню...

     

    Мне там сложно, что у него какая-то переменная, по-моему CalvusDay. Когда он не нанят, она равна 0, когда нанят - 1, и потом каким-то образом начинается отсчет до 30 (каким я не знаю. Там вроде нет ничего похожего на float timer). Ее нет в его скрипте. Я не знаю, откуда на берется, вроде там нет глобального скрипта. :(

    здесь идет проверка не на секунды а на дни. в морре есть глобальная игровая переменная Day, показывающая текущий день месяца. Код отсчета следующий:

    Begin dz
    
    Short cday
    Short once
    Short cpassed
    
    if ( once == 0 )
    Set cday to day
    Set once to 1
    endif
    
    if (cday != day)
    Set cpassed to cpassed + 1
    Set cday to day
    endif
    
    End

     

    cpassed показывает количество прошедших дней.

     

     

    А еще у меня иногда диалоги странным образом тормозят. В смысле иногда топик не оказывается подсвеченным. Он, типа, не является гиперлинком. Но при этом если фильтровать для непися диалог, данный топик у него отражается. хммм. А в игре - нет. Пользуюсь mod prepare/ В большинстве случаев все работает, но иногда вот такие косяки. Вы с этим сталкивались?

    сталкивался, хоть диалогами никогда сильно и не увлекался. часто странные глюки с этими гиперлинками бывали, консольные утилиты помню for some reason не могли помочь приходилось иногда даже hex-едитить. разное бывало...

  2. 5. А как заставить игрока принудительно поспать? ну то есть, чтобы при прикосновении к какому-нибудь предмету, его хорошо вырубило на определенное количество часов?

     

    6. Как заставить наемника-компаньона следить за временем? То есть чтобы он знал, когда срок контракта истечет?

     

    5 - есть функция ShowRestMenu, но она не подойдет т к просто вызовет меню отдыха как при активации кровати. в принципе можно поэксперементировать с FadeIn/FadeOut, типа при активации хрени экран вдруг затемняется и вариабла GameHour инкрементится на нужное количество а впоследствии месажбокс *вы внезапно вырубились*, но это только проект из моей головы, морровинда сейчас нет под рукой...

     

    6 - смотри скрипт наемника из морнхолда там все не так уж сложно.

  3. А почему нельзя:

    short trama_root

    set trama root to ( player -> Getitemcount "trama root" )

    player->removeitem "trama root" trama_root

    trama_container->additem "trama root" trama_root

     

    Потому, уважаемый, что эти функции могут принимать глобальные переменные и только в поле результатов диалога.

  4. Ты про етот баг? непись с вашим луком стреляет, а стрелы появляются у вас

     

    стар я стал и многое подзабыл так что не удивляйтесь, я не могу втереть каким макаром OnPCEquip будет влиять на NPC?

     

    есть ли проверка на уровень изношенности?

    Нет.

  5. Ведь - черт с ним с силт-страйдером, - если игрок начнет нападать на мирных жителей, новая стража тут же его поддержит. Во прикол будет!

    Я не проводил особых воркараундов с этим, но по-моему такого не произойдет ибо штраф никуда не девается...

     

    Кстати я забыл, Лофз, глобальную переменную alldead нужно сбрасывать в ноль каждое утро.

  6. Зачем Stat-ы? Зачем лишнии переменные? не пойму. А так всё верно, вроде..., за исключением на верное строки

    elseif ( state == 2 ), ведь условие уже верно, хотя... Заработает, в следущем фрейме...

    лишние? о великий гуру напиши мне тот же самый скрипт без этих Stat-ов и заставь его работать тогда так и быть я уйду на пенсию и перестану давать свои глупые наставления.

  7. Не знаю как по другому рационально сделать чтобы стражники бились с вампами, через StartCombat выйдет криво, можешь мне поверить. Так что или отказаться от идеи со стражами или терпеть некоторые неудобства.

     

    А если он не станет убивать вампиров, а специально побежит к силт-страйдеру? он же окажется в иной ячейке в компании бесплатной стражи, от которой нипочем не отделается!

     

    А вот эту проблему можно решить, добавив во второй скрипт следующее:

    if ( GetCurrentAiPackage == 3 )
    if ( CellChanged == 1 )
     AIWander 1024 10 0 0 20 0 0 10 30 0 0 0
    endif
    endif

  8. Сначала создай несколько вампиров, ставь им Fight 100, создай новый скрипт на основе Vampire_berne только добавь в него строки:

    if ( OnDeath == 1 )
    Set alldead to ( alldead + 1 )
    endif

    alldead - глобальная переменная типа short.

     

    Вот это глобальный скрипт, поставь StartScript LW_vamp рядом с журнальной записью там где должны начинаться нападения. appear это глобальная переменная типа short, ее нужно будет создать.

    Здесь применяется не Disable/Enable, а "выкладываие" вампиров напрямую, так что координаты xyz надо будет определить заранее.

    Zrot это поворот в минутах.

    Begin LW_vamp
    
    short once 
    short curDay
    
    if ( GetJournalIndex "vamp" >= 100 );конечная запись
    StopScript LW_vamp
    endif
    
    if ( Gamehour >= 0 )
    if ( Gamehour < 6 ) 
     if ( once == 0 )
      Set curDay to Day
      Set appear to 1
      Set once to 1
     endif
     if ( curDay != Day )
      Set appear to 1
      Set curDay to Day
     endif
    endif
    endif
    
    if ( appear == 1 )
     PlaceItemCell "vamp1" "ID ячейки" x y z Zrot 
     PlaceItemCell "vamp2" "ID ячейки" x y z Zrot
     PlaceItemCell "vamp3" "ID ячейки" x y z Zrot
     PlaceItemCell "vamp4" "ID ячейки" x y z Zrot
     Set appear to 0
    endif
    
    End

     

    Далее, это скрипт на всех стражников поблизости (лучше создать уникальных стражей с новыми ID):

    Begin LW_guard
    
    if ( appear == 1 )
    if ( GetDistance player < 3000 )
     AiFollow player 0 0 0
    endif
    endif
    
    if ( alldead == 4 );это количество вампиров
    AIWander 1024 10 0 0 20 0 0 10 30 0 0 0
    endif
    
    End

     

    Как говорил один мой знакомый "Hope this works!", ибо сам протестить сейчас не могу.

  9. громдрон чесслово ты надоел навязывать другим то в чем плохо разбирашся сам. :\

     

    Вампир есть не что иное как обычный NPC, на которого повешен скрипт Vampire_berne, Vampire_aundae или Vampire_kuarra. Скрипт добавляет способности относящиеся к соотв клану и эффект вампиризм который изменяет лицо.

     

    ЗЫ LofZ подожди чуток сейчас может выложу тебе скрипт.

  10. Я жажду чуда. Циник смотрит в небо.

    Я был здесь раньше... Или я здесь не был?

    Я видел тьму... Теперь я вижу свет.

    Причин жалеть себя теперь уж больше нет...

    А что же небо? Небеса молчат.

    Мне было грустно видеть как летят,

    Сорвавшись с ветки, желтые листы,

    Напоминание ушедшей красоты...

    Сегодня вечером опять смотрю в окно,

    Смотрю на небо. Что там, как оно?

    Смотрю на звезды. Может быть они

    Вернут назад минувшие те дни.

    Вернут назад то время золотое,

    Когда внезапно был я награжден судьбою,

    Когда познал значение любви...

    Но поздно. Я лежу в крови.

    "Убей себя" - шутя сказал мне кто-то.

    И я убил. Но не смешно мне что-то.

    Она ушла. Зачем теперь мне жить?

    Пойду за ней. Мне нечем дорожить.

×
×
  • Создать...