Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопросы новичков
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103
nO_oadu
Спасибочки!! Теперь засветились biggrin.gif
[MoF]Darth_Nick
в 1.66 у всех глаза помойму должны светицца
yudgi
Ребята помогите сделать вот такую штуку. Надо что бы, когда герой наступет на тригер к нему подбегал NPC, со словами типа "Вы не могли бы мне помочь" и даёт задание, а потом когда герой соглашается он говорит типа (я буду ждать вас в(название места)" и исчезает. Да ещё NPC должен ждать его там где сказал (после того как герой выполнит миссию). Путано объяснила, но надеюсь вы меня поняли. Помогите пожалуйста.
Ещё подскажите плиз, где скачать программу чтобы анимацию делать.
-fenix-
QUOTE (yudgi @ Sep 9 2005, 09:07)
Ребята помогите сделать вот такую штуку. Надо что бы, когда герой наступет на тригер к нему подбегал NPC, со словами типа "Вы не могли бы мне помочь" и даёт задание, а потом когда герой соглашается он говорит типа (я буду ждать вас в(название места)" и исчезает.

Вот скрипт на тригере
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oNPC = GetObjectByTag("ТАГ НПС");

if(GetIsPC(oPC))
{
    AssignCommand(oNPC, ActionStartConversation(oPC));
    AssignCOmmand(oNPC, SpeakString("Вы не могли бы мне помочь"));
}
}


На последнию ветку диалога в заклатке совершенные действия дестроим НПС
Neverwinter Script Source
void main()
{
DestroyObject(OBJECT_SELF);
}

QUOTE (yudgi @ Sep 9 2005, 09:07)
Да ещё NPC должен ждать его там где сказал (после того как герой выполнит миссию).

После определенных действий, которые означают конец миссии, можно создать НПС на нужной точке. Тогда нужно поставить на эту точку вейпоинт, вот скрипт.
Neverwinter Script Source
void main()
{
object oWP = GetWaypointByTag("ТАГ ВЕЙПОИНТА");
string sResRefNPC = "РЕСРЕФ НПС";

CreateObject(OBJECT_TYPE_CREATURE, sResRefNPC, GetLocation(oWP));
}

yudgi
А скрипт в тригере ставить на OnEnter? Да ещё подскажи пожалуйста как в строке эту фразу "Вы не могли бы мне помочь" на русскрм написать, потому что он у меня только на английском пишет, хотя версия тулсета русская.
Aiwan
1. Да.
2. Слей патч для русского у нас.
acdcee
Приветствую всех на форуме, уу меня опять тут появилось пару дурацких вопросов:
1.Как сделать так что бы строка в диалоге появилась когда PC будет 4 уровня, то усть если игрок 4 уровня то у НПС появляеться диалог.
2. Вот скртип на то что бы при нанесении дамага кукла давала опыт:
void main ()
{
object o Damager=GetLastDamager();
if(oDamager !=OBJECT_INVALID)
GiveXPToCreatur(oDamager, 15);
}
Вот он работает а как сделать так что бы когда игрок получил 4 уровень то ему опыт не давали бы,и аттакует не все время а только не которое время, а потом опять на водишь.
3.Очень важный вопрос : не давно увидел скрипт на смерть не помню кто писал но помню что ЛЕКС его чуть поправил, так вот все работает но когда переходишь в локу где умер то гварды тебя начинают бить и очень больно smile.gif, как поправить?
4.И еще один вопорос есть игрок он умерает так вот как сделать так чтобы после смерти его оставался труп и допустим друг или кто еще может его взять и принести священику, дальше свщеник воскрешает его за 300 голда, и умершего переносят в место где его воскресили.................
5.Помогите так что бы когда в локу попадаешь то карте что выводиьтся при нажатии кнопки М, не чего бы не показывала.

Помогите плизззззззззззз если не трудно.Все вопросы связаны с игрой по локальной сети, а не одиночной!!!


У меня тут появилась одна мысль когда реализую (можь заработает) покажу smile.gif
-fenix-
QUOTE (acdcee @ Sep 11 2005, 15:13)
1.Как сделать так что бы строка в диалоге появилась когда PC будет 4 уровня, то усть если игрок 4 уровня то у НПС появляеться диалог.

Функции для получения уровня вроде нет (LEX: есть. GetHitDice() ) , но есть для получения опыта, с ее помощью и можно такое реализовать. Просто надо знать, сколько опыта соответствует 4 левалу и в скрипте проверять, больше или равно число опыта у героя 4 левалу.
Сама функция
Neverwinter Script Source
GetXP(object oCreature)

QUOTE (acdcee @ Sep 11 2005, 15:13)
Вот он работает а как сделать так что бы когда игрок получил 4 уровень то ему опыт не давали бы,и аттакует не все время а только не которое время, а потом опять на водишь.

Про левал написано выше. А с атакой, нужно делать чистку акций у атакуещего при опеределенном условии. Скажеи на OmDamaged сделать счетчик, тоесть чтобы при каждом вызове события он увеличивался на 1 и когда он достигает 5(пять ударов), то он устанавливается на 0 и акции у ПС чистятся - ClearAllActions.

QUOTE (acdcee @ Sep 11 2005, 15:13)
3.Очень важный вопрос : не давно увидел скрипт на смерть не помню кто писал но помню что ЛЕКС его чуть поправил, так вот все работает но когда переходишь в локу где умер то гварды тебя начинают бить и очень больно smile.gif, как поправить?

А поподробнее можно, какой скрипт, как поправил?

QUOTE (acdcee @ Sep 11 2005, 15:13)
4.И еще один вопорос есть игрок он умерает так вот как сделать так чтобы после смерти его оставался труп и допустим друг или кто еще может его взять и принести священику, дальше свщеник воскрешает его за 300 голда, и умершего переносят в место где его воскресили.................

Гдето в теме сриптах человек писал свою ситсему, ну прям копия, что ты описываешь, поищи. Две темы скриптов объеденили вроде посмотри странице на 53, а мож и ошибаюсь.


QUOTE (-fenix- @ Sep 11 2005, 15:29)
(LEX: есть. GetHitDice() )


И правда, буду знать. А по названию не скажешь, замаскированная функция какая-то smile.gif
acdcee
Во - во а по подробней мона на этом, всмысле я так и не нашел эту функцию и плизззз кто нить напишите скрипт если не сложно

[/QUOTE]1.Как сделать так что бы строка в диалоге появилась когда PC будет 4 уровня, то усть если игрок 4 уровня то у НПС появляеться диалог.[QUOTE]

И вот созрел еще один вопрос на счет того, что елси попадаешь в фугу при смерти карта (нажми букву М smile.gif)

была бы закрыта, т.е не чего бы не отображала(или это 2да делают, там изменять, скриптами не как)

вот так вот smile.gif
DEM
acdcee
QUOTE
1.Как сделать так что бы строка в диалоге появилась когда PC будет 4 уровня, то усть если игрок 4 уровня то у НПС появляеться диалог


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

Скрипт
Neverwinter Script Source
int StartingConditional()
{
    if(GetHitDice(GetPCSpeaker()) == 4)
        return FALSE;

    return TRUE;
}
Vhall
QUOTE (acdcee @ Sep 11 2005, 14:13)
5.Помогите так что бы когда в локу попадаешь то карте что выводиьтся при нажатии кнопки М, не чего бы не показывала.
yudgi
Помогите плиз. Я как то скрипт искала, чтобы PC был только мужчиной, спасибо Aiwan, что написал, только он почему то не работает (или может я дура) и редактор выдаёт ошибку.
Скрипт такой:

if (GetGender(oPC) != GENDER_MALE)
{
int iD = (GetMaxHitPoints(oPC)*2);
effect eDamage = EffectDamage(iD);
ApplyEffectToObject(DURATION_TYPE_INSTANT,eDamage,oPC);
Debug("Упс... ИзвЕните мадам!");
return;
}
Voshod
Вот вопрос возник: можно ли убрать окно общения, то есть, чтобы то что говорят персонажи было видно только над их головами?
Aiwan
yudgi, извини pardon.gif Вот так точно будет работать. yes.gif
Neverwinter Script Source
void main()
{
  object oPC = GetEnteringObject();
  int iD = (GetMaxHitPoints(oPC)*2);
  effect eDamage = EffectDamage(iD);
    if (GetGender(oPC) != GENDER_MALE)
    {
        ApplyEffectToObject(DURATION_TYPE_INSTANT,eDamage,oPC);
        return;
    }
}

Добавлено в [mergetime]1126512233[/mergetime]
QUOTE (Voshod @ Sep 12 2005, 13:14)
Вот вопрос возник: можно ли убрать окно общения, то есть, чтобы то что говорят персонажи было видно только над их головами?

Neverwinter Script Source
// The caller will immediately speak sStringToSpeak (this is different from
// ActionSpeakString)
// - sStringToSpeak
// - nTalkVolume: TALKVOLUME_*
void SpeakString(string sStringToSpeak, int nTalkVolume=TALKVOLUME_TALK)

// Add a speak action to the action subject.
// - sStringToSpeak: String to be spoken
// - nTalkVolume: TALKVOLUME_*
void ActionSpeakString(string sStringToSpeak, int nTalkVolume=TALKVOLUME_TALK)
acdcee
Приветствую всех кто есть на форуме мастеров, т.е на toolset по скриптам вот так вот он тоже не работает sad.gif
[QUOTE]Скрипт

Neverwinter Script Source
int StartingConditional()
{
if(GetHitDice(GetPCSpeaker()) == 4)
return FALSE;

return TRUE;
}

Пишет что после if не может идти нулевое значение,
так что че то нето sad.gif
yudgi
Привет! На что скрипт то? Я вообще-то не спец, но помойму после if пробел должен стоять. Или ты его просто когда писал пропустил.
-fenix-
Тут была ошибка, но при ней ветка бы не появилась вообще, а вот скомпилироваться все должно было хорошо.
Neverwinter Script Source
int StartingConditional()
{
if(GetHitDice(GetPCSpeaker()) == 4)
return TRUE;

return FALSE;
}

QUOTE (yudgi @ Sep 12 2005, 18:16)
Привет! На что скрипт то? Я вообще-то не спец, но помойму после if пробел должен стоять. Или ты его просто когда писал пропустил.

Пробелы нужны для НАГЛЯДНОГО разделения, чтобы зрительно было легче разбераться в коде, каждый сам решает, удобно ему ставить пробел или нет.

Ну и для разделения операторов само-сабой.
yudgi
Спасибо fenix, я то думала, что их обязательно ставить.
Если ещё не надоела с глупыми вопросами, можно ещё один?
У меня по сюжету герой просыпается в храме без инвентаря, амуниции, вообще без ничего. В комнате стоит сундук, как сделать так чтобы в сундуке оружее, одежда и т.д. появлялись в зависимости от класса и рассы героя. А то будет там какая-нибудь тяжёлая броня, а волшебник например, не сможет её носить. Спасибочки заранее!
acdcee
Neverwinter Script Source
void main()
{
object oNPC = OBJECT_SELF; // наш умерший НПС
string sResRef = "РесРеф трупа";// наш труп в палитре
string sTag = GetTag(oNPC);// Получаем ТАГ убитого НПС
location lLoc = GetLocation(oNPC);// Получаем локацию, в которой умер НПС
// создаем невидимый объект, для переброски в него инвентаря убитого
object oTrup = CreateObject(OBJECT_TYPE_PLACEABLE, sResRef, lLoc, TRUE, sTag);

SetIsDestroyable(FALSE);// чтоб тело убитого НПС не исчезало

object oItem = GetFirstItemInInventory(oNPC);// первый объект в инвентаре убитого НПС
while (GetIsObjectValid(oItem))// если объект правильный
    {
    if (GetDroppableFlag(oItem))// Проверяем выбрасываемый ли объект
        CopyObject(oItem, lLoc, oTrup);// копируем
    DestroyObject(oItem);// удаляем
    oItem = GetNextItemInInventory(oNPC);// следующий объект  в инвентаре убитого НПС
    }

int i = 0;// устанавливаем i на 0

oItem = GetItemInSlot(i,oNPC); // нулевой слот в инвентаре убитого НПС
while (i<=13)// i не должно быть больше 13
    {
    if (GetDroppableFlag(oItem))// Проверяем выбрасываемый ли объект
      CopyObject(oItem, lLoc, oTrup);// копируем
    DestroyObject(oItem);// удаляем
    i++;// увеличиваем i на еденицу
    oItem = GetItemInSlot(i,oNPC);// следующщий слот в инвентаре убитого НПС
    }
}

если это с некоторыми изменениями вставить в onDeath мщдуля то может ли он заработаьт как я описывал выше на счет появления трупа игрока после смерти ?

а вот это тоже с изменениями на то что бы священик резуректнул игрока (умершего)
Neverwinter Script Source
#include "nw_i0_plot"
void main()
{
object oPC = GetPCSpeaker();
int iHP =GetMaxHitPoints();
effect eHeal = EffectHeal (iHP);
effect eHealVis = EffectVisualEffect (VFX_IMP_HEALING_X);
ActionCastFakeSpellAtLocation(SPELL_HEALING_CIRCLE,GetLocation(oPC));
DelayCommand (2.0,ApplyEffectToObject(DURATION_TYPE_INSTANT,eHeal,oPC));
DelayCommand (2.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eHealVis,oPC,10.0));
DelayCommand (2.0, RemoveEffects(oPC));

конечно это можь и не основа и не сами те скрипты о которых мона подумать но можь как общий план или каркас(пища для ума smile.gif )

так кто нить на досуги может посмотреть или попробывать написать (помочь как то)
Конечно сам тоже писать буду если что то получиться или нет то выложу
Добавлено в 19:04
А тот скрипт был на то что бы как только твой перс становиться 4 уровня в диалоге появляеться строка о том что его могут телепортнуть smile.gif





LEX: еще раз увижу скрипт не оформленный как выше - выдам предупреждение.
-fenix-
yudgi, пожалуйста, в скриптах для новичков - тема такая в этом форуме. Там самый первый скрипт, посмотри и попробуй сделать, если не получется спращивай smile.gif

QUOTE (acdcee @ Sep 12 2005, 19:02)
если это с некоторыми изменениями вставить в onDeath мщдуля то может ли он заработаьт как я описывал выше на счет появления трупа игрока после смерти ?

Да
QUOTE (acdcee @ Sep 12 2005, 19:02)
а вот это тоже с изменениями на то что бы священик резуректнул игрока (умершего)

То же можно, скрипт будет ставиться на OnSpellCastAt трупа.
Dik Morris
Насчет сундука.
yudgi заместо q1rogueitem и ему, подобных, ставишь РесРеф нужного предмета, сам скрипт на onOpenсундука.
Чтобы, определить нужный класс, гляди на константу, например: CLASS_TYPE_DRUID, вот значит указываешь РесРеф, предмета для друида yes.gif
Neverwinter Script Source
void main()
{
    object oLastOpener = GetLastOpenedBy();
    object oContainer = OBJECT_SELF;

    if (GetLocalInt(OBJECT_SELF, "NW_L_OPENONCE") > 0 || GetIsObjectValid(oLastOpener) == FALSE)
    {
        return;
    }
    SetLocalInt(OBJECT_SELF, "NW_L_OPENONCE",1);

                if (GetLevelByClass(CLASS_TYPE_DRUID, oLastOpener) >= 1)
    {
        CreateItemOnObject("q1druiditem", oContainer);
    }
    else if (GetLevelByClass(CLASS_TYPE_WIZARD, oLastOpener) >= 1)
    {
        CreateItemOnObject("q1mageitem", OBJECT_SELF);
    }
    else if (GetLevelByClass(CLASS_TYPE_SORCERER, oLastOpener) >= 1)
    {
        CreateItemOnObject("q1sorcereritem", OBJECT_SELF);
    }
    else if (GetLevelByClass(CLASS_TYPE_PALADIN, oLastOpener) >= 1)
    {
        CreateItemOnObject("q1paladinitem", OBJECT_SELF);
    }
    else if (GetLevelByClass(CLASS_TYPE_BARBARIAN, oLastOpener) >= 1)
    {
        CreateItemOnObject("q1barbitem", OBJECT_SELF);
    }
    else if (GetLevelByClass(CLASS_TYPE_MONK, oLastOpener) >= 1)
    {
        CreateItemOnObject("q1monkitem", OBJECT_SELF);
    }
    else if (GetLevelByClass(CLASS_TYPE_CLERIC, oLastOpener) >= 1)
    {
        CreateItemOnObject("q1clericitem", OBJECT_SELF);
    }
    else if (GetLevelByClass(CLASS_TYPE_ROGUE, oLastOpener) >= 1)
    {
        CreateItemOnObject("q1rogueitem", OBJECT_SELF);
    }
    else if (GetLevelByClass(CLASS_TYPE_RANGER, oLastOpener) >= 1)
    {
        CreateItemOnObject("q1rangeritem", OBJECT_SELF);
    }
    else if (GetLevelByClass(CLASS_TYPE_FIGHTER, oLastOpener) >= 1)
    {
        CreateItemOnObject("q1fighteritem", OBJECT_SELF);
    }
    else if (GetLevelByClass(CLASS_TYPE_BARD, oLastOpener) >= 1)
    {
        CreateItemOnObject("q1barditem", OBJECT_SELF);
    }
}

ЗЫ: Скрипт, взят из компании, СоУ. Т.к самому, писать в ломы biggrin.gif И еще:
QUOTE
У меня по сюжету герой просыпается в храме без инвентаря, амуниции, вообще без ничего
Смотри, в теме, СКРИПТЫ ДЛЯ НОВИЧКОВ. (Блин, люди темы, пишут парятся, а не пользуются!:DB: )
yudgi
Спасибо, только мой PC не умер, так что трупа нет. Это как бы начало модуля, стартовая точка, если не трудно, напиши как в этом случае быть(и на какой слот скрипт ставить). И ещё подскажи пожалуйста скрипт, чтобы после смерти PC его нельзя было воскресить. А инвентарь то я уже давно убила, я просто про сундук спрашивала. Мне нужно чтобы предметы именно в сундуке были, а не на РС.
Вот интересно, я когда нибудь научусь скриптить или нет. (LEX: сам задавался таким вопросом когда-то)
А за написанные выше скрипты спасибо они мне тоже пригодятся. Ребята, что бы я без вас делала?!
Dik Morris
QUOTE
И ещё подскажи пожалуйста скрипт, чтобы после смерти PC его нельзя было воскресить.

Зайди в модульные свойства. Затем, на вкладке, onPlayerDeath, открой, стоящий по умолчанию там, скрипт. и в самый, низ добавь строку:
Neverwinter Script Source
PopUpDeathGUIPanel(oPlayer, FALSE, TRUE, 0);

ЗЫ: ОБЯЗАТЕЛЬНО, сохрани скрипт под другим именем. biggrin.gif
QUOTE
Вот интересно, я когда нибудь научусь скриптить или нет.

Ха! Когда, я пришел на форум я даже не знал что такое функция! Но со временем научился.
ЗЫ: научишся, если не будешь бросать Тулсет, ровно как и скрипты.
2_advanced
QUOTE
Вот интересно, я когда нибудь научусь скриптить или нет. (LEX: сам задавался таким вопросом когда-то)

угу.. всех иногда это мучает.. а потом задумываешься - а нафига это нужно было black eye.gif drag.gif
зы. может стоит начать с бейсика/с/асма? там книги есть.. и НВС на С похож
стоит задуматься..
yudgi
После смерти PC появляется окно, как оставить там своё сообщение? Подскажите скрипт (сообщение примерно такое же, как в "Проклятье Левора" когда берёшь героя-женщину и она умирает).






----------------------------------
LEX: ну и глянула бы в ПЛных скриптах.

Neverwinter Script Source
// Spawn in the Death GUI.
// The default (as defined by BioWare) can be spawned in by PopUpGUIPanel, but
// if you want to turn off the "Respawn" or "Wait for Help" buttons, this is the
// function to use.
// - oPC
// - bRespawnButtonEnabled: if this is TRUE, the "Respawn" button will be enabled
//   on the Death GUI.
// - bWaitForHelpButtonEnabled: if this is TRUE, the "Wait For Help" button will
//   be enabled on the Death GUI (Note: This button will not appear in single player games).
// - nHelpStringReference
// - sHelpString
void PopUpDeathGUIPanel(object oPC, int bRespawnButtonEnabled=TRUE, int bWaitForHelpButtonEnabled=TRUE, int nHelpStringReference=0, string sHelpString="")
_kaa_
Кто хорошо поработал с хенчами? Есть ограничение на количество, т.е. больше одного можно брать?
NedWarN
QUOTE
После смерти PC появляется окно, как оставить там своё сообщение?

Изменить можно в файле Dialog.tlk подправь стандартное сообщение на своё.
Хочешь изменить картинку, нарисуй таких же размеров, с фарматом TGA.
QUOTE
Подскажите скрипт (сообщение примерно такое же, как в "Проклятье Левора" когда берёшь героя-женщину и она умирает).

Дык посмотри в леворе.
Редактировать -- Модульные Свойства -- События && OnClientEnter/
Добавлено в [mergetime]1126618152[/mergetime]
QUOTE
Кто хорошо поработал с хенчами? Есть ограничение на количество, т.е. больше одного можно брать?

Кажись ограничения нет, только скриптом ставят свои ограничения. unsure.gif
Dik Morris
В скрипт OnModuleLoad добавь строку:
Neverwinter Script Source
SetMaxHenchmen(2);

acdcee
[QUOTE]Тут была ошибка, но при ней ветка бы не появилась вообще, а вот скомпилироваться все должно было хорошо.

Neverwinter Script Source
int StartingConditional()
{
if(GetHitDice(GetPCSpeaker()) == 4)
    return TRUE;
else
    return FALSE;
}


LEX:
этот скрипт, стоящий на строке в закладке "text appears when" будет закрывать ее для игрока, уровень которого != 4.
и чего не так?

А у тебя Феникс он компилировался?

Я чуть изменил его , все вроде ок скомпилировался но ветка эта есть при любом лвлsad.gif

Лекс прошу тебя если будешь в хорошом настроении или свободен посмотри что не так тут или как сделать чтоб работал ?
Добавлено в 18:51
И еще вопрос у меня один НПС дает задание убить 4 волков слабее и одного босса(волка)
После того как убиваешь волка в диалоге появляеться строка но в журнале не чего по этому квету нету, как сделать так что бы появилась.
yudgi
Совет: В следующий раз скрипт пиши как положено, Lex уже предупреждал об этом, а его надо слушать.
QUOTE (acdcee @ Sep 13 2005, 17:46)
И еще вопрос у меня один НПС дает задание убить 4 волков слабее и одного босса(волка) После того как убиваешь волка в диалоге появляеться строка но в журнале не чего по этому квету нету, как сделать так что бы появилась.

Кажется это скриптом делается в них я полный аут, попробуй сделать так: открываешь диалог и ту строку где у тебя говориться о выполнении квеста в правом нижнем углу разны вкладки, выбираешь вкладку "Другие действия" в окне "журнал" вводишь название этого квеста с волками,(естественно само задание и его выполнение должны быть прописаны у тебя в редакторе журнала). Попробуй, если не получится умные люди тебе скрипт напишут, меня уже 1000 раз выручали.
acdcee
[QUOTE]LEX:
этот скрипт, стоящий на строке в закладке "text appears when" будет закрывать ее для игрока, уровень которого != 4.
и чего не так?


мне надо что бы наооборот открывала когда перс 4 уровня елы палы так нельзя было сказать smile.gif


а я то мучаюсь что за фигня, еще раз когда перс 4 уровня у НПС появляеться строка, а не закрывается smile.gif
Добавлено в [mergetime]1126630729[/mergetime]
Я хочу спросить какой эффект накладывает священик когда ресает ? это для резуректа трупа........ когда игрок умераетsmile.gif
Lex
это
QUOTE (acdcee @ Sep 13 2005, 20:56)
мне надо что бы наооборот открывала когда перс 4

и это
QUOTE (acdcee @ Sep 13 2005, 20:56)
закрывать ее для игрока, уровень которого != 4

одно и то же.



если тебе 4 и выше, то ставь там >=
если до 4-го, то <=
а если только 4, то ==


QUOTE (acdcee @ Sep 13 2005, 20:56)
это для резуректа трупа

EffectResurrection()


acdcee
Другая трабла в том что он этот скрипт не компилирует sad.gif почему то пишет , что после иф не может идти нулевое значение, как ты думаешь скрипт сам правильно написан ? Или можь я че не так делаю?

LEX: Ессно правильно написан, там трудно ошибиться.
13.09.2005 23:09:20: 0 Errors. 'test' compiled successfully.
-fenix-
QUOTE (acdcee @ Sep 13 2005, 18:46)
Я чуть изменил его , все вроде ок скомпилировался но ветка эта есть при любом лвл

QUOTE (acdcee @ Sep 13 2005, 23:08)
Другая трабла в том что он этот скрипт не компилирует

Ни чего не понял????????????
В чем проблема, если изменил, то как??????
Archangel
А можно ли сделать так, чтобы игрок вообще никогда не мог респауниться? Если можно, то как? this.gif
-fenix-
Ты про это??
QUOTE

И ещё подскажи пожалуйста скрипт, чтобы после смерти PC его нельзя было воскресить.

QUOTE (Dik Morris @ Sep 12 2005, 19:30)

Зайди в модульные свойства. Затем, на вкладке, onPlayerDeath, открой, стоящий по умолчанию там, скрипт. и в самый, низ добавь строку:
Neverwinter Script Source
PopUpDeathGUIPanel(oPlayer, FALSE, TRUE, 0);

Archangel
QUOTE
Ты про это??

Нет. Я имел ввиду такую ситуацию: тебя замочили, появляется табличка с опциями:
"Загрузиться"
"Респаун"
"Выйти из игры"
Дык вот надо, чтобы после нажатия на "Респаун" игроку выводилось что-то типа: "Брейся", или на худой конец его бы просто сново убивало. Так можно?
Life
Как изменить заклинание?
например добавить в некоторые спасброски, изменить время действия..
Dik Morris
Вот, вам сюда:
http://www.wrg.ru/forums/index.php?showtopic=704
Aiwan
QUOTE (Archangel @ Sep 14 2005, 15:41)
Дык вот надо, чтобы после нажатия на "Респаун" игроку выводилось что-то типа: "Брейся", или на худой конец его бы просто сново убивало. Так можно?

Канэчно. Ищи слот в модульных свойствах OnPlayerRespawn
Neverwinter Script Source
void main()
{
    object oRespawner = GetLastRespawnButtonPresser();
    AssignCommand(oRespawner, SpeakString("Побрейся, чувак!"));
}
yudgi
Помогите пожалуйста, в мануале помощи новичкам есть такой скрипт:
Neverwinter Script Source
void main()
{
    object oNPC=GetObjectByTag("NPC_2");
    object oWp=GetWaypointByTag("WP_2");
    string sString="Привет!!!";
    ActionDoCommand(AssignCommand(oNPC,  ActionMoveToObject(oWp,FALSE)));
    ActionDoCommand(AssignCommand(oNPC,SpeakString(sString)));
    ActionDoCommand(AssignCommand(oNPC,ActionPlayAnimation
    (ANIMATION_FIREFORGET_SALUTE,1.0,2.0)));
}

Но у меня в редакторе он не компилируется и выдаёт
ОШИБКА: ПОТЕРЯ АНАЛИЗАТОРА ПРЕМЕННОЙ
Подскажите в чём ошибка.
-fenix-
yudgi, в данном скрипте нет ошибок.
Люди, либо у вас редакторы какие-то странные, что наврятли, либо ошибки, когда вы эти скрипты к себе копировали, не чаяно что-то стерли, изменили. Скажем ОШИБКА: ПОТЕРЯ АНАЛИЗАТОРА ПРЕМЕННОЙ, может быть если вы случайно изменили функции определения объектов, вместо GetObjectByTag у вас GetObjectByTg или вместо GetWaypointByTag у вас GetWaypointByTaggg или что-то в таком духе. А тут показываете рабочие скрипты.
А может я не прав и у вас тупой редактор??? dntknw.gif
zmey
Эх, давненько меня не было - учебный год начался, пора в школу - работать. А тут приболел, вот и пользуюсь случаем:

У меня при переходе из одного модуля в другой имеется 2 хенчмена, у каждого из которых есть инвентарь, который игрок может изменять. ВОПРОС: как сделать чтобы во втором модуле хенчи появились С ТЕМ ИНВЕНТАРЕМ, С КОТОРЫМ ОКОНЧИЛИ ПЕРВЫЙ? diablo.gif diablo.gif diablo.gif diablo.gif diablo.gif diablo.gif diablo.gif (школьники довели!) diablo.gif diablo.gif diablo.gif diablo.gif
NedWarN
2 zmey попробуй незаметно, отделить хенча, от ПК например в разговоре. И джампить его в другой модуль, а там опять прицепить. может помоч.
//-------------
[NSS]#include "x0_i0_henchman"
void main()
{
object oPC = GetPCSpeaker();
string szHench = "РесРеф"
object oHench = GetHenchman(oPC, 1);
if (GetTag(oHench) != szHench)
oHench = GetHenchman(oPC, 2);
FireHenchman(oPC, oHench);
}
[NSS/]
//--------------
Либо попробуй, приказать скриптом чтобы каждый раздел предметов, будь ето хоть броня мечи и т.д проверился. но это мало вероятно.[NNS]
object oIte = GetItemInSlot(INVENTORY_SLOT_ARMS, ohench);
if(GetIsObjectValid(oIte))
{
SetDroppableFlag(oIte, FALSE);
}
oGear = GetItemInSlot(INVENTORY_SLOT_ARROWS, ohench);
if(GetIsObjectValid(oIte))
{
SetDroppableFlag(oIte, FALSE);
}
oGear = GetItemInSlot(INVENTORY_SLOT_BELT, ohench);
if(GetIsObjectValid(oIte))
{
SetDroppableFlag(ohench, FALSE);
}
[NSS/}
Archangel
Вот тут нашел в теме "Вопросы и ответы по тулсету":
QUOTE
ВОПРОС
Можно ли поменять экран при загрузке модуля или локации?
ОТВЕТЫ
Можно, редактированием loadscreens.2da. Есть утила специальная на ваульте, которая делает в нужном формате этот скрин.

Не мог бы кто-нибудь дать ссылочку на эту самую утилитку? this.gif
Клемент Астилон
Пробуй.

Или вот этот
-fenix-
2NedWarN, дело не в проблеме переброски хенча в следующий модуль, а сохранении его инвентаря. При переходе в новый модуль перебрасывается перс БЕЗ ВЕЩЕЙ и для перебросски вещей нужно писать скрипт.

QUOTE (NedWarN @ Sep 16 2005, 20:19)
2 zmey попробуй незаметно, отделить хенча, от ПК например в разговоре. И джампить его в другой модуль, а там опять прицепить. может помоч.

Прыжка тут нет и работать он не будет. Тут определяется РесРеф(string szHench = "РесРеф"), а сравнивается с Тагом(if (GetTag(oHench) != szHench)).
Neverwinter Script Source
#include "x0_i0_henchman"
void main()
{
object oPC = GetPCSpeaker();
string szHench = "РесРеф"
object oHench = GetHenchman(oPC, 1);
if (GetTag(oHench) != szHench)
oHench = GetHenchman(oPC, 2);
FireHenchman(oPC, oHench);
}


QUOTE (NedWarN @ Sep 16 2005, 20:19)
Либо попробуй, приказать скриптом чтобы каждый раздел предметов, будь ето хоть броня мечи и т.д проверился. но это мало вероятно.

Это можно(нужно) делать циклом, а вещи из инвенторя ни как, кроме как циклом не перенести.

2zmey
Если есть левора(а она наверное есть), открой в первой части(Prelude (3)) ЛесАдх, найди дверь ADHEWOOD_EXIT2 и посмотри стоящий на ней скрипт - dm_end_module(он там один). В нем запускаются скрипты для копирования вещей - bm_inv_transit1 и для возврата вещей - bm_inv_transit2.

Vitalist
Подскажите:
1) скрипт, при захиде на которого, NPC подбегает к игроку и начинает разговор
2) можно ли повесить на NPC какой-нибудь постоянный визуальный эфект? Нужно чтобы он типа светился...
-fenix-
QUOTE (Vitalist @ Sep 18 2005, 12:42)
1) скрипт, при захиде на которого, NPC подбегает к игроку и начинает разговор

Да тыщуу раз уже писали!!!

На OnEnter тригера.
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oNPC = GetObjectByTag("ТАГ НПС");

if(GetIsPC(oPC))
AssignCommand(oNPC, ActionStartConversation(oPC));
}


QUOTE (Vitalist @ Sep 18 2005, 12:42)
2) можно ли повесить на NPC какой-нибудь постоянный визуальный эфект? Нужно чтобы он типа светился...


Neverwinter Script Source
ApplyEffectToObject (Прмиенить эффект уже к объекту)
void ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f)

//int nDurationType - определяет, сколько этот эффект будет продолжаться :
//DURATION_TYPE_INSTANT - мгновенно
//DURATION_TYPE_PERMANENT - всегда
//DURATION_TYPE_TEMPORARY - временно
//effect eEffect - прмиеняемый эффект
//object oTarget - объект, к оторому будет применяться эффект
//float fDuration - длительность эффекта (если в nDurationType стоит //DURATION_TYPE_TEMPORARY)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.