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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 104 105 106 107 108 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
r1Stranger
сообщение Nov 18 2006, 13:45
Сообщение #2616


Level 4
**

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



Прет всем, сори за вмешательство.
По отдыху: а нельзя ли геру при вхождении в триггер местности отдыха присваивать ТРУЕ (IMG:style_emoticons/kolobok_light/crazy.gif) , а после отбытия ФАЛЬСЕ (IMG:style_emoticons/kolobok_light/crazy.gif) ? А в свойствах мода OnRest проверять этот параметр если он ФАЛЬСЕ, то прерывать?

А вообще такой вопрос? Как сделать, чтобы в скриптах взрывов (баллиста, катапульта, мины) при определении цели учитывалась геометрия местности - чтоб файрболы не летели сквозь стены. Когда создаешь локацию - там же в скриптах нет никакой проверки на геометрию местности - и она может вполне создасться внутри стены или внутри холма и там все и взорвется...Как то нехорошо...Нет ли че-нить учитывающего это?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Neo
сообщение Nov 18 2006, 13:57
Сообщение #2617



Иконки Групп

Класс: Пьяный Мастер
Характер: Lawful Good
Раса: Тварь
MySQL, PHP, JavaScript
Порядок Времени



а в локациях, где возможно прерывание отдыха с какой-то вероятностью, присваивать почти true (IMG:style_emoticons/kolobok_light/crazy.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
r1Stranger
сообщение Nov 18 2006, 14:26
Сообщение #2618


Level 4
**

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



QUOTE(NeoJSmith @ Nov 18 2006, 14:57) [snapback]98428[/snapback]

а в локациях, где возможно прерывание отдыха с какой-то вероятностью, присваивать почти true (IMG:style_emoticons/kolobok_light/crazy.gif)


не тупи (IMG:style_emoticons/kolobok_light/crazy.gif) (IMG:style_emoticons/kolobok_light/crazy.gif) (IMG:style_emoticons/kolobok_light/crazy.gif) (IMG:style_emoticons/kolobok_light/crazy.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Nov 18 2006, 16:04
Сообщение #2619


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

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



QUOTE(r1Stranger @ Nov 18 2006, 14:26) [snapback]98429[/snapback]
не тупи

если ты не понимаешь ничего в многозначной логике, это не значит, что ее нет.
зы: это была шутка, если плохо доходит (IMG:style_emoticons/kolobok_light/smile.gif)


QUOTE(r1Stranger @ Nov 18 2006, 13:45) [snapback]98427[/snapback]
По отдыху: а нельзя ли геру при вхождении в триггер местности отдыха присваивать ТРУЕ (IMG:style_emoticons/kolobok_light/crazy.gif) , а после отбытия ФАЛЬСЕ (IMG:style_emoticons/kolobok_light/crazy.gif) ? А в свойствах мода OnRest проверять этот параметр если он ФАЛЬСЕ, то прерывать?

так обычно и делают.
QUOTE(r1Stranger @ Nov 18 2006, 13:45) [snapback]98427[/snapback]
А вообще такой вопрос? Как сделать, чтобы в скриптах взрывов (баллиста, катапульта, мины) при определении цели учитывалась геометрия местности - чтоб файрболы не летели сквозь стены. Когда создаешь локацию - там же в скриптах нет никакой проверки на геометрию местности - и она может вполне создасться внутри стены или внутри холма и там все и взорвется...Как то нехорошо...Нет ли че-нить учитывающего это?

нормально проверить не сможешь. Ненормально тоже. Я взрывы делал в рандомной точке около расставленных поинтов, было нормально.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
r1Stranger
сообщение Nov 22 2006, 14:40
Сообщение #2620


Level 4
**

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



QUOTE(Lex @ Nov 18 2006, 17:04) [snapback]98434[/snapback]

нормально проверить не сможешь. Ненормально тоже. Я взрывы делал в рандомной точке около расставленных поинтов, было нормально.

Спасібо. Се, без флуда больше.
По взрывам. Еслі в скріптах геометрію местності нікак не проверіть - не подскажіте лі (хотя б прімерно) формулу полета ядра із катапульты. Чтоб через определенный шаг правільно проверять налічіе целі. А то вначале полета все норм (есі сам вперед катапульты во время выстрела сунешься, то взрыв все вокруг расхерачіт включая саму катапульту), а потом отклоенніе ідет.

А то очень хочется не по намеченным точкам стелять,перебірая іх, а в завісiмості от меткості стреляющего. (2стрелка/4 катапульты и локация 20/20 за 5 мин зачищена)


Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Nov 23 2006, 18:03
Сообщение #2621


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

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



за форумулой - тебе к физикам-кинетикам. Но вообще тут это и не нужно, ты задаешь тип движения (балистика) и цель. Меткость и прочие навыки можешь включить на уровне расчета радиуса отклонения от точки (чем стреляющий круче, тем меньше радиус и точнее выстрел). Расчитав радиус и взяв цель в качестве центра, расчитываешь случайную точку, куда в итоге полетит снаряд. И усе, вперед.
зы: есть ограничения в плане растояния полета, но я их уже на память не помню.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Nov 23 2006, 18:17
Сообщение #2622


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

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



формула полета ядра из катапульты: парабола, подробно см. глобальную школьную книжку "Алгебра".
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
r1Stranger
сообщение Nov 24 2006, 14:35
Сообщение #2623


Level 4
**

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



QUOTE(azathoth @ Nov 23 2006, 19:17) [snapback]98989[/snapback]

формула полета ядра из катапульты: парабола, подробно см. глобальную школьную книжку "Алгебра".

Спасибо. Буду все додумывать сам.
А по рандомным точкам все равно не хочется стрелять.
Проблема в чем - на плоскости все идет как надо - все зависит от наводки и меткости - куда направлю и как далеко заряжу туда и летит и там взрывается (IMG:style_emoticons/kolobok_light/crazy.gif) (IMG:style_emoticons/kolobok_light/crazy.gif) , тут чисто и без вопросов.
А ВОТ КОГДА идет штурм Форта - ядра сквозь стены летают (IMG:style_emoticons/kolobok_light/crazy.gif) (IMG:style_emoticons/kolobok_light/crazy.gif) Приколно смотрится. (IMG:style_emoticons/kolobok_light/crazy.gif) (IMG:style_emoticons/kolobok_light/crazy.gif) Но ето ладно - типа если в стену, значит не попал, а если на стене стрелок-защитник, то хотелось бы его в эту пораболу полета ядра и стовить, чтоб он как цель отмечался. А то локацию взрыва надо создавать в точке цели как никак.

ЗЫ Просто хочется штурм переходящих нейтральных (типа завоевал форт - и он за тебя) фортов красивше сделать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mamuc
сообщение Nov 24 2006, 14:45
Сообщение #2624


Лорд AxisTown'a
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Дварф
NWN: Маппинг



QUOTE
object oPC = GetFirstPC();

ммм а почему при ресие не используешь
// Get the last PC that has rested in the module.
object GetLastPCRested()

QUOTE
Пока так и не понял как разделить всё это на группы всмысле город, внешняя местность и дом.

ну я же писал - сделай просто свича с списком
1) лок которые у тя город
2) лок у которые у тя дома
а остальные автоматом у тя будет дикой местностью (IMG:style_emoticons/kolobok_light/biggrin.gif) .... вот примерно такой маленький инклюд
NSS
/////////////////////////////////////////
// Rest area base
// filename : ???????????
/////////////////////////////////////////

    struct stRestarea
{
    int nr;
    int type;
    int police
    string name;
    string tag;
};

