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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 37 38 39 40 41 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Bregolas
сообщение Feb 4 2005, 18:38
Сообщение #946


Level 2
*

Класс: Друид
Характер: Neutral Good
Раса: Эльф



QUOTE
Вот это лишнее. На кой тебе юзать хербит когда есть на онспавне строки? Раскомментируй их и сохрани скрипт под новым именем. Как нужн бродячий НПС вставь его ему и все, при загрузке он будет вечно бродить без хербита. И немедленно все убери оттуда у всех.


извини, описался... разумеется, все они на onspawn. Это мне известно. Но любопытно было бы узнать что делать с их странно работающими random animations.

За скрипт большое спасибо. Буду пробовать. Единственное, можно ли его приспособить и к OnAreaEnter, а то как-то невесело править двери и триггеры в 160 областях "?" :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Feb 4 2005, 19:35
Сообщение #947


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

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



QUOTE (Bregolas @ Feb 4 2005, 21:38)
За скрипт большое спасибо. Буду пробовать. Единственное, можно ли его приспособить и к OnAreaEnter, а то как-то невесело править двери и триггеры в 160 областях "?"

А неписей поправить в стольких облостях? Инвентарь им настроить? :D Все этол я уже прохдил... Не ленись, правь.
QUOTE (Bregolas @ Feb 4 2005, 21:38)
Но любопытно было бы узнать что делать с их странно работающими random animations.

Если ты заметил, то сама по себе функция это только функция. А всем управляет в основном инклюда валкмен. Так вот, если ее исправить патчем ипрописать что нить такого :rolleyes: эдакого, то такое и будет. Когда мы преходили с НВН на СОУ то еще покруче глюки ловили...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Bregolas
сообщение Feb 4 2005, 19:46
Сообщение #948


Level 2
*

Класс: Друид
Характер: Neutral Good
Раса: Эльф



Ну извини, глумишься ты что ли надо мной?

QUOTE
Если ты заметил, то сама по себе функция это только функция.


я то как раз заметил, и спрашиваю, как поправить x0_i0_anims и в нем ли дело! Дело в том, что по информации о патче 1.64 в ЭТОМ СКРИПТЕ ничего по идее не менялось. Тогда возникает вопрос: может сама функция GetIsClosed или ActionCloseDoor или какая иная перестали работать корректно?

QUOTE
А неписей поправить в стольких облостях? Инвентарь им настроить?  Все этол я уже прохдил... Не ленись, правь.



Я, к счастью, больше двух лет уже в тулсете сижу и за это время на своих собственных ошибках и в одиночку же столько проблем переворотил, что эта фраза излишня... Про лень ты поймешь из вот этого примера: прикольно ли поправить 200 дроу в городе, после того как обнаружилось, что элайнмент у них CG вместо NE? (пришлось переделывать и палитру и размещенных, так как у всех были разные настройки как по скриптам? так и по инвентарю...) Сейчас же таким трудом заниматься нет времени, к сожалению.

Я просто задал вопрос "можно ли". Я не спрашивал "править ли мне"


Сообщение отредактировал Bregolas - Feb 4 2005, 19:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Oksivarus
сообщение Feb 4 2005, 20:00
Сообщение #949


Level 4
**

Класс: Волшебник
Характер: True Neutral
Раса: Полуэльф



Aiwan спасибо за скрипт насколко я понимаю это то что я хотел, а именно - опрделить есть ли в инвентаре предмет с частью заданного тега.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Oksivarus
сообщение Feb 4 2005, 21:11
Сообщение #950


Level 4
**

Класс: Волшебник
Характер: True Neutral
Раса: Полуэльф



Извиняюсь я опять, попробывал скрипт и теперь незнаю как прост можно реализовать следующее:
в соответствии с скриптом Aiwanа перебираем инвернтарь на наличие нужного предмета, если тег предмет совпадает то выполняем нужное действие если нет то бепем следующий предмет - ВОПРОС - как тут определить что такого предмета вообще нет в сумке.

