![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#11
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Ну, если компилица, но не работает, то вот что может быть:
NSS void main(int iAction)
{ switch(iAction) { case 1: object oPC = GetPCSpeaker(); //Это тут откудавы? (IMG:style_emoticons/kolobok_light/smile.gif) Надо GetLastUsedBy()! ActionStartConversation(oPC); break; case 2: ..... ..... } } |
![]()
Сообщение
#12
|
|
Стилспатер ![]() ![]() Класс: Воин Характер: Chaotic Good Раса: Человек ![]() |
QUOTE Ну, если компилица, но не работает, то вот что может быть: Не, это я пример набирал - ошибся... там у меня через свои функции сделано, но смысл (вернее принцип такой). Судя по всему не отрабатывает запуск скрипта из листа свойств плэйсибла. Т.е. если я пишу там ИмяСкрипта(параметр), то оно не работает, а если я убиваю параметры и скрипте и при его вызове, то все нормально. |
![]()
Сообщение
#13
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Plut, передавать параметр таким образом в скрипт нельзя. Делай через локальные переменные на игроке/объекте или модуле.
|
![]()
Сообщение
#14
|
|
Стилспатер ![]() ![]() Класс: Воин Характер: Chaotic Good Раса: Человек ![]() |
QUOTE Plut, передавать параметр таким образом в скрипт нельзя. Делай через локальные переменные на игроке/объекте или модуле. Спасибо за кратки и содержательный ответ. А жаль, все-таки... |
![]()
Сообщение
#15
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Эээ, ну это, не мешало бы увидеть пациента целиком. (IMG:style_emoticons/kolobok_light/smile.gif) А на теории я хз че там как отрабатывает, я в НВН 2 не играл и Обсидиановский Тулсет не видел.
Но есть еще момент. В case низя объявлять или инициализировать переменные, делай это до него. QUOTE(Lex @ Dec 4 2006, 13:38) [snapback]99775[/snapback] Plut, передавать параметр таким образом в скрипт нельзя. Делай через локальные переменные на игроке/объекте или модуле. Ой, так вот в чем суть вопроса была. (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал -fenix- - Dec 4 2006, 13:59 |
![]()
Сообщение
#16
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Plut @ Dec 4 2006, 13:44) [snapback]99777[/snapback] пасибо за кратки и содержательный ответ. А жаль, все-таки... не знаю, чего тебе жаль то. Там и нет возможности вписать, да и как? Если переменная статичная, то нафиг она тебе не нужна, а если динамическая, то на каком этапе ты собираешься ее формировать? Непосредственно перед запуском эвента ? Никак (IMG:style_emoticons/kolobok_light/pardon.gif) Единственное место, где параметры бы пригодились - диалоги, чтобы передавать например номер ответа и от него плясать.. но насколько я знаю в новом тулсете что-то по этому поводу сделано.. посмотреть тока не могу. QUOTE(Plut @ Dec 4 2006, 12:29) [snapback]99761[/snapback] Вопрос такой: можно ли на Event плэйсибла, например On Used, навесить скрипт с параметром можно по другому. В локалку плейса вгоняешь параметр. Например "BLOCK" и разные значения туда, а в скрипте NSS ..
int nBLOCK = GetLocalInt(OBJECT_SELF,"BLOCK"); switch (nBLOCK) { case 1: // ---- // break; case 2: // ---- // break; // И так далее } ... |
![]()
Сообщение
#17
|
|
Стилспатер ![]() ![]() Класс: Воин Характер: Chaotic Good Раса: Человек ![]() |
CODE Единственное место, где параметры бы пригодились - диалоги, чтобы передавать например номер ответа и от него плясать.. но насколько я знаю в новом тулсете что-то по этому поводу сделано.. посмотреть тока не могу. Да, по этому поводу там усе сделано. Даже можно строку выводить или в экшн писать по несколько скриптов... Тут все ок. Можно теперь вообще всю обработку диалогов в 1 скрипт запихать... Чтоб не рыть потом тоннами. QUOTE В case низя объявлять или инициализировать переменные, делай это до него. А я в нем и не пытался инициализировать. Я в него пытался передавать входящий параметр... Согласен, можно и так написать. Идея была сделать скрипт, в котором хранятся On Used, например, всех плэйсиблов или всех дверей... разных... в зависимости, например, от тега... ну и т.д. Это все к сокращению количества скриптов. Сообщение отредактировал Plut - Dec 4 2006, 17:42 |
![]()
Сообщение
#18
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Plut @ Dec 4 2006, 17:30) [snapback]99809[/snapback] А я в нем и не пытался инициализировать. пытаешься: QUOTE(Plut @ Dec 4 2006, 12:29) [snapback]99761[/snapback] case 1: object oPC = GetPCSpeaker(); так ни нада. Объявляй object oPC в начале, а в кейсах уже работай с ней. |
![]()
Сообщение
#19
|
|
Стилспатер ![]() ![]() Класс: Воин Характер: Chaotic Good Раса: Человек ![]() |
QUOTE так ни нада. Объявляй object oPC в начале, а в кейсах уже работай с ней. Ну нормально! Ты хочешь сказать, что внутри ветвления нельзя объявлять переменные?!?! Это - бред! 8 лет занимаюсь написанием программ - такого еще не видел... Не знаю, видел ли ты второй тулс, но багов с этим пока не замечено... Господа... Есть проблема. Проблема в файлике http://www.hotfile.ru/30533/ (1,2Мб - модуль для НВН2) Там есть диалог с лежаком. Если при первом подходе нажать отдохнуть, то следующая фраза этого лежака не выводится... Не понимаю... Сообщение отредактировал Plut - Dec 4 2006, 20:52 |
![]()
Сообщение
#20
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Если очень хочется, то можно:
NSS ...
case 0: { object oPC = GetPCSpeaker(); } case 1: ... |
![]()
Сообщение
#21
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
посмотрел еще раз.. можно в НВН так делать. А затык у меня когда-то был из-за попытки в разных ветках объявить переменную с одним именем.. поэтому я ее и до свича ставлю (IMG:style_emoticons/kolobok_light/smile.gif) Но тебе в данном случае все равно лучше сделать как я написал, ибо игрок у тебя во всех ветках одинаковый (IMG:style_emoticons/kolobok_light/smile.gif)
зы: но вот что-то в свичах нельзя делать точно.. а что, я уже и забыл. |
![]()
Сообщение
#22
|
|
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
QUOTE(Lex @ Dec 5 2006, 00:56) [snapback]99838[/snapback] зы: но вот что-то в свичах нельзя делать точно.. а что, я уже и забыл. переменные объявленные в свитчах глючили испокон веков, поддавались неоднократной правке, но не факт что залечились до конца. поэтому, во избежание, так сказать, их лучше не использовать вообще. |
![]()
Сообщение
#23
|
|
Стилспатер ![]() ![]() Класс: Воин Характер: Chaotic Good Раса: Человек ![]() |
QUOTE Господа... Есть проблема. Проблема в файлике http://www.hotfile.ru/30533/ (1,2Мб - модуль для НВН2) Там есть диалог с лежаком. Если при первом подходе нажать отдохнуть, то следующая фраза этого лежака не выводится... Не понимаю... Поставил патч 1.03 - все исправилось. Так что - это глюк тулса.... был. Сообщение отредактировал Plut - Dec 5 2006, 10:11 |
![]()
Сообщение
#24
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Хз, как там во втором тулсете, но в первом и правда переменные объявленные в свичах глючили, да и инфа о том, что их объявлять там низя, из Лексекона взята.
|
![]() ![]()
Сообщение
#25
|
|
Лорд AxisTown'a ![]() Класс: Монах Характер: Lawful Good Раса: Дварф NWN: Маппинг ![]() |
QUOTE Да, по этому поводу там усе сделано. Даже можно строку выводить или в экшн писать по несколько скриптов... Тут все ок. Можно теперь вообще всю обработку диалогов в 1 скрипт запихать... Чтоб не рыть потом тоннами. ...ммм а пгодробнее об этом можно и в деталях как именно...для тех, кто пока в обсидиановском тулсете не работает.... насколько все удобней.. итд итп ...плз (IMG:style_emoticons/kolobok_light/biggrin.gif) Сообщение отредактировал mamuc - Dec 5 2006, 12:49 |
![]()
Сообщение
#26
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
QUOTE(mamuc @ Dec 5 2006, 12:48) [snapback]99860[/snapback] QUOTE Да, по этому поводу там усе сделано. Даже можно строку выводить или в экшн писать по несколько скриптов... Тут все ок. Можно теперь вообще всю обработку диалогов в 1 скрипт запихать... Чтоб не рыть потом тоннами. ...ммм а пгодробнее об этом можно и в деталях как именно...для тех, кто пока в обсидиановском тулсете не работает.... насколько все удобней.. итд итп ...плз Берешь ветку диалога, выбираешь Экшн -> Добавить и суешь туды скрипт (ну пока как обычно), далее впечатываешь в появившиеся поля переменные для этого скрипта (появляются если он их поддерживает). Если мало - добававить еще таких скриптов к той же ветке, выполнятся они будут по очереди. В игре уже есть пачка простеньких кирпичиков типа "Заставить (таг1) напасть на объект (таг2)", "Забрать итем (таг)" и т.п. Так что можно выстроить комбинацию из них вместо написания отдельного скрипта для каждой ветки. |
![]() ![]()
Сообщение
#27
|
|
Лорд AxisTown'a ![]() Класс: Монах Характер: Lawful Good Раса: Дварф NWN: Маппинг ![]() |
azathoth большое спасибо за информацию.... (IMG:style_emoticons/kolobok_light/hi.gif)
меня больше всего заинтересовал вот такой нюанс QUOTE Даже можно строку выводить это что-то действительно новое и больше не надо будет с SetCustomToken() работать? или это и есть то самое... ...или я чего-то не так понял... (IMG:style_emoticons/kolobok_light/pardon.gif) |
![]()
Сообщение
#28
|
|
Level 19 ![]() Класс: Обыватель Характер: True Neutral Раса: Дварф NWN: Контент ![]() |
Мамук, я не в теме, но думаю, строка это "string". Т.е. можно выводить строку в фразу из тлк.
|
![]() ![]()
Сообщение
#29
|
|
Level 2 ![]() Класс: Псионик Характер: True Neutral Раса: Рептилия ![]() |
Вопрос косвенно связанный со скриптами... а сколько спелов(spells) в NWN2?
Griffon: Открой spells.2da и посчитай. Сообщение отредактировал Griffon - Dec 6 2006, 10:54 |
![]()
Сообщение
#30
|
|
Стилспатер ![]() ![]() Класс: Воин Характер: Chaotic Good Раса: Человек ![]() |
QUOTE это что-то действительно новое и больше не надо будет с SetCustomToken() работать? или это и есть то самое... Этого я делать пока не пробовал... попробуем возвращать строку.... |
![]() ![]()
Сообщение
#31
|
|
Level 1 Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Народ, а не кто не знает, как поменять расу, пол и класс игрока при входе в локацию и желательно при этом и внешний вид?
|
![]()
Сообщение
#32
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
если не урезали это в НВН2, то по идее SetCreatureAppearance или что-нить в этом роде. А если урезали - полиморфом тока наверное (IMG:style_emoticons/kolobok_light/unknw.gif)
|
![]() ![]()
Сообщение
#33
|
|
Level 1 Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
NSS void SetCreatureAppearanceType(object oCreature, int nAppearanceType); Только меняет внешний вид, при этом, если игрок менял при создании персонажа лицо прическу и из-за некоторой одежды персонаж просто исчезает, но все равно спасибо. Будим исследовать дальше. |
![]()
Сообщение
#34
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Класс не поменять точно, максимум, что можно сделать - это сбить уровни до 1, а затем пролевелять РС обратно до того уровня, на котором он был нужным классом(см функции SetXP() и LevelUpHenchman()). Т.е, к примеру, если меняем на файтера, то Маг(20) превратится в Маг(1)-Воин(19). Если игрок 1го уровня, то этот трюк, конечно, не даст вообще никаких результатов.
|
![]() ![]()
Сообщение
#35
|
|
Level 1 Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Просто по ходу сюжета игрок вспоминает свои прошлые жизни, где он был воином магом и творил великие дела. Попробую обойтись только внешним видом и Cut-Сценами вместо боев (IMG:style_emoticons/kolobok_light/sad.gif) . Отсюда следует следующая проблема, как запретить ему просмотр персонажа?
|
![]() ![]() |
Текстовая версия | Сейчас: 16th July 2025 - 17:28 |