Вход  ::   Регистрация  ::   Забыли пароль?  ::   Правила
ОтветитьСоздать новую темуСоздать новое голосование

> Скрипты: функции и блоки.

 
vitalka
  post 11.01.07 - 12:49   (Ответ #1)
Пользователь offline

-----


Путник
Группа: Обыватель
Сообщений: 8
Репутация: 1
Нарушений: (0%)
Не секрет, что начинающий плагиностроитель сталкивался с такой проблемой как написание скриптов. Когда в голове созрел великий плагин (а все великие плагины, к сожалению, не обходятся без скриптов), и когда нужно повесить какой либо скрипт на созданный вами потом и кровью предмет, и когда открываешь редактор скриптов, вот тут и возникает вопрос - а с чего, собственно говоря, начинать?
Предлогаю в этой теме описывать саму функцию или блок вот по такой схеме:
Функция или блок со ссылкой на страничку cs.elderscrolls.com - его описание.
Ну, вобщем, я сейчас начну, а кто захочет, может продолжить.

Итак. С чего начинается скрипт? А скрипт начинается с его имени. Для этого есть специальная функция:


scriptname - имя скрипта. Это функция, с которой должны начинаться все скрипты. После этой функции вы должны написать само имя этого скрипта. Пример:
Код:

Scriptname Moiskript

Или можно сократить:
Код:

scn Moiskript


добавлено vitalka - 11.01.07 - 12:49
Продолжим. Что такое блоки. Блоки - это такие специальные функции, в теле которых и находится сам скрипт. В зависимости от того, какой блок вы выберете, будет зависить когда и при каком условии будет срабатывать ваш скрипт. Блок начинается командой  "begin" и заканчивается командой "end". Пример:
Код:

scn Moiskript

begin GameMode

тут ваш скрипт

end

http://freenet-homepage.de/tes4oblivion/tutor.html - Некоторые мои туториальчики.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Narzaveys
  post 14.01.07 - 02:28   (Ответ #2)
Пользователь offline

-----


Стражник
Группа: Обыватель
Сообщений: 111
Репутация: 6
Нарушений: (0%)
А вы не подскажите скрипт, по телепортации персонажа, тоесть, что-бы персонаж наступал на определённую метку или переходил определённую границу и телепортировался в новую ячейку или даже мир? smile.gif
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
boblen
  post 15.01.07 - 07:21   (Ответ #3)
Пользователь offline

-----


Гид по пещере Kоала
Группа: Обыватель
Сообщений: 370
Репутация: 31
Нарушений: (0%)
На вскидку: Нужны 2 маркера TeleportMe и TeleportMark
На TeleportMe вешаем скрипт:

scn TeleportMeTo

begin GameMode
float dist
set dist to GetDistance Player
if ( dist < 20 )
   player.MoveTo TeleportMark
endif
end

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

Welcome to my Cave!!!
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
vitalka
  post 19.01.07 - 19:41   (Ответ #4)
Пользователь offline

-----


Путник
Группа: Обыватель
Сообщений: 8
Репутация: 1
Нарушений: (0%)
Цитата: (Narzaveys @ 14.01.07 - 00:28)
А вы не подскажите скрипт, по телепортации персонажа, тоесть, что-бы персонаж наступал на определённую метку или переходил определённую границу и телепортировался в новую ячейку или даже мир? smile.gif

Кхм... Немного не по теме вопрос. Попробуй сделать как сказал boblen. Ну а мы используем информацию boblen-а для своих целей. smile.gif
Итак, разберем его скрипт.

Код:
scn TeleportMeTo


Называем наш скрипт именем TeleportMeTo. Это уже понятно.

Код:
begin GameMode


Блок GameMode - этот блок будет работать всегда, т.е по окончании скрипта в этом блоке, он запускается заново. И так до бесконечности. Пока, конечно, вы не выйдите из, например, пещеры, где находится предмет со скриптом. Поэтому будте осторожны. Слишком большой скрипт может затормозить игру.

Код:
float dist


Объявляем переменную dist типа float. В скрипте можно объявлять переменные трех типов:

short - это цифра в диапазоне от -32,768 до 32,767
long  - диапазон от  -2,147,483,648 до 2,147,483,647
float  - диапазон от 1.18E-38 до 3.40E38

Я бы советовал в данном скрипте объявлять переменную типа short. Это сэкономит память компьютера. Потому что как только скрипт начинает работать, в памяти компьютера выделяется место под переменные, и в зависимости от того, какого типа переменную мы объявили, будет зависеть и количество места под нее. (поправьте меня, если ошибаюсь.  blush2.gif )

Код:
set dist to GetDistance Player


Команда set -занести, записать. Сейчас поймете.

Функция GetDistance ObjectID - определяет расстояние от предмета или актера на котором висит скрипт до какого-нибудь ObjectID. ObjectID может быть также предметом или актером. В данном случае это сам ГГ.

Вобщем, эту строчку можно перевести как "записать в переменную dist расстояние до игрока".

Код:
if ( dist < 20 )


Команда if - сравнение. Переводится как "если".  В данном случае - " если расстояние до игрока меньше 20". Итак, если расстояние до игрока меньше 20 то выполняется следующая строка скрипта. А если больше или равно 20, то все что находится между if и endif выполнятся не будет.

Код:
player.MoveTo TeleportMark


Функция MoveTo MarkerID - премещение объекта к MarkerID. В данном случае перемещаем игрока к TeleportMark. Здесь можно было воспользоваться функцией MoveToMarker MarkerID - специальной функцией для перемещения к маркеру. Чем они отличаются? Эээ.... А фиг его знает. Скорее всего, так же экономит рессурсы компьютера.
И еще одно примечание. Если вы перемещаете своего героя, то после этой строки всегда должна стоять функция Return. Эта функция прекращает дальнейшее выполнения скрипта. Иначе, может возникнуть такой глюк как мерцание экрана.

Код:
endif


Команда if всегда должна заканчиваться такой строкой.

Код:
end


Конец. Блока GameMode я имею ввиду. smile.gif

Сообщение отредактировал vitalka - 19.01.07 - 19:46

http://freenet-homepage.de/tes4oblivion/tutor.html - Некоторые мои туториальчики.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Scripter
  post 21.01.07 - 01:20   (Ответ #5)
Пользователь offline

-----


Странник
Группа: Обыватель
Сообщений: 13
Репутация: нет
Нарушений: (0%)
Возможно опять вопрос не в тему, но все же спрошу: есть ли функции, возвращающий значения характеристик персонаж(сила, ловкость и т.д.)? Если есть опишите ее. Или опишите как это сделать другим образом.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
vitalka
  post 21.01.07 - 16:01   (Ответ #6)
Пользователь offline

-----


Путник
Группа: Обыватель
Сообщений: 8
Репутация: 1
Нарушений: (0%)
Цитата: (Scripter @ 20.01.07 - 23:20)
Возможно опять вопрос не в тему, но все же спрошу: есть ли функции, возвращающий значения характеристик персонаж(сила, ловкость и т.д.)? Если есть опишите ее. Или опишите как это сделать другим образом.

Функция GetActorValue StatName, где StatName - это характеристика или навык игрока. Возвращает текущее значение характеристики или навыка.

Функция GetBaseActorValue StatName - возвращает базовое значение характеристики или навыка.

Функция SetActorValue StatName value - устанавливает базовое значение value характеристики или навыка.

Функция ForceActorValue StatName value - устанавливает текущее значение value характеристики или навыка.

Функция ModActorValue StatName value - изменяет характеристику или навык персонажа на величину value. Может принимать отрицательные значения.

Список StatName можно посмотреть тут.

Пример:

Код:
set var to Player.GetActorValue Strength

Записываем в переменную var текущее значение силы игрока.

Код:
Player.ModActorValue Health 10

Увеличивает текущее здоровье игрока на 10 едениц.

добавлено vitalka - 21.01.07 - 15:48
Выдержка из моего туториальчика по созданию себе помошника. Полностью туториал можно почитать тут.


Код:

ScriptName MyGirlScript

short Button; сюда будем заносить номер нажатой кнопки
short MyVar; потом объясню

begin onActivate

Поле  OnActivate запускается тогда, когда объект активируют. В данном случае,когда мы подходим к персонажу и нажимаем клавишу пробел. Далее проверим, жив ли наш персонаж. А то неудобно както с трупом разговаривать. Для этого существует функция GetDead. Эта функция возвращает 1, если наш объект дохлый.

Код:

if ( MyGirlRef.GetDead <= 0 )


Вобщем, если наш объект ( MyGirlRef - имя, которое мы вводили в Render Window) не дохлый (GEtDead не равна еденице), то делаем следующее:

Код:

MessageBox "Любимая... " "пойдем со мной" "подожди здесь" "сходи прогуляйся" "беги домой" "а что у тебя в карманах?"


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


Код:

Set MyVar to 1; заносим еденицу в MyVar

else; а иначе, если персонаж дохлый (GetDead = 1, т.е больше нуля)

Message "Твоя девушка померла."


Функция Message, не выводит на экран никакого окошка а пишет сообщение в верхнем левом углу экрана. (типа сообщения Quicksave, когда мы жмем на F5)

Код:

Set MyVar to -1

Return


Return означает дальнейшее прекращение обработки скрипта.


Код:

endif;команда if всегда так должна заканчиваться
end onActivate; команда onActivate - тоже ( можно просто end)


begin GameMode

if ( MyVar == 1 )



Т.е если наш персонаж жив и мы нажали какую-либо кнопку (см. выше), то идем дальше:


Код:

Set Button to GetButtonPressed



Записываем номер нажатой кнопки в нашу переменную Button. Функция GetButtonPressed возвращает значение нажатой клавиши. Нумерация кнопок начинается с нуля. Т.е если мы нажали первую кнопку, то функция вернет значение 0.

Код:

if ( Button == 0 ); если мы нажали первую кнопку

SetIgnoreFriendlyHits 1



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


Код:

SetOwnership



Функция SetOwnership  устанавливает принадлежность предмета к собственности NPC или фракции. Т.е. теперь помошник будет принадлежать вам. (есть некоторые сомнения по описанию этой функции. Если я не прав, прошу сообщить в этой теме)


Код:

AddScriptPackage "MyGirlPackageFollow"



Добавляет наш пакет, который мы составляли раннее.


Код:

StopWaiting MyGirlPackageFollow



Если предыдущая команда нашему персонажу была, например,"подожди здесь", то этот пакет был приостановлен. Теперь мы его запускаем заново и приостанавливаем другие два наших пакета:


Код:

Wait MyGirlPackageRun
Wait MyGirlPackageWander

Set MyVar to -1



Можно, в принципе, обойтись и без этой переменной, но так мы экономим время обработки скрипта, когда мы не жмем ни на какие кнопки.


Код:

Return

elseif ( Button == 1 )

Wait MyGirlPackageFollow
Wait MyGirlPackageRun
Wait MyGirlPackageWander

Set MyVar to -1

Return


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

Код:

elseif ( Button == 2 )

AddScriptPackage "MyGirlPackageWander"
StopWaiting MyGirlPackageWander
Wait MyGirlPackageFollow
Wait MyGirlPackageRun

Set MyVar to -1

Return


elseif ( Button == 3 )

AddScriptPackage "MyGirlPackageRun"
StopWaiting MyGirlPackageRun
Wait MyGirlPackageFollow
Wait MyGirlPackageWander

Set MyVar to -1

Return


Ну, тут все понятно - запустить один пакет, оба других приостановить.

Код:

elseif (Button == 4 )

KarmanRef.Activate player 1


Если нажата кнопка 5 - активировать объект KarmanRef, т.е наш сундук.

Код:

Set MyVar to -1

Return

endif
endif

end GameMode


добавлено vitalka - 21.01.07 - 16:01
user posted image

Сообщение отредактировал vitalka - 27.01.07 - 21:19

http://freenet-homepage.de/tes4oblivion/tutor.html - Некоторые мои туториальчики.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Tellus
  post 21.01.07 - 22:04   (Ответ #7)
Пользователь offline

-----


Бедняк
Группа: Обыватель
Сообщений: 3
Репутация: нет
Нарушений: (0%)
Здравствуйте все! Извините! Вопрос может быть не по теме, но возможно с помощью скрипта создать магический эффект, увеличивающий вес, который может переносить персонаж, на подобии эффекта "Перышко", но на прямую, то есть не как в эффекте "Перышко" (не плюс вес который у персонажа уже имеется в рюкзаке к значению веса какого персонаж может переносить в соответствии с развитием его силы в момент кастования заклинания "Перышко").

Сообщение отредактировал Tellus - 21.01.07 - 22:07
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
vitalka
  post 22.01.07 - 14:07   (Ответ #8)
Пользователь offline

-----


Путник
Группа: Обыватель
Сообщений: 8
Репутация: 1
Нарушений: (0%)
Честно говоря, не знаю, можно ли на прямую воздействовать на этот параметр. Ведь в игре он расчитывается вот так:

макс.переносимый вес = сила * 5

Зато можно изменять мах. переносимый вес увеличивая силу.

http://freenet-homepage.de/tes4oblivion/tutor.html - Некоторые мои туториальчики.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Scripter
  post 30.01.07 - 00:12   (Ответ #9)
Пользователь offline

-----


Странник
Группа: Обыватель
Сообщений: 13
Репутация: нет
Нарушений: (0%)
У меня возник такой вопрос, как перемещать объекты статики? В частности каким образом открываются тайные двери, вроде той, что в самом начале игры в темнице открывает Рено или той, что во дворе Скингардского замка, справа от входа.
Заранее благодарен.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
boblen
  post 30.01.07 - 07:41   (Ответ #10)
Пользователь offline

-----


Гид по пещере Kоала
Группа: Обыватель
Сообщений: 370
Репутация: 31
Нарушений: (0%)
Это не статики, а активаторы с заранее прописанной анимацией.

Welcome to my Cave!!!
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Warhite
  post 02.02.07 - 22:31   (Ответ #11)
Пользователь offline

-----


Бедняк
Группа: Обыватель
Сообщений: 3
Репутация: нет
Нарушений: (0%)
А как можно проверять значение навыка ГГ в своём скрипте не подскажете, а?
Плиз!!!!!
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
vitalka
  post 03.02.07 - 13:59   (Ответ #12)
Пользователь offline

-----


Путник
Группа: Обыватель
Сообщений: 8
Репутация: 1
Нарушений: (0%)
Смотри пост номер 6.

http://freenet-homepage.de/tes4oblivion/tutor.html - Некоторые мои туториальчики.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Ser9K
  post 11.02.07 - 19:54   (Ответ #13)
Пользователь offline

-----


Kуратор
Группа: Обыватель
Сообщений: 181
Репутация: 6
Нарушений: (0%)
ScriptName ZDeath08script
begin MenuMode
if ( GetStage ZFaction08 == 15 )
zBanditRef.StartCombat Player
zBanditRef2.StartCombat Player
zBanditRef3.StartCombat Player
zBanditRef4.StartCombat Player
endif
End

Что не так? Дело в том что НПС не хотят со мной дратся, когда все условия выполняются. Скрипт со значение Quest и стоит в том квесте где должен сработать. Может в это вся проблема?
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Klain MkKlaski
  post 12.02.07 - 02:52   (Ответ #14)
Пользователь offline

-----


Хранитель
Группа: Обыватель
Сообщений: 289
Репутация: 14
Нарушений: (0%)
Попробуй у них увеличить значение агрессии к player'у до 100. (Просто допиши соответствующие строчки в этом же скрипте для каждого из нападающих).

Сообщение отредактировал Klain MkKlaski - 12.02.07 - 02:53
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Ser9K
  post 18.02.07 - 20:04   (Ответ #15)
Пользователь offline

-----


Kуратор
Группа: Обыватель
Сообщений: 181
Репутация: 6
Нарушений: (0%)
Товарищи, а есть скрипт, чтобы не отдельный НПС нападал, а целая группа (фракция). Например, от агрессии в 100 единиц они иногда друг на друга нападают...а это как то не логично. nono.gif
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Eternal
  post 20.02.07 - 16:28   (Ответ #16)
Пользователь offline

-----


Магистр
Группа: Обыватель
Сообщений: 808
Репутация: 76
Нарушений: (0%)
А что писать если я хочу сделать меч?
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Ser9K
  post 20.02.07 - 19:12   (Ответ #17)
Пользователь offline

-----


Kуратор
Группа: Обыватель
Сообщений: 181
Репутация: 6
Нарушений: (0%)
Цитата: (Eternal @ 20.02.07 - 16:28)
А что писать если я хочу сделать меч?


biggrin.gif  Мечи в максе делают, а скрипты для этого не нужны. Или ты имеешь в виду что-то другое?
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Eternal
  post 21.02.07 - 14:54   (Ответ #18)
Пользователь offline

-----


Магистр
Группа: Обыватель
Сообщений: 808
Репутация: 76
Нарушений: (0%)
>> Ser9K:
Понятно. Я просто начинающий плагостроитель и хочется создать что-нить интересное. А чтоба дом сделать,что надо знать?
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Klain MkKlaski
  post 21.02.07 - 20:51   (Ответ #19)
Пользователь offline

-----


Хранитель
Группа: Обыватель
Сообщений: 289
Репутация: 14
Нарушений: (0%)
Посмотри в теме Tes CS. Там дано достаточно много ссылок на различные статьи, причом на русском языке. Прочитаешь и многое станет понятно. Начать нужно с этого.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Narzaveys
  post 25.02.07 - 03:20   (Ответ #20)
Пользователь offline

-----


Стражник
Группа: Обыватель
Сообщений: 111
Репутация: 6
Нарушений: (0%)
Здравствуйте, это опять я и всё по тому же вопросу. К примеру если я хочу сделать переход в другую провинцию, мне что по всей границе расставлять маркеры, или же есть способ поэффективнее?
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Klain MkKlaski
  post 28.02.07 - 20:54   (Ответ #21)
Пользователь offline

-----


Хранитель
Группа: Обыватель
Сообщений: 289
Репутация: 14
Нарушений: (0%)
Такой вопрос: Продолжает ли обрабатываться квестовый скрипт после того как последнее задание в квесте выполнено   ???

Сообщение отредактировал Klain MkKlaski - 28.02.07 - 20:55
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
boblen
  post 01.03.07 - 17:07   (Ответ #22)
Пользователь offline

-----


Гид по пещере Kоала
Группа: Обыватель
Сообщений: 370
Репутация: 31
Нарушений: (0%)
Если не используется команда StopQuest, то квестовый скрипт продолжит работать даже после завершения квеста.

Welcome to my Cave!!!
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Klain MkKlaski
  post 02.03.07 - 17:58   (Ответ #23)
Пользователь offline

-----


Хранитель
Группа: Обыватель
Сообщений: 289
Репутация: 14
Нарушений: (0%)
Спасибо Боблен)

А квестовая переменная при этом видимо сохраняет последнее значение.

  Но я столкнулся с проблемой. Жестко привязанные к актеру пакеты как-то непонятно зависят от значения этой самой квестовой переменной.

То есть: Один пакет выполняется при "k=1", в момент окончания пакета "к" приравниваю 2, начинает выполняться второй пакет, в момент его окончания присваиваю "к"- 3.

А после этого начинает выполняться первый пакет где "к=1"))) И так в цикле! (очень утрированно и в общем всё написал)

   Ошибки никакой я не допустил, ибо проверил всё очень много раз.  В этом конструкторе полно касяков.

(первый пакет - нпс идет до определённого места, второй пакет - дойдя до этого места садится на стул в этой же комнате.)



Сначала я подумал,  проблема в том что нужно стартовать пакет при "к=1" и тут же изменить значение к (хз как она там себя ведёт) - не помогло.

Не знаю поняли вы меня или нет.

Сообщение отредактировал Klain MkKlaski - 02.03.07 - 18:04
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Narzaveys
  post 02.03.07 - 21:15   (Ответ #24)
Пользователь offline

-----


Стражник
Группа: Обыватель
Сообщений: 111
Репутация: 6
Нарушений: (0%)
А возможно ли сделать такой скрипт, чобы форма земли изменялась и у неё менялись текстуры, от попадания ядра к примеру? smile.gif
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Графен
  post 02.03.07 - 22:30   (Ответ #25)
Пользователь offline

-----


Житель
Группа: Обыватель
Сообщений: 44
Репутация: 4
Нарушений: (0%)
>> Narzaveys:
Нет. Терраморфинг в Обле точно невозможен smile.gif Но:

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

А вот осуществить такую безумную идею на практике - это точно задача не из тривиальных smile.gif

>> Klain MkKlaski:
Цитата: 
В этом конструкторе полно касяков.

Перезатачиваю руки под другие предметы, дорого tongue.gif smile.gif

Сообщение отредактировал Графен - 02.03.07 - 22:40

Lorem ipsum dolor sit amet.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Klain MkKlaski
  post 02.03.07 - 23:01   (Ответ #26)
Пользователь offline

-----


Хранитель
Группа: Обыватель
Сообщений: 289
Репутация: 14
Нарушений: (0%)
Цитата: 
Перезатачиваю руки под другие предметы, дорого 


Намёк на мои кривые руки? Эт ты зря. Может знаю я не так много, но то что знаю - то знаю.  smile.gif


  Вот ещё. В разделе топиков, в меню квестов, не работает проверка функцией GetItemCount. Хотел сделать, чтобы в топике Greeting было одно приветствие, если нет в инвентаре предмета, и другое если он там есть. Игра выдаёт только ту запись, где колличество предметов равно "0", даже если предмет есть в инвентаре.

  Есть подозрение, что на каждую запись журнала, может быть только одно приветствие в гритинге. Может из-за этого и есть галочка quest в предметах. Звучит тупо, но проверте сами...

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

(Предыдущую проблему вроде решил. Длинные сцены, где много актёров и много пакетов лучше скриптовать в соответствующих скриптах квестов, то есть добавлять там необходимые пакеты и ремоовить их, вкрапливая при этом всё что понадобится.)

 
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Ser9K
  post 03.03.07 - 17:01   (Ответ #27)
Пользователь offline

-----


Kуратор
Группа: Обыватель
Сообщений: 181
Репутация: 6
Нарушений: (0%)
Цитата: 
Вот ещё. В разделе топиков, в меню квестов, не работает проверка функцией GetItemCount. Хотел сделать, чтобы в топике Greeting было одно приветствие, если нет в инвентаре предмета, и другое если он там есть. Игра выдаёт только ту запись, где колличество предметов равно "0", даже если предмет есть в инвентаре. 


Там нужно поставить галочку на Run to target. Если стоит, тогда даже и не знаю, у меня работает.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Klain MkKlaski
  post 03.03.07 - 17:35   (Ответ #28)
Пользователь offline

-----


Хранитель
Группа: Обыватель
Сообщений: 289
Репутация: 14
Нарушений: (0%)
Да! Теперь и у меня заработало!!!!
 
   Спасибо  good.gif

Ты не знаешь случайно что именно она значит и в каких ещё случаях ставиться???
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Графен
  post 04.03.07 - 22:31   (Ответ #29)
Пользователь offline

-----


Житель
Группа: Обыватель
Сообщений: 44
Репутация: 4
Нарушений: (0%)
>> Klain MkKlaski:
Ставить галку надо, если проверяемое условие относиться не к говорящему, а к тому, с кем он говорит. Вроде бы.

ЗЫ
Про руки, это я пошутил так smile.gif

Lorem ipsum dolor sit amet.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Arilita
  post 05.03.07 - 00:04   (Ответ #30)
Пользователь offline

-----


Русификатор даэдрицы
Группа: Обыватель
Сообщений: 387
Репутация: 80
Нарушений: (0%)
Цитата: (Ser9K @ 18.02.07 - 21:04)
Товарищи, а есть скрипт, чтобы не отдельный НПС нападал, а целая группа (фракция). Например, от агрессии в 100 единиц они иногда друг на друга нападают...а это как то не логично. nono.gif


Против излишней агрессии друг к другу setIgnoreFriendlyHits должно помогать, если они действительно в одной фракции...
А еще... ну может, это мне так кажется... StartCombat player надо в gamemode проставлять, вроде бы...

Поднявшийся спящий - это неудачно разбуженный программист.
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
ОтветитьСоздать новую тему
 

Цитата не в тему: Какие у вора основные навыки, а? Скрытность хороша только на первых уровнях, потом будешь сносить половину здоровья, а дальше как? Будешь убеждать минотавра не бить тебя или вскроешь отмычкой ему живот??? (Дьявол)
Упрощённая версия / Версия для печати Сейчас: 19.04.24 - 23:24