///////////////////////////////////////
// type = 0 wild area (default)
// type = 1 gorod+ strazhnik
// type = 2 dom s krovatju
// police 1-99%
///////////////////////////////////////

struct stRestarea GetSpecRestArea(int nNr)
{
    struct stRestarea stA;
    stA.nr = nNr;
    switch (nNr)
    {
        case 1:
            stA.name = "gorod 1";
            stA.type = 1;
            stA.police = 50;
            stA.tag = "areatag1";
            break;
        case 2:
            stA.name = "gorod 2-centr";
            stA.type = 1;
            stA.police = 95;
            stA.tag = "areatag2";
            break;
        case 3:
            stA.name = "dom 1";
            stA.type = 2;
            stA.police = 0;
            stA.tag = "areatag3";
            break;
    }
    return stA;
}

int CheckSpecRestArea(string sAreatag)
{
    struct stRestarea stArea;
    int nSpecAreaCount = 3;
    int i, nRez;

    for (i=1;i<=nSpecAreaCount;i++)
    {
        stArea = GetSpecRestArea(i);
        if (sAreatag==stA.tag)
        {
            nRez = i;
        }
    }
    return nRez;
}


Сообщение отредактировал mamuc - Nov 24 2006, 14:49
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Nov 24 2006, 14:48
Сообщение #2625


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

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