скажу что хочю, возможно я просто не могу пояснить (все проблемы людей в непонимании друг друга)
Нужен скрипт для отдыха игрока (почьти стандартный) в котором проверяется наличие таких необходимых предметов - 1-бедрол, 2-дрова, 3-еда (причем еды может быть 10 видов и соответственно 10 различных тегов начинающихся на food.)
бедрол после сна возвращяется, дрова и найденная еда уничьтажаются
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Элендор
сообщение Feb 4 2005, 21:39
Сообщение #951


Level 8
***

Класс: Убийца
Характер: Chaotic Evil
Раса: Эльф
NWN: Маппинг



Доброе време суток вощем у меня к вам 1 прозьба...
Даите плз сылку на скрипт магазина( там где через некоторое време во време игры когда туда будет положена вещ она пропадает)... :unsure:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Feb 4 2005, 23:30
Сообщение #952


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

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



QUOTE (Bregolas @ Feb 4 2005, 22:46)
я то как раз заметил, и спрашиваю, как поправить x0_i0_anims и в нем ли дело!

Править? Ручками... Либо взять старый и сделать импорт к себе. Думаешь все тебе расскажут что исправили? Ага... Они как то исправили работу с OBJECT_SELF в скриптах, так у нас рухнули все катсцены разом и прочие скрипты с задержкой на исполнение с OBJECT_SELF. Мы ж не идиоты, год все работало и вдруг сломалось :D Так то...
QUOTE (Bregolas @ Feb 4 2005, 22:46)
Я просто задал вопрос "можно ли". Я не спрашивал "править ли мне"

В вашх словах слышится раздрожение... Никоем образом не хотел задеть и прочее. И рекомендую с этим не баловать, народ тут вежливый и самолюбивый. Пара постов и ответы никто не напишет :drag:
Ну, я скажу так. Сделать мод на левел 3-5 и потом подобрать баланс на 9-14 переделав не меньше чем ты описываешь тоже не два байта перекачать. Я это все делал сам у себя и по несколько раз. То фракцию не ту, то скрипты не так расставлю, ДБ исправит и говорит, в те слоты то в те это... и такого я делал сто раз. Поэтому я знаю что такое переделать (ненавижу) посему и говорю.
QUOTE (Oksivarus @ Feb 5 2005, 00:11)
скажу что хочю, возможно я просто не могу пояснить (все проблемы людей в непонимании друг друга)

Вы совершенно правы мусье.
QUOTE (Oksivarus @ Feb 5 2005, 00:11)
Нужен скрипт для отдыха игрока (почьти стандартный) в котором проверяется наличие таких необходимых предметов - 1-бедрол, 2-дрова, 3-еда (причем еды может быть 10 видов и соответственно 10 различных тегов начинающихся на food.)
бедрол после сна возвращяется, дрова и найденная еда уничьтажаются

Так. Все просто как теория относительности.
Neverwinter Script Source
ExecuteScript("script_rest", oPC);

Но ты не уточняешь, сколько еды уничтожается и какой? У тебя полные сумки жратвы, нужна одного вида или нет? Можно три одинаковые? Логика хромает. Какая еда у тебя и как она уничтожается. Сколько ее надо и имся скрипта на отдых. И все.

Элендор поищи в базе скриптов. Был такой...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Oksivarus
сообщение Feb 5 2005, 00:30
Сообщение #953


Level 4
**

Класс: Волшебник
Характер: True Neutral
Раса: Полуэльф



возможно и просто но вот строчьку ExecuteScript("script_rest", oPC); я вообще не понимаю прост с такой функцие вообще не стыкался ниразу.

Еды 10 видов и соответственно 10 тегов. Уничьтожается сразу после соответствия на все проверки наличия предметов. По правилу вес съединой пищи должен быть 1/20 от жизни героя (вес прямо связан с тегом тобиш это можно отбросить из того что мне не понятно) но не меньше 1 шт. еды.
(вродеб правильно написал, хотя может и заблуждаюсь как это должно выглядет в конечьном виде).

