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

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

4 страниц V   1 2 3 > » 

Важно! Скрипты
minion
Отправлено: Jul 15 2005, 21:52


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Zirrex я хочу сделать кузнеца, который будет зачаровывать вещи за определенную плату. Нечто подобное есть в ХотУ. Но там не зачаровывает характеристики. Вот мне и пришла в голову идея. У меня не получается только зачарование Харизмы и проверка на уже зачарованный бонус (скажем +12 силы на мече).
Вот выкладываю весь инклуд:
Neverwinter Script Source
//::///////////////////////////////////////////////
//:: Name UpdateWeapon.nss
//:: Copyright DSS
//:://////////////////////////////////////////////
/*
        БИБЛИОТЕКА ДЛЯ УЛУЧШЕНИЯ ОРУЖИЯ
*/

//:://////////////////////////////////////////////
//:: Created By:  minion
//:: Created On:  july 2005
//:://////////////////////////////////////////////

//////////////////////////////////////////////////
//                CONSTANTS
//////////////////////////////////////////////////
const int CONST_ATTACK_BONUS = 19000;
const int CONST_KEEN = 19003;
const int CONST_TRUE_SEEING = 19005;
const int CONST_SPELL_RESISTANCE = 19006;
const int CONST_REGENERATION = 19007;
const int CONST_HASTE = 19002;
const int CONST_SPELL_IMMUNE_LEVEL = 18100;
const int CONST_ONHIT_PROPS = 18101;
const int CONST_VAMPIRIC_REGENERATION = 18102;
const int CONST_DARKVISION = 18103;
//////////////////////////////////////////////////
//              FUNCTIONS
//////////////////////////////////////////////////
/*
Вывод отладочного сообщения
*/

void debug (string sMes)
{
    object oPlayer = GetFirstPC ();
    SendMessageToPC (oPlayer, sMes);
}
/*
Function delete all temporary properties from item
*/

void RemoveTemporaryProperties (object oItem, int nDurType = DURATION_TYPE_TEMPORARY)
{
    itemproperty itemprop = GetFirstItemProperty (oItem);
    int nPropDurType;
    while (GetIsItemPropertyValid (itemprop))
    {
        nPropDurType = GetItemPropertyDurationType (itemprop);
        if (nPropDurType == nDurType) RemoveItemProperty (oItem, itemprop);
        itemprop = GetNextItemProperty (oItem);
    }
}
/*
Function return the new property of item
*/

itemproperty ReturnNewProperty (object oItem, int nProperty)
{
    object oPlayer = GetFirstPC ();
    itemproperty itemprop;
    int nCount, nSaveDC, nSpecial;
    if ((nProperty == IP_CONST_DAMAGETYPE_ACID) || (nProperty == IP_CONST_DAMAGETYPE_FIRE) || (nProperty == IP_CONST_DAMAGETYPE_COLD) || (nProperty == IP_CONST_DAMAGETYPE_ELECTRICAL))
    {
        nCount = GetLocalInt (oPlayer, "DAMAGE_BONUS");
        itemprop = ItemPropertyDamageBonus (nProperty, nCount);
    }
    else if ((nProperty == IP_CONST_DAMAGETYPE_MAGICAL) || (nProperty == IP_CONST_DAMAGETYPE_NEGATIVE) || (nProperty == IP_CONST_DAMAGETYPE_POSITIVE))
    {
        nCount = GetLocalInt (oPlayer, "DAMAGE_BONUS");
        itemprop = ItemPropertyDamageBonus (nProperty, nCount);
    }
    else if (nProperty == CONST_ATTACK_BONUS)
    {
        nCount = GetLocalInt (oPlayer, "COUNT");
        itemprop = ItemPropertyAttackBonus (nCount);
    }
    else if (nProperty == CONST_KEEN)
    {
        itemprop = ItemPropertyKeen ();
    }
    else if (nProperty == CONST_SPELL_RESISTANCE)
    {
        nCount = GetLocalInt (oPlayer, "SPELL_RESIST");
        itemprop = ItemPropertyBonusSpellResistance (nCount);
    }
    else if (nProperty == CONST_TRUE_SEEING)
    {
        itemprop = ItemPropertyTrueSeeing ();
    }
    else if (nProperty == CONST_REGENERATION)
    {
        nCount = GetLocalInt (oPlayer, "COUNT");
        itemprop = ItemPropertyRegeneration (nCount);
    }
    else if ((nProperty == IP_CONST_ABILITY_CHA) || (nProperty == IP_CONST_ABILITY_CON) ||
            (nProperty == IP_CONST_ABILITY_DEX) || (nProperty == IP_CONST_ABILITY_INT) ||
            (nProperty == IP_CONST_ABILITY_STR) || (nProperty == IP_CONST_ABILITY_WIS))
    {
        nCount = GetLocalInt (oPlayer, "COUNT");
        itemprop = ItemPropertyAbilityBonus (nProperty, nCount);
    }
    else if (nProperty == CONST_HASTE)
    {
        itemprop = ItemPropertyHaste ();
    }
/*
    else if (nProperty == CONST_SPELL_IMMUNE_LEVEL)
    {
        nCount = GetLocalInt (oPlayer, "COUNT");
        itemprop = ItemPropertyImmuneToSpellLevel (nCount);
    }
*/

    else if (nProperty == CONST_ONHIT_PROPS)
    {
        nSaveDC = GetLocalInt (oPlayer, "SAVE_DC");
        nSpecial = GetLocalInt (oPlayer, "SPECIAL");
        itemprop = ItemPropertyOnHitProps (nProperty, nSaveDC, nSpecial);
    }
    else if (nProperty == CONST_VAMPIRIC_REGENERATION)
    {
        nCount = GetLocalInt (oPlayer, "COUNT");
        itemprop = ItemPropertyVampiricRegeneration (nCount);
    }
    else // По умолчанию будет CONST_DARKVISION
    {
            itemprop = ItemPropertyDarkvision ();
    }
    return itemprop;
}
/*
Function removing matching properties from item
*/

