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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 21 22 23 24 25 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Oksivarus
сообщение Jan 17 2005, 14:41
Сообщение #546


Level 4
**

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



к проблеме начисления опыта при смерти не изза нанесения физического урона

1 -нужно для шарда.
2 - убийсвто игроком -> непися.
также замечен этот же баг ( с мечем и другого оружия ближнего боя с кислотой) при убийстве мертвецов стрелами с наложенным на них электричеством (правда может и других тоже не успел проверить проблему с электричеством на других).
(так как шард еще не стартовал для общественности то проверить убийсвто игрока игроком на этот баг нет возможности)

Бой неписей одиного типа
Можно ли увеличить количество попаданий друг в друга воров или монахов когда они в бою между собой, так как у обеих огромная ловкость и увертливость (хочется уравнять или приблизить к длительности боя воин-воин)
Пример для неписей:
бой воин(12)-воин(15) 5минут и смерть одного из них.
бой вор(12)-вор(15) 1 час без смерти (надоело ждать)
в 1 и во 2 случяе оружие +3к атаке и +2d6 холода и кольцо регенерации +4

P.S.(уравнять желательно скриптом или в каком это скрипте, а не изменением неписей так как это нужно для уравнения боя между игроками)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Jan 19 2005, 22:42
Сообщение #547


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

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



Вот решил поставить сюда свой скрипт, скрипты всегда пишу сам.

Neverwinter Script Source
//PROSTOI SCRIPT STAVITSA NA ZACONDIALOG=======================================
//PISAL,Nikoll!
int nDoOnce = GetLocalInt(OBJECT_SELF, "DO_ONCE");
void main()
{
    object oWRGMAN = OBJECT_SELF;
    object oPC = GetPCSpeaker();
    object oWP = GetWaypointByTag("wp_cool");
    object oWP2 = GetWaypointByTag("wp_cool");
    object oWRG = GetObjectByTag("wrg_cool");
    object oCamera1 =  GetWaypointByTag("Camera_1");
//==========================WISUAL EFFECT======================================
    effect eWp = EffectVisualEffect(VFX_FNF_LOS_EVIL_20);
    effect eWp2 = EffectVisualEffect(VFX_FNF_LOS_EVIL_20);
    effect eWRG = EffectDarkness();
//==========================DEISTVIA COTOROE BUDUT PROIZVEDEN==================
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eWp , GetLocation(oWP));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eWp2 , GetLocation(oWP2));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eWRG , GetLocation(oWRG));
    SetCommandable(FALSE);
    ActionWait(30.7);
//+++++++++++++++++++++++++EFFECT WRG EFFECT WRG EFFECT++++++++++++++++++++++++
    effect e1 = EffectVisualEffect(VFX_FNF_SUMMON_UNDEAD);
    effect e2 = EffectVisualEffect(VFX_IMP_EVIL_HELP);
    effect e3 = EffectVisualEffect(VFX_IMP_FLAME_M);
    effect e4 = EffectVisualEffect(VFX_IMP_FLAME_S);
    effect e5 = EffectVisualEffect(VFX_IMP_FEAR_S);
    effect e6 = EffectVisualEffect(VFX_IMP_FROST_L);
    effect e7 = EffectVisualEffect(VFX_IMP_HEAD_SONIC);
    effect e8 = EffectVisualEffect(VFX_IMP_MAGIC_RESISTANCE_USE);
    effect e9 = EffectVisualEffect(VFX_FNF_SOUND_BURST_SILENT);
    effect e10 = EffectVisualEffect(VFX_IMP_POISON_S);

////////////////////////////////////////////////////////////////////////////////
///////////////////    OBJECTA DLA EFFECTOV    /////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
    object owp1 = GetWaypointByTag("1");
    object owp2 = GetWaypointByTag("2");
    object owp3 = GetWaypointByTag("3");
    object owp4 = GetWaypointByTag("4");
    object owp5 = GetWaypointByTag("5");
    object owp6 = GetWaypointByTag("6");
    object owp7 = GetWaypointByTag("7");
    object owp8 = GetWaypointByTag("8");
    object owp9 = GetWaypointByTag("9");
    object owp10 = GetWaypointByTag("10");