Огромное спасибо кто удили мне свое внимание.
Добавлено в [mergetime]1107553110[/mergetime]
Количество еды в сумке определяется самим игроком тобиш может быть как 1 вида так и всех 10. Все 10 видов можно спокойно есть (условия на на проверку наличие пистицедов не требуется, и наложение дополнителльных побочьных эффектов как плохих так и хороших)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Feb 5 2005, 01:42
Сообщение #954


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

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



QUOTE (Oksivarus @ Feb 5 2005, 03:30)
возможно и просто но вот строчьку ExecuteScript("script_rest", oPC); я вообще не понимаю прост с такой функцие вообще не стыкался ниразу.

Эта функция просто запускает скрипт с именем "script_rest" на объект РС. Тоесть, у тебя сработали все условия по проверке еды и дров, запускай скрипт отдыха. И усе, радуйся.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tiger Greyhawk
сообщение Feb 5 2005, 04:07
Сообщение #955



Иконки Групп

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (Oksivarus @ Feb 5 2005, 00:30)
Еды 10 видов и соответственно 10 тегов

А кроме как кушать это еда нужна еще где-то? Почему не сделать одинаковые тэги? А вес проверять функцией
Neverwinter Script Source
int GetWeight(object oTarget=OBJECT_SELF)
Это решение данного вопроса. Если ты хочешь разобраться с самой сутью перебора вещей в по части тэга инвентори, то извини, что я ввязался.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Oksivarus
сообщение Feb 5 2005, 11:26
Сообщение #956


Level 4
**

Класс: Волшебник
Характер: True Neutral
Раса: Полуэльф



я извиняюсь (просто я немец так сказать :) ) и насколько я понял функцию GetWeight возвращяет вес предметов но это мне НЕ НУЖНО,я вес просто привязал к номеру (№1 - 1 кг .... №10 50 кг).
одинаковые теги нельзя так как на магазин я повесил удалитель одинаковых вещей в соответствии с чем при одинаковых тегах останется только 1 вид еды.
Еда используется 2 путями:
1- когда игрок просто отдыхает с востановлением всех сил (простое удаление из инвентаря)
2- использует как предмет и в соответстви с тем что скушал получяет некий бонус.

Так вот
QUOTE (Aiwan @ Feb 5 2005, 01:42)
Эта функция просто запускает скрипт с именем "script_rest" на объект РС. Тоесть, у тебя сработали все условия по проверке еды и дров, запускай скрипт отдыха. И усе, радуйся.


Как я уже говорил с этим вродеб разобрался за что вам огромное спасибо, НО как после перебора всех вещей в инвентаре и ненахождения необходимого застаивть сделать конкретное действие - сказать "у вас нет этого предмета". что в данной ситуации вернет функция - while (GetIsObjectValid(oItem))

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Feb 5 2005, 12:04
Сообщение #957


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

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



QUOTE (Oksivarus @ Feb 5 2005, 14:26)
Как я уже говорил с этим вродеб разобрался за что вам огромное спасибо, НО как после перебора всех вещей в инвентаре и ненахождения необходимого застаивть сделать конкретное действие - сказать "у вас нет этого предмета". что в данной ситуации вернет функция - while (GetIsObjectValid(oItem))

Твой метод тянуть кота за хвост меня выбивает из колеи :D Коней на переправе не меняють :) Давай так, ты выложишь подробно ВСЕ свои УСЛОВИЯ что и как и теги, а мы тебе поможем. А ГЛАВНОЕ ЧТО ТЫ ОТ НЕГО (и нас :yes: ХОЧЕШЬ) Потаму как твой один скрипт с вопросами: "А вот если..." может перерасти в спам тему. Ждемс... :drag:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Oksivarus
сообщение Feb 5 2005, 14:16
Сообщение #958


Level 4
**

Класс: Волшебник
Характер: True Neutral
Раса: Полуэльф



