Скрипты, Все вопросы и ответы по скриптам |
Здравствуйте, гость ( Вход | Регистрация )
Скрипты, Все вопросы и ответы по скриптам |
Jul 9 2013, 03:10
Сообщение
#3576
|
|
Тролль Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь |
Если б задачей была экономия времени – я бы скриптами вообще не занимался. (IMG:style_emoticons/kolobok_light/biggrin.gif) А так максимум что я себе позволяю – это ставить для удобства разделители на начала и концы отдельных смысловых блоков в многосложных скриптах, иногда с короткими подписями в самом разделителе указывающими на что блок направлен. Никогда проблем не возникало с тем, чтоб бегло прочитав нужные части скрипта понять, что же он там делает, и где там стоят таги, а где резрефы, даже если скрипт был написан год или более назад. Позволяет в качестве тренировки не давать мозгам закиснуть. (IMG:style_emoticons/kolobok_light/smile.gif) Ну а команды скриптеров под НВН – это сейчас раритет уже.(IMG:style_emoticons/kolobok_light/pardon.gif) Если уж и стоит где-то соблюдать упорядоченность – так это в названиях локальных переменных, обзывая их словосочетаниями вкратце описывающими функции которые те выполняют.
|
Jul 9 2013, 08:32
Сообщение
#3577
|
|
Level 11 Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов |
azathoth
Спасибо за разъяснение процесса. Из какого аниме аватарка?) Что-то не идентифицирую в своем багаже такого персонажа. |
Jul 9 2013, 10:42
Сообщение
#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 |
Jul 9 2013, 10:50
Сообщение
#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 |
Jul 9 2013, 12:30
Сообщение
#3580
|
|
Level 12 Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] |
Тот же, чем окончился Frozen Throne - Артас занимает место Короля-Лича как властитель нежити.
А аниме не жалко - я что-то перестал его смотреть, как-то редко встречаю то, что зацепит. Но любовь к няшным лупоглазым неко осталась (IMG:style_emoticons/kolobok_light/biggrin.gif) |
Jul 9 2013, 18:24
Сообщение
#3581
|
|
Миловидный Бегрюссунг Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
Харе оффтопить! (IMG:style_emoticons/kolobok_light/orc.gif)
|
Jul 15 2013, 19:51
Сообщение
#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(); вылезает ошибка ОШИБКА: ПОТЕРЯ АНАЛИЗАТОРА ПЕРЕМЕННОЙ Не мог бы мне кто нибудь объяснить что это значит? |
Jul 15 2013, 20:41
Сообщение
#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 |
Jul 15 2013, 21:12
Сообщение
#3584
|
|
Level 2 Класс: Убийца Характер: Neutral Evil Раса: Нежить |
Стер троичку все равно ошибка во второй строчке как была так и осталась та же самая object oPC = GetEnteringObject();...
|
Jul 15 2013, 22:38
Сообщение
#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); } } |
Jul 16 2013, 04:38
Сообщение
#3586
|
|
Level 2 Класс: Убийца Характер: Neutral Evil Раса: Нежить |
Не знаю) у меня все равно пишет ошибку в этой строчке object oPC = GetEnteringObject();
ОШИБКА: ПОТЕРЯ АНАЛИЗАТОРА ПЕРЕМЕННОЙ ) Я даже удалил весь код оставив только Neverwinter Script void main() { object ortp = GetEnteringObject(); } все равно та же ошибка выскакивает... Что вообще значит эта ошибка, почему у меня она выскакивает вроде же написано все правильно? |
Jul 16 2013, 08:25
Сообщение
#3587
|
|
Level 11 Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов |
Попробуй написать код с чистого скрита используя только инглишь-раскладку.
|
Jul 16 2013, 08:37
Сообщение
#3588
|
|
Level 2 Класс: Убийца Характер: Neutral Evil Раса: Нежить |
Создал новый скрипт писал исключительно на инглише никакого русского
Neverwinter Script void main() { object oPC2 = GetEnteringObject(); } все равно та же самая ошибка выскакивает при компиляции ОШИБКА: ПОТЕРЯ АНАЛИЗАТОРА ПЕРЕМЕННОЙ не могу понять в чем дело) что значит эта ошибка какой то анализатор переменной хз... |
Jul 16 2013, 08:48
Сообщение
#3589
|
|
Level 11 Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов |
Ну... глюк какой-то компилятора, что я могу сказать.
У тебя русского текста нет? Может буква "я"? Она не компилит в стандартном тулсете. |
Jul 16 2013, 09:08
Сообщение
#3590
|
|
Level 2 Класс: Убийца Характер: Neutral Evil Раса: Нежить |
Все таки наверное проблема в редакторе) на ноутбуке выдает эту ошибку тут у меня немного другая версия нвн стоит) на настольном пк все работает отлично) жаль конечно что ошибку эту убрать нельзя...
|
Jul 16 2013, 10:02
Сообщение
#3591
|
|
Level 11 Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов |
пропатч до 1.69 на ноутбуке
|
Jul 16 2013, 14:10
Сообщение
#3592
|
|
Level 2 Класс: Убийца Характер: Neutral Evil Раса: Нежить |
Тут проблема такая) на ноутбуке я нвн давно уже установил версию 1.69 здесь стоит) А вот как раз на настольном компе я патч не ставил) Быть может этот патч корявый и попался хз) может подскажите ссылку на нормальный работающий патчик и руссификатор к нему?
|
Jul 16 2013, 16:26
Сообщение
#3593
|
|
Level 11 Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов |
|
Jul 18 2013, 06:03
Сообщение
#3594
|
|
Level 2 Класс: Убийца Характер: Neutral Evil Раса: Нежить |
Есть скрипт который я вешаю на триггер который срабатывает при OnEnter )
Neverwinter Script void main() { object oPC2 = GetEnteringObject(); GiveXPToCreature(oPC2,100); //******* } Подскажите как сделать чтобы еще при этом игрок еще и произносил какую нибудь фразу и чтобы событие произошло только один раз? Какие тут нужны функции? |
Jul 18 2013, 06:30
Сообщение
#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 |
Jul 18 2013, 08:11
Сообщение
#3596
|
|
Level 2 Класс: Убийца Характер: Neutral Evil Раса: Нежить |
Спасибо за помощь) у меня несколько вопросов по поводу функций :
1) Что означает параметр OBJECT_SELF ? 2) GetLocalInt как бы просто считывает значение переменной объекта которая может быть только в двух значениях TRUE и FALSE а SetLocalInt наоборот устанавливает это значение) так получается? 3) В чем различия между функциями ActionSpeakString и SpeakString? Насчет скрипто-геренератора) скачал посмотрел) в принципе штука интересная вот только боюсь с моим английским троишным мне придется оч долго там разбираться и постоянно лазить в переводчик, быть может есть руссификатор к нему? |
Jul 18 2013, 08:59
Сообщение
#3597
|
|
Level 11 Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов |
1. OBJECT_SELF - это объект который запускает скрипт
2. Да 3. Разница в том что ActionSpeakString добавляется в стэк действий и может сработать не сразу, а SpeakString заставляет говорить сразу же |
Jul 18 2013, 16:55
Сообщение
#3598
|
|
Level 6 Класс: Друид Характер: Chaotic Neutral Раса: Гном |
|
Jul 18 2013, 19:14
Сообщение
#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 |
Jul 19 2013, 16:10
Сообщение
#3600
|
|
Миловидный Бегрюссунг Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
arcmag, почитай мануал по авроре и тут темы для новичков по скриптингу. Там разжевано все про актионы, стек и прочее.
|
Текстовая версия | Сейчас: 11th May 2024 - 17:30 |