The Elder Scrolls & Fallout 3 Modding

на главную страницу сайта

Форум Oblivion, Skyrim & Fallout 3/4 Modding

Объявление

Господа, те кто пользуются фотохостингом http://uploads.ru/ для размещения изображений. Рекомендую воспользоваться для упрощения загрузки вот этой программой.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум Oblivion, Skyrim & Fallout 3/4 Modding » Скрипты » Полезные скрипты


Полезные скрипты

Сообщений 1 страница 30 из 65

1

Скрипт для мп3 плеера

Этот скрипт можно повесить например на кольцо. Когда вы будете его одевать, будет появляться меню с выбором песен. Чтобы выбрать другую снимаете и наюеваете кольцо опять. В ячейках с установками музыки Default функция StreamMusic не работает. Также в бою музыка сбрасывается на игровую.

В строке MessageBox в кавычка (начиная со вторых) пишите названия мелодий. Создаете папку Data\Music\mp3\. В нее кидаете восемь песен, затем переименовываете их в track, track2 и тд.
Вуаля, мп3 плеер для Обливиона готов. Это конечно извращение, слушать например рок в Обливионе, но может кому и пригодится :)

ScriptName mp3playerRaScript
short Button
short MyVar
begin OnEquip
MessageBox "Включить... " "Рок" "Преступление" "Я" "Разные" "Восток" "Цунами" "Stargazers" "Moondance"
Set MyVar to 1
end OnEquip
begin GameMode
if ( MyVar == 1 )
Set Button to GetButtonPressed
if ( Button == 0 )
StreamMusic "Data\Music\mp3\track.mp3"
Set MyVar to -1
Return

elseif ( Button == 1 )

StreamMusic "Data\Music\mp3\track2.mp3"
Set MyVar to -1
Return

elseif ( Button == 2 )

StreamMusic "Data\Music\mp3\track3.mp3"
Set MyVar to -1
Return

elseif ( Button == 3 )

StreamMusic "Data\Music\mp3\track4.mp3"
Set MyVar to -1
Return

elseif ( Button == 4 )

StreamMusic "Data\Music\mp3\track5.mp3"
Set MyVar to -1
Return

elseif ( Button == 5 )

StreamMusic "Data\Music\mp3\track6.mp3"
Set MyVar to -1
Return

elseif ( Button == 6 )

StreamMusic "Data\Music\mp3\track7.mp3"
Set MyVar to -1
Return

elseif ( Button == 7 )

StreamMusic "Data\Music\mp3\track8.mp3"
Set MyVar to -1
Return

endif
endif

end GameMode

+1

2

А можно активатор с такой же функцией???
Например в баре поставить проигрыватель :D

+1

3

Строчку
begin OnEquip
меняем на
begin OnActivate (вроде правильно написал :)
И вешаем на активатор

+1

4

Так-с есчо вопрос, что нужно написать в скрипте что-бы эффект был...ну короче например:первый раз кастуешь вызвать кирасу, кираса появляется(еще-б она не появилась :orc: ),второй раз кастуешь, она исчезает???

Отредактировано Blood Raven (2007-09-13 13:53:10)

+1

5