void RemoveMatchingProperties (object oItem, int nType, int nSubType)
{
    itemproperty itemp = GetFirstItemProperty (oItem);
    while (GetIsItemPropertyValid (itemp))
    {
        if (GetItemPropertyType (itemp) == nType)
        {
            if (GetItemPropertySubType (itemp) == nSubType)
            {
                RemoveItemProperty (oItem, itemp);
            }
        }
        itemp = GetNextItemProperty (oItem);
    }
}
/*
Function check PC gold needed for service
*/

int GetGoldForService (int nServ)
{
    int nGoldNeed, nCount, nSaveDC, nSpecial;
    object oPlayer = GetFirstPC ();
    int nMN = GetLocalInt (oPlayer, "MN");
    if ((nServ == IP_CONST_DAMAGETYPE_ACID) || (nServ == IP_CONST_DAMAGETYPE_FIRE) || (nServ == IP_CONST_DAMAGETYPE_COLD) || (nServ == IP_CONST_DAMAGETYPE_ELECTRICAL))
    {
            nCount = GetLocalInt (oPlayer, "COUNT");
            nGoldNeed = nCount*nMN;
    }
    else if ((nServ == IP_CONST_DAMAGETYPE_MAGICAL) || (nServ == IP_CONST_DAMAGETYPE_NEGATIVE) || (nServ == IP_CONST_DAMAGETYPE_POSITIVE))
    {
            nCount = GetLocalInt (oPlayer, "COUNT");
            nGoldNeed = nCount*nMN;
    }
    else if (nServ == CONST_ATTACK_BONUS)
    {
            nCount = GetLocalInt (oPlayer, "COUNT");
            nGoldNeed = nCount*nMN;
    }
    else if (nServ == CONST_KEEN)
    {
            nGoldNeed = 70000;
    }
    else if (nServ == CONST_SPELL_RESISTANCE)
    {
            nCount = GetLocalInt (oPlayer, "SPELL_RESIST");
            nGoldNeed = nCount*nMN;
    }
    else if (nServ == CONST_TRUE_SEEING)
    {
            nGoldNeed = 70000;
    }
    else if (nServ == CONST_REGENERATION)
    {
            nCount = GetLocalInt (oPlayer, "COUNT");
            nGoldNeed = nCount*nMN;
    }
    else if ((nServ == IP_CONST_ABILITY_CHA) || (nServ == IP_CONST_ABILITY_CON) ||
            (nServ == IP_CONST_ABILITY_DEX) || (nServ == IP_CONST_ABILITY_INT) ||
            (nServ == IP_CONST_ABILITY_STR) || (nServ == IP_CONST_ABILITY_WIS))
    {
            nCount = GetLocalInt (oPlayer, "COUNT");
            nGoldNeed = nCount*nMN;
    }
    else if (nServ == CONST_HASTE)
    {
            nGoldNeed = 150000;
    }
/*
    else if (nServ == CONST_SPELL_IMMUNE_LEVEL)
    {
            nCount = GetLocalInt (oPlayer, "COUNT");
            nGoldNeed = nCount*nMN;
    }
*/

    else if (nServ == CONST_ONHIT_PROPS)
    {
            nSaveDC = GetLocalInt (oPlayer, "SAVE_DC");
            nSpecial = GetLocalInt (oPlayer, "SPECIAL");
            nGoldNeed = (nSaveDC + nSpecial) * nMN / 50;
    }
    else if (nServ == CONST_VAMPIRIC_REGENERATION)
    {
            nCount = GetLocalInt (oPlayer, "COUNT");
            nGoldNeed = nCount*nMN;
    }
    else // По умолчанию будет CONST_DARKVISION
    {
            nGoldNeed = 50000;
    }
    return nGoldNeed;
}
/*
Function add the new property to the item
*/

