Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила этого форума ПРАВИЛА РАЗДЕЛА
3 страниц V  < 1 2 3  
Ответить в эту темуОткрыть новую тему
> Крафт в Neverwinter Nights - а это вообще возможно?, Герой-робинзон, "адын на льдине" купить-продать невозможно, вс
Aiwan
сообщение Dec 1 2017, 09:34
Сообщение #51


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



У локальных переменных есть числовые значения. Я боюсь ты не вдавался в тонкости этого вопроса (IMG:style_emoticons/kolobok_light/smile.gif) Или вдавался?
Приведи пример скрипта, мы поможем с оптимизацией.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chiffa
сообщение Dec 1 2017, 15:05
Сообщение #52


Level 6
**

Класс: Волшебник
Характер: Chaotic Good
Раса: Человек



Aiwan, denis0k, спасибо. Кажется, я правильно вас понял. Правда, не совсем усвоил насчет знака минус. В ПЛ я скоммуниздил очень нужный мне скрип, который регулирует отношения хеньша к игроку. И решил проверить, может ли он переходить за ноль. Оказалось, еще как может. Заставил ПС постоянно хамить хеньше, довел отношения до -100, после чего портнул хеньша в клозет (то есть на закрытую арену), а ПС закатал в тюрягу "за попытку изнасилования собственной помощницы" (IMG:style_emoticons/kolobok_light/biggrin.gif) Это все на "Полигоне", я говорил, что есть у меня специальный полезный мод для издевательств над ПС.
denis0k, ты что-то подобное имел ввиду, когда говорил о знаке минус, или совсем другое?
Насчет цифровых значений тоже вроде вникал. Правда, довольно поверхностно и скорее интуитивно. Aiwan, вот, к примеру, твой скрипт из Андры:
Neverwinter Script
//:://////////////////////////////////////////////
//:: Created By: WRG! Aiwan aiwan@e-mail.ru
//:://////////////////////////////////////////////
//::   ЗАКРЫВАЕТ СТРОКУ НПС ПОСЛЕ РАЗГОВОРА
//:://////////////////////////////////////////////
int StartingConditional()
{
    if (!GetLocalInt(OBJECT_SELF,"SPEAK_1"))
      {
      SetLocalInt(OBJECT_SELF,"SPEAK_1",TRUE);
        return TRUE;
      }
       return FALSE;
}


Очень полезный скрипт, иногда просто незаменим. Одна беда: он, зараза, действителен для всех без исключения неписей модуля. То есть если тебе надо закрыть еще одну веточку в диалоге любого непися, будь любезен, пиши: "SPEAK_2", потом "SPEAK_3" ну и так далее... Таким макаром можно наплодить стопитьсот этих "SPEAK_ов" и просто в них запутаться. Я этот скрипт немного переделал. Примерно так:
Neverwinter Script
int StartingConditional()
{
    if (!GetLocalInt(OBJECT_SELF,"SPEAK_1"+ GetTag(OBJECT_SELF)))
      {
      SetLocalInt(OBJECT_SELF,"SPEAK_1"+ GetTag(OBJECT_SELF),TRUE);
        return TRUE;
      }
       return FALSE;
}

То есть теперь он привязан к конкретному неписю, на другого его можно смело ставить с тем же номером, ветка диалога закроется. Проверил - работает. Естественно, я сохранил его под другим названием. Потому что оказываться от твоего, Aiwan, скрипта, я не собираюсь, иногда требуется заткнуть рот на определенную тему именно всем неписям...
Это как, можно считать "вниканием" в числовые значения, или я очередную глупость сморозил? (IMG:style_emoticons/kolobok_light/prankster2.gif)

Ну, а за предложение помощи в отладке просто и не знаю, как благодарить! И тут уж, без обид, ловлю на слове. Потому что где она точно понадобится - это когда у меня дело дойдет до фильмов. Я говорил, что шарахался от катсцен, запуганный "висяками" ПЛ-овского бандита. Но теперь бояться перестал и очень даже начинаю увлекаться.
Так что спасибо еще раз.