Ок я у меня в скрипте написана следающяя строчька (перед этим разные условия на наличие предметов но все они с 1 тегом поэтому проблем в их поиске не возникает) Тянуть кота я не хочю честное слово.

if ((HasItem(oPC,"food_0")==TRUE)||(HasItem(oPC,"food_1")==TRUE)||(HasItem(oPC,"food_2")==TRUE)||(HasItem(oPC,"food_3")==TRUE)||(HasItem(oPC,"food_4")==TRUE)||(HasItem(oPC,"food_5")==TRUE)||(HasItem(oPC,"food_6")==TRUE)||(HasItem(oPC,"food_7")==TRUE)||(HasItem(oPC,"food_8")==TRUE)||(HasItem(oPC,"food_9")==TRUE)) //проверка на наличие еды
{
ExportSingleCharacter(oPC); //сохранения героя
// из того что посоветовали на форуме попытался сделать удаление
// первой найденной еды
while (GetIsObjectValid(oItem) == TRUE) // Лезем в сумку
{
if (sTag == "food") // Находим бутерброд
{
string oTag = GetTag(oItem);
DestroyObject(GetItemPossessedBy(oPC,oTag)); //съедаем еду
}
else
{
oItem = GetNextItemInInventory(oPC); // Смотрим дальше
}
}

как видно из всего первая строчька очень длинная при это если в инветаре много всего то выдается всем наверно известная фраза о переполнение.

Задачи скрипта: найти в инвентаре хоть 1 предмет с тегом food_0, food_1, ... , food_9 b и в случяе его отсутствия выполнть действие №1. Если же предмет такой присутствует то удалить этот предмет и запустить действие №2.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Oksivarus
сообщение Feb 5 2005, 20:59
Сообщение #959


Level 4
**

Класс: Волшебник
Характер: True Neutral
Раса: Полуэльф



Чтоб не тянуть кота за хвост выложу сразу получившийся скрипт.
Проблема - не могу удалить найденную благодаря вам еду. Для удаления использую функцию DestroyObject() пробывал запихнуть туда как обьект так и тег обьекта на оба варианта выдает сообщение ПРЕМЕННАЯ, ОПРЕДЕЛЕННАЯ БЕЗ ТИПА; на любую из этих строчек:

DestroyObject(GetItemPossessedBy(oPC,sGorging)); //udalenie edy
DestroyObject(oMeal); //udalenie edy

вот весь скрипт (если поможет и чтоб кота не тянуть за хвоста):

//:://////////////////////////////////////////////

void PlaceBedroll(object oPC)
{
location lLoc = GetLocation(oPC);
CreateObject(OBJECT_TYPE_PLACEABLE,"bedrolls001",lLoc,FALSE);
DestroyObject(GetItemPossessedBy(oPC,"bedroll"));
object oMyRoll = GetNearestObjectByTag("MyBedRoll",oPC);

location lRoll = GetLocation(oMyRoll);
AssignCommand(oPC,ActionMoveToLocation(lRoll,FALSE));
AssignCommand(oPC,ActionDoCommand(SetFacing(GetFacing(oMyRoll))));
}

void PickupBedroll(object oPC)
{
AssignCommand(oPC,ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW,1.0,2.0f));
CreateItemOnObject("bedroll",oPC);
DestroyObject(GetNearestObjectByTag("MyBedRoll",oPC),1.0f);
}