// VUPOLNAEM ZADUMANNOE DANNOE==================================================
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,e1 , GetLocation(owp1));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,e2 , GetLocation(owp2)):
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,e3 , GetLocation(owp3));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,e4 , GetLocation(owp4));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,e6 , GetLocation(owp5));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,e7 , GetLocation(owp7));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,e8 , GetLocation(owp8));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,e9 , GetLocation(owp9));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,e10 , GetLocation(owp10));
    SetCommandable(FALSE);
    ActionWait(35.7);
//PC padaet na zemlu============================================================
    DelayCommand(5.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));

//------------------------------------------------------------------------------
    DelayCommand(3.0, EffectDamage(oPC,DAMAGE_POWER_PLUS_SIX));
    DelayCommand(3.0, EffectDamage(owp3,DAMAGE_POWER_PLUS_SIX));
    DelayCommand(3.0, EffectDamage(owp5,DAMAGE_POWER_PLUS_SIX));
    DelayCommand(3.0, EffectDamage(owp6,DAMAGE_POWER_PLUS_SIX));
//------------------------------------------------------------------------------
    DelayCommand(4.0, EffectDarkness(owp1,DAMAGE_POWER_PLUS_TEN));
    DelayCommand(4.0, EffectDarkness(owp2,DAMAGE_POWER_PLUS_TEN));
    DelayCommand(4.0, EffectDarkness(owp3,DAMAGE_POWER_PLUS_TEN));
//------------------------------------------------------------------------------
    DelayCommand(5.0, EffectDamage(owp4,DAMAGE_TYPE_FIRE));
    DelayCommand(5.0, EffectDamage(owp7,DAMAGE_TYPE_FIRE));
    DelayCommand(5.0, EffectDamage(owp8,DAMAGE_TYPE_FIRE));
}

<small>Добавлено в 01:49</small>
Да простят меня админы но уж очень хочется выстовить свои скрипты на обсуждение.

Neverwinter Script Source
void main()
{
     if (GetIsPC(GetEnteringObject()))
    {
        effect eVis = EffectVisualEffect(VFX_FNF_STRIKE_HOLY);
        effect eAwian = EffectVisualEffect(VFX_FNF_IMPLOSION);
        effect eToril = EffectVisualEffect(VFX_FNF_LOS_EVIL_20);
        effect eGoru = EffectVisualEffect(VFX_IMP_HARM);
//Scoco poavitse i tac delee===================================================
        location lLoc1 = GetLocation(GetNearestObjectByTag("WP_ZLO1"));
        location lLoc2 = GetLocation(GetNearestObjectByTag("WP_ZLO2"));
        location lLoc3 = GetLocation(GetNearestObjectByTag("WP_ZLO3"));
        location lLoc4 = GetLocation(GetNearestObjectByTag("WP_ZLO4"));
//Dalee restTxevt obecta v palitre=============================================
        object oZlo1 = CreateObject(OBJECT_TYPE_CREATURE,"zlo1",lLoc1,TRUE);
        object oZlo2 = CreateObject(OBJECT_TYPE_CREATURE,"zlo2",lLoc2,TRUE);
        object oZlo3 = CreateObject(OBJECT_TYPE_CREATURE,"zlo3",lLoc3,TRUE);
        object oZlo4 = CreateObject(OBJECT_TYPE_CREATURE,"zlo4",lLoc4,TRUE);
//==============================VISUL EFFECT===================================
        ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_STRIKE_HOLY),lLoc1);
        ActionWait(100.7);
        ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_IMPLOSION),lLoc2);
        ActionWait(120.7);
        ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_LOS_EVIL_20),lLoc3);
        ActionWait(110.7);
        ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_HARM),lLoc4);
//Utilita concovca i t.d=======================================================
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis,oZlo1);
        ActionWait(130.7);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eAwian,oZlo2);
        ActionWait(140.7);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eToril,oZlo3);
        ActionWait(110.7);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eGoru,oZlo4);
        ActionWait(120.7);
        DestroyObject(OBJECT_SELF);
    }
}

Скрипт ставится на ЗакончитьДиалог "СовершДейств". :this:
У МЕНЯ ИХ МНОГО НО НЕБУДУ ПОСТИТЬ ЭТО ВРОДЕ СПАМ ИЛИ ФЛУД НЕПОМНЮ ИЗВЕНИТЕ.

Aiwan: Если дельные скрипты, то пости их в архив тему скриптов, с описанием что делает и как работает.

