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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 194 195 196 197 198 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Heather
сообщение Jan 22 2016, 23:18
Сообщение #4871


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

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



Цитата
вариант который предложил greye

Это кусок скрипта или целый? Вы простите, я ж совсем дерево, я даже не поняла, тэг-то куда вписывать? -__-
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Jan 23 2016, 12:14
Сообщение #4872


Level 7
**

Класс: Некромант
Характер: True Neutral
Раса: Нежить



Цитата(Heather @ Jan 23 2016, 00:18) *
Это кусок скрипта или целый? Вы простите, я ж совсем дерево, я даже не поняла, тэг-то куда вписывать? -__-

Это функция, которую можно использовать. В предположении, что факелы в комнате зажигаются по триггеру, полный скрипт мог бы выглядеть следующим образом:
Neverwinter Script
void lightMarkedTiles(string tag, object area) {
    int n = 0;
    object marker = GetObjectByTag(tag, n);
    while (GetIsObjectValid(marker)) {
        location lTile = GetLocation(marker);

        SetTileMainLightColor (lTile, TILE_MAIN_LIGHT_COLOR_BLACK, TILE_MAIN_LIGHT_COLOR_BLACK);
        SetTileSourceLightColor (lTile, TILE_MAIN_LIGHT_COLOR_WHITE, TILE_MAIN_LIGHT_COLOR_WHITE);

        marker = GetObjectByTag(tag, ++n);
    }
    RecomputeStaticLighting(area);
}

