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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 60 61 62 63 64 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
AliceDiren
сообщение Sep 25 2005, 21:47
Сообщение #1526


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



Может я конечно дура, но что тебе мешает проиграть визуальный эффект, во время которого удалить один предмет, а на его место поставить другой. Ну что-то вроде:
Neverwinter Script Source
object oOldItem = GetObjectByTag("Таг старого предмета");
location lItemLocation = GetLocation(oOldItem);

ApplyEffectAtLocation(0, EffectVisualEffect(35), lItemLocation);

DestroyObject(oOldItem);
object oNewItem = CreateObject(OBJECT_TYPE_PLACEABLE, "Таг нового предмета", lItemLocation);

:angel:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Sep 25 2005, 23:19
Сообщение #1527


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

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



QUOTE (NedWarN @ Sep 26 2005, 00:35)
Подскожите, пожалуйста скрипт, замены Плактабла. Типа полиморфа, только на предмет.

Удалить - Создать. Главный полимерф НВН.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2_advanced
сообщение Sep 26 2005, 12:32
Сообщение #1528


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

Класс: Вор
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]



QUOTE
Подскожите, пожалуйста скрипт, замены Плактабла. Типа полиморфа, только на предмет.

QUOTE
Удалить - Создать. Главный полимерф НВН.

а если CopyItemAndModify.. многократный.. с извращениями :D
а вообще вопрос не ясен..

Сообщение отредактировал 2_advanced - Sep 26 2005, 12:33
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2_advanced
сообщение Sep 26 2005, 12:36
Сообщение #1529


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

Класс: Вор
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]



QUOTE (AliceDiren @ Sep 25 2005, 21:47)
:angel:

я думаю, что предмет в инвентаре.. и с юз.он.селф становится чем-то иным :drag:


почему-то сообщение не добавилось к предыдущему :this:

Сообщение отредактировал 2_advanced - Sep 26 2005, 12:37
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Аваддон
сообщение Sep 26 2005, 13:01
Сообщение #1530


Level 10
***

Класс: Воин
Характер: Lawful Neutral
Раса: Человек
NWN: Скриптинг [PW]



QUOTE (2_advanced @ Sep 26 2005, 12:36)
QUOTE Подскожите, пожалуйста скрипт, замены Плактабла. Типа полиморфа, только на предмет.

QUOTE Удалить - Создать. Главный полимерф НВН.

а если CopyItemAndModify.. многократный.. с извращениями biggrin.gif а вообще вопрос не ясен..

QUOTE (2_advanced @ Sep 26 2005, 12:36)
я думаю, что предмет в инвентаре.. и с юз.он.селф становится чем-то иным drag.gif


Да не предмет в инвентаре, а "Плактабл" :D (Placeable) :lol:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
NedWarN
сообщение Sep 26 2005, 15:50
Сообщение #1531


Level 5
**

Класс: Маг
Характер: Lawful Good
Раса: Тварь



Пасиба, буду разбиратся.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2_advanced
сообщение Sep 26 2005, 17:09
Сообщение #1532


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

Класс: Вор
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]



QUOTE
Да не предмет в инвентаре, а "Плактабл"  (Placeable)

:crazy: :D нужно переводчика нанимать :unsure:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 28 2005, 13:44
Сообщение #1533


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Блин >:0

Я поставил ХотУ, патч 1.65, а сделать чтобы хенч не отдыхал всеравно не получается :(

Он то отдыхает, то нет, вобщем не понятно все, то ли это глюк, которые ни кто не замечал, то ли я не понимаю как это сделать.
Надо сделать именно с обычным отдыхом, без ForceRest!

Пока самое лучшее, что предумал - это отделение хенча, когда тот не может отдыхать и присоединение после окончания отдыха ПС.

Help me please!!!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Sep 28 2005, 13:51
Сообщение #1534


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



-fenix- , а не пробовал так:
Neverwinter Script Source
object oHench = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC);
AssignCommand(oHench, ClearAllActions());

ну и соответственно по всем хенчам. Отдых ведь тоже действие.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 28 2005, 14:03
Сообщение #1535


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (AliceDiren @ Sep 28 2005, 14:51)
-fenix- , а не пробовал так:

А как еще я мог пробовать!!!
У героя это отменяется, а вот у хенча, то отменяет, то нет, галиматья какая-то.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Sep 28 2005, 14:06
Сообщение #1536


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



А просто скрипт из одной строки
Neverwinter Script Source
ClearAllActions();

на OnRested хенча?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 28 2005, 14:59
Сообщение #1537


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (AliceDiren @ Sep 28 2005, 15:06)
А просто скрипт из одной строки