Сообщение отредактировал Aiwan - Jan 19 2005, 23:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 19 2005, 22:56
Сообщение #548


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



ЭЭ..а что он делает??
Neverwinter Script Source
object oWP = GetWaypointByTag("wp_cool");
    object oWP2 = GetWaypointByTag("wp_cool");

одно и то же будет храниться в oWP и oWP2

Neverwinter Script Source
DelayCommand(5.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));

а FadeToBlack я не нашел..Тогда смысл этой команды?

Neverwinter Script Source
SetCommandable(FALSE);

сразу в 2-х местах. И не ясно, зачем.

Neverwinter Script Source
DelayCommand(3.0,EffectDamage(oPC,DAMAGE_POWER_PLUS_SIX));

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

Neverwinter Script Source
EffectDarkness(owp1,DAMAGE_POWER_PLUS_TEN);

тоже что-то не то с параметрами...


Итог: а этот скрипт что должен был делать, что делает и вообще компилируется??
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Jan 19 2005, 23:06
Сообщение #549


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

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



QUOTE
ЭЭ..а что он делает??

Neverwinter Script Source
object oWP = GetWaypointByTag("wp_cool");
    object oWP2 = GetWaypointByTag("wp_cool");


сначало обекты потом ефекты

Neverwinter Script Source
effect eWp = EffectVisualEffect(VFX_FNF_LOS_EVIL_20);
    effect eWp2 = EffectVisualEffect(VFX_FNF_LOS_EVIL_20);

Потом поставить эти две точки и при активации скрипта в игре будет эффект.

Neverwinter Script Source
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eWp , GetLocation(oWP));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eWp2 , GetLocation(oWP2));




Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 19 2005, 23:12
Сообщение #550


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



effect eWp = EffectVisualEffect(VFX_FNF_LOS_EVIL_20);
effect eWp2 = EffectVisualEffect(VFX_FNF_LOS_EVIL_20);

раз они одинаковые, то можно не делать 2-х разных переменных


object oWP = GetWaypointByTag("wp_cool");
object oWP2 = GetWaypointByTag("wp_cool");
я имел ввиду, что тэги одинаковые.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Jan 19 2005, 23:15
Сообщение #551


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

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



QUOTE
раз они одинаковые, то можно не делать 2-х разных переменных


Действительно LEX ты прав, я ступил немного, но скрипт работает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 19 2005, 23:25
Сообщение #552


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



DelayCommand(5.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));

//------------------------------------------------------------------------------
DelayCommand(3.0, EffectDamage(oPC,DAMAGE_POWER_PLUS_SIX));
DelayCommand(3.0, EffectDamage(owp3,DAMAGE_POWER_PLUS_SIX));
DelayCommand(3.0, EffectDamage(owp5,DAMAGE_POWER_PLUS_SIX));
DelayCommand(3.0, EffectDamage(owp6,DAMAGE_POWER_PLUS_SIX));
//------------------------------------------------------------------------------
DelayCommand(4.0, EffectDarkness(owp1,DAMAGE_POWER_PLUS_TEN));
DelayCommand(4.0, EffectDarkness(owp2,DAMAGE_POWER_PLUS_TEN));
DelayCommand(4.0, EffectDarkness(owp3,DAMAGE_POWER_PLUS_TEN));
//------------------------------------------------------------------------------
DelayCommand(5.0, EffectDamage(owp4,DAMAGE_TYPE_FIRE));
DelayCommand(5.0, EffectDamage(owp7,DAMAGE_TYPE_FIRE));
DelayCommand(5.0, EffectDamage(owp8,DAMAGE_TYPE_FIRE));


ВОТ ЭТО КАК РАБОТАЕТ?!??!!
Добавлено в [mergetime]1106166314[/mergetime]
он даже компилиться не должен
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Jan 19 2005, 23:30
Сообщение #553


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

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



QUOTE
он даже компилиться не должен


Почему не должен? ТА :this:
Добавлено в [mergetime]1106166732[/mergetime]
Lex помоги плиз! Написал скрипт Тулсет пишет что все правильно
скрипт ставится на OnEnter тригера. проблема вот в чем пересупаеш триггер
Neverwinter Script Source
effect eVis = EffectVisualEffect(VFX_FNF_IMPLOSION);
    effect eVis2 = EffectVisualEffect(VFX_FNF_LOS_EVIL_20);