void AddNewProperty (object oItem, itemproperty itemp)
{
    int nType = GetItemPropertyType (itemp);
    int nSubType = GetItemPropertySubType (itemp);
    RemoveMatchingProperties (oItem, nType, nSubType);
    AddItemProperty (DURATION_TYPE_PERMANENT, itemp, oItem);
    debug ("costtable : " + IntToString (GetItemPropertyCostTable(itemp)));
    debug ("value : " + IntToString (GetItemPropertyCostTableValue (itemp)));
}
/*
Функция проверяет наличие свойства. Если такового
нет возвращает FALSE.
*/

int GetItemHasProperty (object oItem, itemproperty ip)
{
    itemproperty itemp = GetFirstItemProperty (oItem);
    while (GetIsItemPropertyValid (itemp))
    {
        if (GetItemPropertyType (itemp) == GetItemPropertyType (ip))
        {
            if (GetItemPropertySubType (itemp) == GetItemPropertySubType (ip))
            {
                return TRUE;
            }
        }
        itemp = GetNextItemProperty (oItem);
    }
    return FALSE;
}
/*
Функция возвращает бонус характеристики. Если такового
нет, то возвращает -1.
*/

int GetAbilityBonus (object oItem, int nAbility)
{
    int n;
    itemproperty itemp;
    for (n == 1; n < 13; n++)
    {
        itemp = ItemPropertyAbilityBonus (nAbility, n);
        if (GetItemHasProperty (oItem, itemp)) return TRUE;
    }
    return -1;
}

Найдете ошибки пишите.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #46147 · Ответов: 3670 · Просмотров: 702,608

