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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 25 26 27 28 29 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Nokoll
сообщение Feb 3 2005, 14:51
Сообщение #651


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

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



Верно скрипт на локацыю, и не невидемым а примерно призрочное лицо
Добавлено в [mergetime]1107432927[/mergetime]
QUOTE
object oNPC=GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC,oPC,1,
CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC,
CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC);

Этоже вроде опять приказ скриптом чтобы ПК одел кольцо.
Добавлено в [mergetime]1107433004[/mergetime]
Ну а коль ПК снимет кольцо что тогда будет?
Добавлено в [mergetime]1107433145[/mergetime]
Neverwinter Script Source
object oPC=GetEnteringObject();

Коль стоит так значит ставить надо на onEnter локацыии.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 3 2005, 20:32
Сообщение #652


Level 8
***

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



Nokoll
первое, это берутся ближайшие НПС.... второе заменю на другое :D
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
baskan
сообщение Feb 4 2005, 17:57
Сообщение #653


Level 7
**

Класс: Бард
Характер: Lawful Good
Раса: Фея



Здраствуйте, у меня тут проблемка.
Нужно чтобы при входе в портал, если входит эльф кидало в одну точку, если орк в другую, если Дроу то в третью, а если человек то нетрала в одну, гуда в другую, ивела в третью.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tiger Greyhawk
сообщение Feb 5 2005, 03:52
Сообщение #654



Иконки Групп

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



to baskan
наверное как-нить так, но... я, видимо, не понял почему у тебя возникла проблема. Если с дроу, то так и говори. С этим не смогу помочь.
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oTarget1 = GetWaypointByTag("WP_ELF");
object oTarget2 = GetWaypointByTag("WP_ORC");
object oTarget3 = GetWaypointByTag("WP_DARK_ELF");

if (GetRacialType(oPC) == RACIAL_TYPE_ELF)
  AssignCommand(oPC, JumpToObject(oTarget1));

if (GetRacialType(oPC) == RACIAL_TYPE_HUMANOID_ORC)
  AssignCommand(oPC, JumpToObject(oTarget2));
                          //наверное через проверку субрасы, но...
if (GetSubRace(oPC) == "DARK_ELF")    //С этим не работал. Если у тебя есть раса дроу, то ставь ее
  AssignCommand(oPC, JumpToObject(oTarget3));

if (GetRacialType(oPC) == RACIAL_TYPE_HUMAN)
  if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD)
      AssignCommand(oPC, JumpToObject(oTarget1));

  if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_EVIL)
      AssignCommand(oPC, JumpToObject(oTarget2));

  if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL)
      AssignCommand(oPC, JumpToObject(oTarget3));

}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Feb 5 2005, 11:59
Сообщение #655


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

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



Tiger Greyhawk молодец, но скрипт можно немного упростить:
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oTarget1 = GetWaypointByTag("WP_ELF");
object oTarget2 = GetWaypointByTag("WP_ORC");
object oTarget3 = GetWaypointByTag("WP_DARK_ELF");
object oDist;

if (GetRacialType(oPC) == RACIAL_TYPE_ELF)
  {oDist = oTarget1;}
if (GetRacialType(oPC) == RACIAL_TYPE_HUMANOID_ORC)
  {oDist = oTarget2;}
if (GetSubRace(oPC) == "DARK_ELF")
  {oDist = oTarget3;}
if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD)
  {oDist = oTarget1;}
if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_EVIL)
  {oDist = oTarget2;}
if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL)
  {oDist = oTarget3;}
  AssignCommand(oPC, ClearAllActions());
  AssignCommand(oPC, JumpToObject(oDist));
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 7 2005, 21:29
Сообщение #656


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

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



ни 1 из 2 написанных выше скриптов не удовлетворяет требованию заказчика. А именно:
QUOTE (baskan @ Feb 4 2005, 17:57)
...если входит эльф кидало в одну точку, если орк в другую, если Дроу то в третью, а если человек то нетрала в одну, гуда в другую, ивела в третью.