#include "nw_i0_plot"
void main()
{
object oPC = GetLastPCRested();
ExportSingleCharacter(oPC);
SetLocalInt(oPC, "PCDead", 0);
string sRealApp = "realApp";
int nRealMe = GetLocalInt(oPC, sRealApp);
object oItem = GetFirstItemInInventory(oPC);
int iFood = 0;

while (GetIsObjectValid(oItem) && GetStringLeft(GetTag(oItem), 4) == "food"&&iFood==0)
{
int iFood = 1;
string sGorging = ObjectToString(oItem);
object oMeal = GetObjectByTag(sGorging);
{
}
oItem = GetNextItemInInventory(oPC);
}

if (!GetIsPC(oPC)) return;

if(nRealMe>0)
{
SetCreatureAppearanceType(oPC, nRealMe - 1);
}

if (GetLastRestEventType()== REST_EVENTTYPE_REST_STARTED && HasItem(oPC,"bedroll")&& (iFood==1))
{
SetLocalInt(oPC, "bedroll", 1);

DestroyObject(GetItemPossessedBy(oPC,sGorging)); //udalenie edy
DestroyObject(oMeal); //udalenie edy

FloatingTextStringOnCreature("Porridge is good, only it is not enough meat", oPC);

PlaceBedroll(oPC);
effect eBlind = EffectBlindness();
DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_SLEEP), oPC));
}
else
{
if (HasItem(oPC,"bedroll"))
{
FloatingTextStringOnCreature("пожевать бы что то ..", oPC);
}
else
{
FloatingTextStringOnCreature("не, на сырой земле хреново спать", oPC);
}
//Remove blindness from the PC
effect eLoop=GetFirstEffect(oPC);
while (GetIsEffectValid(eLoop))
{
if (GetEffectType(eLoop)==EFFECT_TYPE_BLINDNESS)
RemoveEffect(oPC, eLoop);
eLoop=GetNextEffect(oPC);
}
AssignCommand(oPC, ClearAllActions());
}

if (GetLastRestEventType()== REST_EVENTTYPE_REST_CANCELLED && GetLocalInt(oPC,"bedroll")==1)
{
//Remove blindness from the PC
effect eLoop=GetFirstEffect(oPC);
while (GetIsEffectValid(eLoop))
{
if (GetEffectType(eLoop)==EFFECT_TYPE_BLINDNESS)
RemoveEffect(oPC, eLoop);
eLoop=GetNextEffect(oPC);
}

PickupBedroll(oPC);
SetLocalInt(oPC, "bedroll", 0);
}

if (GetLastRestEventType()== REST_EVENTTYPE_REST_FINISHED && GetLocalInt(oPC,"bedroll")==1)
{
//Remove blindness from the PC
effect eLoop=GetFirstEffect(oPC);
while (GetIsEffectValid(eLoop))
{
if (GetEffectType(eLoop)==EFFECT_TYPE_BLINDNESS)
RemoveEffect(oPC, eLoop);
eLoop=GetNextEffect(oPC);
}

PickupBedroll(oPC);
SetLocalInt(oPC, "bedroll", 0);
}

}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Feb 5 2005, 21:04
Сообщение #960


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

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



Oksivarus у тебя будет два скрипта, в одном проверишь, в другом удалишь. Все работает я проверял.
Первый основной скрипт. Вешай хоть куды, главное РС правильно опиши.
Neverwinter Script Source
void main()
{
    object oPC = GetEnteringObject(); // Сам опишешь его правильно
    object oItem = GetFirstItemInInventory(oPC);
    string sFood = "food_";
    SetLocalInt(oPC, "FOOD", FALSE); // Локалка контроль за едой
    SetLocalInt(oPC, "DELEY", FALSE); // Локалка контроль за удалением
    {
    while(GetIsObjectValid(oItem))
        {
          if ((GetStringLeft(GetTag(oItem), 5)== sFood))
            {
            SetLocalInt(oPC, "FOOD", (GetLocalInt(oPC, "FOOD") + 1));
            FloatingTextStringOnCreature("Одын", oPC);
            ActionWait(0.3); // ставь задержку иначе проскользнут локалки
            }
          oItem = GetNextItemInInventory(oPC);
        }
        DelayCommand(2.0, ExecuteScript("am_temp_05", oPC));
        // Скрипт твоего отдыха запускай с задержкой, так как сумку надо потрошить долго...
        }
}