ети 2 эффекта сразу буз сценки проявляются на
Neverwinter Script Source
object oCasic = GetObjectByTag("CASIC");

далее камера не работает но разговор между
Neverwinter Script Source
object oNPC = GetObjectByTag("DRUG"); и object oCasic = GetObjectByTag("CASIC");
идет спустя немного времени object oNPC = GetObjectByTag("DRUG"); становится скелетом.
хотя фсе должно быть с камерами.

Вот скрипт


Neverwinter Script Source
#include "x2_inc_cutscene"

int CUTSCENE_NUMBER = 81; :drag:

void CallSetStatus(int nCutscene, object oObject, int nVal)
{
    if(nCutscene == GetLocalInt(oObject, "nCutsceneNumber"))
    {
        SetLocalInt(oObject, "STATUS", nVal);
    }
}

void CutSetStatus(float fDelay, object oObject, int nVal)
{
    int nCutscene = GetActiveCutsceneNum();
    fDelay = CutCalculateCurrentDelay(fDelay, nCutscene);
    DelayCommand(fDelay, CallSetStatus(nCutscene, oObject, nVal));
}

void CallSetAppearance(int nCutscene, object oObject)
{
    if(nCutscene == GetLocalInt(oObject, "nCutsceneNumber"))
    {
        SetCreatureAppearanceType(oObject, APPEARANCE_TYPE_SKELETON_COMMON);
    }
}

void CutSetAppearance(float fDelay, object oObject)
{
    int nCutscene = GetActiveCutsceneNum();
    fDelay = CutCalculateCurrentDelay(fDelay, nCutscene);
    DelayCommand(fDelay, CallSetAppearance(nCutscene, oObject));
}
void main()
{
//Dalee IDUT OBJECTA+++++++++++WGR WRG WRG FOREVA+++++++++++++++++++++++++++++++
    object oWP = GetWaypointByTag("GARIC_SUDA");
    object oWP1 = GetWaypointByTag("1");
    object oWP2 = GetWaypointByTag("2");
    object oWP3 = GetWaypointByTag("3");
    object oGlvWP = GetWaypointByTag("Boss");
    object oPC = GetPCSpeaker();
    object oNPC = GetObjectByTag("DRUG");
    object oCasic = GetObjectByTag("CASIC");
    object oCamera1 = GetWaypointByTag("Camera_1");
    object oCamera2 = GetWaypointByTag("Camera_2");
    object oCamera3 = GetWaypointByTag("Camera_3");
//Effect visual effect=========================================================
    effect eVis = EffectVisualEffect(VFX_FNF_IMPLOSION);
    effect eVis2 = EffectVisualEffect(VFX_FNF_LOS_EVIL_20);
    effect eGlavWP = EffectVisualEffect(VFX_IMP_HARM);
    SetLocalInt(oCasic, "STATUS", 1);
    CutSetActiveCutscene(CUTSCENE_NUMBER, CUT_DELAY_TYPE_CUMULATIVE);
    CutSetActiveCutsceneForObject(oPC, CUTSCENE_NUMBER, TRUE);
    CutSetActiveCutsceneForObject(oNPC, CUTSCENE_NUMBER);
    CutSetActiveCutsceneForObject(oCasic, CUTSCENE_NUMBER);
    CutFadeOutAndIn(0.0, oPC, 2.5);
    CutSetCutsceneMode(1.0, oPC, TRUE, TRUE, TRUE, TRUE);
    CutSetLocation(0.0, oPC);
    CutSetCamera(0.0, oPC, CAMERA_MODE_TOP_DOWN, 0.0, 10.0, 100.0, CAMERA_TRANSITION_TYPE_SNAP);
    // Camera zooms on the scout
    CutJumpToObject(1.0, oPC, oCamera1);
    CutSetCamera(0.2, oPC, CAMERA_MODE_TOP_DOWN, 0.0, 10.0, 65.0, CAMERA_TRANSITION_TYPE_SLOW);
    // scout's first line...
    CutActionStartConversation(2.0, oCasic, oCasic, "soul");
    CutPlayAnimation(1.0, oCasic, ANIMATION_LOOPING_TALK_FORCEFUL, 3.0);
    CutActionMoveToObject(1.0, oNPC, oNPC, FALSE);
    CutSetStatus(2.5, oCasic, 2);
    // scout's second line...
    CutActionStartConversation(1.0, oCasic, oCasic, "soul");
    //CutPlayAnimation(1.0, oScout, ANIMATION_LOOPING_TALK_LAUGHING, 5.0);
    CutActionMoveToObject(0.0, oNPC, oNPC, FALSE);
    CutSetStatus(4.0, oCasic, 3);
    // scout hears the sound
    CutActionStartConversation(1.0, oCasic, oCasic, "soul");
    CutSetFacingPoint(3.0, oCasic, GetTag(oNPC));
    CutSetMusic(0.0, oPC, TRACK_BATTLE_ARIBETH);
    CutSetStatus(0.0, oCasic, 4);
    CutSetCamera(0.0, oPC, CAMERA_MODE_TOP_DOWN, 0.0, 10.0, 40.0, CAMERA_TRANSITION_TYPE_MEDIUM);
    // pray in elven...
    CutActionStartConversation(1.5, oCasic, oCasic, "soul");
    CutPlayAnimation(1.2, oNPC, ANIMATION_LOOPING_SPASM, 6.0);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis,oNPC);
    CutActionStartConversation(1.0, oNPC, oNPC, "oii");
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis2,oNPC);
    CutActionStartConversation(1.0, oNPC, oNPC, "oii2");
    CutPlaySound(0.0, oPC, "vs_favhen4m_dead");
    CutSetCamera(0.0, oPC, CAMERA_MODE_TOP_DOWN, 0.0, 16.0, 17.0, CAMERA_TRANSITION_TYPE_VERY_FAST);
    CutPlaySound(0.5, oPC, "vs_favhen5m_dead");
    CutSetCamera(1.5, oPC, CAMERA_MODE_TOP_DOWN, 0.0, 16.0, 20.0, CAMERA_TRANSITION_TYPE_VERY_FAST);
    CutPlaySound(0.5, oPC, "vs_favhen4m_dead");
    CutSetAppearance(0.0, oNPC);
    CutSetCamera(1.0, oPC, CAMERA_MODE_TOP_DOWN, 90.0, 6.0, 5.0, CAMERA_TRANSITION_TYPE_VERY_FAST);
    CutFadeOutAndIn(3.0, oPC, 2.5);
    CutAdjustReputation(0.0, oCasic, oPC, -50);
    CutAdjustReputation(0.0, oPC, oCasic, -50);