Важно! Скрипты
minion
Отправлено: Jul 15 2005, 08:56


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Компилятор выдает мне ошибку: ОШИБКА: МНОГОКРАТНЫЙ СЛУЧАЙ ПОСТОЯННОГО УТВЕРЖДЕНИЯ В ПРЕДЕЛАХ ВЫКЛЮЧАТЕЛЯ в скрипте (место отмечено //*****):
Neverwinter Script Source
/*
Function return the new property of item
*/

itemproperty ReturnNewProperty (object oItem, int nProperty)
{
    object oPlayer = GetFirstPC ();
    itemproperty itemprop;
    switch (nProperty)
    {
        case IP_CONST_DAMAGETYPE_ACID:
        case IP_CONST_DAMAGETYPE_FIRE:
        case IP_CONST_DAMAGETYPE_COLD:
        case IP_CONST_DAMAGETYPE_ELECTRICAL:
        case IP_CONST_DAMAGETYPE_MAGICAL:
        case IP_CONST_DAMAGETYPE_NEGATIVE:
        case IP_CONST_DAMAGETYPE_POSITIVE:
        {
            int nDamBonus = GetLocalInt (oPlayer, "DAMAGE_BONUS");
            itemprop = ItemPropertyDamageBonus (nType, nDamBonus);
            break;
        }
        case CONST_ATTACK_BONUS:
        {
            int nCount = GetLocalInt (oPlayer, "COUNT");
            itemprop = ItemPropertyAttackBonus (nCount);
            break;
        }
        case CONST_KEEN:
        {
            itemprop = ItemPropertyKeen ();
            break;
        }
        case CONST_SPELL_RESISTANCE:
        {
            int nResist = GetLocalInt (oPlayer, "SPELL_RESIST");
            itemprop = ItemPropertyBonusSpellResistance (nResist);
            break;
        }
        case CONST_TRUE_SEEING:
        {
            itemprop = ItemPropertyTrueSeeing ();
            break;
        }
        case CONST_REGENERATION:
        {
            int nReg = GetLocalInt (oPlayer, "COUNT");
            itemprop = ItemPropertyRegeneration (nReg);
            break;
        }
        case IP_CONST_ABILITY_CHA: //*****
        case IP_CONST_ABILITY_CON:
        case IP_CONST_ABILITY_DEX:
        case IP_CONST_ABILITY_INT:
        case IP_CONST_ABILITY_STR:
        case IP_CONST_ABILITY_WIS:
        {
            int nCount = GetLocalInt (oPlayer, "COUNT");
            itemprop = ItemPropertyAbilityBonus (nProperty, nCount);
            break;
        }
        case CONST_HASTE:
        {
            itemprop = ItemPropertyHaste ();
            break;
        }
/*
        case CONST_SPELL_IMMUNE_LEVEL:
        {
            int nCount = GetLocalInt (oPlayer, "COUNT");
            itemprop = ItemPropertyImmuneToSpellLevel (nCount);
            break;
        }
*/

        case CONST_ONHIT_PROPS:
        {
            int nSaveDC = GetLocalInt (oPlayer, "SAVE_DC");
            int nSpecial = GetLocalInt (oPlayer, "SPECIAL");
            itemprop = ItemPropertyOnHitProps (nProperty, nSaveDC, nSpecial);
            break;
        }
        case CONST_VAMPIRIC_REGENERATION:
        {
            int nVampReg = GetLocalInt (oPlayer, "COUNT");
            itemprop = ItemPropertyVampiricRegeneration (nVampReg);
            break;
        }
        case ITEM_VISUAL_ACID:
        case ITEM_VISUAL_COLD:
        case ITEM_VISUAL_ELECTRICAL:
        case ITEM_VISUAL_EVIL:
        case ITEM_VISUAL_FIRE:
        case ITEM_VISUAL_HOLY:
        case ITEM_VISUAL_SONIC:
        {
            itemprop = ItemPropertyVisualEffect (nProperty);
            break;
        }
        case CONST_DARKVISION:
        {
            itemprop = ItemPropertyDarkvision ();
            break;
        }
    }
}

Ему не нравится что у меня слишком много case?
Добавлено в [mergetime]1121408064[/mergetime]
И еще. Пусть меч дает бонус силы +12. Могу я получить это +12 следующей ф-ей?
[NSS]
int GetAbilityBonus (object oItem, int nAbility)
{
itemproperty ip = GetFirstItemProperty (oItem);
while (GetIsItemPropertyValid (ip))
{
if (GetItemPropertyType (ip) == nAbility)
{
return GetItemPropertySubType (ip);
}
ip = GetNextItemProperty (oItem);
}
}
Добавлено в [mergetime]1121408138[/mergetime]
И еще. Пусть меч дает бонус силы +12. Могу я получить это +12 следующей ф-ей?
Neverwinter Script Source
int GetAbilityBonus (object oItem, int nAbility)
{
    itemproperty ip = GetFirstItemProperty (oItem);
    while (GetIsItemPropertyValid (ip))
    {
        if (GetItemPropertyType (ip) == nAbility)
        {
            return GetItemPropertySubType (ip);
        }
        ip = GetNextItemProperty (oItem);
    }
}
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #46113 · Ответов: 3670 · Просмотров: 702,608

minion
Отправлено: Jul 15 2005, 08:43


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Zirrex так я и определился. Просто очень спать хотелось вот и не дописал. За что сорри :sorry: .
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #46112 · Ответов: 3359 · Просмотров: 638,179

minion
Отправлено: Jul 15 2005, 08:32


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


dumbo а как я эти эффекты восстанавливать буду? Вешать на ПС локалки - слишком муторно.Можно проще? Хотелось чтобы абсолютно все эффекты.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #46110 · Ответов: 3359 · Просмотров: 638,179

minion
Отправлено: Jul 15 2005, 00:10


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Реально ли сделать, чтобы все магические эффект на игроке снимались, если он одевает проклятуюю вещь? И если да то какими функциями?
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #46104 · Ответов: 3359 · Просмотров: 638,179

minion
Отправлено: Jul 11 2005, 17:04


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Berserk здесь ты прав. Радует и то, что все больше и больше народу пытается делать модули. Правда на их создание уходит очень много времени. Чтож поделать. Приходится трудиться и трудиться. Побольше хороших людей и все будет хорошо!
  Форум: Главный Зал · Просмотр сообщения: #45965 · Ответов: 160 · Просмотров: 127,603

minion
Отправлено: Jul 10 2005, 22:41


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Berserk что правда то правда. Но все равно это не оправдание. Проекты умирают, а вы тут сидите. Марш делать модуль!!! :DB: Может объединяясь в команды можно будет хоть что-то исправить? Хотя наверное нет... Люди бывают разные...
  Форум: Главный Зал · Просмотр сообщения: #45912 · Ответов: 160 · Просмотров: 127,603

Важно! Скрипты
minion
Отправлено: Jun 29 2005, 12:42


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Malos вот тебе ссылка: тут
У меня тоже была такая идея и я переписал скрипт. Будут вопросы спрашивай через приват.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #45340 · Ответов: 3670 · Просмотров: 702,608

minion
Отправлено: Jun 28 2005, 01:23


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Проекту требуется скриптер. Писать в приват. Желательно проживание в Питере или области. Писать можно также Darkot`у.
  Форум: Главный Зал · Просмотр сообщения: #45262 · Ответов: 301 · Просмотров: 210,019

minion
Отправлено: Jun 28 2005, 01:05


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Вот вопрос: в файле ambientmusic нафига звездочки? Их для чего-то можно использовать? (пользуюсь примером выше)
CODE

66 86660 mus_x2fireplane **** **** **** ****
67 86661 Имя твоего файла **** **** **** ****

И еще если я переконвертирую вайл в .bmu и кину его в папку мьюзик, то этого будет достаточно чтобы использовать его в модуле?
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #45261 · Ответов: 141 · Просмотров: 153,385

minion
Отправлено: Jun 27 2005, 16:43


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Т.е. просто изменить тэг точки перехода после выполнения скрипта. Обидно что нельзя сделать как в Морровинде. Пасиб Lex
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #45199 · Ответов: 3359 · Просмотров: 638,179

minion
Отправлено: Jun 27 2005, 14:17


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


По поводу тормоза еще можно сказать, что он говорит типа "это очень сложно занимает много времени да к тому же эта идея уже реализована ... и т.д и т.п.".
Мозги таким вправлять надо или просто выкидывать из команды. Терпеть не могу таких людей. Обычно они сами нечего не делают и другим не дают.
  Форум: Главный Зал · Просмотр сообщения: #45162 · Ответов: 160 · Просмотров: 127,603

minion
Отправлено: Jun 27 2005, 14:12


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Можно ли через скрипты при выполнении квеста создать скажем дом? Если можно, то что надо учитывать и хотя бы примерную последовательность действий привидите если можно.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #45161 · Ответов: 3359 · Просмотров: 638,179

Важно! Скрипты
minion
Отправлено: Jun 25 2005, 21:12


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Aiwan это не существенно, но можно немного укоротить твою ф-ию:
Neverwinter Script Source
// СДЕЛАТЬ НЕВИДИМЫМ oCreature
// Если bSlow = TRUE, то накладываем EffectSlow()
// Если int bInv = TRUE - накладываем невидимость
void AddCutEffects(object oCreature, int bInv=TRUE, int bSlow=FALSE);

void AddCutEffects(object oCreature, int bInv=TRUE, int bSlow=FALSE)
    {
      effect eInv = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
      effect eSlow = EffectSlow();
      if (oCreature != OBJECT_INVALID)
      {
      if(bInv)// так проще
      {
      ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInv, oCreature);}
      if(bSlow)
      {
            ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSlow, oCreature);}
      }
    }
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #45039 · Ответов: 3670 · Просмотров: 702,608

minion
Отправлено: Jun 25 2005, 20:42


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Еще интересный баг. Если заходить ранее сгенерированным игроком, то если было 2 класса, то они остаются. Уровень игрока становится 1, а экспы до повышения уровня надо набрать 3000!!!
  Форум: "Проклятие Левора" Часть I · Просмотр сообщения: #45038 · Ответов: 1204 · Просмотров: 353,548

minion
Отправлено: Jun 25 2005, 20:27


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Пообщался с парой людей тут и убедился, что писать модули могут только те, кому интересны языки программирования, кто пытается выразить таким образом свою индивидуальность и дизайнеры. Список можно дополнить, но это факт. Таких людей все равно мало, что увы :sorry:
  Форум: Главный Зал · Просмотр сообщения: #45037 · Ответов: 160 · Просмотров: 127,603

minion
Отправлено: Jun 25 2005, 20:20


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Ну отпадает так отпадает. Главное не забрось разработку.
  Форум: Главный Зал · Просмотр сообщения: #45036 · Ответов: 36 · Просмотров: 46,578

minion
Отправлено: Jun 25 2005, 20:18


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Всех, кто желает чем-нить помочь прошу писать в приват. Мне или Darkot`у.
  Форум: Главный Зал · Просмотр сообщения: #45035 · Ответов: 59 · Просмотров: 60,122

minion
Отправлено: Jun 14 2005, 14:03


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


DBColl ну ты выдал!!! Идейка то ничего. :good: Посмотрим, что с этим можно сделать.
  Форум: Главный Зал · Просмотр сообщения: #43865 · Ответов: 59 · Просмотров: 60,122

minion
Отправлено: Jun 13 2005, 19:11


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Еще один скриптер нам не помешает. Если есть идеи говори. Обязательно примем во внимание. Начало пока придумать пытаемся. Могу на мыло отправить, то что пока получилось.
  Форум: Главный Зал · Просмотр сообщения: #43793 · Ответов: 59 · Просмотров: 60,122

minion
Отправлено: Jun 13 2005, 16:10


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Выкладывай по кускам. Т.е. главами. Можно будет скачивать по кускам. Хотя кто как.
  Форум: Главный Зал · Просмотр сообщения: #43776 · Ответов: 36 · Просмотров: 46,578

minion
Отправлено: Jun 13 2005, 16:04


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Спасибо всем за ответы. Хотелось Бы найти пару ребят. Darkot :good: . Может если есть желающие, то можно из Питера и области. Ждем отзывов и предложений, а так же желающих посодействовать.
  Форум: Главный Зал · Просмотр сообщения: #43775 · Ответов: 59 · Просмотров: 60,122

minion
Отправлено: Jun 13 2005, 16:00


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


DBColl Вот я и пытаюсь написать свой модуль. Пока получается, и конечно, по мере возникновений вопросов я задаю их здесь. Очень помог туториал Aiwana . За что отдельное спасибо :good:
  Форум: Главный Зал · Просмотр сообщения: #43772 · Ответов: 160 · Просмотров: 127,603

Важно! Скрипты
minion
Отправлено: Jun 12 2005, 17:13


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Не знаю у меня висит на ОнЭнтер и работает нормально.
Я дописал свой скрипт!!! Огромное спасибо за помощь Aiwanу и отдельное спасибо mamucу. Теперь все готово и работает. Вот скрипт.
Этот кусок обзываем как spell_items_0
Neverwinter Script Source
struct stRec
{
    string req1;
    string req2;
    string req3;
    string req4;
    string req5;
    string rez;
};//sozdaem structuru dlya kombinacij

struct stRec SetupLab (int nSpellID)
{
    struct stRec stR;
    switch (nSpellID)
    {
        case 115:    //kislotnaya strela melfa
            stR.req1 = "NW_IT_MSMLMISC12"// bolotnaya yagoda
            stR.req2 = "NW_IT_MSMLMISC09"// glaz rakwasa
            stR.req3 = "NW_IT_MSMLMISC10"// yazik slaada
            stR.req4 = "NW_IT_MSMLMISK08"// bruho ognennogo guka
            stR.rez = "NW_IT_MRING004";    // to 4to hotim polu4it
            break;
        case 107:                          // volwebnaya raketa
            stR.req1 = "NW_IT_MSMLMISC12";
            stR.req2 = "NW_IT_MSMLMISC10";
            stR.req3 = "NW_IT_MSMLMISK14";//4erep gorgul`i
            stR.rez = "NW_IT_MBOOTS004";
            break;
    }
    return stR;
}

int CheckOneItem (string sItem, struct stRec strItem)
{
    if ((sItem == "") || (sItem == strItem.req1) || (sItem == strItem.req2) || (sItem == strItem.req3) || (sItem == strItem.req4) || (sItem == strItem.req5))
    {
        return TRUE;
    }
    else
    {
        return FALSE;
    }
}

int CheckFirstItem (string sItem, struct stRec strItem)
{
    if ((sItem == strItem.req1) || (sItem == strItem.req2) || (sItem == strItem.req3) || (sItem == strItem.req4) || (sItem == strItem.req5))
    {
        return TRUE;
    }
    else
    {
        return FALSE;
    }
}

int CheckComponent (struct stRec stR, object oBox)
{
    int C1,C2,C3,C4,C5;
    object oItem = GetFirstItemInInventory (oBox);
    while (GetIsObjectValid (oItem))
    {
        if (CheckFirstItem (GetTag(oItem), stR)) C1 = TRUE;
        if (CheckOneItem (GetTag(oItem), stR)) C2 = TRUE;
        if (CheckOneItem (GetTag(oItem), stR)) C3 = TRUE;
        if (CheckOneItem (GetTag(oItem), stR)) C4 = TRUE;
        if (CheckOneItem (GetTag(oItem), stR)) C5 = TRUE;
        oItem = GetNextItemInInventory (oBox);
    }
    if (C1&&C2&&C3&&C4&&C5) return TRUE;
    return FALSE;
// proveryaet sootvetstvuet li to 4to mi pologili v sunduk s kombinaciej

void BadResult ()
{
    object oPC = GetLastSpellCaster ();
    int nDamage = d20() * 2;
    effect eVis = EffectVisualEffect (VFX_IMP_FLAME_S);
    effect eDam = EffectDamage (nDamage, DAMAGE_TYPE_FIRE);
    DelayCommand (0.6, ApplyEffectToObject (DURATION_TYPE_INSTANT, eVis, oPC));
    DelayCommand (0.6, ApplyEffectToObject (DURATION_TYPE_INSTANT, eDam, oPC));
// esli ne sootvetstvuet nanosim povregdeniya

void CreateLabItem (int nCastedSpell)
{
    struct stRec stR;
    stR = SetupLab (nCastedSpell);
    if(CheckComponent(stR, OBJECT_SELF))
    {
        object oItem = GetFirstItemInInventory(OBJECT_SELF);
        while (GetIsObjectValid(oItem))
        {
            DestroyObject(oItem); // uni4togaem ob`ekti
            oItem = GetNextItemInInventory(OBJECT_SELF);
        }
        CreateItemOnObject(stR.rez);
    }
    else
    {
        BadResult ();
    }
}  // sozdaem vew,

вот основной скрипт
Neverwinter Script Source
#include "spell_items_0"
void main()
{
    CreateLabItem (GetLastSpell ());
}

Aiwan и mamuc :good: :good: :good:
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #43687 · Ответов: 3670 · Просмотров: 702,608

minion
Отправлено: Jun 12 2005, 15:47


Level 4
**

Группа: Newbie
Сообщений: 88
Регистрация: 28.05.2005
Из: Санкт-Петербург
Пользователь №: 1,102


Вот тут подумалось, а что если использовать в модуле музыку группы KMFDM? У них есть классные песни.

DBColl: Заканчивай с подобными полувопросами. Они не по теме и являются потенциальным оффтопом. ЗДЕСЬ ГОВОРЯТ О ПРОБЛЕМАХ И ДЕЛЯТСЯ ЗНАНИЯМИ КОНКРЕТНО ПО ВСТАВКЕ ЗВОКОВ И МУЗЫКИ В НВН, а не спамят на тему, какая музыка лучше.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #43685 · Ответов: 141 · Просмотров: 153,385

4 страниц V   1 2 3 > » 

Есть новые сообщения  Открытая тема (есть новые ответы)
Нет новых сообщений  Открытая тема (нет новых ответов)
Горячая тема (есть новые сообщения)  Горячая тема (есть новые ответы)
Горячая тема (нет новых сообщений)  Горячая тема (нет новых ответов)
Опрос (есть новые голоса)  Опрос (есть новые голоса)
Опрос (нет новых голосов)  Опрос (нет новых голосов)
Тема закрыта  Закрытая тема
Тема перемещена  Тема перемещена
 

Текстовая версия Сейчас: 18th April 2024 - 04:56