The Elder Scrolls & Fallout 3 Modding

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

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

Объявление

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

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

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


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


Вопрос

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

1

Мне нужен скрипт, для такого - НПС стоит возле запертой на ключ двери, с ним говоришь, там топик диалога - "Я могу пройти?" он, если ГГ имеет при себе пропуск, дает ему пластиковую карту-ключ. Думаю, это не сложный скрипт.
Экспериментирую.

Begin [не знаю что]

  if
  player.[не знаю что] TiNrusSkladPropusk 1
  endif

player.additem TiNrusSkladPropusk 1
TiNrusSkladOhrana1NP.removeitem TiNrusSkladPropusk 1

end

Не бейте сильно, скрипты писать абсолютно не умею=( Что неправильно, если не все?=) и что нужно написать вместо того, что я не знаю?

0

2

Код:
if ( player.GetItemCount <ID пропуска> > 0 )
  player.removeitem <ID пропуска> 1
  TiNrusSkladOhrana1NP.additem <ID пропуска> 1
  TiNrusSkladOhrana1NP.removeitem <ID ключа-карточки> 1
  player.additem <ID ключа-карточки> 1
endif

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

0

3

Спасибо, но мне кажется, охранник не должен забрать пропуск, он должен проверить его наличие у ГГ и, если он есть, просто отдать ему карточку-ключ...
Еще вопрос. ID`ы предметов должны быть как в списке, или цифро-буквенные как при наведении на них?

0

4

TiNger написал(а):

Спасибо, но мне кажется, охранник не должен забрать пропуск

Тогда просто убрать 2 строчки с забиранием пропуска:

Код:
if ( player.GetItemCount <ID пропуска> > 0 )
  TiNrusSkladOhrana1NP.removeitem <ID ключа-карточки> 1
  player.additem <ID ключа-карточки> 1
endif
TiNger написал(а):

Еще вопрос. ID`ы предметов должны быть как в списке, или цифро-буквенные как при наведении на них?

Те, что при наведении на них при нажатии тильды в игре - это Form ID. В скриптах используются Editor ID или Ref ID (идентификатор копии объекта размещенного в мире игры)

0

5

Igor_Ra написал(а):

Те, что при наведении на них при нажатии тильды в игре - это Form ID. В скриптах используются Editor ID или Ref ID (идентификатор копии объекта размещенного в мире игры)

Это я понимаю, я спросил не совсем об этом. Я спросил именно о том, какой ID нужно в скрипте писать?

0

6

TiNger написал(а):

Это я понимаю, я спросил не совсем об этом. Я спросил именно о том, какой ID нужно в скрипте писать?

Об этом :) И я ответил на этот вопрос:

Igor_Ra написал(а):

В скриптах используются Editor ID или Ref ID (идентификатор копии объекта размещенного в мире игры)

0

7

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

0

8

Тогда так :)

Код:
if ( player.GetItemCount <ID пропуска> > 0 ) && ( TiNrusSkladOhrana1NP.GetItemCount <ID ключа-карточки> > 0 )
  TiNrusSkladOhrana1NP.removeitem <ID ключа-карточки> 1
  player.additem <ID ключа-карточки> 1
endif

0

9

Ага...) кажись начинаю понимать...) Спасибо!=)
Один вопрос - && это "ии" чтоли? А зачем их два? Или это что-то типа
if ( player.GetItemCount *если ноли писать не обязательно, как в консоли* f >= 100 )
player.removeitem f 100
endif
Но. если так, то что можно поставить вместо второго &?

0

10

&& - обозначает "и". То есть идет проверка по одному условию и другому. И работать последующая часть скрипта будет, если оба условия выполнены.
Более подробно рекомендую почитать вот это (хотя бы базовую информацию):
Учебник по скриптингу OSFM
http://modder.ucoz.ru/load/3-1-0-68

0

11

Понял. спасибо. Учебник я читаю, но намного понятнее, когда отвечают именно на твой вопрос=)

0

12

А как будет
if ( player.[имеет перк] [ID перка] )
player.additem [ID предмета]
endif

Что надо вместо [имеет перк] написать?

0

13

Код:
if ( player.HasPerk [ID перка] )
player.additem [ID предмета]
endif

0


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