вот мой вариант...правда он тоже может быть неправильным. :vava:
Neverwinter Script Source
void JUMP(object oPC, object oPoint)
{
  AssignCommand(oPC, ClearAllActions());
  AssignCommand(oPC, JumpToObject(oPoint));
{
void main()
{
object oPC = GetEnteringObject();
object oTarget3 = GetWaypointByTag("WP_DARK_ELF");

if (GetRacialType(oPC) == RACIAL_TYPE_ELF)
{
    JUMP(oPC,GetWaypointByTag("WP_ELF"));
    return;
}
if (GetRacialType(oPC) == RACIAL_TYPE_HUMANOID_ORC)
{
    JUMP(oPC,GetWaypointByTag("WP_ORC"));
    return;
}
if (GetSubRace(oPC) == "DARK_ELF")
{
    JUMP(oPC,GetWaypointByTag("WP_DROW"));
    return;
}
if (GetRacialType(oPC) != RACIAL_TYPE_HUMAN)
   return;

if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD)
{
    JUMP(oPC,GetWaypointByTag("WP_HUMAN_GOOD"));
    return;
}
if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_EVIL)
{
    JUMP(oPC,GetWaypointByTag("WP_HUMAN_EVIL"));
    return;
}
if (GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL)
{
    JUMP(oPC,GetWaypointByTag("WP_HUMAN_NEUTRAL"));
}
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Feb 7 2005, 22:17
Сообщение #657


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



подскажите убогому, можно ли узнать уровень, требуемый для напяливания предмета при включенном ilr? - хотелось бы снимать непозволенную одежку с PC после делевела...

ps. может уже обсуждалось, но найти не удалось...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Feb 8 2005, 00:28
Сообщение #658


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



dumbo
Я тоже как-то задавался этой целью, но точно также как и ты застрял в неведении... :xz: Вопрос действительно интересный.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tiger Greyhawk
сообщение Feb 8 2005, 02:53
Сообщение #659



Иконки Групп

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (Lex @ Feb 7 2005, 21:29)
ни 1 из 2 написанных выше скриптов не удовлетворяет требованию заказчика. А именно:

QUOTE
(baskan @ Feb 4 2005, 17:57)
...если входит эльф кидало в одну точку, если орк в другую, если Дроу то в третью, а если человек то нетрала в одну, гуда в другую, ивела в третью.

Lex, если можно, то поподробнее. Почему? И чем так отличается твой скрипт от нашего, кроме введения и описания доп. функции и введения для НЕчеловека (у тебя проверка расы человека "!=") других точек? Я не програмер, так что, видимо, чего-то не понимаю. Да и в скриптах совсем новичок, но пытаюсь... Так, что хочется разъяснений. Плз. :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 8 2005, 19:44
Сообщение #660


Level 8
***

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



DBColl поподробнее, что за трабла....не понял :this:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Feb 8 2005, 19:54
Сообщение #661


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



QUOTE (MasterMage @ Feb 8 2005, 18:44)
DBColl поподробнее, что за трабла....не понял

В ини-файле прописан ItemLevelRestriction = 1. То есть включен.
А задача - узнать скриптом УРОВЕНЬ ПЕРСА, КОТОРЫЙ НУЖЕН, ЧТОБЫ НОСИТЬ ДАННУЮ ШМОТКУ.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 8 2005, 20:35
Сообщение #662


Level 8
***

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



DBColl ой как сложно!! Брррр.... :crazy: Это не по мне... А у теья тоже не получилось? :vava:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Feb 8 2005, 21:19
Сообщение #663


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

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



QUOTE (Tiger Greyhawk @ Feb 8 2005, 05:53)
Lex, если можно, то поподробнее. Почему? И чем так отличается твой скрипт от нашего, кроме введения и описания доп. функции и введения для НЕчеловека (у тебя проверка расы человека "!=") других точек?

Это как раз он и имел ввиду.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Shad
сообщение Feb 8 2005, 21:33
Сообщение #664


Level 3
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



QUOTE (DBColl @ Feb 8 2005, 19:54)
А задача - узнать скриптом УРОВЕНЬ ПЕРСА, КОТОРЫЙ НУЖЕН, ЧТОБЫ НОСИТЬ ДАННУЮ ШМОТКУ.

В файле itemvalue.2da таблица цен (нужная колонка MAXSINGLEITEMVALUE), по ним чётко определяется требуемый уровень. По-моему, этот файл предназначался не для этого, или не только для этого, но цены указаны правильные (проверил в тулсете).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Feb 8 2005, 22:46
Сообщение #665


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Shad
Спасибо.

dumbo, тогда надо юзать Get2daString(...); :this: :yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
K.SpecTr
сообщение Feb 9 2005, 00:13
Сообщение #666


Level 10
***

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



Этого мало есть еще таблицы iprp_XXXcost.2da, в которых параметр Cost именно в уровнях измеряется. Добавил к мечику например Call Lightning 3 раза в день будь добр прибавить за спелл 3 уровня и за разы 1.15.
И функции в тулсете дл этого:
int GetItemPropertyCostTable(itemproperty iProp)
int GetItemPropertyCostTableValue(itemproperty iProp)
Добавлено в 00:15
А табличка iprp_costtable.2da все другие перечисляет. :good:
Добавлено в 09:27
А может это и не уровни вовсе, а множители :swoon:, что-то вручную посчитать не удалось (не сошлось), надо еще раз проверить.

Сообщение отредактировал K.SpecTr - Feb 9 2005, 09:31
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 9 2005, 01:47
Сообщение #667


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

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



Спасибо МастерМаге за скрипт Властелина колец брату очень понравилось Резуспект :good:
Новот в чем проблема то плейс появляется находит заданное кольцо одивает и исчезает враги его не видят
но если снимеш эффект не снимается я долго ломал голову но не понел что это.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Feb 9 2005, 18:48
Сообщение #668


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



была еще идея использовать IPGetIsItemEquipable (т.е. без получения конкретной цифры, но этого в принципе достаточно), но это те же .. - вид сбоку. я почему спросил - заметил в PRC-скриптах кучу функций, о которых в лексиконе ни слова - подумалось, может и на эту тему есть что-нибудь эдакое, типа GetItemLevel... :xz:

следущий вопрос (вот запарил=): есть ли аналог OnDamage для PC? или еще какой заднепроходный метод поймать удар персу по жбану? тут цель в общем такова - определить, бъет PC или нет, а также словить урон.

ps. кстати, предудыщий вопрос решил пока просто - снимаю все при делевеле... :DB:

Сообщение отредактировал dumbo - Feb 9 2005, 18:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Feb 9 2005, 19:34
Сообщение #669


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



QUOTE (dumbo @ Feb 9 2005, 17:48)
следущий вопрос (вот запарил=): есть ли аналог OnDamage для PC? или еще какой заднепроходный метод поймать удар персу по жбану? тут цель в общем такова - определить, бъет PC или нет, а также словить урон.

Когда смотришь чара через Leto, то у него есть все слоты, что и у неписей! Но! Везде стоит ResRef - default. С ним работает хертбит пися. То есть если скрипт в модуле назвать default, то работать он будет как ХБ PC. Я пробовал ставить другие ResRef'ы для чара, но безуспешно... :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 10 2005, 05:02
Сообщение #670


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

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



Я Очень Стыжусь но всетаки напишу вопрос токой что значит в скриптах Localition Lokal ну что то в этом роде кто знает можно по подробнее.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 10 2005, 09:10
Сообщение #671


Level 8
***

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



LocalLocation? если да, то ты запоминаешь место, где стоял, чтобы потом скриптом вернуться. А кольцо, там трабла...отпости сюда, я у DB спрошу...там недочет есть, но я думал он прошел :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 10 2005, 09:30
Сообщение #672


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

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



Вот 1 на OnPlayerEquipltem
Neverwinter Script Source
//Neverwinter Script Source
//::///////////////////////////////////////////////
//:: Created By: MasterMage ©
//:: Created On: 30.01.05
//::///////////////////////////////////////////////
void main()
{
    object oPC=GetPCItemLastEquippedBy();
    object oRing=GetPCItemLastEquipped();
    object oNPC=GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC,oPC,1,
                                  CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC,
                                  CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC);

    if (GetTag(oRing)=="Ring")
    {
    effect eEf=EffectInvisibility(INVISIBILITY_TYPE_IMPROVED);
    effect eEf2=EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEf,oPC);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEf2,oPC);
    AssignCommand(oNPC,ClearAllActions());

    }
    return;
}