//Escho camera=================================================================
    CutJumpToObject(1.0, oPC, oCamera2);
    CutSetCamera(0.2, oPC, CAMERA_MODE_TOP_DOWN, 0.0, 10.0, 65.0, CAMERA_TRANSITION_TYPE_SLOW);
    CutDisableCutscene(CUTSCENE_NUMBER, 1.0, 1.0);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis2,oWP1);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis2,oWP2);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis2,oWP3);
    CutSetCamera(0.3, oPC, CAMERA_MODE_TOP_DOWN, 12.0, 10.0, 65.0, CAMERA_TRANSITION_TYPE_SLOW);
    ActionWait(1.7);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis2,oWP1);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis2,oWP2);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis2,oWP3);
    CutSetCamera(0.4, oPC, CAMERA_MODE_TOP_DOWN, 0.0, 10.0, 5.0, CAMERA_TRANSITION_TYPE_SLOW);
    ActionWait(2.7);
    CutActionStartConversation(1.0, oNPC, oNPC, "oii3");
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis2,oWP1);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis2,oWP2);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis2,oWP3);
    CutActionStartConversation(1.0, oNPC, oNPC, "oii4");
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eGlavWP,oGlvWP);
//============================================================================== :drag:

}


ПОМОГИТЕ!!!!!!!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 19 2005, 23:35
Сообщение #554


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



DelayCommand(5.0, EffectDamage(owp8,DAMAGE_TYPE_FIRE));

effect EffectDamage(int nDamageAmount,int nDamageType = DAMAGE_TYPE_MAGICAL,int nDamagePower = DAMAGE_POWER_NORMAL);

а у тебя что?
EffectDamage(object owp8,int nDamageType = AMAGE_TYPE_FIRE,int nDamagePower = DAMAGE_POWER_NORMAL);