Вот чтобы появилась (http://modder.3bb.ru/viewtopic.php?id=7):

scriptname IgorRaSpellScript0
Begin ScriptEffectStart
player.additem BladesCuirass, 1
player.equipItem BladesCuirass
End
Begin ScriptEffectFinish
End

Чтобы исчезла возможно пойдет такое (функции пишу по памяти, так что если что не так сильно не бейте :):

scriptname IgorRaSpellScript1
Begin ScriptEffectStart
player.unequipItem BladesCuirass
player.removeitem BladesCuirass, 1
End
Begin ScriptEffectFinish
End

ЗЫ: еще неплохо было бы добавить проверку на наличие данной кирасы у персонажа...

+1

6

Скрипт для "Кольца полета" - одев кольцо вы сможете летать. Единственная проблема - вы будете пролетать сквозь статики :(

scriptname AHRMTSringofflight
; this is a ring that lets player fly
float xfactme    ; position in x
float yfactme    ; position in y
float zfactme    ; position in z hight
float height    ; value that modifies pisition in z
float direc    ;The direction the player is facing
float speedmod ; How much the speed is reduced
short toggle    ; used to se if direction is set
short toggle2    ;1 if ring equiped 0 if not

begin OnEquip
set toggle2 to 1
end

begin OnUnequip
set toggle2 to 0
end

Begin gamemode
; fly into air script
if toggle2 == 1 ; if the ring is equiped
    if player.IsRunning == 1 ; so that movment is for running and hover for walking
    ; set toggle for direction schosen
    set toggle to 0

    ;set the speed so it does not depend of framreate
    set speedmod to 5 * GetSecondsPassed

    ;Get the players position and direction angle
    set xfactme to player.GetPos x
    set yfactme to player.GetPos y
    set zfactme to player.GetPos z
    set direc to player.GetAngle z

    ;go upp and down
    set height to (player.GetAngle X) * speedmod
    set zfactme to zfactme - height

    ;Direction 0-89
        if direc < 90 && toggle == 0
        set toggle to 1
        set yfactme to yfactme + ( 90 - direc ) * speedmod
        set xfactme to xfactme + ( direc - 0 ) * speedmod
        endif

    ;Direction 90-179
        if direc < 180 && toggle == 0
        set toggle to 1
        set direc to direc - 90
        set yfactme to yfactme + ( 0 - direc ) * speedmod
        set xfactme to xfactme + ( 90 - direc ) * speedmod
        endif

    ;Direction 180-269
        if direc < 270 && toggle == 0
        set toggle to 1
        set direc to direc - 180
        set yfactme to yfactme + ( direc - 90 ) * speedmod
        set xfactme to xfactme + ( 0 - direc ) * speedmod
        endif

    ;Direction 270-360
        if  toggle == 0
        set toggle to 1
        set direc to direc - 270
        set yfactme to yfactme + ( direc - 0 ) * speedmod
        set xfactme to xfactme + ( direc - 90 ) * speedmod
        endif

    ;Move the player in the direction
    player.SetPos y, yfactme
    player.SetPos x, xfactme
    player.SetPos z, zfactme
    endif

;stop the player falling to ground
player.SetScale 1.0
endif
end

+1

7

А можети подсказать есть такой скрипт например чтоб после убиства NPS он через два дня он ожил? :question:

+1

8

Igor_Ra, интересная идея с плеером. только тут я наткнулся на глюк движка - когда играет один трек при попытке включить другой просто перезапускается тот что играл только что. помоему решить эту проблему можно так: между сменой треков включать дефолтный трек, только я не знаю, как эт сделать=)

также в этом скрипте забыта немаловажная проверка, а нажата ли клавиша вообще
if (varButton == -1)
  return

ну и еще можно добавить клавишу отмена (ну это уже так=)))

+1

9

sers
Я не большой специалист по скриптам, но этот скрипт прекрасно работал в том плаге, откуда я его "реквизировал" и в том, который я сделал для себя на его основе. Именно в таком виде, в каком он выложен здесь.

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

ну и еще можно добавить клавишу отмена (ну это уже так=)))
А вот это дельное предложение!

0

10