Второй скрипт запускай с задержкой. Мой назывался "am_temp_05" свой назовешь и пропишешь вверху.
Neverwinter Script Source
void main()
{
    object oPC = GetFirstPC();
    string sFood = "food_";
    int iFood = GetLocalInt(oPC, "FOOD");
    SetLocalInt(oPC, "DELEY", FALSE);
    int i = 2; // Сколько еды надо забрать. Это число + 1
    if (GetIsPC(oPC) && iFood > 2)
            {
              object oItem = GetFirstItemInInventory(oPC);
              while(GetIsObjectValid(oItem))
                {
                if (GetStringLeft(GetTag(oItem), 5)== sFood && GetLocalInt(oPC, "DELEY") <= i)
                    {
                    DestroyObject(oItem);
                    SetLocalInt(oPC, "DELEY", (GetLocalInt(oPC, "DELEY") + 1));
                    ActionWait(0.3);
                    FloatingTextStringOnCreature("Забираем "+IntToString(GetLocalInt(oPC, "DELEY")),  oPC);
                    }
                oItem = GetNextItemInInventory(oPC);
                }
            //:://///////////////////////////////////////////////
            /*
              Сюда впиши то что должно произойтьи когда дестроишь три предмета
              */

            //:://///////////////////////////////////////////////
            FloatingTextStringOnCreature("Работает!!!", oPC);
            return;
            }
    //:://///////////////////////////////////////////////
    /*
      Сюда впиши то что должно произойтьи когда нехватает еды
    */

    //:://///////////////////////////////////////////////
    FloatingTextStringOnCreature("У вас всего "+IntToString(iFood)+" единиц еды!",  oPC);
    FloatingTextStringOnCreature("Маловато!", oPC);
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Oksivarus
сообщение Feb 5 2005, 23:35
Сообщение #961


Level 4
**

Класс: Волшебник
Характер: True Neutral
Раса: Полуэльф



огромное спасибо, буду дальше пробывать.
Aiwan: Давай, работай! ;)

Сообщение отредактировал Aiwan - Feb 6 2005, 00:04
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Oksivarus
сообщение Feb 6 2005, 17:17
Сообщение #962


Level 4
**

Класс: Волшебник
Характер: True Neutral
Раса: Полуэльф



Вобщем промучялся вчерашний день и всю ночь и так и не смог заставить скрипт удалять предметы при заднаии на удаление функцией DestroyObject(oItem); удаляет только если прямо указать тег обьекта.
ЧТО касается остального то спасибо работает хотя я всетаки обьеденил 2 скрипта в 1 (просто что 2 что 1 никаких отличий в его работе).
Скрипт польностью рабочий хотя сократить его так и не удалось(за основу взял твой Aiwan скрипт на отдых но без проверки на костер). Если хотете могу выложить правда незнаю куда его сюда или в раздел скриптов.

P.S. ВСЕМ КТО помогал ОГРОМНОЕ СПАСИБО без вас небылоб его !!!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Feb 6 2005, 18:59
Сообщение #963


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

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



QUOTE (Oksivarus @ Feb 6 2005, 20:17)
Вобщем промучялся вчерашний день и всю ночь и так и не смог заставить скрипт удалять предметы при заднаии на удаление функцией DestroyObject(oItem); удаляет только если прямо указать тег обьекта.

Что то я не понял. В моем коде? Если да, то так и будет, так как ты объеденил их в один. Разъедини и будет удалять, у меян же удаляет! Я ПРОВЕРЯЛ И ТЕСТИЛ СПЕЦИАЛЬНО В МОДЕ.
Скрипт кидай сюда, вылижим и повесишь в базу готовый безглючный вариант с описаловом. Только скрипт сделай в nss кнопке.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Feb 6 2005, 20:06
Сообщение #964


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



Привет всем! Я новичок на этом форуме, так что, если что-то не то ляпну, то поправте.
Я понимаю, что у всех полно дел, но немог бы кто-нибудь помочь мне со скриптами разобраться? :swoon:

Я ни как не пойму как написать такой скрипт:
К примеру эльф дает тебе задание убить гнома, ты его убиваешь.......
А вот дальше и загвостка.... Как сделать так, чтобы после смерти гнома у эльфа появилась строчка в диалоге: "Я убил гнома".