из-за этого и не будет компилистья. (несоотв типов параметров функции)

Далее, само действие. Ты на 5 секунд задерживаешь непонятно какую команду.
EffectDamage не накладывает эффект, а создает его, соотв возвращая effect. Конструкция DelayCommand(5.0, Effect***(..)); - БРЕД.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Jan 19 2005, 23:49
Сообщение #555


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

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



QUOTE
DelayCommand(5.0, Effect***(..)); - БРЕД.

Так понятно значит в этом ошибка хорошо. :yes:
У меня вот вопрос почему невыходит музыка
Neverwinter Script Source
CutSetMusic(0.0, oPC, TRACK_BATTLE_ARIBETH);

И камеры не запускаются.
и если я исправлю эту тупость получится?
Neverwinter Script Source
EffectDamage(object owp8,int nDamageType = AMAGE_TYPE_FIRE,int nDamagePower = DAMAGE_POWER_NORMAL);
:crazy:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 19 2005, 23:56
Сообщение #556


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



если тебе нужно наложение эффекта повреждений, то схема такая:
Neverwinter Script Source
effect DMG = EffectDamage(20, DAMAGE_TYPE_FIRE,  DAMAGE_POWER_NORMAL);
ApplyEffectToObject(DURATION_TYPE_INSTANT,DMG,oPC);


приспосабливай к твоим требованиям.

CutSetMusic() - я такой функции не знаю. В СоУ такой нет.

Может быть она из библы "x2_inc_cutscene". Надо там смотреть, что почем. И камера тоже оттуда скорее всего.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Jan 20 2005, 00:04
Сообщение #557


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

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



QUOTE
если тебе нужно наложение эффекта повреждений, то схема такая:

Neverwinter Script Source
effect DMG = EffectDamage(20, DAMAGE_TYPE_FIRE,  DAMAGE_POWER_NORMAL);
ApplyEffectToObject(DURATION_TYPE_INSTANT,DMG,oPC);



приспосабливай к твоим требованиям.

CutSetMusic() - я такой функции не знаю. В СоУ такой нет.

Может быть она из библы "x2_inc_cutscene". Надо там смотреть, что почем. И камера тоже оттуда скорее всего


ВОТ СПАСИБО LEX ПОМОГ ТАК ПОМОГ БУДУ ДОЛЖЕН!!!
Добавлено в [mergetime]1106168773[/mergetime]
Мне очень нравится этот скрипт оцените
разговариваеш с НПК вдрук рас появляется чувак. :good:
Neverwinter Script Source
void main()
{


    effect eVis = EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE);
    location lLoc = GetLocation(GetNearestObjectByTag("WP_Mor"));
    object oMor = CreateObject(OBJECT_TYPE_CREATURE,"mor1",lLoc,TRUE);
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_2),lLoc);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis,oMor);
    }
далее начинает разговаривать чувак который появился, mor1 это фракция в политре.И
и вдрук появляется второй
Neverwinter Script Source
{


    effect eVis = EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE);
    location lLoc = GetLocation(GetNearestObjectByTag("WP_Mor2"));
    object oMor = CreateObject(OBJECT_TYPE_CREATURE,"mor2",lLoc,TRUE);
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_2),lLoc);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis,oMor);

    }

идет разговор и эти два злых чувака забирают бедного НПК с собой в Ад. ЗаконДиалог СовершДейств

Neverwinter Script Source
//::///////////////////////////////////////////////
//:: ZABRAT V AD
//:: Copyright © 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*

*/

//:://////////////////////////////////////////////
//:: Created By: JA
//:: Created On: December
//:://////////////////////////////////////////////

void main()
{
    object oNPC = OBJECT_SELF;
    object oNPC2 = GetObjectByTag("DEMON_2");
    object oNPC3 = GetObjectByTag("DEMON_3");
    effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_CELESTIAL);
    effect eVis2 = EffectVisualEffect(VFX_IMP_HARM);
    effect eVis3 = EffectVisualEffect(VFX_IMP_HARM);
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetLocation(OBJECT_SELF));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis2, GetLocation(oNPC2));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis3, GetLocation(oNPC3));
    DestroyObject(OBJECT_SELF,3.0);
    DestroyObject(oNPC2,3.0);
    DestroyObject(oNPC3,3.0);
    SetCommandable(FALSE);
}