НЕТ, уж не знаю, как идет связь между героем и хенчем, чтобы они отдыхали вместе и как вообще все поддерживается и согласуется, но видно как-то хитро и в движке.
При чем при отдыхе НПС запускает скрипт OnRested, но хенч еще и OnPCRest, при этом свой скрипт вроде раньше, чем скрипт на модуле.
В лексеконе написано, что для отмены отдыха у героя нужно использовать ClearAllActions, логично предположить, что и хенчману нужно чистить акции либо в OnRested либо в OnPCRest - однако не катит.
Мож есть хитрость какая?

ЗЫ AliceDiren, былобы все так просто, я бы не спрашивал.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2_advanced
сообщение Sep 28 2005, 18:04
Сообщение #1538


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

Класс: Вор
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]



можете считать меня извращенцем :this:
Neverwinter Script Source
//mod.onPlayerRest:
void main()
{
        object oPC = GetLastPCRested();

        if(GetLastRestEventType() == REST_EVENTTYPE_REST_STARTED)
        {
            int nNth=1;
            object oHench = GetHenchman(oPC, nNth);
            while(GetIsObjectValid(oHench))
            {
                //задержка по 0.1 для сохр. последовательности набора хенчей
                float fDelay = IntToFloat(nNth) * 0.1f;
                DelayCommand(0.0f, RemoveHenchman(oPC, oHench));
                DelayCommand(fDelay, AddHenchman(oPC, oHench));

                nNth++;
                oHench = GetHenchman(oPC, nNth);
            }
        }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 28 2005, 20:55
Сообщение #1539


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (2_advanced @ Sep 28 2005, 19:04)
можете считать меня извращенцем

Ты ба видел как я недели 3 извращался, но оказывается самый большой извращенец - это мой НВН :lol:


Мда!!!! Это что-то!!!!!

Мне по ПМ AliceDiren пресылает скрипт

Neverwinter Script Source
void main()
{
object oPC = GetLastPCRested();
object oNPC = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC);
while(GetIsResting(oNPC))
  AssignCommand(oNPC, ClearAllActions());
}


Я значит просто так(потому что уже ставил подобные скрипты) ставлю его на OnRested хенча и убираю скрипт с OnPlayerRest. Кстати, AliceDiren, он утебя точно работал, поидее из-за такого while должна быть ошибка, нужно использовать if.
И все заработало, я в непонятках ставлю старые скрипты :crazy: и они работают.

Мои скрипты отличались от скрипта AliceDiren, тем, что у них были другии проверки и ПС с хенчем определялись подругому: object oPC = GetFirstPC(), object oHench = GetHenchman(oPC, 1).

Еще у меня теперь НВН иногда при загрузке модулю стала виснуть, серьезно после этого начало, до этого ни разу не висла!!!

З.Ы
Еще я помню, как у меня в сценки не высвечивались фразы над полуорком и за ним стояла говорящая курица.

Не знаю было ли у кого что-то подобное или только мой НВН падкий на такии глюки? :xz:

Все это странно до глупости, но как бы там не было спасибо AliceDiren :xz:

Расцелую 1С, когда они выпустят лицензию!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Анамиэль
сообщение Oct 1 2005, 11:51
Сообщение #1540


Level 2
*

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



Вот скрипт мусорщика ,но эта строка с ошибкой
oItem= GetNextObjectInArea(GetArea((OBJECT_SELF));
собственно что тут не так? кроме скобки лишней, которую я увидела только что

Сообщение отредактировал Анамиэль - Oct 1 2005, 11:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Oct 1 2005, 12:03
Сообщение #1541


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Лишняя скобка, когда ошибка, говори, что пишет компилятор.
QUOTE (Анамиэль @ Oct 1 2005, 12:51)

oItem= GetNextObjectInArea(GetArea((OBJECT_SELF));


А окромя этого, если написано точно так, то oItem не задан тип, должно быть так

Neverwinter Script Source
object oItem = GetNextObjectInArea(GetArea(OBJECT_SELF));




LEX: не, Феникс, если там Next, то был и First, скорее всего там тип и был задан.


-fenix-: скорее всего да, не обратил внимание, но что еще там может быть не правильно кроме скобки?


Сообщение отредактировал -fenix- - Oct 1 2005, 22:39
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
NedWarN
сообщение Oct 1 2005, 21:56
Сообщение #1542


Level 5
**

Класс: Маг
Характер: Lawful Good
Раса: Тварь



Очень нужен скрипт. :drag: Если плейс в локации использует любое заклинание, то все НеПиСи в локе убигали подальше от него, что-нибудь крича. :crazy:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Oct 1 2005, 22:41
Сообщение #1543


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



QUOTE
Если плейс в локации использует любое заклинание

То есть placeable?
NedWarN , есть вот такая функция:
Neverwinter Script Source
void ActionMoveAwayFromObject(object oFleeFrom, int bRun=FALSE, float fMoveAwayRange=40.0f)

Я использовала вот в таком скрипте:
Neverwinter Script Source
object oSpeller = GetObjectByTag("Таг произнесшего заклинание");
//Ближайший к заклинателю не игрок
object oNPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_NOT_PC);
while(GetIsObjectValid(oNPC))
  {AssignCommand(oNPC, ActionMoveAwayFromObject(oSpeller, TRUE, 50.0));
  oNPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_NOT_PC);
  if(GetDistanceBetween(oSpeller, oNPC) >= 30.0) oNPC = OBJECT_INVALID;}

