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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 119 120 121 122 123 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
gennady
сообщение Nov 6 2008, 06:35
Сообщение #3001


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

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



Цитата(DanaVolgograd @ Nov 5 2008, 23:45) *
Как можно заставить объект двигаться к определенной точке.
Правда иногда пропадают кадры, т.е. плейсы...
Neverwinter Script
//ПЕРЕДВИЖЕНИЕ ПЛЕЙСА
// object oSelf - Объект управлЯющий передвижением
// string sGtTag - тэг передвигаемого объекта
// float fDist=0.1 - дистанциЯ одного шага
// float fSpeed=0.3 - скорость кадра
// int iShag=20 количество создаваемых объектов (кадров)
// float fOrient=180.0 - направление движениЯ
void multik(object oSelf, string sGtTag, float fDist=0.1, float fSpeed=0.3, int iShag=20, float fOrient=180.0);

//____________________ ПЕРЕДВИЖЕНИЕ ПЛЕЙСА _____________________________________
void multik(object oSelf, string sGtTag, float fDist=0.1, float fSpeed=0.3, int iShag=20, float fOrient=180.0)
{
if (GetLocalInt(oSelf,"STENA") == 1) return;
object oPlace = GetNearestObjectByTag(sGtTag, oSelf);
effect eVis = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY); // невидимость
effect eIskra = EffectVisualEffect(VFX_COM_SPARKS_PARRY);
int i;
AssignCommand(oSelf, ClearAllActions());
AssignCommand(oSelf, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE
));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eIskra, oSelf);
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis, oPlace));
for (i=1; i<iShag; i++)
  {
    vector vSpawn = GetPosition(oPlace);
    float fFacing = GetFacing(oPlace);
    vSpawn.x += cos(fFacing) * fDist*i;
    vSpawn.y += sin(fFacing) * fDist*i;
    // Если отрицательное значение, то locSpawn позади oPC
    location locSpawn = Location(GetArea(oPlace), vSpawn, fOrient+fFacing);
  object oNew = CreateObject(OBJECT_TYPE_PLACEABLE, GetResRef(oPlace), locSpawn, FALSE, sGtTag);
  SetPlotFlag(oNew, TRUE); // Сюжетный
  ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis, oNew);
  AssignCommand(oSelf, ActionDoCommand(RemoveEffect(oNew, GetFirstEffect(oNew))));
  if (i<(iShag-1))
  {
    if (i<3) AssignCommand(oSelf, ActionWait(1.0));
    else AssignCommand(oSelf, ActionWait(fSpeed));
    AssignCommand(oSelf, ActionDoCommand(ApplyEffectToObject(DURATION_TYPE_
PERMANENT, eVis, oNew)));
    AssignCommand(oSelf, ActionDoCommand(DestroyObject(oNew, 0.5)));
  }
  }
  AssignCommand(oPlace,PlaySound("al_cv_millwheel1"));
  DelayCommand(4.0, AssignCommand(oPlace,PlaySound("as_cv_minercar1")));
  SetLocalInt(oSelf,"STENA",1);
  AssignCommand(oSelf, ActionDoCommand(ApplyEffectToObject(DURATION_TYPE_
INSTANT, eIskra, oSelf)));
  AssignCommand(oSelf, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE))
;
  AssignCommand(oSelf, ActionDoCommand(SetLocalInt(oSelf,"STENA",0)));
  AssignCommand(oSelf, ActionDoCommand(DestroyObject(oPlace)));
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DanaVolgograd
сообщение Nov 8 2008, 18:18
Сообщение #3002


Level 1


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



нипаняяяяяятна:
Событие OnDeath того же плейса (тарана):
Код
void main()
{
ActionCastSpellAtLocation(SPELL_EARTHQUAKE, GetLocation(GetWaypointByTag("taran_wp")), METAMAGIC_MAXIMIZE, 1, PROJECTILE_PATH_TYPE_DEFAULT, TRUE);
}

НИ-ЧЕ-ГО не происходит...
А если поставить этот КастСпелл, скажем в другой обработчик (ну за пару секунд до дестроя итема), то все нормально - земля трясется, град сыпется...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Nov 8 2008, 18:32
Сообщение #3003


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Всё верно, плейс не успевает выполнить экшен.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DanaVolgograd
сообщение Nov 8 2008, 18:38
Сообщение #3004


Level 1


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



и каг быть? )