Во 2 на OnPlayerUnEquipltem

Neverwinter Script Source
//::///////////////////////////////////////////////
//:: Created By: MasterMage ©
//:: Created On: 30.01.05
//::///////////////////////////////////////////////
void main()
{
    object oPC=GetPCItemLastUnequippedBy();
    object oRing=GetPCItemLastUnequipped();
    object oNPC=GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC,oPC,1,
                                  CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC,
                                  CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC);

    if (GetTag(oRing)=="Ring")
    {
    effect eEf=EffectInvisibility(INVISIBILITY_TYPE_IMPROVED);
    while(GetFirstEffect(oPC)==eEf)
    {
    RemoveEffect(oPC,eEf);
    eEf=GetNextEffect(oPC);
    }
    }
    return;
}


DBColl: Nokoll, правь свои скрипты на форуме так, чтобы они не ломали размеров страницы! Я ясно выражаюсь?!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 10 2005, 19:03
Сообщение #673


Level 8
***

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



DBColl не ругайся, это я такой написал и не поправил....Мну виноват изначально :vava:
Так вот никак эффект не снять Remov`ем... А переборкой тоже никак... :xz:
Добавлено в [mergetime]1108051569[/mergetime]
(IMG:http://skladishe.nm.ru/mol.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Shad
сообщение Feb 11 2005, 02:07
Сообщение #674


Level 3
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



QUOTE (dumbo @ Feb 9 2005, 18:48)
была еще идея использовать IPGetIsItemEquipable (т.е. без получения конкретной цифры, но этого в принципе достаточно), но это те же .. - вид сбоку. я почему спросил - заметил в PRC-скриптах кучу функций, о которых в лексиконе ни слова - подумалось, может и на эту тему есть что-нибудь эдакое, типа GetItemLevel...  :xz:

следущий вопрос (вот запарил=): есть ли аналог OnDamage для PC? или еще какой заднепроходный метод поймать удар персу по жбану? тут цель в общем такова - определить, бъет PC или нет, а также словить урон.

ps. кстати, предудыщий вопрос решил пока просто - снимаю все при делевеле...  :DB:

Кстати, вот что вычитал в описании пачта 1.64 (также и 1.65):
- Fixed issue, where if you lost a level and no longer had the required level for an item that you had equipped, your character would become illegal. The item is now unequipped automatically if you don't have the level required to equip it after losing a level. :lol:

Сообщение отредактировал Shad - Feb 11 2005, 02:08
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Feb 11 2005, 12:10
Сообщение #675


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



QUOTE (MasterMage @ Feb 10 2005, 18:03)
Так вот никак эффект не снять Remov`ем... А переборкой тоже никак...

