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

Скрипты на заказ


Рекомендуемые сообщения

Должен глобал, но на деле же так работает локальный скрипт.

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

  • Ответов 321
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

  • 1 месяц спустя...

Ребят, нужна пара простых скриптов:

 

1. Нужно, чтобы в сундук "chest_1" каждую неделю добавлялись предметы "misc_1" и "misc_2".

2. Есть НПЦ/Крич, необходимо повесить на него такой скрипт, чтобы по появлении ГГ в локации с эти НПЦ/кричем - 50% того, что НПЦ/крич будет на месте, 50% того, чо его не будет на месте (отошел в магазин за суджаммой).

Ссылка на комментарий
Поделиться на другие сайты

Незнаю еще, я на работе, с телефона пишу, вечером проверю! А могут не сработать?)
Ссылка на комментарий
Поделиться на другие сайты

Вроде как составлены правильно. Максимум - это могут не скомпилироваться из-за опечатки какой-нибудь, да и это вряд ли. Изменено пользователем Daedroth_CH
Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста. :) Сработало все?

 

Даедрот - миниотчет по скриптам.

 

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

 

Скрипт с НПЦ - он срабатывает только один раз (у меня именно так)? Т.е. либо НПЦ никогда не появится в ячейке, либо если появится, то будет там постоянно? Нужен просто скрипт, который будет делать так, что никогда не знаешь, будет ли на месте НПЦ или не будет, т.е. чтобы НПЦ постоянно то появлялся, то пропадал.

Ссылка на комментарий
Поделиться на другие сайты

В первом заменить set "CurrentDay to Day" на "set CurrentDay to CurrentDay + 1"

Второй можно вот так сделать:

begin yourface

short rand

if ( CellChanged == 1 )
set rand to random 2
   if ( rand )
   disable
   else
   enable
   endif
endif
END

Ссылка на комментарий
Поделиться на другие сайты

В первом заменить set "CurrentDay to Day" на "set CurrentDay to CurrentDay + 1"

Второй можно вот так сделать:

begin yourface

short rand

if ( CellChanged == 1 )
set rand to random 2
if ( rand )
disable
else
enable
endif
endif
END

 

ОК, сейчас попробую - отпишусь!

 

 

UPD:

Би, первый скрипт вообще перестал работать, второй теперь работает как надо.

Ссылка на комментарий
Поделиться на другие сайты

Би, первый скрипт вообще перестал работать, второй теперь работает как надо.

Нутром чую, без глобалки тут не обойтись. Но можно попробовать и вот так:

http://pastebin.com/nhYNTPQa

Хотя, скорее всего, есть варианты и попроще, поправьте меня, если что.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Прошу объяснить мне как правильно прописывать путь для

"Playsound" или "Playsound3d". Пишу в резалтбоксе:

 

Playsound, "conjurCast"

 

игра выдает ошибку. Также хотелось бы узнать, как отправить игрока в конкретное место через COE, а не просто куда-то в центр. При попытке указать более точные координаты (узнал через коврик, который постелил в предполагаемом месте) команда перестает работать.

Ссылка на комментарий
Поделиться на другие сайты

PlaySound “sound ID” - где sound ID - идентификатор звука, добавленный в ксе или стандартный. PlaySound3D “sound ID” - аналогично. Игра ругается явно потому что ID задан не верно, или вписан ID звука который еще в кс не добавлен по Gameplay -> Sounds...

В Результах прописан только PlaySound, или перед ним есть еще другие команды? С прописыванием такой команды весьма сложно ошибиться.

Для конкретного перемещения лучше брать PositionCell, выглядит так: PositionCell, -254, 475, -376, 360, "Balmora, Council Club".

Если указать так в Результах - команда переместит говорящего по указанным координатам, для перемещения игрока или другого нпс: player -> PositionCell... npc_ID -> PositionCell

Изменено пользователем ИерихоN
Ссылка на комментарий
Поделиться на другие сайты

Даже если и прописаны, они вообще не должны влиять на работу плейсаунда.

 

UPD:

 

С playsound ты был прав, а я и не знал о тонкостях с внесением в Gameplay. Про Positioncell не понял, я же о экстерьере.

 

Мультипост запрещен. Хочешь что-то добавить - редактируй предыдущий пост. Цернон

Ссылка на комментарий
Поделиться на другие сайты

Про Positioncell не понял, я же о экстерьере.

Для перемещения сойдет как сам PositionCell, так его скромный аналог Position - специально для внеш. ячеек. Выглядит почти так же как и PositionCell, только без указывания ячейки: Position –23515, -15355, 3355, 90

При PositionCell при ячейке экстерьера указывается так "Molag Amur Region" или "Bitter Coast Region", остальное - дело координат.

Даже если и прописаны, они вообще не должны влиять на работу плейсаунда.

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

 

player->adddditem "Gold_001" 55 (player->additem "Gold_001" 55 - правильно так)

PlaySound "Item Ring Up"

player->modlongblade 5

 

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

Изменено пользователем ИерихоN
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

 

Нутром чую, без глобалки тут не обойтись. Но можно попробовать и вот так:

http://pastebin.com/nhYNTPQa

Хотя, скорее всего, есть варианты и попроще, поправьте меня, если что.

 

Ну, скрипт все равно срабатывает, только когда ждешь в интерьере с сундуком. Ну да ладно, и так пойдет.

 

Ребят нужен простой скрипт - есть миск, лежит в интерьере, на столе, на него вешается скрипт: как только ГГ достигает >=30 лвла миск становится доступен и его можно взять, до 30 лвла миск невидим.

Ссылка на комментарий
Поделиться на другие сайты

Хех, как нефиг делать:

 

if ( Player->GetLevel >= 30 )

if ( GetDisabled )

enable

endif

else

if ( GetDisabled == 0 )

disable

endif

endif

 

Как обычно - спасибо)

Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...

Привет, понадобилась заготовка такого скрипта:

 

По миру раскидано несколько предметов с одинаковым ИД.

Они могут как просто валяться на земле, так и быть экипированы на НПС или находиться в контейнерах.

При каждом старте игры (или при загрузке сохранения :oskal:), почти все эти предметы, удаляются из игры или дисейблятся.

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

 

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

 

1. Игра такое позволит?

2. Какие тут могут быть подводные камни?

3. Что если удалять не предметы а активаторы, контейнеры, НПС или квесты ?

Ссылка на комментарий
Поделиться на другие сайты

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

 

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

 

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

 

3. Что если удалять не предметы а активаторы, контейнеры, НПС или квесты ?

 

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

Изменено пользователем SlowPoke
Ссылка на комментарий
Поделиться на другие сайты

Изменять оригинальный id никак нельзя. Иначе нужно будет менять и все проверки на него в диалогах и тригерах!

А вот то что предмет может исчезнуть у игрока при загрузке - в этом что-то есть :)

 

Я тут подумал, а можно ведь сделать это наоборот!

 

1. Удалить из редактора из мира все копии этого предмета.

2. При старте игры, заспавнить их рандомно в обозначенных местах \ дать НПС \сунуть в контейнер \ уровневый список.

 

Плюс этого медота в том, что непросто будет подсмотреть местонахождение итема через редактор :)

Минуса - больше кропотливой работы по их поиску и занесению в скрипт.

Ну классический недостаток - конфликты с другими плагинами.

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Нужен скрипт, что бы щит убирался, как и оружие (при нажатии F).

Заранее спасибо!

 

Неосуществимо двиглом морки.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...