И все в троем телепортируются в Ад и идет задание спасти НПК!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Falcon
сообщение Jan 20 2005, 01:07
Сообщение #558


Level 4
**

Класс: Теневой Танцор
Характер: Neutral Evil
Раса: Полуэльф



незнаю офтоп или нет но со скриптамисвязанно хоть и косвенно(заранее сори)
может кто видел готовые скрипт на ваулте связанныве спродажей недвиги, и наем нпц в качестве продавца ?? сам я не напишу такого еще долго :( может ктоточтотопохожее встречал ?.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 20 2005, 11:18
Сообщение #559


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Если хочешь написать кому нибудь скрипт напиши мне несколько :D

QUOTE
скрипт райз дэд с штрафом на опыт 150 и на резурект соответсвенно

QUOTE
ограничить каст Тайм Стопа одним разом за отдых

Сколько не мучался и не старался самаму написать не получилось :this:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 20 2005, 19:57
Сообщение #560


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Лито.
1. По идее добавка к скрипты спелла штрафа на экспу. Это всего-то одна строка.
2. Можно через локалку сделать на ПС. И снимать ее в конце отдыха.



Nokoll, выдавать чужие скрипты за свои - как минимум дурной тон. На будущее..
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Jan 20 2005, 20:35
Сообщение #561


Level 8
***

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



Lex почему не компилируется???? По идее должны эффекты класться одновременно, если время одно и то же
Добавлено в [mergetime]1106242631[/mergetime]
ой, не посмотрел, что дальще есть посты.... :hi:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Jan 20 2005, 22:19
Сообщение #562


Пушкин
Иконки Групп

Класс: Обыватель
Характер: Chaotic Neutral
Раса: Гигант
NWN: Тексты



Так... скриптописательство зашло в тупик. Помогите составить скриптик. Суть наглядно:

(Диалог с предметом, волшебной палочкой)

Попробовать выстрелить огненным шаром.

Щёлкаем на этом варианте. Изменяется показатель chargesleft на -1. Кроме того:

ИЛИ 20% шанс, что:

(Если chargesleft > 0, то

Палочка взрывается у вас в руках

Если chargesleft = 0, то

Палочка молчит, вы истратили все заряды)

ИЛИ 80% шанс, что:

Из набалдашника вылетает огненный колобок.

Как сделать?

Сообщение отредактировал Chimeric - Jan 20 2005, 22:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 20 2005, 22:27
Сообщение #563


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



так...поехали...куда что летит?

дальше.
сколько зарядов: GetItemCharges(тут твой айтем);
SetItemCharges(object, int) - через это можно сделать на Х меньше.
d100(1)<=20 - 20% вероятность
d100(1)>=20 - 80% вероятность

Тут я бы сдела так:

onActivate
Neverwinter Script Source
if (GetTag(oItem)=="ITM_ROD_CHIMERIC")
   {
   SetLocalObject(oActivator,"ACTIVITEM",oItem);
   AssignCommand(oActivator,ActionStartConversation(oActivator,"rod_chimeric"));
   }


в диалоге

Neverwinter Script Source
void main()
{
object oRod = GetLocalObject(GetPCSpeaker(),"ACTIVITEM");
int iCharges = GetItemCharges(oRod);
if (iCharges==0) return;
if (Random(100)<=20)
   {
   тут взрыв скриптуй
   }
else
   {
   тут все остальное
   }
SetItemCharges(oRod, iCharges-1);
}


Сделай Жезл:
- бесконечное кол-во использований раз / день



Для откскриптовки огненого удара можно использовать это:
Neverwinter Script Source
/// Get Random Location.
/// BAAL, -=WRG!=- Team
location RandomLocation(object oTarget, float fRadius, int iLine = TRUE)
{
if(!iLine)
fRadius=IntToFloat(Random(FloatToInt(fRadius)));
float iXO=VectorMagnitude(GetPosition(oTarget))*cos(VectorToAngle(GetPosition(oTarget)));
float iYO=VectorMagnitude(GetPosition(oTarget))*sin(VectorToAngle(GetPosition(oTarget)));
float fRndomAngle=IntToFloat(Random(360));
location lNewLoc=Location(GetArea(oTarget),Vector(iXO+fRadius*cos(fRndomAngle), iYO+fRadius*sin(fRndomAngle)), 360.0);
return lNewLoc;
}

и функцию
Neverwinter Script Source
ActionCastFakeSpellAtLocation(int, location, int)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Jan 21 2005, 08:23
Сообщение #564


Пушкин
Иконки Групп

Класс: Обыватель
Характер: Chaotic Neutral
Раса: Гигант
NWN: Тексты



Да, вот и конец задумке... :vava: До всего этого мне пилить ещё годы. Забудь ты, собственно, об огненном шаре, это так, пример, теоретически, простой... На самом деле нужно, чтобы в рюкзаке у персонажа появлялось зелье определённого типа. Это скрипт для алхимического агрегата с ограниченным числом зарядов. Всегда тратится один заряд, шанс успеха 80%, при провале, коли остались ещё заряды, то сообшение 1, а коли нет, то 2.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 21 2005, 09:59
Сообщение #565


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Lex За локалку спасибо, а вот со штрафом я не понимаю :drag: если там одна строка может скажешь какая?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jan 21 2005, 10:27
Сообщение #566


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

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



QUOTE (Chimeric @ Jan 21 2005, 11:23)
Да, вот и конец задумке...  До всего этого мне пилить ещё годы.

Не вешай нос ;) Научишься! Только не забрасывай а пробуй с маленького и тянись к большому :D