разобралась...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Nov 8 2008, 18:43
Сообщение #3005


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Перевесить этот экшен на что-нибудь рядом и живое (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DanaVolgograd
сообщение Nov 8 2008, 18:55
Сообщение #3006


Level 1


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



так он и так, сам экшн повешен на Вейпоинт, который находится рядом с плейсом (который и уничтожается).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Nov 8 2008, 18:59
Сообщение #3007


Level 7
**

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



Нет, ты кастуешь на этот вэйпоинт, а плейс не успевает собственно сотворить заклинание перед смертью.
Можно попробовать ExecuteScript, думаю.

Сообщение отредактировал greye - Nov 8 2008, 19:00
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Nov 8 2008, 19:02
Сообщение #3008


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Neverwinter Script
object oWP = GetWaypointByTag("taran_wp");
    AssignCommand(oWP, ActionCastSpellAtLocation(SPELL_EARTHQUAKE, GetLocation(oWP), METAMAGIC_MAXIMIZE, 1, PROJECTILE_PATH_TYPE_DEFAULT, TRUE));
Можно попробовать так. Чёрт его знает, выполнит ли вейпоинт экшен, если нет - надо плейс невидимый рядом создать и на него перевесить (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Nov 9 2008, 05:25
Сообщение #3009


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

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



щас (на 1.69) хз, но раньше через вэйпы такую штуку было нельзя протащить.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Sugo77
сообщение Nov 17 2008, 19:06
Сообщение #3010


Level 3
*

Класс: Монах
Характер: Lawful Good
Раса: Эльф



И снова всем привет.

Так и не вышло у меня со скриптом для враждебности к трем фракциям игроков,но не их монстрам, хотя знаю что возможно, так как видел подобное на Американских серверах(К примеру Серевер:"Alestorm LOTR Team PvP", вообщем вот мой модуль, если кто то может с моим проектом я буду счастлив, но сейчас я застрял на враждебности, игроков друг к другу.

Пожалуйста посмотрите мой модуль, со скриптами, завершённый на 50%, и помогите с завершающим скриптом, дальше я его доделаю сам, но если кто то присоединится к моему проекту, и будет помощником, я буду очень счастлив:
http://narutoandothers.ucoz.ru/Files/STARC...aFinishOn60.zip

Так же я могу создать для этого сервера, свой сайт, форум и всё что угодно, с этим у меня нет проблем.

Сообщение отредактировал Sugo77 - Nov 18 2008, 18:16
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Nov 24 2008, 21:06
Сообщение #3011


Level 7
**

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



Как и где определяется в игре, будет ли существо умерщвлено жестоко или нет(месиво или нет)? В EffectDeath есть параметр nSpectacularDeath, отвечающий за это, но для начала мне надо отконтролить его срабатывание в модуле.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Nov 25 2008, 16:58
Сообщение #3012


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

Класс: Волшебник
Характер: Neutral Good
Раса: Фея
NWN: Скриптинг [PW]
Край Лесов



Цитата
Как и где определяется в игре, будет ли существо умерщвлено жестоко или нет(месиво или нет)? В EffectDeath есть параметр nSpectacularDeath, отвечающий за это, но для начала мне надо отконтролить его срабатывание в модуле.


Да там есть такой параметр, но особой разницы я не увидела...если хочешь жестко, то тебе нужны спецэффекты разбрасывания костей и кровищи...они есть в стандартном наборе
все эффекты,которые можно задавать скриптово, можно глянуть в visualeffect.2da....как то так называется.
Кстати есть интересная анимация - судороги...с взрывом кровищи и последующем создавании плэйсов было бы эффектно ^ ^

P.S. на ваулте можно найти плэйсовые куски рук и ног, голов...там этого полно ))

Сообщение отредактировал Melisse - Nov 25 2008, 17:00
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Nov 25 2008, 17:17
Сообщение #3013


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

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



Цитата(greye @ Nov 24 2008, 21:06) *
Как и где определяется в игре, будет ли существо умерщвлено жестоко или нет(месиво или нет)? В EffectDeath есть параметр nSpectacularDeath, отвечающий за это, но для начала мне надо отконтролить его срабатывание в модуле.
Не уверен, но на это может влиять настройка в SetIsDestroyable.
Хотя подозреваю, что это где-нибудь в 2da определяется.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Nov 25 2008, 19:48
Сообщение #3014


Level 7
**

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



2Melisse )) Спасибо за идею с эффектами, не думал об этом.
2virusman В 2da я этого не нашел, но SetIsDestroyable хватает для работы, спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Nov 29 2008, 10:43
Сообщение #3015


Level 7
**

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



