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

lost81

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

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

  • Посещение

Весь контент lost81

  1. Есть еще топор летучей мыши, или что-то вроде... Точно не скажу Морр снес, модель полностью готова к употреблению.
  2. Не только CS, но и Игра вылетает, стоит курсор навести на книгу...
  3. Консольно открыл все маркеры быстрого путешествия, с дуру сохранился, теперь не знаю как отключить те, маркеры, которые "еще не найдены" отключая консольно, отключаются ВСЕ маркеры! Как решить траблу? Хелп, одним словом!!!.... :(
  4. Ладно, а отбой у них во сколько?
  5. Можно, и без MWSE тупым пкречислением ВСЕХ предметов которые есть в игре... предупреждаю сразу, в один скрипт это перечисление не войдет, как минимум 2-3 с использованием глобальных переменных
  6. Вот и я про то же, первый раз скрипт выполняется при условии переменной равной нулю, после выполнения, утанавливаем значение переменной, например в единицу, и не сбрасываем... далее проверка идет на измененное значение переменной... типа: ................... if (проверка на то сел ли игрок) if Var == 0 Message "Вы задеваете секретную кнопку... и т.д. и т.п" Set Var to 1 elseif Var == 1 MessageBox "Перекинуть?" "Да" "Нет" .......................................... endif endif
  7. Где смотреть? В настройках, скриптах(если да, то каких?)? Если отличается время, то что на эти отличия влияет?
  8. Такой нескромный вопрос: А нахрена 2 трона????
  9. Слей-ка свой супермод куда-нибудь, а я утяну его и попробую скрипты написать...
  10. lost81

    Open/Closed

    Подскажите точное время работы торговцев. Со скольки до скольки они торгуют, со скольки и до скольки закрываются двери домов, во сколько NPC ложаться спать и во склько встают? Заранее благодарен.
  11. Вот в том-то и дело, что пиасть прийдется не одну сотню скриптов, причем однотипных, и это только для чистого Облома, а если учесть еще и Острова..... Это-раз, второе, помню как красной строкой еще с ТЕС 3 проходило: если можешь обойтись локальным скриптом, не используй глобальный!... На одном из форумов наковырял, как можно запустить версию 1.0.303 не переустанавливая все и вся... попробую скомпиллировать скрипт там, так как при работающих ссылках это уложится в один единственный скрипт строк на 800, не больше, иначе сортировка ингредиентов из, довольно, посредственной работы превратится в титанический труд, отнюдь не прибавляющий FPS... А тот превоначальный вариант РАБОЧИЙ, единственное отличие от моей задумки в том, что все ингредиенты брисались в один контейнер, и из него же забирались... один скрипт, висящий на активаторе... А вообще, большое спасибо за совет! Как бы там ни было, а худо-бедно необходимого результата я все же добился, пусть и, довольно, корявым способом... )) УРА! Свершилось! Скрипт скомпилился! В версии 1.2.404!!!! Нашел, где у меня косяк был!!!! Все просто до идиотизма: для того, чтобы работала Ref-ссылка в скрипте в игровой ячейске с этим объектом нужно открыть окно Reference(двойной клик на объекте) и в поле Reference Editor ID вписать ту самую Ref, которая потом будет использоваться в скрипте! И вся любовь!!! (На всякий случай поставил галочку Persistent Peferefce и во вскладке Ownership в поле NPC - Player)
  12. Да не за что, могу скинуть пособие по скриптам, чтоб такими вопросами больше не заморачивался... ))
  13. Проверка, находится ли существо в форме оборотня IsWerewolf If (Actor -> IsWerewolf ) Эта функция позволяет определить, является оборотнем цель или нет. Она может использоваться на игроке или других Актерах. if ( Player->IsWerewolf != 1 );НЕ ВЫПОЛНЯТЬ ЕСЛИ ИГРОК НЕ ОБОРОТЕНЬ return endif
  14. Обязательно попробую, о результатах отпишусь, спасибо за конкретный ответ! )) Итак, отписываюсь... Скрипт висит на активаторе, при активации предоставляется выбор: распихать определенные ингредиенты в соответствующем количестве в определенные контейнеры, либо забрать эти ингредиенты в определенном количестве из соответствующих контейнеров. Судя по всему в CS версии 1.2.404 приличные косяки! Первоначальный скрипт - это кусок РАБОТАЮЩЕГО скрипта т.е. он нормально компиллировался!!!(видимо в версии 1.0.303) В версии 1.2.404 желаемого результата мне удалось добиться только с помощью глобальных переменных(типа Short). приведу получившиеся скрипты на примере 2-х контейнеров и 2-х ингредиентов: scn 1LTIngredientSorter ;скрипт вешается на активатор ;объявим 4 глобальных переменных типа Short: LTIngredPlayer1, LTIngredPlayer2, LTIngredCont1, LTIngredCont2 short state short button short LTIngred Begin OnActivate if (state == 0 && IsActionRef player == 1) MessageBox "Сортировать ингредиенты?", "Разложить", "Забрать", "Нет" set state to 1 endif End Begin GameMode set button to GetButtonPressed if (button == -1) return elseif (button == 0) if (Player.GetItemCount "Ambrosia" > 0) Set LTIngredPlayer1 to 1 endif if (Player.GetItemCount "Orange" > 0) Set LTIngredPlayer2 to 1 endif set state to 0 elseif (button == 1) if LTIngredCont1 != 0 Player.AddItem "Ambrosia" LTIngredCont1 Set LTIngredCont1 to 0 endif if LTIngredCont2 != 0 Player.AddItem "Orange" LTIngredCont2 Set LTIngredCont2 to 0 endif Set state to 0 elseif (button == 2) set state to 0 endif endif End; GameMode Следующие 2 скрипта вешаются на контейнеры Scn 1LTIngredientSorterCont001 Short LTIngred Short LTIngredRemove Short LTRemoveCount Begin MenuMode if GetItemCount "Ambrosia" != 0 Set LTIngredRemove to 1 endif end Begin GameMode if LTIngredPlayer1 == 1 Set LTIngred to Player.GetItemCount "Ambrosia" Player.RemoveItem "Ambrosia" LTIngred AddItem "Ambrosia" LTIngred Set LTIngredPlayer1 to 0 endif if LTIngredRemove == 1 Set LTIngredCont1 to (GetItemCount "Ambrosia") Set LTRemoveCount to (GetItemCount "Ambrosia") Set LTIngredRemove to 2 endif if LTIngredRemove == 2 if LTIngredCont1 == 0 if GetItemCount "Ambrosia" != 0 RemoveItem "Ambrosia" LTRemoveCount Set LTIngredRemove to 0 endif endif endif end И второй срипт на 2-й контейнер Scn 1LTIngredientSorterCont002 Short LTIngred Short LTIngredRemove Short LTRemoveCount Begin MenuMode if GetItemCount "Orange" != 0 Set LTIngredRemove to 1 endif end Begin GameMode if LTIngredPlayer2 == 1 Set LTIngred to Player.GetItemCount "Orange" Player.RemoveItem "Orange" LTIngred AddItem "Orange" LTIngred Set LTIngredPlayer2 to 0 endif if LTIngredRemove == 1 Set LTIngredCont2 to (GetItemCount "Orange") Set LTRemoveCount to (GetItemCount "Orange") Set LTIngredRemove to 2 endif if LTIngredRemove == 2 if LTIngredCont2 == 0 if GetItemCount "Orange" != 0 RemoveItem "Orange" LTRemoveCount Set LTIngredRemove to 0 endif endif endif end Неудобство заключается в том, что для стандартных Обломовских ингредиентов придется объявлять около 300 глобальных переменных и писать около 150 однотипных скриптов для контейнеров!!!! Если у кого-то есть какие-то размышления по этому поводу, милости прошу в тему!
  15. И с сылкой, и без таковой никакокго эффекта, не хочет компиллиться и все тут!
  16. Скрипт висит на активаторе. Должен при активации определять наличие ингредиента у игрока, его количество, удалять данное колличество ингредиента у игрока, затем пихать этот ингредиент в контейнер, в том количестве, в котором этот ингредиент изначально присутствовал у игрока. Контейнер присутствует в игровом мире, но скрипт при компилляции выдает ошибку по поводу ссылок на контейнер. Опять же вопрос: Где ошибка? scn LTIngredientSorter short state short button long tempCount Begin OnActivate if (state == 0 && IsActionRef player == 1) MessageBox "Сортировать ингредиенты?", "Да", "Нет" set state to 1 endif End Begin GameMode if (state == 0) return; Early return, nothing to do in most cases this script runs endif set button to GetButtonPressed if (button == -1) return elseif (button == 1) ; No set state to 0 return endif ; Following button == 0, Yes ;Амброзия if (Player.GetItemCount "Ambrosia" >= 1) Set tempCount to Player.GetItemCount "Ambrosia" Player.RemoveItem "Ambrosia" tempCount LT1IngredientUrn001Ref.AddItem "Ambrosia" tempCount endif set state to 0 End ; GameMode
  17. Спасибо! Помогло! Переписал вот так: Scriptname 1LTWeapons01 short LTState short LTWeapon Begin OnActivate if LTState == 0 if Player.GetItemCount 1LTAxe == 0 if Player.GetItemCount 1LTBow == 0 if Player.GetItemCount 1LTSword == 0 ; set LTWeapon to 0 MessageBox "Weapon 0 (нет оружия)" "ОК" endif endif endif if Player.GetItemCount 1LTAxe >= 1 if Player.GetItemCount 1LTBow == 0 if Player.GetItemCount 1LTSword == 0 ; set LTWeapon to 1 MessageBox "Weapon 1 (Топор)" "ОК" endif endif endif if Player.GetItemCount 1LTAxe == 0 if Player.GetItemCount 1LTBow >= 1 if Player.GetItemCount 1LTSword == 0 ; set LTWeapon to 2 MessageBox "Weapon 2 (Лук)" "ОК" endif endif endif if Player.GetItemCount 1LTAxe == 0 if Player.GetItemCount 1LTBow == 0 if Player.GetItemCount 1LTSword >= 1 ; set LTWeapon to 3 MessageBox "Weapon 3 (Меч)" "ОК" endif endif endif if Player.GetItemCount 1LTAxe >= 1 if Player.GetItemCount 1LTBow >= 1 if Player.GetItemCount 1LTSword == 0 ; set LTWeapon to 12 MessageBox "Weapon 12 (Топор и Лук)" "ОК" endif endif endif if Player.GetitemCount 1LTAxe >= 1 if Player.GetItemCount 1LTBow == 0 if Player.GetItemCount 1LTSword >=1 ; set LTWeapon to 13 MessageBox "Weapon 13 (Топор и Меч)" "ОК" endif endif endif if Player.GetItemCount 1LTAxe == 0 if Player.GetItemCount 1LTBow >= 1 if Player.GetItemCount 1LTSword >= 1 ; set LTWeapon to 23 MessageBox "Weapon 23 (Лук и Меч)" "ОК" endif endif endif if Player.GetItemCount 1LTAxe >= 1 if Player.GetItemCount 1LTBow >= 1 if Player.GetItemCount 1LTSword >= 1 ; set LTWeapon to 123 MessageBox "Weapon 123 (Все Оружие)" "ОК" endif endif endif endif End Все работает как часы!
  18. Кто-нибудь мне может оъяснить, почему этот скрипт просчитывается только до строчки MessageBox "Weapon 1 (Топор)" "ОК" и дальше ни в какую не хочет работать.... :'-( Бросаешь топор - счетает(и выводит сообщение) что оружия нет, если его действительно не было кроме топора, а если есть что-то еще, то скрипт не просчитывается вовсе... Так же скрипт на просчитывается, если в первую очередь взял не топор, а лук, например... В чем ошибка? Скрипт локальный, висит на активаторе, должен проверять наличие оределенных предметов у игрока и, в зависимости от этого наличия, выводить на экран соответствующие сообщения... До тупого просто, но не работает.......... Scriptname 1LTWeapons01 short LTState short LTWeapon Begin OnActivate if LTState == 0 if Player.GetItemCount 1LTAxe == 0 if Player.GetItemCount 1LTBow == 0 if Player.GetItemCount 1LTSword == 0 ; set LTWeapon to 0 MessageBox "Weapon 0 (нет оружия)" "ОК" endif endif elseif Player.GetItemCount 1LTAxe >= 1 if Player.GetItemCount 1LTBow == 0 if Player.GetItemCount 1LTSword == 0 ; set LTWeapon to 1 MessageBox "Weapon 1 (Топор)" "ОК" endif endif elseif Player.GetItemCount 1LTAxe == 0 if Player.GetItemCount 1LTBow >= 1 if Player.GetItemCount 1LTSword == 0 ; set LTWeapon to 2 MessageBox "Weapon 2 (Лук)" "ОК" endif endif elseif Player.GetItemCount 1LTAxe == 0 if Player.GetItemCount 1LTBow == 0 if Player.GetItemCount 1LTSword >= 1 ; set LTWeapon to 3 MessageBox "Weapon 3 (Меч)" "ОК" endif endif elseif Player.GetItemCount 1LTAxe >= 1 if Player.GetItemCount 1LTBow >= 1 if Player.GetItemCount 1LTSword == 0 ; set LTWeapon to 12 MessageBox "Weapon 12 (Топор и Лук)" "ОК" endif endif elseif Player.GetitemCount 1LTAxe >= 1 if Player.GetItemCount 1LTBow == 0 if Player.GetItemCount 1LTSword >=1 ; set LTWeapon to 13 MessageBox "Weapon 13 (Топор и Меч)" "ОК" endif endif elseif Player.GetItemCount 1LTAxe == 0 if Player.GetItemCount 1LTBow >= 1 if Player.GetItemCount 1LTSword >= 1 ; set LTWeapon to 23 MessageBox "Weapon 23 (Лук и Меч)" "ОК" endif endif elseif Player.GetItemCount 1LTAxe >= 1 if Player.GetItemCount 1LTBow >= 1 if Player.GetItemCount 1LTSword >= 1 ; set LTWeapon to 123 MessageBox "Weapon 123 (Все Оружие)" "ОК" endif endif endif endif End
  19. Scriptname 1LTMakivari01 short LTDoOnceHealth short LTStat Begin GameMode if LTStat == 0 SetUnconscious 1 ;MessageBox "NPC Тупит" "ОК" endif if LTDoOnceHealth == 0 if GetAV Health < 2000 ;MessageBox "Здоровье Уменьшилось" "ОК" Set LTDoOnceHealth to 1 endif elseif LTDoOnceHealth == 1 ResetHealth ;MessageBox "Здоровье Восстановлено" "ОК" Set LTDoOnceHealth to 0 endif End End После этого создаем новую расу, например Boxing, создаем нового NPC, обзываем его, например Боксерская груша, значение здоровья ставим равным 2000(согласно скрипту, для того, чтоб его не прибили с первого удара), в графе AddNIF ссылаемся на нужный вам файл, например \meshes\architecture\arena\arenaheavybag01.nif, выбираем созданную ранее расу, в графе скриптов выбираем наш скрипт(См. выше), сохраняем NPC, помещаем в игровой мир, наслаждаемся отработкой ударов и отточкой заклинаний не на невинных гражданах, а на настоящей боксерской груше! :)
  20. Да, вечно с БД траблы... спасибо, конечно, но мне бы тутор... :1anim_bc:
  21. Иногда так и задумано! Так что по ситуации....
  22. Все, умные мысли иссякли??? Плохо!
  23. Это чего ты там про инишники говорил-то Никакая модель не экспортится, ни с анимацией, ни без таковой... ВСЕМ СПАСИБО, ВОЗВРАЩАЮСЬ НА СТАРЫЙ
  24. Во-во... сразу-то не сообразил... (да, о нем, родимом, речь и идет) В скопе не смотрел, но, по сути, должна в единственном варианте быть (на простой сфере тестил) Нет, а на кой? (а помогает?)
  25. Собственно, не могу этот экспорт назвать даже некорректным, так как его как такового вообще НЕТ! Пытался экспортнуть в Nif с разными настройками - эффекта нет! выдает какую-то ошибку(при экспорте файла такого-то произошла ошибка) и все! Звиздец! Конечного файла нет! Кто пользовался, может что-то поведать по данному вопросу?
×
×
  • Создать...