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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 21 22 23 24 25 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
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
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 21 2005, 13:06
Сообщение #571


Level 9
***

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



Мне кажется надо поставить проверку на 0 или 1 раньше потому что игрок начинает кастовать ТС и тут же может сделать еще один беспрепятственно. То есть это проверка начинает как только заканчивается, даже не ТС, а визуальный эффект ТСа.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
K.SpecTr
сообщение Jan 21 2005, 13:22
Сообщение #572


Level 10
***

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



Как так может? В моем варианте переменная меняется сразу после проверки и до эффектов, как таковых.
QUOTE (Лито @ Jan 21 2005, 10:34)
Neverwinter Script Source
   SetLocalInt(oPC, "lNonCast", lNonCast);

А вот этой строки уже не надо, тем более что меняется переменная на чаре с 0 на 1, но iNonCast остается равной нулю.
Если строку не убрать, то она восстанавливает переменную обратно: с 1 на 0.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 21 2005, 20:57
Сообщение #573


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

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



QUOTE (Лито @ Jan 21 2005, 09:59)
а вот со штрафом я не понимаюесли там одна строка может скажешь какая?


Neverwinter Script Source
SetXP(oPC,GetXP(oPC)-РАЗМЕР ШТРАФА);


<small>Добавлено в 20:59</small>
Chimeric, ты конкретную задачу напиши, я тебе конкретный скрипт дам. Чтобы разобрался что да как и дальше уже сам дописывал, что надо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Csardas
сообщение Jan 22 2005, 04:07
Сообщение #574


Level 1


Класс: Некромант
Характер: Neutral Evil
Раса: Человек



Народ помогайте дайте скриптик, мне очень нужно чтобы НПК дерется с тобой и когда он будет присмерти начел разговор с РС помогите.
Добавлено в [mergetime]1106356461[/mergetime]
QUOTE
Nokoll, выдавать чужие скрипты за свои - как минимум дурной тон. На будущее..

Ты про кокой скрипт говориш все скрипты что сдесь я писал сам! :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jan 22 2005, 08:12
Сообщение #575


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

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



QUOTE (Csardas @ Jan 22 2005, 07:07)
Народ помогайте дайте скриптик, мне очень нужно чтобы НПК дерется с тобой и когда он будет присмерти начел разговор с РС помогите.

Neverwinter Script Source
//:://////////////////////////////////////////////
//:: Copyright © 2004 WRG!  www.wrg.ru
//:: Name: oud_am_warrord
//:://////////////////////////////////////////////
/*
  UserDefined -
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan    Aiwan@e-mail.ru
//:: Created On: 26.02.2004
//:://////////////////////////////////////////////
void main()
{
int nEvent = GetUserDefinedEventNumber();
//======================= DAMAGED EVENT 1006 ===================================
if (nEvent == 1006)
  {
  object oPC = GetLastDamager();
  object oHench = GetHenchman(oPC);
  object oWord = OBJECT_SELF;
  int iCurHP = GetCurrentHitPoints(OBJECT_SELF); // в данный момент НР
  int iMaxHP = GetMaxHitPoints(OBJECT_SELF); // Макс. число НР
  int iD;
//==============================================================================
  if (!GetIsPC(oPC) || !GetLocalInt(oWord, "DO_IT"))
    {return;}
    int Class = GetClassByPosition(1, oPC);
//  В зависимости от класса будет нужно сделать сепуку НПС
//  чем больше "танк", тем больше НР ему надо забрать у НПС
    switch (Class)
      {
      case CLASS_TYPE_BARBARIAN:{iD = 200; break;}
      case CLASS_TYPE_BARD:{iD = 300; break;}
      case CLASS_TYPE_CLERIC:{iD = 250; break;}
      case CLASS_TYPE_DRUID:{iD = 300; break;}
      case CLASS_TYPE_FIGHTER:{iD = 200; break;}
      case CLASS_TYPE_MONK:{iD = 150; break;}
      case CLASS_TYPE_PALADIN:{iD = 200; break;}
      case CLASS_TYPE_RANGER:{iD = 250; break;}
      case CLASS_TYPE_ROGUE:{iD = 300; break;}
      case CLASS_TYPE_SORCERER:{iD = 300; break;}
      case CLASS_TYPE_WIZARD:{iD = 300; break;}
      }

  if (GetIsPC(oPC) && ((iMaxHP - iD) >= iCurHP))
  {
  SetLocalInt(oWord, "DO_IT", TRUE);
  AssignCommand(oPC, ClearAllActions());
  AssignCommand(oHench, ClearAllActions());
  AssignCommand(oWord, ClearAllActions());
//------------------------------------------------------------------------------
// Чистим персональную репу  друг другу
  location lClose = GetLocation(GetObjectByTag("CLOSE_ARENA")); //Скрыт.арена Aiwan'a
  object oNeutral = GetObjectByTag("AM_TRUE_NEUTRAL"); // НПС с нейтрал
  ChangeFaction(oWord, oNeutral);  // Смена фракции
  ClearPersonalReputation(oWord, oPC); // КТО СТАРОЕ ПОМЯНЕТ...!  =)
  ClearPersonalReputation(oPC, oWord); // КТО СТАРОЕ ПОМЯНЕТ...!  =)
  ClearPersonalReputation(oWord, oHench); // КТО СТАРОЕ ПОМЯНЕТ...!  =)
  ClearPersonalReputation(oHench, oWord); // КТО СТАРОЕ ПОМЯНЕТ...!  =)
//------------------------------------------------------------------------------
  AssignCommand(oWord, ActionDoCommand(SetFacingPoint(GetPosition(oPC))));
  AssignCommand(oWord, ActionStartConversation(oPC));
// DelayCommand(0.5, ExecuteScript("am_scen", oPC));
  }
  }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



Текстовая версия Сейчас: 30th April 2025 - 08:41