ууу.. ну тут все немного похуже. Летит то она скорее всего по параболике, но параметры какие у функции никто кроме тварей не знает, хотя это не беда - можно расчитать по 2м точкам. (старт и финиш собсна). Потом делается анализ координат НПС по отношению к функции траектории полета (фактически нужно оценить длину нормали, опущенной из точки на параболику), и если он оказываются в опасной зоне (те нормаль меньше критического значения), происходит редирект с точки на данного несчастливого НПС. И все.. но заставить снаряд лететь как летел и сымитировать взрыв от ударв в НПС у тя не получится... те это можно но с таким допущением: снаряд полетит дальше, а вот сам взрыв будет у НПС.

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


-------------
Мамук, это жость... у тебя у лок всего 3 разных тэга? (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mamuc
сообщение Nov 24 2006, 15:35
Сообщение #2626


Лорд AxisTown'a
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Дварф
NWN: Маппинг



QUOTE
Мамук, это жость... у тебя у лок всего 3 разных тэга?

цэ пример (IMG:style_emoticons/kolobok_light/biggrin.gif) (сделаный на скорую руку)
...а такие свичи реально гораздо длинее (IMG:style_emoticons/kolobok_light/biggrin.gif)
человек, который это будет применять, сам допишет все свои спец локи, которые нужно .. и еще типы добавит скоко надо .. и структуру поменяет под свои нужды (IMG:style_emoticons/kolobok_light/moil.gif) (IMG:style_emoticons/kolobok_light/biggrin.gif)

Сообщение отредактировал mamuc - Nov 24 2006, 15:50
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Адонтос
сообщение Nov 26 2006, 11:09
Сообщение #2627


Level 3
*

Класс: Самурай
Характер: Neutral Evil
Раса: Человек



Не подскажите, есть ли скрипт не позволяющий сразу прыгнуть в локу как только загрузилась следующая? Тоесть прыгаеш в локу появляешся, но сразу-же обратно прыгнуть не можеш, а к примеру по истечении 6ти секунд.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Nov 26 2006, 11:48
Сообщение #2628


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

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



NSS
// ДЛЯ ДВЕРЕЙ И ТРИГГЕРОВ
void main()
{
object oPoint = GetTransitionTarget(OBJECT_SELF); // Точка перемещениЯ
object oPC = GetFirstPC(); // Наш ПС

if (GetLocalInt(oPC, "AREA_BLOK") == 1) return; // Выход из скрипта
AssignCommand(oPC, ClearAllActions()); // Чистим акции
AssignCommand(oPC,ActionJumpToObject(oPoint)); // Прыгаем в нужное место
}
// помещать в слот OnClick OnAreaTransitionClick
// если триггер, то поставить галку нет точки перемещения.

На вход области
NSS
void main()
{
  object oPC = GetEnteringObject();
  if (!GetIsPC(oPC)) return;
SetLocalInt(oPC,"AREA_BLOK",1);
DelayCommand(6.0, SetLocalInt(oPC,"AREA_BLOK",0));
}


Сообщение отредактировал gennady - Nov 26 2006, 16:03
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Адонтос
сообщение Nov 26 2006, 12:16
Сообщение #2629


Level 3
*

Класс: Самурай
Характер: Neutral Evil
Раса: Человек



Понял. Спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Адонтос
сообщение Nov 29 2006, 23:48
Сообщение #2630


Level 3
*

Класс: Самурай
Характер: Neutral Evil
Раса: Человек



Подскажите, можно ли проскриптить чтоб друид смог кастить в формах, или к примеру в одной форме?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
r1Stranger
сообщение Dec 4 2006, 14:48
Сообщение #2631


Level 4
**

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



QUOTE(Lex @ Nov 24 2006, 15:48) [snapback]99068[/snapback]

ууу.. ну тут все немного похуже. Летит то она скорее всего по параболике, но параметры какие у функции никто кроме тварей не знает, хотя это не беда - можно расчитать по 2м точкам. (старт и финиш собсна). Потом делается анализ координат НПС по отношению к функции траектории полета (фактически нужно оценить длину нормали, опущенной из точки на параболику), и если он оказываются в опасной зоне (те нормаль меньше критического значения), происходит редирект с точки на данного несчастливого НПС. И все.. но заставить снаряд лететь как летел и сымитировать взрыв от ударв в НПС у тя не получится... те это можно но с таким допущением: снаряд полетит дальше, а вот сам взрыв будет у НПС.

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



При стрельбе из баллисты - да, херня пока выходит. Но с катапультой у меня все получилось. Проводил испытательные стрельбы по двухуровневому замку. Все потенциальные противники успешно поражены. Полеты ядра при попаданиях нормальные (а если никого нет в локации, то то что заряд на высоте сквозь стену проходит - не беда! Не попал, значит!). При одноуровневом замке - и того проще. Попадание в стену разочарований больших не вызывает, а перелет - взрыв во дворе замка.

Вот мой скрипт на выстрел из катапульты:
(Формула горбатая, но зато выведенная эксперементальным путем. И можно улучшить при желании.)

NSS
#include "cat_damage"
void main()
{
    object oCurrentArea = GetArea(OBJECT_SELF);
    object oPC = GetPCSpeaker();
    object oBomber = GetLastUsedBy();
    vector vCurrentPosition = GetPosition(OBJECT_SELF);
    float fCurrentFacing = GetFacing(OBJECT_SELF);
  /*int iRange = GetLocalInt(OBJECT_SELF,"Range");*/
    float varz = 0.5;
    SetLocalInt(OBJECT_SELF,"high",FloatToInt(varz));
    if (fCurrentFacing > 360.0)
    {
        fCurrentFacing = 720 - fCurrentFacing;
    }
/* ActionWait(10.0);*/
    int iRange = 0;
    SetLocalInt(OBJECT_SELF,"line",iRange);
    vector vDelta;
    vDelta.x = cos(fCurrentFacing) * iRange;
    vDelta.y = sin(fCurrentFacing) * iRange;
    vDelta.z = varz;

    vector vImpact;
    vImpact.x = vCurrentPosition.x + vDelta.x;
    vImpact.y = vCurrentPosition.y + vDelta.y;
    vImpact.z = vDelta.z;

    vector vImpact1 = vImpact;

    location lImpact = Location(oCurrentArea, vImpact, fCurrentFacing);
    object oTarget = GetFirstObjectInShape(SHAPE_SPHERE,6.0,lImpact,TRUE,OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_CREATURE);
    if (GetIsObjectValid(oTarget))
    {
    if (GetDistanceToObject(oTarget)<=6.5 || GetIsDead(oTarget))
    {
      oTarget = OBJECT_INVALID;
    }
    }
    while (oTarget==OBJECT_INVALID && iRange < GetLocalInt(OBJECT_SELF,"Range") && LineOfSightVector(vImpact1,vImpact)==TRUE && GetLocalInt(OBJECT_SELF,"high")>=0)
    {
      iRange = GetLocalInt(OBJECT_SELF,"line")+2;
      SetLocalInt(OBJECT_SELF,"line",iRange);
      if (FloatToInt(iRange * 1.66) <= GetLocalInt(OBJECT_SELF,"Range"))
      {
      varz = GetLocalInt(OBJECT_SELF,"high")+1.9;
      SetLocalInt(OBJECT_SELF,"high",FloatToInt(varz));
      }
      else
      {
        if (FloatToInt(iRange * 1.5) <= GetLocalInt(OBJECT_SELF,"Range"))
        {
        varz = IntToFloat(GetLocalInt(OBJECT_SELF,"high"));
        SetLocalInt(OBJECT_SELF,"high",FloatToInt(varz));
        }
        else
        {
        varz = GetLocalInt(OBJECT_SELF,"high")-3.2;
        if (varz<0.3)
        {
          varz =0.3;
        }
        SetLocalInt(OBJECT_SELF,"high",FloatToInt(varz));
        }
      }
      vector vDelta;
      vDelta.x = cos(fCurrentFacing) * iRange;
      vDelta.y = sin(fCurrentFacing) * iRange;
      vDelta.z = varz;

      vector vImpact;
      vImpact.x = vCurrentPosition.x + vDelta.x;
      vImpact.y = vCurrentPosition.y + vDelta.y;
      vImpact.z = vDelta.z;

      lImpact = Location(oCurrentArea, vImpact, fCurrentFacing);
      oTarget = GetNextObjectInShape(SHAPE_SPHERE,6.0,lImpact,TRUE,OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE | OBJECT_TYPE_CREATURE);
      if (GetIsObjectValid(oTarget))
      {
        if (GetDistanceToObject(oTarget)<=6.5 || GetIsDead(oTarget))
        {
        oTarget = OBJECT_INVALID;
        }
      }
    }
    if (oTarget != OBJECT_INVALID)
    {
    lImpact = GetLocation(oTarget);
    SpeakString("Цель в фокусе:"+GetName(oTarget),TALKVOLUME_TALK);
    }
    float fImpactDelay = IntToFloat(iRange)/12;
    effect eImpact = EffectVisualEffect(VFX_FNF_FIREBALL);
    effect eBump = EffectVisualEffect(VFX_FNF_SCREEN_BUMP);
    ActionCastFakeSpellAtLocation(SPELL_FIREBALL, lImpact, PROJECTILE_PATH_TYPE_BALLISTIC);
    ActionWait(fImpactDelay);
    ActionDoCommand(ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, lImpact));
    ActionDoCommand(ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eBump, lImpact));
    DelayCommand(fImpactDelay,cDamage(lImpact,oBomber));
}