Помнишь, я говорил про снятие эффектов как-то? Ты говорил, что можно снять таким образом, как ты снимаешь и все прям снимается ЛЕГКО. И вот ты столкнулся с тем, о чем я говорил... ;)
Neverwinter Script Source
    effect eEf=EffectInvisibility(INVISIBILITY_TYPE_IMPROVED);
    while(GetFirstEffect(oPC)==eEf)
    {
       RemoveEffect(oPC,eEf);
       eEf=GetNextEffect(oPC);
    }

Переборка должна перебирать не НОВЫЙ тип эффекта, который ты СОЗДАЛ НЕИЗВЕСТНО ГДЕ И НЕ ИЗВЕСТНО НА КОМ.
Neverwinter Script Source
effect eEf=EffectInvisibility(INVISIBILITY_TYPE_IMPROVED);

Должно же выглядеть примерно так...
Neverwinter Script Source
effect eEf = GetFirstEffect(oPC);
while (GetIsEffectValid(eEf))
{
  if (GetEffectType(eEf) == EFFECT_TYPE_IMPROVEDINVISIBILITY)
        RemoveEffect(oPC, eEf);
  eEf = GetNextEffect(oPC);
}

К тому же у тебя логика цикла самого была неправильной. Обрати внимание на вход в цикл свой и мой ;).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



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