![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3276
|
|
Level 2 ![]() Класс: Клерик Характер: Chaotic Good Раса: Полуэльф ![]() |
Следующий вопрос по списку СТВ (Самых Тупых Вопросов):
Каким образом задаётся точка респавна в модуле? Я как-то до сих пор не обращал внимания, а теперь вот умер и воскрес на том же месте. Таким образом до меня дошло, что точку респавна надо специально задавать. |
![]()
Сообщение
#3277
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Ну, эти параметры, должны указываться в скрипте, эвента OnPlayerRespawn (модульный). Используя функцию ActionJumpToObject, а так же ряд других, это довольно легко сделать. Посмотри форумные скрипты, выдери нужные кусочки, их и добавь в скрипт стоящий по умолчанию.
Сообщение отредактировал Dik Morris - Jun 18 2007, 18:24 |
![]() ![]()
Сообщение
#3278
|
|
Level 1 Класс: Мастер Оружия Характер: Chaotic Good Раса: Человек ![]() |
Я абсолютный новичок в создании модулей. Пожалуйста ! Обьясните мне : как пользоваться скриптами ? (IMG:style_emoticons/kolobok_light/shout.gif)
|
![]()
Сообщение
#3279
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
пользоваться очень просто: поставить нужный скрипт в нужный слот и радоваться жизни.
|
![]()
Сообщение
#3280
|
|
Level 1 Класс: Мастер Оружия Характер: Chaotic Good Раса: Человек ![]() |
В том то и проблема. Я хочу сделать так , чтобы когда начинать кампанию у тебя был 15-й level , а как незнаю... (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
|
![]()
Сообщение
#3281
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Это уже не пользование, а написание скриптов. Тема более сложная.
Глянь "Базу Скриптов", там есть несколько скриптов на вход. |
![]()
Сообщение
#3282
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Точнее "Скрипты для новичков". Еще точнее: вот она, нужная тема. Смотри самый первый пост (скрипт).
Cтрока: SetXP - и отвечает за количество полученного опыта, при первом входе в модуль. Установи нужное значение, если не знаешь сколько нужно опыта на 15тый, - смотри в мануале, в папке docs, там это указано. PS: в том скрипте, так же есть ряд некоторых других функций, скажем удаления одежды с персонажа и т.д. Просто сотри или закомментируй (два слеша, перед строкой - //), не нужные строчки, там все понятно должно быть, ибо есть комментарии. Сообщение отредактировал Dik Morris - Jun 19 2007, 17:17 |
![]()
Сообщение
#3283
|
|
Level 1 Класс: Мастер Оружия Характер: Chaotic Good Раса: Человек ![]() |
Попробую. Потом сообщу , если что-то не получится. (IMG:style_emoticons/kolobok_light/rolleyes.gif)
|
![]()
Сообщение
#3284
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
А можно немного усложнить задачу? Допустим, игрок входит в мод персом не 1 уровня, а, скажем, 3-го или 17-го. Как сделать так, чтобы в первом случае уровень поднимался бы до 15-го, а во втором случае - ничего бы не происходило?
|
![]()
Сообщение
#3285
|
|
Level 2 ![]() Класс: Страшный Пират Характер: Chaotic Neutral Раса: Человек NWN2: Маппинг ![]() |
Вроде SetXP устанавливает нужное кол-во опыта, будь его меньше или больше, могу ошибаться (IMG:style_emoticons/kolobok_light/rolleyes.gif)
|
![]()
Сообщение
#3286
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Цитата(Daniel @ Jun 20 2007, 00:26) [snapback]109638[/snapback] Вроде SetXP устанавливает нужное кол-во опыта, будь его меньше или больше да. Будет опыта у игрока больше, чем SetXP ставит - опыт срежется, будет меньше - добавится. А если надо чтобы игнорилось, если экспы больше, то там добавится маленький простенький условный оператор. |
![]()
Сообщение
#3287
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Lex, простенький - для тебя. Но не для меня, я дальше анимации обычной и спавна никуда не ушла пока...
С SetXp все понятно. Непонятно, как делать проверку на уровень перса. По идее, скрипт должен начинаться с проверки на уровень - меньше или больше 15-го, потом уже либо даем экспу, либо оставляем все как есть. Чисто теоретически я это знаю, но вот написать сама не могу... (IMG:style_emoticons/kolobok_light/unknw.gif) Сообщение отредактировал shadowdweller - Jun 19 2007, 23:42 |
![]()
Сообщение
#3288
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Neverwinter Script Source if (GetXP(oPC)<XXXXXXX) SetXP(oPC,XXXXXXX) где XXXXXX - опыт, соотв. 15 левелу. |
![]()
Сообщение
#3289
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Все, врубилась, пасиб. (IMG:style_emoticons/kolobok_light/thank_you.gif) Дальше сама сделаю, там, вроде, несложно. А ставится в свойства мода?
|
![]()
Сообщение
#3290
|
|
Level 2 ![]() Класс: Страшный Пират Характер: Chaotic Neutral Раса: Человек NWN2: Маппинг ![]() |
Вообщем пытаюсь научиться писать скрипты, пока что ничего не выходит...
Нужен скрипт чтобы НПС говорил рандомные фразы Вот тот бред который у меня получился: Neverwinter Script Source void main() { object oL=GetObjectByTag("L"); int sTalk; switch (d4()) { case 1: sTalks=ActionSpeakString("1"); break; case 2: sTalks=ActionSpeakString("2"); break; case 3: sTalks=ActionSpeakString("3"); break; case 4: sTalks=ActionSpeakString("4"); break; } AssignCommand(oL, ActionSpeakString(sTalk)); } |
![]()
Сообщение
#3291
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
эээ.. почти правильно у тебя. А вот совсем правильный вариант. Найди 10 отличий.
Neverwinter Script Source void main() { object oL=GetObjectByTag("L"); string sTalks; switch (d4()) { case 1: sTalks="1"; break; case 2: sTalks="2"; break; case 3: sTalks="3"; break; case 4: sTalks="4"; break; } AssignCommand(oL, ActionSpeakString(sTalks)); } если скрипт будет стоять на самом НПС (на ХБ или ЮД), то там проще будет: Neverwinter Script Source void main() { string sTalks; switch (d4()) { case 1: sTalks="1"; break; case 2: sTalks="2"; break; case 3: sTalks="3"; break; case 4: sTalks="4"; break; } ActionSpeakString(sTalks); } а твой вариант похож на скрипт, который стоит на каком-нить нивидимом объекте и управляет неписями. Но тады лучше такой объект грузить по полной - те не 1 НПС, а группой. Скрипт по реализации рандомного разговора между НПС с анимацией и прочими делами есть в Базе Скриптов. |
![]()
Сообщение
#3292
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
2 Lex, только не sTalk, a sTalks (4 и 12тая строки).
Кстати, а не лучше ли будет просто SpeakString? Мало-ли что еще, вдруг NPC занят (IMG:style_emoticons/kolobok_light/smile.gif) . Если ситуация с ХБ, я бы именно так сделал. |
![]()
Сообщение
#3293
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Цитата(Dik Morris @ Jun 20 2007, 12:49) [snapback]109665[/snapback] 2 Lex, только не sTalk, a sTalks (4 и 12тая строки). спс, поправил. Цитата(Dik Morris @ Jun 20 2007, 12:49) [snapback]109665[/snapback] Кстати, а не лучше ли будет просто SpeakString? лучше. Но это уже второй этап (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#3294
|
|
Level 4 ![]() ![]() Класс: Ученик Дракона Характер: Lawful Good Раса: Человек ![]() |
Как говаривал терминатор (IMG:style_emoticons/kolobok_light/dirol.gif) : "Я вернулся"
Вот починил модем, вновь попал в интернет. А вопросов то! Но пока задам только один: хочу своеобразную лотерейку сделать, с рандомным выбором я обращаться умею, но вот не умеб его менять скриптом. Типа сделал то что нужно и вот тебе удача |
![]()
Сообщение
#3295
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
2 Epsilon, честно говоря, не совсем понял вопрос. Точнее его суть.
Но пример все-таки приведу: Neverwinter Script Source void main() { object oPC; // Обязательно инициализируй. Под данный случай; int nRandom = Random(5); // Собственно сама "лотерея"; if (nRandom == 1)// проверка, если "Бинго": { // Нужные действия; // <...>. } else AssignCommand(oPC, SpeakString("Не повезло!..")); } Скрипт конечно не под конкретную ситуацию, но общий смысл такой; доработать его не составит проблем, главное что бы сам процесс был понятен. Посмотри описание функций из кода, добавь дополнительные "выигрыши" используя проверку: || (или) и т.д... |
![]()
Сообщение
#3296
|
|
Level 2 ![]() Класс: Страшный Пират Характер: Chaotic Neutral Раса: Человек NWN2: Маппинг ![]() |
Lex, благадарю за помощь (IMG:style_emoticons/kolobok_light/thank_you.gif)
Сообщение отредактировал Daniel - Jun 20 2007, 20:40 |
![]()
Сообщение
#3297
|
|
Level 4 ![]() ![]() Класс: Ученик Дракона Характер: Lawful Good Раса: Человек ![]() |
Перефразирую вопрос: как изменить существующую случайность
|
![]()
Сообщение
#3298
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Специально еще посоветовал, посмотреть описание функций которые я привел. Вот например Random(х) - как раз и отвечает за "случайность".
Таким образом, если поставить в выше приведенном скрипте, вместо 5, скажем 40 - шанс значительно уменьшится, я бы сказал опустится до минимума (IMG:style_emoticons/kolobok_light/smile.gif) . |
![]()
Сообщение
#3299
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
Доброе время суток
кто тознает как сделатьтак что бы сон пробегал за 2 сек ?? |
![]()
Сообщение
#3300
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
2 Teranozavr_REX, ну можно это реализовать, используя солянку функций:
Цитата FadeToBlack; FadeFromBlack; ForceRest. Первым делом, налаживать черный экран, затем ждать две секунды, и использовать ForceRest (мгновенный отдых), потом собственно снимать экран (не беру в учет анимацию и т.д, именно ядро). Думаю такой вариант подойдет. Сообщение отредактировал Dik Morris - Jun 22 2007, 18:05 |
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 23:06 |