Инклуд - для функции cDamage(lImpact,oBomber).
Чтоб не загромождать не буду его писать. Если напишите - приведу потом. Его нетрудно и самим дописать как угодно.
Для настройки CurrentFacing и GetLocalInt(OBJECT_SELF,"Range") - свои несложные функции.

***К слову - все свершается через диалог и выстрел и повороты/регулировка дальности, вид ядер и тд

В догонку - тут еще проблемы! (IMG:style_emoticons/kolobok_light/crazy.gif) (IMG:style_emoticons/kolobok_light/crazy.gif) (IMG:style_emoticons/kolobok_light/crazy.gif)
Как ее (баллисту) установить и создать?? Что то CreateObject на заказные объекты не работает никак. А то все зря (IMG:style_emoticons/kolobok_light/vava.gif)

И еще: а как свои звуки вставлять в игру - куда копировать ресурсы?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Dec 4 2006, 16:25
Сообщение #2632


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

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



ну.. если тебе надо заранее поставить - то простов тулсете поставь (IMG:style_emoticons/kolobok_light/smile.gif) там в палитре думаю сам знаешь
А если динамически через скрипт делать, то CreateObject. Только предварительно ты создай свою балисту в палитре, с уникальным тэгом, рефом, закрепленными скриптами и диалогом. Н
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Адонтос
сообщение Dec 6 2006, 23:02
Сообщение #2633