ПОЖАЛУЙСТА помогите кто может! :xz:

Сообщение отредактировал Archangel - Feb 6 2005, 20:19
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 6 2005, 21:11
Сообщение #965


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Ставишь локальную переменную на слот OnDeath NPCа...
Neverwinter Script Source
SetLocalInt(GetLastKiller(),"Kill",1);


Затем в диалоге на строку "текст появляется при" ставишь такое
Neverwinter Script Source
return(GetLocalInt(GetPCSpeaker(),"Kill")==1);

вуаля, строчка диалога не появится, пока не выполнишь условие :BRAVO:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Feb 6 2005, 21:13
Сообщение #966


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



Спасибо MasterMage! Очень помог! :D
<small>Добавлено в 21:22</small>

Еще два вопроса по поводу скриптов:

1) Можно ли сделать такой скрипт: когда игрок надевает кольцо (амулет) он превращался в вампира.
2) Можно ли сделать так, чтобы стало возможно говорить со статуей? Или другим неодушевленным предметом....

Пожалуйста уделите пару минут внимания геймеру, нифурычущему в скриптах.... :vava:

Сообщение отредактировал Archangel - Feb 6 2005, 21:23
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Feb 6 2005, 22:59
Сообщение #967


Level 5
**

Класс: Рейнджер
Характер: Neutral Good
Раса: Человек



1. на OnPlayerEquipItem модуля...
Это, вроде самый простой и незамысловатый способ...
Neverwinter Script Source
void main()
{
object oPC = GetPCItemLastEquippedBy();
object oItem = GetPCItemLastEquipped();
string sTag = GetTag(oItem);

if (sTag == "VampireRing") //ВСТАВЬ НУЖНЫЙ ТЭГ
{
  int nPlm;
  if (GetGender(oPC) == GENDER_FEMALE)
  { nPlm = POLYMORPH_TYPE_VAMPIRE_FEMALE; }
  else
  { nPlm = POLYMORPH_TYPE_VAMPIRE_MALE; }
  effect eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
  effect ePlm = EffectPolymorph(nPlm);
  ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC);
  DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePlm, oPC));
}
}

на unEquip эффект снимай
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Feb 6 2005, 23:02
Сообщение #968


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

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



1. Нельзя насовсем превратить игрока в вампира.
2. Добавь объекту диалог и на OnUsed объекта поставь скрипт:
Neverwinter Script Source
void main()
{
    ActionStartConversation(GetLastUsedBy());
}

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Feb 7 2005, 11:36
Сообщение #969


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



Угу, понял насщет разговора со статуей. СПАСИБО......... :good:
А вот насщет превращения в вампа хотел бы уточнить:)
Мне и ненадо чтобы игрок навсегда стал вампиром! Я хочу сделать так: одел колечко-стал вампом, снял-стал самим собой...
Если знаешь такой скрипт, то пажалуйста напиши......... :swoon:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
K.SpecTr
сообщение Feb 7 2005, 12:08
Сообщение #970


Level 10
***

Класс: Клерик
Характер: Lawful Neutral
Раса: Человек
NWN: Контент



Нужно, чтобы действие одного скрипта прекращалось по возврату другого скрипта, т.е. есть действия с задержкой и надо их отменить, если что-то произошло в другом скрипте.
Пока сделал следующим образом:
Neverwinter Script Source
...
DelayCommand(30.0, ExecuteScript("cus_inc_02", oTarget));

, где в cus_inc_02 стоит проверка:
Neverwinter Script Source
if (GetLocalInt(oTarget,"iIntervene")==1) {return;}
... //Выполняемые после задержки действия

Ну и собственно третий скрипт, который и организует прерывание, устанавливая переменную iIntervene в 1.
Вопрос, можно ли обойтись без промежуточного скрипта cus_inc_02 ?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 37 38 39 40 41 > » 
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 14th July 2025 - 10:29