ндяя(( надо разбираться
вот мой скрипт:

Код:
scn aaaTestPlayerScript

short varButton
short varIsOn

begin onActivate
  set varIsOn to 1
  messageBox "Play:" "Track 1" "Track 2" "Cancel"
end

begin GameMode
  if (varIsOn == 1)
    set varButton to getButtonPressed
    if (varButton == -1)
      return
    elseif (varButton == 0)
      streamMusic "data\music\test\track.mp3"
      set varIsOn to 0
      return
    elseif (varButton == 1)
      streamMusic "data\music\test\track2.mp3"
      set varIsOn to 0
      return
    elseif (varButton == 2)
      set varIsOn to 0
      return
    endif
  endif
end

если какойнидь косяк заметите плз отпишитесь очень хочется узнать что тут не так

Отредактировано sers (2008-06-18 17:02:08)

0

11

А что не так? Что-то не работает?

0

12

так собственно то что писал выше - включаю допустим трек 1, он играет, потом хочу включить трек 2 - заново запускается трек 1

0

13

Попробуй вместо set varIsOn to 0
поставить set varIsOn to -1

0

14

нет, все так же(

0

15

Хм... может проблема в использовании блока onActivate? Остальное вроде нормально...

0

16

Примечания:
Bethesda не документировала эту функцию, и она частично сломана/незакончена, так что будьте осторожны и следите за возможным странным поведением.
После завершения проигрывания будет выбран новый файл в соответствии с текущей локацией.
Если вы укажете имя файла, который не существует, то будет проигрываться музыка, звучавшая до этого.
StreamMusic работает в ячейках, где тип музыки установлен как "Dungeon" или "Public". Когда функция используется в ячейке "Default", она лишь заново проигрывает текущий файл.
Чтобы использовать эту команду в ячейке "Default", необходимо сначала вызвать StreamMusic random, затем подождать один фрейм, чтобы команда выполнилась, и затем вызвать Streammusic "<filename>".

облом

0

17

Ну да... Про это я писал в первом сообщении  :writing:

0

18

я включаю в ячейке с public, просто включенный трек он считает за default

0

19

StreamMusic работает в ячейках, где тип музыки установлен как "Dungeon" или "Public". Когда функция используется в ячейке "Default", она лишь заново проигрывает текущий файл.
В Паблик все должно работать...

0

20

когда я в первый раз загружаю трек в паблик все работает, но когда я пытаюсь загрузить другой трек, играет первый, который игра считает за дефолт

0

21

Дефолт это музыка по умолчанию... Ты же скриптом ее меняешь... Так что уже не Дефолт...

0

22

в этом и есть глючность команды - игра считает стороннюю музыку за дефолт. но таблетка есть - надо включить например публик, сделать return и потом запускать нужный трек. токо это весь скрипт переписывать - это я уже завтра))

0

23

Ultras
Зачем скрипт можно просто отметить в окне NPC Essential(NPC бессмертный) или Respawn (через никое время NPC сгенерируется игрой)

+2

24

А можно скрипт,чтоб после смерти персонажа т.е. нас не выскакивало окно с сейвами,а нас перемещало,но допустим в Арканский универ.гильдии магов ??

0

25

Виталик написал(а):

А можно скрипт,чтоб после смерти персонажа т.е. нас не выскакивало окно с сейвами,а нас перемещало,но допустим в Арканский универ.гильдии магов ??

Технически конечно можно, как и практически все с помощью скриптов. Вот только ну ОЧЕНЬ сложно...

0

26

У меня вопрос я создаю щас свой квестовый мод Меч в Камне называется ну в общем я хочу сделать чтобы камень был как активатор и когда его активируеш меч сам потихоньку вытаскивался из камня и тока потом его можно будет взять подскажите так можно сделать?

0

27

Альтаир написал(а):

так можно сделать?

В принципе да. Берешь какой-нибудь активатор, меняешь ему модель на камень. Далее берешь меч, втыкаешь в камень. А вот после этого начинаются сложности, ибо теоретически можно заставить модель меча двигаться, но придется попотеть над скриптом.

0

28

Ну то что над скриптом попотеть надобудет это да а вот про модель камня и ткнуть в него меч это я уже сделал но он просто так берётся но я покачто так оставлю так потомучто я в скриптах пока что нечиго не понимаю :dontknow: А так я квесты с интересным сюжетом сочиняю фантазия хорошая на квесты :D  ещё бы скриптинг освоить

0

29

И как вы такие скрипты пишите  ?

0

30

Альтаир написал(а):

У меня вопрос я создаю щас свой квестовый мод Меч в Камне называется ну в общем я хочу сделать чтобы камень был как активатор и когда его активируеш меч сам потихоньку вытаскивался из камня и тока потом его можно будет взять подскажите так можно сделать?

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

1. статик меч с камнем лежит и ждет активации
2.при активации проигрыш анимации вытаскивания
3.после анимации вытаскивания меч добавляем в руку игрока(если анимировали со скелетом) или в инвентарь
4.после анимации вытаскивания статик меча в камне меняем на статик камня

0


Вы здесь » Форум Oblivion, Skyrim & Fallout 3/4 Modding » Скрипты » Полезные скрипты