Вопрос наполовину глупый: как можно выйти из очереди OnDeath события? Мне надо поставить с него команду, но так, чтобы она выполнялась без флага "умирающий".
P.S. Прошу прощения за даблпост.

Обошелся без этого, но вопрос остается: можно ли вызвать команду так, чтобы она была в очереди другого события?
SignalEvent это не то, т.к. все равно последующие команды идут в очередь основного события(по-крайней мере, по действию).

Сообщение отредактировал greye - Nov 29 2008, 13:36
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 7 2008, 09:45
Сообщение #3016


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

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



greye, опиши задачу. Так будет проще думать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Dec 7 2008, 10:17
Сообщение #3017


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

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



Цитата(greye @ Nov 29 2008, 10:43) *
Вопрос наполовину глупый: как можно выйти из очереди OnDeath события? Мне надо поставить с него команду, но так, чтобы она выполнялась без флага "умирающий".
P.S. Прошу прощения за даблпост.

Обошелся без этого, но вопрос остается: можно ли вызвать команду так, чтобы она была в очереди другого события?
SignalEvent это не то, т.к. все равно последующие команды идут в очередь основного события(по-крайней мере, по действию).
AssignCommand? Действия назначаются не на события, а на объекты.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Dec 7 2008, 11:06
Сообщение #3018


Level 7
**

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



Я уж и забыл про это. В общем, мне надо было SetIsDestroyable(FALSE) ставить в скрипт OnDeath при некоторых условиях, после чего было воскрешение, соответственно, сразу за ним необходимо было вернуть SetIsDestroyable(TRUE), но в таком случае крич исчезал согласно corpse fade time. Любые перенаправления в OnUserDefined или через ExecuteScript приводили к тому же.

Сообщение отредактировал greye - Dec 7 2008, 11:18
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Dec 7 2008, 11:30
Сообщение #3019


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

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



Видимо, флаг, заданный SetIsDestroyable, отрабатывает до события OnDeath. Так что лучше поставить SetIsDestroyable(FALSE) на спауне, а при смерти либо "добивать", либо нет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Dec 7 2008, 11:49
Сообщение #3020


Level 7
**

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



Это да, просто я забыл еще сказать, что это может происходить с одним существом много раз, то есть OnSpawn тут не поможет, так как надо было, чтобы это значение менялось туда-обратно при каждом выполнении.

Добавлено: не каждый раз, а при определенных условиях, другое дело, что эти условия могут много раз повторяться.
P.S. Да и еще, проблема была также с тем, что если этот флаг оставить FALSE, то при убийстве крича будет невидимая подвеска < name> dead, что тоже неприятно, поэтому и надо было переставлять флаг.

Сообщение отредактировал greye - Dec 7 2008, 12:11
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Dec 7 2008, 12:06
Сообщение #3021


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

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



А зачем тебе тогда SetIsDestroyable трогать, если каждый раз существо будет воскрешаться?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Андрей ЮП
сообщение Dec 9 2008, 03:46
Сообщение #3022


Level 2
*

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



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

С уважением, Андрей ЮП.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Kamita
сообщение Dec 9 2008, 08:42
Сообщение #3023


Level 1


Класс: Фея
Характер: Chaotic Good
Раса: Фея



Это целый цикл скриптов.
Очень широкий вопрос, слишком много тонкостей. Например:
Как ты хочешь чтобы это выглядело - кат сценой или игровой процесс...сжали в тюрму - вели или просто персонаж прыгл в тюрму после ареста...
Эти нюансы прямо пропорциональны количеству скритов и времени затраченного на их синхронизацию.


А вообще все функции действий описаны ТУТ
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Dec 9 2008, 09:29
Сообщение #3024


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

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



нене, там не те функции.
Андрей ЮП, глянь ПЛ, первую главу. Тот эпизод, где игрока огревают по башке и он оказывается у Ви.
Но вообще все просто, скрипт отбора всех вещей есть (выкладывался не раз, обычно юзают в начале модуля. Просто надо до дестроя добавить копирвание в сундук). Ну а вернуть обратно - все тоже самое, но объекты (игрок-сундук) местами меняются. А как это все обставлено (стража, катсцена, тюрьма) - это уже совсем другая история.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 9 2008, 11:09
Сообщение #3025


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

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



Андрей ЮП, еще можешь глянуть в ПВ скрипты которые срабатывают при попытке украсть что-то. Но боюсь разобраться будет в них сложно...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 119 120 121 122 123 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28th April 2025 - 02:22