![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3576
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Если б задачей была экономия времени – я бы скриптами вообще не занимался. (IMG:style_emoticons/kolobok_light/biggrin.gif) А так максимум что я себе позволяю – это ставить для удобства разделители на начала и концы отдельных смысловых блоков в многосложных скриптах, иногда с короткими подписями в самом разделителе указывающими на что блок направлен. Никогда проблем не возникало с тем, чтоб бегло прочитав нужные части скрипта понять, что же он там делает, и где там стоят таги, а где резрефы, даже если скрипт был написан год или более назад. Позволяет в качестве тренировки не давать мозгам закиснуть. (IMG:style_emoticons/kolobok_light/smile.gif) Ну а команды скриптеров под НВН – это сейчас раритет уже.(IMG:style_emoticons/kolobok_light/pardon.gif) Если уж и стоит где-то соблюдать упорядоченность – так это в названиях локальных переменных, обзывая их словосочетаниями вкратце описывающими функции которые те выполняют.
|
![]()
Сообщение
#3577
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
azathoth
Спасибо за разъяснение процесса. Из какого аниме аватарка?) Что-то не идентифицирую в своем багаже такого персонажа. |
![]()
Сообщение
#3578
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Стыдно сказать, но это Артас (IMG:style_emoticons/kolobok_light/rolleyes.gif)
http://img3.joyreactor.cc/pics/post/full/a...ing-507673.jpeg |
![]()
Сообщение
#3579
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Неожиданно. (IMG:style_emoticons/kolobok_light/wizard.gif) (IMG:style_emoticons/kolobok_light/smile.gif) Я не знаю кто он там в вов, но жаль аниме нет такого - образ няшно-годный.
Сообщение отредактировал Melisse - Jul 9 2013, 11:13 |
![]()
Сообщение
#3580
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Тот же, чем окончился Frozen Throne - Артас занимает место Короля-Лича как властитель нежити.
А аниме не жалко - я что-то перестал его смотреть, как-то редко встречаю то, что зацепит. Но любовь к няшным лупоглазым неко осталась (IMG:style_emoticons/kolobok_light/biggrin.gif) |
![]()
Сообщение
#3581
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Харе оффтопить! (IMG:style_emoticons/kolobok_light/orc.gif)
|
![]()
Сообщение
#3582
|
|
Level 2 ![]() Класс: Убийца Характер: Neutral Evil Раса: Нежить ![]() |
Neverwinter Script void main(){ object oPC = GetEnteringObject(); if(GetLocalInt(oP3C, "ENTERING_ONCE") == 0){ GiveGoldToCreature(oPC, 1000); CreateItemOnObject("resref_item", oPC,100); SetLocalInt(oPC, "ENTERING_ONCE", 1); } } Решил попробовать поставить это событие при входе игрока в локу но почему то во второй строчке object oPC = GetEnteringObject(); вылезает ошибка ОШИБКА: ПОТЕРЯ АНАЛИЗАТОРА ПЕРЕМЕННОЙ Не мог бы мне кто нибудь объяснить что это значит? |
![]()
Сообщение
#3583
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Neverwinter Script void main(){ object oPC = GetEnteringObject(); if(GetLocalInt(oP3C, "ENTERING_ONCE") == 0){ GiveGoldToCreature(oPC, 1000); CreateItemOnObject("resref_item", oPC,100); SetLocalInt(oPC, "ENTERING_ONCE", 1); } } Решил попробовать поставить это событие при входе игрока в локу но почему то во второй строчке object oPC = GetEnteringObject(); вылезает ошибка ОШИБКА: ПОТЕРЯ АНАЛИЗАТОРА ПЕРЕМЕННОЙ Не мог бы мне кто нибудь объяснить что это значит? Это значит нужно быть внимательнее (IMG:style_emoticons/kolobok_light/biggrin.gif) : Neverwinter Script object oPC = GetEnteringObject(); ___________________^if(GetLocalInt(oP3C, "ENTERING_ONCE") == 0) ___________________^ ___________________^ Сообщение отредактировал Flaristan - Jul 15 2013, 20:43 |
![]()
Сообщение
#3584
|
|
Level 2 ![]() Класс: Убийца Характер: Neutral Evil Раса: Нежить ![]() |
Стер троичку все равно ошибка во второй строчке как была так и осталась та же самая object oPC = GetEnteringObject();...
|
![]()
Сообщение
#3585
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Без тройки там все компилируется и даже работает - а чтоб не путаться удобнее писать скрипты упорядоченной структурой:
Neverwinter Script void main()
{ object oPC = GetEnteringObject(); if(GetLocalInt(oPC, "ENTERING_ONCE") == 0) { GiveGoldToCreature(oPC, 1000); CreateItemOnObject("nw_wswmgs002", oPC, 1); SetLocalInt(oPC, "ENTERING_ONCE", 1); } } |
![]()
Сообщение
#3586
|
|
Level 2 ![]() Класс: Убийца Характер: Neutral Evil Раса: Нежить ![]() |
Не знаю) у меня все равно пишет ошибку в этой строчке object oPC = GetEnteringObject();
ОШИБКА: ПОТЕРЯ АНАЛИЗАТОРА ПЕРЕМЕННОЙ ) Я даже удалил весь код оставив только Neverwinter Script void main() { object ortp = GetEnteringObject(); } все равно та же ошибка выскакивает... Что вообще значит эта ошибка, почему у меня она выскакивает вроде же написано все правильно? |
![]()
Сообщение
#3587
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Попробуй написать код с чистого скрита используя только инглишь-раскладку.
|
![]()
Сообщение
#3588
|
|
Level 2 ![]() Класс: Убийца Характер: Neutral Evil Раса: Нежить ![]() |
Создал новый скрипт писал исключительно на инглише никакого русского
Neverwinter Script void main() { object oPC2 = GetEnteringObject(); } все равно та же самая ошибка выскакивает при компиляции ОШИБКА: ПОТЕРЯ АНАЛИЗАТОРА ПЕРЕМЕННОЙ не могу понять в чем дело) что значит эта ошибка какой то анализатор переменной хз... |
![]()
Сообщение
#3589
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Ну... глюк какой-то компилятора, что я могу сказать.
У тебя русского текста нет? Может буква "я"? Она не компилит в стандартном тулсете. |
![]()
Сообщение
#3590
|
|
Level 2 ![]() Класс: Убийца Характер: Neutral Evil Раса: Нежить ![]() |
Все таки наверное проблема в редакторе) на ноутбуке выдает эту ошибку тут у меня немного другая версия нвн стоит) на настольном пк все работает отлично) жаль конечно что ошибку эту убрать нельзя...
|
![]()
Сообщение
#3591
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
пропатч до 1.69 на ноутбуке
|
![]()
Сообщение
#3592
|
|
Level 2 ![]() Класс: Убийца Характер: Neutral Evil Раса: Нежить ![]() |
Тут проблема такая) на ноутбуке я нвн давно уже установил версию 1.69 здесь стоит) А вот как раз на настольном компе я патч не ставил) Быть может этот патч корявый и попался хз) может подскажите ссылку на нормальный работающий патчик и руссификатор к нему?
|
![]()
Сообщение
#3593
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
|
![]()
Сообщение
#3594
|
|
Level 2 ![]() Класс: Убийца Характер: Neutral Evil Раса: Нежить ![]() |
Есть скрипт который я вешаю на триггер который срабатывает при OnEnter )
Neverwinter Script void main() { object oPC2 = GetEnteringObject(); GiveXPToCreature(oPC2,100); //******* } Подскажите как сделать чтобы еще при этом игрок еще и произносил какую нибудь фразу и чтобы событие произошло только один раз? Какие тут нужны функции? |
![]()
Сообщение
#3595
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Изучай скрипт-генератор – там есть все подобные функции.
Neverwinter Script //Put this script OnEnter #include "nw_i0_tool" void main() { object oPC = GetEnteringObject(); if (!GetIsPC(oPC)) return; int DoOnce = GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF)); if (DoOnce==TRUE) return; SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), TRUE); AssignCommand(oPC, ActionSpeakString("GROOVY!!!")); RewardPartyXP(100, oPC, FALSE); } Вот что он выдаст например по твоему запросу. P.S.: if (!GetIsPC(oPC)) return; - эта проверка фильтрует объекты запускающие скрипт таким образом, что срабатывать он будет только на игрока; int DoOnce = GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF)); - тут мы прописываем локальную переменную "ДелайРаз" на объект на котором и стоит этот скрипт, называться эта переменная будет по тагу этого оъекта; if (DoOnce==TRUE) return; - эта проверка и выясняет значение этой переменной, и если оно TRUE (то есть событие уже произошло 1 раз), то скрипт не запустится дальше; SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), TRUE); - строчка следующая сразу же за ней устанавливает эту переменную на TRUE (по умолчанию всегда стоит FALSE т.е. "0", и если скрипт выполняется первый раз - тут мы это и отмечаем); AssignCommand(oPC, ActionSpeakString("GROOVY!!!")); - эта строчка заставляет игрока запустившего скрипт произнести "GROOVY!!!" при его срабатывании; RewardPartyXP(100, oPC, FALSE); - это нестандартный вариант раздачи опыта который использовал скрипт-генератор - для его работы необходим "инклюд" который указан в скрипте перед его началом (#include "nw_i0_tool"). Сообщение отредактировал Flaristan - Jul 18 2013, 06:42 |
![]()
Сообщение
#3596
|
|
Level 2 ![]() Класс: Убийца Характер: Neutral Evil Раса: Нежить ![]() |
Спасибо за помощь) у меня несколько вопросов по поводу функций :
1) Что означает параметр OBJECT_SELF ? 2) GetLocalInt как бы просто считывает значение переменной объекта которая может быть только в двух значениях TRUE и FALSE а SetLocalInt наоборот устанавливает это значение) так получается? 3) В чем различия между функциями ActionSpeakString и SpeakString? Насчет скрипто-геренератора) скачал посмотрел) в принципе штука интересная вот только боюсь с моим английским троишным мне придется оч долго там разбираться и постоянно лазить в переводчик, быть может есть руссификатор к нему? |
![]()
Сообщение
#3597
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
1. OBJECT_SELF - это объект который запускает скрипт
2. Да 3. Разница в том что ActionSpeakString добавляется в стэк действий и может сработать не сразу, а SpeakString заставляет говорить сразу же |
![]()
Сообщение
#3598
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
|
![]()
Сообщение
#3599
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Цитата 2. Нет. Любое целое число, не только тру или фолс. Нет, совсем не так. При 0 всегда будет FALSE, а от -2,147,483,648 до 2,147,483,647, кроме 0 всегда TRUE иначе говоря FALSE это всегда 0, а TRUE любое кроме 0 Сообщение отредактировал Melisse - Jul 18 2013, 19:15 |
![]()
Сообщение
#3600
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
arcmag, почитай мануал по авроре и тут темы для новичков по скриптингу. Там разжевано все про актионы, стек и прочее.
|
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 01:06 |