З.Ы. Кстати, Aiwan, у тебя я тоже занял скрипты Алишан, очень понравилось, что они регулируют отношения независимо от того, хеньша она или еще нет. Надеюсь на их основе налаживать отношения с фракцией очаровательных дикарок, которых мой робинзон найдет ближе к середине мода. Причем тут надо разные значения. Ну, с конкретной дикаркой, которой ПС принес рыбину вкусную или ожерелье какое красивое сразу Love+10 и одновременно с фракцией Love+1. Вот так и пахай, парень, пока фракция ТруЪ_Нейтрал не перейдет во фракцию Друг_ПС. Только тогда с тобой заговорит Великий Шаман (нарыл фотку настолько татуированного полинезийца, что понять не могу, как он выжил, бедняга).
Тут тоже в отладке, боюсь, без вас, ребята, вряд ли что выйдет путное...

З.Ы.Ы. Сорри за многабукафф. Говорил уже, профессионально-нравственная деформация. Лечению не поддается

Сообщение отредактировал Chiffa - Dec 1 2017, 15:07
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Dec 1 2017, 18:18
Сообщение #53


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Разговор вроде был о количестве локалок, так что я о нём. Поясню.

Как ни крути, локалки сохраняются в массиве, у массива есть размер. Если предположить, что размер массива не зарезан специально до какого-то абсурдного числа (типа 10, 50 и т.п., что в 21-м веке редко, но таки бывает), то ограничивает нас тип переменной индекса этого массива. Самый минимум, что могли сделать биовари - 1 байт (8 бит, 2^8=256 "значений"). И тут два варианта:
- знаковый int8/char: диапазон -128...127, но т.к. индекс массива обычно 0+, то это даёт размер в 128 (этот же диапазон, например, у скиллов и абилок);
- беззнаковый unsigned int8/char: диапазон 0...255, размер 256.

Это именно тот минус, о котором я говорил, - часть реализации массива, а не особенности внутри скрипта.

Хотя я ни разу не замечал проблем с локалками. Местами использовал довольно много, даже массивы на локалках реализовывал, да и не только я. А на старых серверах без внешней бд даже все фишки чара/акка хранили в локалках на итемах.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chiffa
сообщение Dec 1 2017, 18:34
Сообщение #54


Level 6
**

Класс: Волшебник
Характер: Chaotic Good
Раса: Человек



Цитата(denis0k @ Dec 1 2017, 18:18) *
Это именно тот минус, о котором я говорил, - часть реализации массива, а не особенности внутри скрипта.

Хотя я ни разу не замечал проблем с локалками. Местами использовал довольно много, даже массивы на локалках реализовывал, да и не только я. А на старых серверах без внешней бд даже все фишки чара/акка хранили в локалках на итемах.


Спасибо, denis0k, теперь понятно. Просто я видел, что в тулсете на модельку можно повесить очень небольшое количество переменных. Ну и подумал, что движок поступает также. Вот и забеспокоился. А того количества, которое ты озвучил, хватит выше крыши. Даже если говорить о минимальном количестве.

Тем более, что благодаря подсказке Aiwanа я уж точно не стану грузить на ПС лишнее. Стоит наковальня, статичный плейс - так пусть хоть локалки хранит, все польза. Это ведь только с мультитулом герой по всему острову бегает. А все остальные "инструменты" вполне могут поработать "чемоданами".

Спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Dec 2 2017, 23:54
Сообщение #55


Level 11
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Фея
NWN: Скриптинг [PW]
Край Лесов



В кастомных ELC значения из 2да вешались массивами на 1 объект, это тысячи локалок. Все работало как часы.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 3 2017, 06:08
Сообщение #56


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Цитата(Chiffa @ Dec 1 2017, 18:05) *
Насчет цифровых значений тоже вроде вникал. Правда, довольно поверхностно и скорее интуитивно. Aiwan, вот, к примеру, твой скрипт из Андры:

Ну я тебя читаю на раз два (IMG:style_emoticons/kolobok_light/smile.gif) Скорее всего из-за того, что я сам был точно такой как ты, гуманитарий скорее чем скриптер-логик. Короче, ты все понял не так (IMG:style_emoticons/kolobok_light/snoozer_17.gif) Разжевываю, хоть это и есть в мануале по авроре, почитай вниматочно.
Локальная переменная это как название улицы. Например, переменная "УЛИЦА_СТРОИТЕЛЕЙ", и это "стринг" буквенное обозначение. Но, кроме всего оно имеет и числовое обозначение "интеджер" типа номер дома. Если мы не указываем его конкретное значение, то оно будет 1 или TRUE (что значит ИСТИНА для языка компьютера).
Итак что имеем:
Neverwinter Script
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    SetLocalInt(oPC,"QUEST_KILL_BILL", 1);
}


Это вторая часть Марлезонского балета.

Neverwinter Script
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    SetLocalInt(oPC,"QUEST_KILL_BILL", 2);
}


Это третья часть...

Neverwinter Script
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    SetLocalInt(oPC,"QUEST_KILL_BILL", 3);
}


И таких частей может быть сто тыщ мульонов. А ты делаешь так:

Neverwinter Script
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    SetLocalInt(oPC,"QUEST_KILL_BILL_1", TRUE);
}


Часть два
Neverwinter Script
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    SetLocalInt(oPC,"QUEST_KILL_BILL_2", TRUE);
}


Часть три:

Neverwinter Script
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    SetLocalInt(oPC,"QUEST_KILL_BILL_3", TRUE);
}


Что в принципе работает но реализовано через задний проход. В общем быстро в тему для скриптов для начинающих и грызи PDF по авроре, что я писал.

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Dec 3 2017, 11:30
Сообщение #57


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Нужны базовые знания по программированию и составлению алгоритмов. После этого язык значения не имеет вовсе, можно со справочником писать на любом после пары-тройки дней знакомства с синтаксисом.

Я изучал программирование в вузе (правда при этом я занимался им с 5-го или 7-го класса школы), абсолютное большинство студентов просто зубрит конструкции. Экзамены сдать это позволяет, а вот программировать - не очень. Рекомендую искать инфу по основам программирования, где рассказывается про алгоритмы, блок-схемы и т.п.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 3 2017, 12:26
Сообщение #58


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Я тоже учил языки программирования, и тоже был ни в зуб ногой. Только Аврора дала понять что ЭТО такое и как там все просто и сложно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chiffa
сообщение Dec 3 2017, 16:59
Сообщение #59


Level 6
**

Класс: Волшебник
Характер: Chaotic Good
Раса: Человек



Цитата(Aiwan @ Dec 3 2017, 06:08) *
В общем быстро в тему для скриптов для начинающих и грызи PDF по авроре, что я писал.

Слушаюсь, мой генерал! (IMG:style_emoticons/kolobok_light/prankster2.gif)
Нет, серьезно, спасибо за разжевывание. Твой труд не пропал даром, все-таки ты имеешь дело не с самым безнадежным тупицей.
Цитата(denis0k @ Dec 3 2017, 11:30) *
Нужны базовые знания по программированию и составлению алгоритмов. После этого язык значения не имеет вовсе, можно со справочником писать на любом после пары-тройки дней знакомства с синтаксисом.

Я изучал программирование в вузе (правда при этом я занимался им с 5-го или 7-го класса школы), абсолютное большинство студентов просто зубрит конструкции. Экзамены сдать это позволяет, а вот программировать - не очень. Рекомендую искать инфу по основам программирования, где рассказывается про алгоритмы, блок-схемы и т.п.

Кстати, весьма заметно, что программирование ты постигал именно вниканием, а уж не зубрежкой. По твоей логике заметно. Это я понял, просто прочитав два-три твоих поста. Тут как у Жванецкого: "Я не разбираюсь в автомобильных шинах, моя работа - разбираться в людях."
К слову, "зубрежный" подход универсален для любых ВУЗов, не обязательно технических. У нас тоже таких хватало: вызубрят в чем отличие статьи от корреспонденции, к примеру, экзамен сдадут на "отлично". Только потом над их писаниной покатывается со смеху весь Мухосранск.
За совет спасибо. Попробую именно вникать. В базу. ГСУ сильно мешает, ясен пень, но ... попробую...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

3 страниц V  < 1 2 3
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th March 2024 - 01:37