void main() {
    string tag = ...; // задать тег можно разными способами: вписать прямо в скрипт, считать из локальной переменной или вовсе поставить триггеру тот же тег и использовать его
    lightMarkedTiles(tag, GetArea(OBJECT_SELF));
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Heather
сообщение Mar 7 2016, 21:21
Сообщение #4873


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

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



В общем, пробовала я пробовала, ничего не выходило с этими факелами.
Либо зажигаются все, либо вообще ничего.
Муж помог, в итоге вышло вот так:
Neverwinter Script
location GetTileLocation(location loc)
{

    vector vec = GetPositionFromLocation( loc );
    float fNewX = IntToFloat( FloatToInt( vec.x/10.0 ) );
    float fNewY = IntToFloat( FloatToInt( vec.y/10.0 ) );
    float fNewZ = IntToFloat( FloatToInt( vec.z/10.0 ) );
    vector vNew = Vector( fNewX, fNewY, fNewZ );
    location lNew = Location( GetAreaFromLocation( loc ),
        vNew, GetFacingFromLocation( loc ) );
    return lNew;
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Feron
сообщение Mar 10 2016, 11:27
Сообщение #4874


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

Класс: Обыватель
Характер: True Neutral
Раса: Человек
NWN: Модмейкер
Сиала



QUOTE (Heather @ Mar 7 2016, 22:21) *
В общем, пробовала я пробовала, ничего не выходило с этими факелами.
Либо зажигаются все, либо вообще ничего.
Муж помог, в итоге вышло вот так:
Neverwinter Script
location GetTileLocation(location loc)
{

    vector vec = GetPositionFromLocation( loc );
    float fNewX = IntToFloat( FloatToInt( vec.x/10.0 ) );
    float fNewY = IntToFloat( FloatToInt( vec.y/10.0 ) );
    float fNewZ = IntToFloat( FloatToInt( vec.z/10.0 ) );
    vector vNew = Vector( fNewX, fNewY, fNewZ );
    location lNew = Location( GetAreaFromLocation( loc ),
        vNew, GetFacingFromLocation( loc ) );
    return lNew;
}


Хизер, у нас как-то была задача сделать атмосферное и эффективное освещение для логова наемников. Я не знаю точно для какого сценического элемента тебе надо, но если тебе нужен переход от тьмы к светы за счет зажигания факелов, то думаю это может подойти. Это пример, где наемник может зажечь в темном логове факела и осветить всю локацию.

Вот так выглядит это (Видео на YouTube).

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

CODE
void FadeIn(int nIteration, object oArea)
{
    int nAmount = GetFogAmount(FOG_TYPE_MOON, oArea);
    if(nAmount <= 0 || nIteration > 15)
    {
        SetFogAmount(FOG_TYPE_MOON, 0, oArea);
        SetFogAmount(FOG_TYPE_SUN, 0, oArea);
        SetFogColor(FOG_TYPE_MOON, FOG_COLOR_BLACK, oArea);
        return;
    }
    else
    {
        int nNew = GetFogAmount(FOG_TYPE_MOON, oArea) - 10;
        if(nNew < 0)
            nNew = 0;
        SetFogAmount(FOG_TYPE_MOON, nNew, oArea);
        SetFogAmount(FOG_TYPE_SUN, nNew, oArea);
        DelayCommand(0.2, FadeIn(++nIteration, oArea));
    }
}

void FadeOut(int nIteration, object oArea)
{
    int nAmount = GetFogAmount(FOG_TYPE_MOON, oArea);
    if(nAmount >= 100 || nIteration > 15)
    {
        SetFogAmount(FOG_TYPE_MOON, 100, oArea);
        return;
    }
    else
    {
        SetFogAmount(FOG_TYPE_MOON, GetFogAmount(FOG_TYPE_MOON, oArea) + 10, oArea);
        SetFogAmount(FOG_TYPE_SUN, GetFogAmount(FOG_TYPE_SUN, oArea) + 10, oArea);
        DelayCommand(0.2, FadeOut(++nIteration, oArea));
    }
}


Если есть куда пристроить, я могу тебе маленькую локацию подвала с одним факелом прислать в котором рычажком сможшь включать выключать свет.

Сообщение отредактировал Feron - Mar 10 2016, 15:06
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Heather
сообщение Mar 10 2016, 20:59
Сообщение #4875


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

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



Цитата
Я не знаю точно для какого сценического элемента тебе надо

Мне надо, чтобы заходя в комнату, зажигались факелы на стенах. Не светильники-объекты, а часть тайла. Без рычагов, без кнопок и действий. По триггеру.
Собственно, тот скрипт, что я выложила, работает ровно так, как надо. Но спасибо за предложение. =)

Сообщение отредактировал Heather - Mar 10 2016, 21:00
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Feron
сообщение Mar 11 2016, 06:39
Сообщение #4876


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

Класс: Обыватель
Характер: True Neutral
Раса: Человек
NWN: Модмейкер
Сиала



QUOTE (Heather @ Mar 10 2016, 21:59) *
Мне надо, чтобы заходя в комнату, зажигались факелы на стенах. Не светильники-объекты, а часть тайла. Без рычагов, без кнопок и действий. По триггеру.
Собственно, тот скрипт, что я выложила, работает ровно так, как надо. Но спасибо за предложение. =)


Я понял. Показал не ради загораемого факела плейсбла а на случай, если дополнительно к обновлению освещения тайла хочется добавить повышение освещения во всей локации.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
ud4ever
сообщение Mar 21 2016, 21:52
Сообщение #4877


Level 3
*

Класс: Бард
Характер: Neutral Evil
Раса: Человек



Подскажите, пожалуйста, скорее всего кто-либо сталкивался. Как отключить бартер в модуле?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 22 2016, 07:51
Сообщение #4878


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

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



Цитата(ud4ever @ Mar 22 2016, 00:52) *
Подскажите, пожалуйста, скорее всего кто-либо сталкивался. Как отключить бартер в модуле?

Что вы имеете в виду? Подробнее задачу опишите.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
ud4ever
сообщение Mar 22 2016, 08:20
Сообщение #4879


Level 3
*

Класс: Бард
Характер: Neutral Evil
Раса: Человек



Цитата(Aiwan @ Mar 22 2016, 08:51) *
Что вы имеете в виду? Подробнее задачу опишите.

