AERIE Team
http://forums.aerie.ru/

DisplayString()
http://forums.aerie.ru/viewtopic.php?f=37&t=3246
Страница 1 из 1

Автор:  Sardes [ 05 ноя 2009, 11:26 ]
Заголовок сообщения:  DisplayString()

Здравствуйте. Помогите пожалуйста со скриптом DisplayString(). Как я понял, текст для отображения должен быть где-то определен. Подскажите где и как это можно проделать.
Интересует для имитации спеллов аля sequencer, contigency и прочее.
Спасибо.

Автор:  Ardanis [ 05 ноя 2009, 12:14 ]
Заголовок сообщения:  Re: DisplayString()

IF True() THEN RESPONSE #100 DisplayString(Myself,1234) END // 1234-я строка из dialog.tlk

Если текст новый и добавляется модом, то возможны другие варианты
IF True() THEN RESPONSE #100 DisplayString(Myself,@1234) END // строка номер 1234 из translation.tra
IF True() THEN RESPONSE #100 DisplayString(Myself,~Boo~) END // непосредственно указанный текст

Также напомню, что DisplayString() появляется только в текстовом окошке, если для катсцены нужна надпись над головой, то для этого лучше использовать DisplayStringHead() / DisplayStringWait().

Автор:  Sardes [ 05 ноя 2009, 17:04 ]
Заголовок сообщения:  Re: DisplayString()

Sardes писал(а):
IF True() THEN RESPONSE #100 DisplayString(Myself,@1234) END // строка номер 1234 из translation.tra


Такс, теперь поподробнее, что такое translation.tra, где его искать, как редактировать, какова структура файла?

Sardes писал(а):
IF True() THEN RESPONSE #100 DisplayString(Myself,~Boo~) END // непосредственно указанный текст


Тут непонятно, что значит непосредственно указанный текст? Указанный в скрипте? Я ввожу нужный мне текст, нажимаю compile, получаю ошибку Expected I:StrRef* but found ~Spell Sequencer~. Видать что-то я не так делаю. ???

Автор:  Ardanis [ 05 ноя 2009, 18:24 ]
Заголовок сообщения:  Re: DisplayString()

Цитата:
Если текст новый и добавляется модом, то возможны другие варианты
Если компиляция скрипта осуществляется при помощи WeiDU - либо путем создания и установки мода, либо через DLTCEP.
****.tra - обычные txt файлы, в которых хранятся тексты в виде @123 = ~some letters~. Изобретены для поддержания модами нескольких языков, откуда и расширение.

Если делать мод и разбираться с сопутствующими тонкостями в планы не входит, то можно взять упомянутый ДЛТСЕП и компилировать в нем, он принимает не только номера, но и ~new text string~'и. Необходимый для успешной компиляции Вейду можно брать с www.weidu.org, внизу страницы.

Автор:  Каролин [ 06 ноя 2009, 14:49 ]
Заголовок сообщения:  Re: DisplayString()

Такой вопрос еще:
Допустим, я сделала оружие, которое имеет 3% шанс (98-100) убить врага, эффект 13, но отключила сообщение о смерти (Text Not...что-то там = 1). Теперь я добавляю эффект DisplayString() (139), так же 98-100%, но хочу добавить свой текст. Допустим, смотрю через НИ, в данном эффекте параметр String - 0x032e.
Мне при копировании предмета надо теперь задавать
SAY 0x032e ~Мой текст~ ?
И можно ли в этом случае присобачить туда еще и звуковой файл?

Автор:  Ardanis [ 07 ноя 2009, 00:28 ]
Заголовок сообщения:  Re: DisplayString()

<<<<<<<<dummy.file
dummy1
dummy2
dummy3
>>>>>>>>
COPY ~dummy.file~ ~wherever/you/please~
REPLACE ~dummy1~ ~New text string #1~ // or @123
REPLACE ~dummy2~ ~New text string #2~
REPLACE ~dummy3~ ~New text string #3~
READ_2DA_ENTRY 0 0 1 ~string1~
READ_2DA_ENTRY 1 0 1 ~string2~
READ_2DA_ENTRY 2 0 1 ~string3~

COPY ~hackmr12.itm~ ~override~
...
WRITE_LONG offset+0x4 string1
...

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

ЗЫ Собственно, SAY 0x1234 ~New text~ тоже можно, я как-то не сразу понял о чем речь.

Автор:  Каролин [ 07 ноя 2009, 07:38 ]
Заголовок сообщения:  Re: DisplayString()

Спасибо большое
Тогда, если можно через SAY, то лучше сделаю так. А вот со звуковым файлом как лучше будет?
Прикрепить его к строке
@123 = ~Text~ [xxx]
или добавить отдельным эффектом к предмету?

Автор:  Slinger [ 07 ноя 2009, 09:09 ]
Заголовок сообщения:  Re: DisplayString()

если просто нацепить на предмет 3 эффекта, то они и случаться будут независимо друг от друга.

Автор:  Каролин [ 07 ноя 2009, 10:33 ]
Заголовок сообщения:  Re: DisplayString()

Но если всем трем эффектам дать равную вероятность, например, те же 98-100%, то они ведь будут происходить одновременно...
Я проверяла вчера, правда с двумя эффектами, без звука.

Автор:  Slinger [ 07 ноя 2009, 11:36 ]
Заголовок сообщения:  Re: DisplayString()

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

Автор:  Каролин [ 07 ноя 2009, 12:38 ]
Заголовок сообщения:  Re: DisplayString()

По ходу, это как со спасбросками. Если взять, допустим, Фуру, то на 2 эффекта:
State:Stun(45)
Graphics:Play 3D Effect(215)
делается один спасбросок.
То и по одинаковым процентам должно происходить одновременно, я так думаю...

Автор:  Ardanis [ 07 ноя 2009, 12:56 ]
Заголовок сообщения:  Re: DisplayString()

Каролин писал(а):
Но если всем трем эффектам дать равную вероятность, например, те же 98-100%, то они ведь будут происходить одновременно...

Каролин писал(а):
По ходу, это как со спасбросками. Если взять, допустим, Фуру, то на 2 эффекта:
State:Stun(45)
Graphics:Play 3D Effect(215)
делается один спасбросок.
То и по одинаковым процентам должно происходить одновременно, я так думаю...

ИМенно. Бросок на проценты и на спасы делается один, а дальше уже смотрит, какие эффекты проходят по результатам, а какие нет. Сюда же магик резист.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/