то All: Господа, готовые скрипты выкладывайте в топик соответствующий. Не думайте что они не нужны и прочее. Их читают и ими пользуются новички. Мэтры сами пишут себе. Так что делитесь опытом со своими товарищами.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 21 2005, 10:34
Сообщение #567


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Поставил переменную на игрока, хочу сделать так чтобы перед тем как применить эффект ТС проверялась переменная, если она доступна то return и ТС не действуетъ, но как сделать проверку? И в скрипте отдыха сделать уничтожение int lNonCast-а.
Neverwinter Script Source
#include "x2_inc_spellhook"

void main()
{
  int lNonCast;
    object oPC = GetLastSpellCaster();
    if (!X2PreSpellCastCode())
    {
   
        return;
    }

 


    location lTarget = GetSpellTargetLocation();
    effect eVis = EffectVisualEffect(VFX_FNF_TIME_STOP);
    effect eTime = EffectTimeStop();
    int nRoll = 1 + d4();
    SetLocalInt(oPC, "lNonCast", lNonCast);


    SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, SPELL_TIME_STOP, FALSE));

      DelayCommand(0.75, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eTime, OBJECT_SELF, 9.0));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, lTarget);
}


И еще добавил в скрипт резуректа и райза такую строку
Neverwinter Script Source
object oTarget = GetSpellTargetObject();
GiveXPToCreature(oTarget, -150 * GetHitDice(oTarget));


Сообщение отредактировал Лито - Jan 21 2005, 10:38
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
K.SpecTr
сообщение Jan 21 2005, 11:07
Сообщение #568


Level 10
***

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



Neverwinter Script Source
void main()
{
// int lNonCast; - висит на игроке
    object oPC = GetLastSpellCaster();
    int iNonCast=GetLocalInt(oPC, sVarName);
    if (!X2PreSpellCastCode())
    {
          return;
    }
    if (iNonCast==1)
    {
      return FALSE;
    }
    SetLocalInt(oPC, sVarName, 1);
//....
// Дальше как и было.

Переменную надо обнулить при отдыхе
Neverwinter Script Source
SetLocalInt(oPC, sVarName, 0);

Вроде так.
Добавлено в [mergetime]1106294919[/mergetime]
P.S. Cтроку sVarName описать забыл.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 21 2005, 12:34
Сообщение #569


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Neverwinter Script Source
{
      return FALSE;
}

С False не компилировалось, убрал теперь работает как надо. Если честно я даже не понимаю зачем FALSE нужен :xz:
А вообще спасибо, теперь я умею с локалками хоть чуть чуть работать :good:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
K.SpecTr
сообщение Jan 21 2005, 12:57
Сообщение #570


Level 10
***

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



Не компилировалось, потому что функция
Neverwinter Script Source
void main()

void не имеет кода возврата :sorry:.

Сообщение отредактировал K.SpecTr - Jan 21 2005, 12:58
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 21 22 23 24 25 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 8th July 2025 - 16:22