ИМХО пока в пределах 30 метров от заклинателя будут живые сущ-ва, они будут отбегать от него на расстояние 50 метров.
Но я использовала скрипт в сингл модуле.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vhall
сообщение Oct 1 2005, 22:55
Сообщение #1544


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

Класс: Обыватель
Характер: True Neutral
Раса: Дварф
NWN: Контент



В соседней теме слышал, что для активации констант кастомных фитов недостаточно столбца 2да, и нужно править какие-то скрипты. Какие и каким образом?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 1 2005, 23:29
Сообщение #1545


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

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



скрипт nwscript
там прописаны все константы. Там нужно и твою прописать новую. :)

а можно забить на константу и вместо нее указывать ID строки, которая там константе соотв.
(если речь идет о фитах, спелах, полиморфе, апирансе, айтемах... те почти всегда :) )
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Oct 2 2005, 00:07
Сообщение #1546


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



А я подумала, плюнула и сделала отдельный скрипт, где указала все свои константы и просто подключаю его в нужные скрипты. Lex , забить можно, но константы все же удобнее. Представь ситуацию когда у тебя в модуле ТОЛЬКО свои классы, к ним соответствующие фиты, и т.д., и т.п. ... Уж проще один раз помучаться, зато потом не будет путаницы с цифрами (номерами) имхо. :queen:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Oct 2 2005, 12:46
Сообщение #1547


Level 7
**

Класс: Маг
Характер: Lawful Neutral
Раса: Эльф



Вот простенький скрипт, который забирает у РС 1000 золотых и вещь, но в замен игрок получает какой-то предмет:
Neverwinter Script Source
void main()
{

object oPC = GetPCSpeaker();

object oItem;
oItem = GetItemPossessedBy(oPC, "тэг забираемого итема");

if (GetIsObjectValid(oItem)) DestroyObject(oItem);

AssignCommand(oPC, TakeGoldFromCreature(1000, oPC, TRUE));

object oTarget;
oTarget = GetObjectByTag("ТЭГ получаемого итема");

CreateItemOnObject("res-ref получаемого итема", oTarget);

}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 2 2005, 12:59
Сообщение #1548


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

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



работать не будет
ты берешь какой-то предмет
Neverwinter Script Source
oTarget = GetObjectByTag("ТЭГ получаемого итема");

и ему даешь айтем с рез-рефом "res-ref получаемого итема".
Ну-ну..

Добавлено в [mergetime]1128247301[/mergetime]
1. вместо
QUOTE (DEM @ Oct 2 2005, 13:46)
object oTarget;
oTarget = GetObjectByTag("ТЭГ получаемого итема");

CreateItemOnObject("res-ref получаемого итема", oTarget);

просто
CreateItemOnObject("res-ref получаемого итема", oPC);

2. ты в диалоге, так что
QUOTE (DEM @ Oct 2 2005, 13:46)
AssignCommand(oPC, TakeGoldFromCreature(1000, oPC, TRUE));

можно напрямую сделать..
TakeGoldFromCreature(1000, oPC);
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 4 2005, 14:02
Сообщение #1549


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

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



Люди! Нужна помощь со скриптами. Во-первых, я так и не разобрался с OnAcquireItem. Лилаковский генератор скриптов тоже с этим не помог. Блин... Так вот, нужно, чтобы, когда персонаж поднимет предмет, конкретно - доспехи, уничтожался другой предмет (placeable), конкретно - погасал луч света. Как сделать? Предположим, что tag доспехов Armor, а луча Shaft. Естественно, лучу больше загораться не придётся, так что это единовременная штучка.

Во-вторых (самокритика продолжается) не знаю, как заставить камеру увеличить масштаб. То есть не в роликах, а просто по появлении персонажа в зоне. Пусть дальше игрок увеличивает и уменьшает, как хочет, но в начале - крупный план. Идея в том, чтобы он, каждый раз появляясь в одном и том же месте, постоянно натыкался на увеличенный вид статуи в двух шагах. В двух-то в двух, а увеличение какое было до перемещения между зонами, такое и остаётся. Как поправить?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Oct 4 2005, 15:07
Сообщение #1550


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



Это по поводу брони и луча света.
Neverwinter Script Source
void main()
{
object oItem = GetModuleItemAcquired();
string sItemTag = GetTag(oItem);
object oSpam = OBJECT_INVALID;

if(sItemTag == "Armor")
  {
  oSpam = GetObjectByTag("Shaft");
  DestroyObject(oSpam);
  }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 60 61 62 63 64 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27th April 2024 - 16:01