задача заключается в том чтобы при попытке совершить бартер он либо не работал, либо сразу отменялся для того чтобы у игроков не было возможности дюпить внутриигровые шмотки с его помощью
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Mar 22 2016, 09:31
Сообщение #4880


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

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



На модульное событие потери вещи проверяй
1. Вещь существует (может удалилась)
2. Вещь не в инвентаре плэйса или существа
2. Вещь не выложена на пол
4. Вот и наш Бартер - отменяем действие
5. ????
6. PROFIT!

Сообщение отредактировал Melisse - Mar 22 2016, 09:33
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Mar 23 2016, 08:48
Сообщение #4881


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

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



Я конечно не очень силён в дюпе... Но по логике нужно 2 события - передать итем второму игроку, дать ему сохраниться с ним и завалить сервер, пока не сохранился первый игрок. Передать можно через пол. А для завала сервера уже не важно - сработает ваш бартер или нет, если валить будут бартером. Уверен, есть и другие способы, не так давно был разговор про откат через полиморф.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Feron
сообщение Mar 28 2016, 10:06
Сообщение #4882


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

Класс: Обыватель
Характер: True Neutral
Раса: Человек
NWN: Модмейкер
Сиала



Цитата(denis0k @ Mar 23 2016, 09:48) *
Я конечно не очень силён в дюпе...


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

@Melisse - все верно, только отмена действия это не совсем то, что может помочь, ибо действие уже будет произведено и бартер не закроется, а это то, о чем попросили.

Самый простой и железный способ отменить любую попытку бартера без танцев с бубном это сохранение чара через ExportSingleCharacter на потере вещи, по принципу, как описал Melisse для определения ситуации бартера. При этом вещь вернется в бекпак персонажу. Там есть побочных эффект, что вещь нельзя до рестарта будет выложить еще раз - но это не страшно. А вообще, как правильно написали - если стоит фикс антипрозрачности через nwnх, то бартер безобиден для дюпа.

Можешь просто на каждой потере сохранять чара, по перфомансу это тебе не удари и поможет со случаеми, который описал denis0k. При этом у тебя могут быть ситуации потери вещи, а не дюпа. Полностью засинхронизировать сохранение персонажей, чтобы не было дюпа или потерь вещей невозможно. Есть всегда, что в момент записи будет рестарт и там будет глюк. Это редко, но может быть.

Если нужна помощь в конкретных кусках кода - обращайся. Так же могу поделиться всеми защитами от Дюпа. От всех известных дюпов есть в наличии решения, включая полиморфы.

Сообщение отредактировал Feron - Mar 28 2016, 10:11
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Mar 4 2017, 03:09
Сообщение #4883


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Я надеюсь, что здесь кто-то есть, потому что очень нужна ваша помощь.
Такой вопрос: при установлении int в начале скрипта может быть такое, что он не перезаписывается в дальнейшем под условием?
Это на контейнере, если что.

Пример

Neverwinter Script
int lut1;

if (Type == "lut_sm")
  int lut1 = 35;
 
if (lut1 >> 12)
  делается что-то;


