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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 153 154 155 156 157 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Артём
сообщение Jul 29 2008, 08:02
Сообщение #3836


Level 5
**

Класс: Друид
Характер: Neutral Good
Раса: Человек



Спасибо обоим (IMG:style_emoticons/kolobok_light/smile.gif)
Что то меня эти скрипты пугают, не берусь их учить, только лазию и ПОРОШАЙНИЧЯЮ да и варую чюжые скрипты (IMG:style_emoticons/kolobok_light/crazy.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 29 2008, 09:10
Сообщение #3837


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



shadowdweller, а это еще почему? Такая система работает уже несколько лет, и ничего с бедного игрока не сдирали. Переменная стирается рестартом, а игрок входит на шард всегда через стартовую локацию, поэтому твоя правка бесполезна. Достаточно двух строк:

Neverwinter Script
void main()
{
...
    if (GetXP(oPC) == FALSE)
    {
        SetXP(oPC, TRUE);
    }
}

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

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

Сообщение отредактировал Zirrex - Jul 29 2008, 09:12
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Jul 29 2008, 09:28
Сообщение #3838


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Zirrex, ну, если о шарде речь - тогда совсем другое дело. Я-то сингл имела в виду. (IMG:style_emoticons/kolobok_light/smile.gif) Причем, я так боялась, что это будет каждый раз происходить, что в моде на стартовую локацию можно только один раз зайти, если вышел - все, не вернешься (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 29 2008, 09:53
Сообщение #3839


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



shadowdweller, а причем тут одиночная игра? Там еще проще. Можно всегда сохранить статус игры. Потом, именно в одиночной игре подобные скрипты вешаются на события модуля, а не локации, чтобы, как ты описала выше, не было подобных эксцессов.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Jul 29 2008, 21:46
Сообщение #3840


Level 5
**

Класс: Друид
Характер: Neutral Good
Раса: Человек



Вопрос есть скрипт который позволяет не сбивать действия? К примеру у меня НПС посли диалога идёт в указанное место, но при попытке поговорить с ним ВСЁ он стоит ступором и несоберается выполнять задоный скрипт.

P.S
Надеюсь я не сильно много задают вопросов? С таким темпом могу быстро вам надоесть (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Jul 29 2008, 22:40
Сообщение #3841


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

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



Тебе нужно в хербите НПС ставить проверку GetDistanceToObject(бла,бла) >=1.0 до объекта куда нужно и если он не там пинать его командой AssignCommand(<НПС>, ActionMoveToObject(бла)); ну и соответсвующие проверки на - болтает ли, дерется, идет ли
что-то типа такого:
Neverwinter Script
....
if(GetLocalInt(...)==...)это ты в диалоге вешаешь...а в хербите если есть локалка запуститься следующие
{
oObject = <твоя точка назначения>
if(!GetIsInCombat(OBJECT_SELF) && !IsInConversation(OBJECT_SELF))
{
  if(GetDistanceToObject(oObject)>=1.5)
  {
   AssignCommand(OBJECT_SELF, ActionMoveToObject(oObject));
  }
}
}
....


Сообщение отредактировал Melisse - Jul 29 2008, 22:43
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Jul 30 2008, 06:33
Сообщение #3842


Level 5
**

Класс: Друид
Характер: Neutral Good
Раса: Человек



А можно как нибудь поподробней для чайника. можно целый скрипт?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Jul 30 2008, 07:23
Сообщение #3843


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

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



Берешь с слота OnHerbit у НПС скрипт и в самом начале пишешь:

Neverwinter Script
if(GetLocalInt(OBJECT_SELF,"QUEST")==TRUE)
{
object oObject = GetObjectByTag("СЮДА ТЭГ ОБЪЕКТА, К КОТОРОМУ НАДО ИДТИ");
if(!GetIsInCombat(OBJECT_SELF) && !IsInConversation(OBJECT_SELF))
{
  if(GetDistanceToObject(oObject)>1.0)
  {
   AssignCommand(OBJECT_SELF, ActionMoveToObject(oObject));
  }
  else DeleteLocalInt(OBJECT_SELF,"QUEST");
}
}


и в диалоге на в тот скрипт что заставляет НПС идти к точке назначения вставь
Neverwinter Script
SetLocalInt(OBJECT_SELF,"QUEST",TRUE);


должно сработать

Сообщение отредактировал Melisse - Jul 30 2008, 08:08
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Jul 30 2008, 08:03
Сообщение #3844


Level 5
**

Класс: Друид
Характер: Neutral Good
Раса: Человек



Спасибо сейчас буду тыкать (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lordeath
сообщение Aug 12 2008, 22:21
Сообщение #3845


Level 2
*

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



Куча вопросов по реализации некоторых идей =)
Буду благодарен если мне подскажут как все сделать или кинут ссылку где это описано.
1. Появление разных рас в разных местах при первом заходе в модуль. То есть например эльфы начинают в одной локации, а люди в другой.
2. Видел в каком то модуле что была настроена рассовая агрессия. Тк модуль будет ориентирован на мультиплеер нужно сделать так чтобы союз одних рас был агрессивен по отношению к союзу других.
3. Еще хотел бы узнать как реализовать отдельный респаун каждого союза в своем городе.
4. Начисление опыта и золота за убийство игрока. ну например по формуле lvl убитого игрока x 50 , если если убитый игрок на 5 уровней ниже то опыт и золтто не дается.

Фух, пока все, надеюсь что сильные скриптеры мира сего помогут =)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ogneslav
сообщение Aug 13 2008, 07:21
Сообщение #3846


Level 4
**

Класс: Друид
Характер: True Neutral
Раса: Человек



Цитата
1. Появление разных рас в разных местах при первом заходе в модуль. То есть например эльфы начинают в одной локации, а люди в другой.


было-бы не плохо не только по рассе, но еще и по классу(мне для сингла).

Цитата
Еще хотел бы узнать как реализовать отдельный респаун каждого союза в своем городе.


тоже было-бы интересно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Aug 13 2008, 07:37
Сообщение #3847


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

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



1. Да это то просто.
тригер ставишь в локе где появляются игроки и прямо под точку захода в модуль.
Таких скриптов тут на форуме множество - поищите поиском.
На онЭнтер тригерра ставить что-то типа такого:

Neverwinter Script
object oPC = GetEnteringObject();
object oPoint;
int nRace = GetRaticalType(oPC);


switch(nRace)
{

case RATICAL_TYPE_ELF://Если еще и по классам то сюда еще один switch просто с классами и все
{
  oPoint = GetObjectByTag("Тэг точки");
DelayCommand(1.0,AssignCommand(oPC,JumpToObject(oPoint));
break;
}
case RATICAL_TYPE_HUMAN:
.....

}


2. Не поняла, чего надо?

Сообщение отредактировал Melisse - Aug 13 2008, 07:38
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lordeath
сообщение Aug 17 2008, 14:57
Сообщение #3848


Level 2
*

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



Допустим сделать так чтобы игроки-люди по умолчанию были агрессивны к игрокам-полуоркам.

За первое спасибо большое.

Сообщение отредактировал Lordeath - Aug 17 2008, 14:57
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Aug 17 2008, 23:56
Сообщение #3849


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Второе - ставим на onClientEnter модуля
Neverwinter Script
void main()
{
    object oPC = GetEnteringObject();
    object oOtherPC = GetFirstPC();
    int nRace = GetRacialType(oPC);
    int nOtherRace;
   
    while(GetIsObjectValid(oOtherPC))
    {
        nOtherRace = GetRacialType(oOtherPC);
        if((nOtherRace == RACIAL_TYPE_HUMAN && nRace == RACIAL_TYPE_HALFORC) ||
            (nRace == RACIAL_TYPE_HUMAN && nOtherRace == RACIAL_TYPE_HALFORC))
            SetPCDislike(oPC, oOtherPC);
        oOtherPC = GetNextPC();
    }
}
За способность скомпилиться не ручаюсь - не тестил. Остальное завтра - хочу спать (IMG:style_emoticons/kolobok_light/smile.gif)

Сообщение отредактировал Ilerien - Aug 17 2008, 23:56
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lordeath
сообщение Aug 18 2008, 07:51
Сообщение #3850


Level 2
*

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



Благодарю, попробую.
Цитата
#include "botd_teams"

int StartingConditional()
{
object oPC = GetPCSpeaker();
int nTeam = GetTeamNumber(oPC);
int nToken;
if (nTeam == BOTD_ANIEL)
nToken = 5101;
else if (nTeam == BOTD_ROSHNAK)
nToken = 5201;
else
return FALSE;

switch (GetBonusLevel(nTeam))
{
case 0:
SetCustomToken(nToken,"unexperience. We need more funds to adequately train them.");
break;
case 1:
SetCustomToken(nToken,"junior. We need more funds to adequately train them.");
break;
case 2:
SetCustomToken(nToken,"novice. We need more funds to increase their skills.");
break;
case 3:
SetCustomToken(nToken,"advanced. More funds will ensure they are in superb condition.");
break;
case 4:
SetCustomToken(nToken,"experienced. More funds will ensure they are in superb condition.");
break;
case 5:
SetCustomToken(nToken,"superior. More funds will ensure they are in superb condition.");
break;
case 6:
SetCustomToken(nToken,"vertan. More funds will ensure they are in superb condition.");
break;
case 7:
SetCustomToken(nToken,"elite. More funds will ensure they are in superb condition.");
break;
case 8:
SetCustomToken(nToken,"ultra-elite. More funds will ensure they are in superb condition.");
break;
case 9:
SetCustomToken(nToken,"maximized. There is no more advancement available.");
break;
}
return TRUE;
}

Вот разбирал тут по кусочкам один модуль, возник вопрос - не могу заменить в скрипте фразы которые в кавычках русскими словами. Это галюн именно моего редактора или Авроры в целом?

Сообщение отредактировал Lordeath - Aug 18 2008, 08:28
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shurikens
сообщение Aug 18 2008, 23:09
Сообщение #3851


Level 1


Класс: Убийца
Характер: True Neutral
Раса: Человек



Подскажите чайнику (IMG:style_emoticons/kolobok_light/crazy.gif) .
Вот у меня есть хак с новыми моделями. Могу ли я его прикрепить к офф. игре NWN или к адону?
И как это сделать?
Если нет, то можно ли к примеру изъятые из .hak файла .mdl, .plt и прочие запихнуть в .bif файлы официальной игры?
Чем просматривать .bif я разобрался, а чем редактировать не знаю.
Зарание прошу прощения за идеотский вопрос. Сам на форуме найти не смог.

Заодно подскажите, как .hak одного модуля прикрепить к другому. (я пробовал просто содержимое одного хака перекидывать в другой - иногда работало. Но вот если у нового модуля нету своего хака - тут все и закнчивалось)
Еще раз сори за дурацкие вопросы, сами понимаете - лето, жара, новых игр нету (IMG:style_emoticons/kolobok_light/shout.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Aug 19 2008, 08:19
Сообщение #3852


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Цитата(Lordeath @ Aug 18 2008, 08:51) *
Вот разбирал тут по кусочкам один модуль, возник вопрос - не могу заменить в скрипте фразы которые в кавычках русскими словами. Это галюн именно моего редактора или Авроры в целом?

Глюк авроры. Лечится вот этим патчем.
Цитата(shurikens @ Aug 19 2008, 00:09) *
Подскажите чайнику (IMG:style_emoticons/kolobok_light/crazy.gif) .
Вот у меня есть хак с новыми моделями. Могу ли я его прикрепить к офф. игре NWN или к адону?
И как это сделать?
Если нет, то можно ли к примеру изъятые из .hak файла .mdl, .plt и прочие запихнуть в .bif файлы официальной игры?
Чем просматривать .bif я разобрался, а чем редактировать не знаю.
Зарание прошу прощения за идеотский вопрос. Сам на форуме найти не смог.

Заодно подскажите, как .hak одного модуля прикрепить к другому. (я пробовал просто содержимое одного хака перекидывать в другой - иногда работало. Но вот если у нового модуля нету своего хака - тут все и закнчивалось)
Еще раз сори за дурацкие вопросы, сами понимаете - лето, жара, новых игр нету (IMG:style_emoticons/kolobok_light/shout.gif)

Да, можете. Если уже прошли в игре официальные модули, то в тулсете, в окне доступных модулей появится галочка внизу "Модули кампаний". Щелкните ее, и сможете открыть официальные кампании.
Если кампании не пройдены, то их надо перетащить из папки "nwm" в папку "modules" и поменять расширение на mod, тогда они появятся в окне модулей. Либо скачать патч, который внесет нужные изменения в реестр, либо внести их самому.

Хаки подключаются к модулю так. Открываете любой модуль, вверху будет пункт меню "Редактировать", в нем - "Модульные свойства". В появившемся окне выберите вкладку "Настройки пользователя". Появится список (пустой) и выпадающий список под ним, в котором вы можете выбрать любой из хаков, которые лежат в папке "hak". Выбирайте нужный, щелкайте "Добавить", и хак подключится к модулю.

Сообщение отредактировал Talarasha - Aug 19 2008, 08:27
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lirulin
сообщение Aug 19 2008, 09:14
Сообщение #3853


Level 3
*

Класс: Клерик
Характер: Chaotic Good
Раса: Эльф



Я долго пытался справляться сам, но наконец наткнулся на проблему, которая мне н по зубам...
Neverwinter Script
object oItem = GetFirstItemInInventory(oPC);
        while(GetIsObjectValid(oItem))
        {
        if(GetPlotFlag(oItem) == TRUE)
            DelayCommand(0.2,DestroyObject(oItem));
            object oItem = GetNextItemInInventory(oPC);
}

По идее, сей скрипт (т.е. его кусок), подразумевался изничтожать лишние plot item'ы, которые могут оказаться у сохраненного перса (ну, чтоб не было 2 одинаковых айтема потом=)). Но а) он пытается срабатывать каждый раз при загрузке сейва, хотя надо бы тока в начале; б) максимум уничтожает один айтем, потом орет что too many instructions=( Как его поправить? (стоит он в OnClientEnter).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Aug 19 2008, 09:57
Сообщение #3854


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Neverwinter Script
if(GetLocalInt(GetModule(),"z") == 0)
    {
        object oItem = GetFirstItemInInventory(oPC);
        while(oItem != OBJECT_INVALID)
        {
        if(GetPlotFlag(oItem))
            {
             DestroyObject(oItem);
             oItem = GetNextItemInInventory(oPC);
            }
        else
            {
             oItem = GetNextItemInInventory(oPC);
            }
        }
        SetLocalInt(GetModule(),"z",1);
    }

Вот так должно работать.
Переменная "z" не дает повторяться скрипту, а ошибка была в повторном определении oItem (не надо каждый раз писать тип перед переменной).

Сообщение отредактировал Talarasha - Aug 19 2008, 10:00
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Aug 19 2008, 11:17
Сообщение #3855


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Neverwinter Script
object oItem = GetFirstItemInInventory(oPC);
    while(GetIsObjectValid(oItem))
    {
        if(GetPlotFlag(oItem))
        {
            SetPlotFlag(oItem, FALSE);
            DestroyObject(oItem);
        }
        oItem = GetNextItemInInventory(oPC);
    }
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Aug 19 2008, 11:24
Сообщение #3856


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Ilerien, а зачем флаг снимать? И без этого ведь уничтожает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Aug 19 2008, 12:12
Сообщение #3857


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Хз (IMG:style_emoticons/kolobok_light/smile.gif) Не обязательно, конечно. Привычка - некоторое время назад я честно думал, что DestroyObject не убивает плотовые итемы.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lirulin
сообщение Aug 19 2008, 18:03
Сообщение #3858


Level 3
*

Класс: Клерик
Характер: Chaotic Good
Раса: Эльф



Спасибо! Попробую...

Цитата(Ilerien @ Aug 19 2008, 14:12) *
Хз (IMG:style_emoticons/kolobok_light/smile.gif) Не обязательно, конечно. Привычка - некоторое время назад я честно думал, что DestroyObject не убивает плотовые итемы.

А те, которые Undroppable, можно таким способом убить? Или они не только неубираемые, но и неубиваемые?

Сообщение отредактировал Lirulin - Aug 19 2008, 18:03
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Aug 19 2008, 21:28
Сообщение #3859


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
А те, которые Undroppable, можно таким способом убить? Или они не только неубираемые, но и неубиваемые?
Можно (IMG:style_emoticons/kolobok_light/smile.gif)

Сообщение отредактировал Ilerien - Aug 19 2008, 21:29
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lamonde
сообщение Aug 20 2008, 16:59
Сообщение #3860


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

Класс: Псионик
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [Sn]



Цитата(Ilerien @ Aug 19 2008, 13:12) *
Хз (IMG:style_emoticons/kolobok_light/smile.gif) Не обязательно, конечно. Привычка - некоторое время назад я честно думал, что DestroyObject не убивает плотовые итемы.
Оно так и было. Плотовые предметы не убивались.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 153 154 155 156 157 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 6th August 2025 - 14:55