Level 3
*

Класс: Самурай
Характер: Neutral Evil
Раса: Человек



Так некто подсказать не может, как можно зделать чтоб друид кастил в форме?

Сообщение отредактировал Адонтос - Dec 6 2006, 23:02
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
r1Stranger
сообщение Dec 16 2006, 12:17
Сообщение #2634


Level 4
**

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



QUOTE(Lex @ Dec 4 2006, 17:25) [snapback]99795[/snapback]

ну.. если тебе надо заранее поставить - то простов тулсете поставь (IMG:style_emoticons/kolobok_light/smile.gif) там в палитре думаю сам знаешь
А если динамически через скрипт делать, то CreateObject. Только предварительно ты создай свою балисту в палитре, с уникальным тэгом, рефом, закрепленными скриптами и диалогом. Н


А реф обязательно уникальный? Создал балисту со своим тегом и пробую создатоь - и ниче не получается. Что это может быть?
Скрипт создания такой:
void DelayCreate(int iType, string sRes, location lLoc)
{
CreateObject(iType, sRes, lLoc);
}
void main()
{
object oItem = GetItemActivated();
if (GetTag(oItem)=="catapult_unuseable")
{
object oBomber = GetItemActivator();
DestroyObject(oItem,1.0);
DelayCommand(2.0, DelayCreate(OBJECT_TYPE_PLACEABLE,"Catapult_my", GetLocation(oBomber)));
FloatingTextStringOnCreature("Собрана катапульта",oBomber,FALSE);
}
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Waromon
сообщение Dec 16 2006, 12:48
Сообщение #2635


Level 4
**

Класс: Некромант
Характер: Chaotic Evil
Раса: Нежить



To Адонтос, да скорее всего никак, ИМХО, это движковое, хотя... Возможно я ошибаюсь (IMG:style_emoticons/kolobok_light/pleasantry.gif)


To r1Stranger, насчет звуков;
- Формат WAV;
- Oбязательно Mono;
Запаковываем все в хак, подключаем выбераем нужные звуки. (IMG:style_emoticons/kolobok_light/smile.gif)

А по поводу катапульты;

QUOTE
DelayCommand(2.0, DelayCreate(OBJECT_TYPE_PLACEABLE,"Catapult_my", GetLocation(oBomber)));


Функция CreateObject, работает по ResRef'y, а он как известно не может начинатся с заглавной буквы. (IMG:style_emoticons/kolobok_light/wink3.gif)

Сообщение отредактировал Waromon - Dec 16 2006, 12:49
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Dec 16 2006, 12:50
Сообщение #2636


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

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



QUOTE(r1Stranger @ Dec 16 2006, 12:17) [snapback]100571[/snapback]
А реф обязательно уникальный?

Обязательно, или как невер поймет, какой из объектов создавать. Реф и не получится сделать не уникальным - тулс будет ругаться.
В CreateObject нада передавать именно реф, а не тэг (реф можно глянуть где-то в свойствах объекта).

Сообщение отредактировал azathoth - Dec 16 2006, 12:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Dec 16 2006, 14:32
Сообщение #2637


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

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



QUOTE(Waromon @ Dec 16 2006, 12:48) [snapback]100572[/snapback]
Функция CreateObject, работает по ResRef'y, а он как известно не может начинатся с заглавной буквы.

тем не менее в функции CreateObject можно писать реф и большими буквами - движок поймет. Там скорее всего встроена предварительная обработка строки, которая делает все буквы маленькими.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zik
сообщение Dec 21 2006, 22:42
Сообщение #2638


Level 4
**

Класс: Оборотень
Характер: Neutral Evil
Раса: Тварь



Никак не могу разобраться- у меня в модуле система трупов (игрок при смерти попадает на фугу, на месте остается тело которое можно воскресить и тп). Игрок может воскреситься на место смерти (т.е. к своему трупу). Если он так делает- все ок- тело исчезает, он появляется из фуги, но если после этого перезайти в игру, то рядом появляется мертвое тело (то есть ты сам можешь свой же труп взять). Как бы это устранить? (IMG:style_emoticons/kolobok_light/smile.gif)

Где не копался, найти не могу, какие скрипты показать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Dec 21 2006, 22:55
Сообщение #2639


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

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



я же вроде говорил Акселю в каком направлении смотреть. Там дело в том, что локалки при респе не все снимаются и связь игрок-труп нормально не сделана.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zik
сообщение Dec 21 2006, 23:31
Сообщение #2640


Level 4
**

Класс: Оборотень
Характер: Neutral Evil
Раса: Тварь



У меня сейчас нету к сожалению толковых скриптеров... (IMG:style_emoticons/kolobok_light/vava.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 104 105 106 107 108 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 1st May 2025 - 03:19