При этом если проверять в первом условии переменные, то int равен 35, а не 0. Почему после первой проверки и, соответственно, во второй проверке он равен 0?
Что я не понимаю?((

Сообщение отредактировал Aiwan - Mar 5 2017, 13:39
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 5 2017, 13:41
Сообщение #4884


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

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



А весь скрипт большой? Кусок мало что говорит.

Он может не перезаписываться под твоим же условием.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 6 2017, 08:07
Сообщение #4885


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

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



Neverwinter Script
if (lut1 >> 12)
Если это условие просто БОЛЬШЕ, то должно быть так:
Neverwinter Script
if (lut1 > 12)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Heather
сообщение May 7 2017, 11:48
Сообщение #4886


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

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



Привет! Всех с праздниками!
Помогите, пожалуйста, с очень простой штукой! Хочу, чтобы в катсцене говорили имя игрока (через SpeakString), но не могу найти, как его задать. Что-то типа<PCName>... В Лексиконе искала, не нашла, бикоз май инглиш из нот гуд (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение May 10 2017, 10:37
Сообщение #4887


Level 7
**

Класс: Некромант
Характер: True Neutral
Раса: Нежить



Цитата(Heather @ May 7 2017, 12:48) *
Привет! Всех с праздниками!
Помогите, пожалуйста, с очень простой штукой! Хочу, чтобы в катсцене говорили имя игрока (через SpeakString), но не могу найти, как его задать. Что-то типа<PCName>... В Лексиконе искала, не нашла, бикоз май инглиш из нот гуд (IMG:style_emoticons/kolobok_light/smile.gif)

Neverwinter Script
string playerName = GetName(GetFirstPC());
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Heather
сообщение May 13 2017, 09:29
Сообщение #4888


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

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



greye, спасибо!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Elendion
сообщение May 17 2017, 08:46
Сообщение #4889


Level 3
*

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Уважаемые господа, как сделать, чтобы нужных неписей нельзя было оттолкнуть в стороны движением игрока?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение May 25 2017, 09:18
Сообщение #4890


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

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



Я знаю только такой вариант - нужно на ОнСпавн наложить "эффект духа" на НПЦ, чтобы через него можно было проходить и он не учитывался поиском пути.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Heather
сообщение May 27 2017, 09:41
Сообщение #4891


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

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



Вроде, если НПС нейтральный к игроку (т.е. подсвечивается синим, а не зеленым), то он не будет отскакивать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Jun 5 2017, 18:31
Сообщение #4892


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

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



Какова цель?

Если чтобы непись стоял строго на месте, то можно попробовать пост. Чтобы возвращался, когда его таки спихнут. Ходьбой с клавиатуры можно даже застрявших "в текстурах" игроков выталкивать.

Если чтобы игрок не мог куда-то пройти, то красиво - никак. При умении можно сквозь двери проходить. Если некрасиво - за неписём поставить триггер и телепортировать игрока назад.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Elendion
сообщение Aug 27 2017, 22:06
Сообщение #4893


Level 3
*

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Спасибо за ответы выше. Появилась новая загвоздка х)
Мне нужно, чтобы игрок брал коробку, она клалась в инвентарь и он мог её снова выложить в виде той же коробки. Я реализовал то, чтобы на OnUse коробки она исчезала и давала предмет, но не знаю как её выложить в том же формате из инвентаря, получается просто мешочек.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Aug 28 2017, 07:56
Сообщение #4894


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

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



Цитата(Elendion @ Aug 27 2017, 22:06) *
Спасибо за ответы выше. Появилась новая загвоздка х)
Мне нужно, чтобы игрок брал коробку, она клалась в инвентарь и он мог её снова выложить в виде той же коробки. Я реализовал то, чтобы на OnUse коробки она исчезала и давала предмет, но не знаю как её выложить в том же формате из инвентаря, получается просто мешочек.
Обратная процедура - на событие потери итема (on item unacquired), итем удаляется, а по координатам итема создаётся плейсебл-коробка.

Нашёл в старых скриптах:
CODE
object oItem = GetModuleItemLost();
location lLoc = GetLocation(oItem);
string sTag = GetTag(oItem);

if (sTag == "тег итема")
{
if (GetIsObjectValid(GetAreaFromLocation(lLoc))) // есть локация => выложили на пол, а не передали/продали
{
CreateObject(OBJECT_TYPE_PLACEABLE, "тег плейсебла", lLoc);
DestroyObject(oItem);
}

return;
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Elendion
сообщение Aug 28 2017, 09:34
Сообщение #4895


Level 3
*

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



При создании скрипта выдает ошибку о том, что неправильный конец оператора.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 194 195 196 197 198 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 20th August 2025 - 06:40