![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2916
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
1. Игроку фракцию изменить нельзя. Только сменить отношения всех фракций к нему.
2. Смотри по форуму в базе скриптов. Варианты смерти чара обсосаны до неприличия подробно, даже есть несколько готовых систем с подробными комментариями. |
![]()
Сообщение
#2917
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
1.Ну а как этого добиться то поподробнее плиз.
2.Я долго искал не нашел можно ссылку на эту тему? |
![]()
Сообщение
#2918
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
1. Читай описание AdjustReputation().
2. В этом же разделе топик с недвусмысленным названием База скриптов. |
![]()
Сообщение
#2919
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Ну не нашул я то что мне нужно именно про смену фракции на тригерах при переходе локаций.
Если ты имееш этот скрипт дак проше выложи тут плиз чем меня посылать куда то. Тут в теме описание -задаем вопросы -получаем ответы на них а ты меня посылаеш куда то.( |
![]()
Сообщение
#2920
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Neverwinter Script AdjustReputation(oPC, oNPC, nAdjust); // oPC - игрок, если ловить с триггера, то GetEnteringObject() // oNPC - непись из нужной фракции, можно найти по тегу // nAdjust - число (мб отрицательное), на сколько изменить репутацию, например -100 сделает фракцию враждебной Цитата Если ты имееш этот скрипт дак проше выложи тут плиз чем меня посылать куда то. Если бы был, я бы выложил. Писать с нуля у меня времени нет, особенно учитывая мое непонимание твоего алгоритма.Тут в теме описание -задаем вопросы -получаем ответы на них а ты меня посылаеш куда то.( Сейчас происходит не вопрос-ответ, сейчас происходит обычный троллинг. Информация по функциям есть, примеры есть, ради интереса я сделал по форуму поиск по строке AdjustReputation - выдало 2 страницы результатов с различными вопросами, комментариями и примерами. Программирование - это нечто большее, чем знание имен функций. На форуме чисто физически не может быть скриптов под все случаи жизни (если бы они были, биовари бы включили их в игру и не делали редактор скриптов вообще). Человеку дается в руки лопата, как копать и в каком направлении он решает сам и начинает работать. Я не спорю, что скриптинг - это одна из самых сложных частей нвн тулсета, но тем не менее кормить троллей ответами на вопросы, заданными за 6 лет раз по сто, желания нет. Наверно поэтому и откликнулось всего пара человек. Что делать? Пиши скрипт сам, какие функции использовать я тебе сказал. Если не заработает, выложишь его тут, мы поправим. |
![]()
Сообщение
#2921
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Цитата Тут в теме описание -задаем вопросы -получаем ответы на них а ты меня посылаеш куда то.( задаём вопросы - получаем ответы. если ответ "найти в базе" на вопрос "как" не кажется вам ответом, то вы смотрите на проблему не с той стороны. |
![]()
Сообщение
#2922
|
|
Level 1 Класс: Паладин Характер: Lawful Good Раса: Человек ![]() |
Народ, подскажите мне скрипт, который открывает окно трейда! Срочно нужен!
ЗЫ. Я новичок. Но большое желание создать модуль. Заранее спс. |
![]()
Сообщение
#2923
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Neverwinter Script //:://////////////////////////////////////////////
//:: Name: Открывает ближайший магазин //:: Copyright © 2006 WRG! Team //::////////////////////////////////////////////// /* Открывает ближайший магазин */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 09.05.2006 //::////////////////////////////////////////////// void main() { object oSelf = OBJECT_SELF; object oPC = GetPCSpeaker(); object oStore = GetNearestObjectByTag("ТАГ_МАГАЗИНА", oSelf); if(!GetIsObjectValid(oStore) || GetDistanceBetween(oStore, oSelf) > 20.0) { // Магазина нет или он дальше 20 метров return; } else AssignCommand(oSelf, OpenStore(oStore, oPC)); } |
![]()
Сообщение
#2924
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Ох как сложно помочь-научить много знающему человеку в скриптах незнающему?лучше грязи на 10 страниц чем выложить 1 скрипт,да?И не надо меня оскорблять,я что давал повод для оскорблений?Я уже давно не маленький мальчик.
Скажи лучше куда мне его вставлять? OnEnter Модуля,локации или куда? Может кто то поможет мне все таки с его написанием,кто в этом смыслит? Мне нужно чтобы при использовании триггера и переходе на следущую локацию игрок был бы враждебен либо к торговцам,либо к защитникам.У меня 3 фракции должно быть и они все должны быть враждебны друг другу. Чтоб игрок выбравший планету у меня 3 планеты был бы враждебен другой планете-фракции. Уже сделал около 30 карт+магазины,система опыта,спавны монстров,все это готово,но это только начало( сейчас как раз надо с фракциями чтоб кто то мне помог ,я потом собираюсь запустить этот сервер в интернет.Нехотел раскрывать свои карты думал что украдут идею,но чтобы мне помог кто то видимо придется,я делаю модуль по легендарной игре Стар крафт для европы,уже готово на 50% за год уже побывало на моем бета тест-сервере достаточно человек,щас мне нужна конкретно помощ ваша мастера!3 расы должны быть враждебны друг к другу:Зерги,Терраны и Протосы,помогите же с написанием скрипта фракций.3 планеты,3 базы ,3 основных карты сражений у меня+много локаций + арена с бесплатным золотом и опытом для тренировки. Это теам-пвп сервер. Нужно сделать так чтобы скажем игрок выбравший Зергов был враждебен к Теранам и Протосам,а игрок выбравший Протосов к Теранам и Зергам,ну и выбравший Теранов соответственно к Зергам и Протосам. Моя личная идея и работаю уже несколько месяцев над ней,пока что один( Очень нужна ваша помощ Мастера в написании скриптов,мне и самому интересно их использовать и запоминать-применять,только туго у меня с их написанием уж извиняйте. Сообщение отредактировал Sugo77 - May 17 2008, 06:35 |
![]()
Сообщение
#2925
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Neverwinter Script OnEnter Модуля,локации или куда? В зависимости от того когда тебе нужно чтобы запустился скрипт. Если ты хочешь, чтобы репутация менялась при заходе на триггер - значит на триггер, если при входе в модуль - на модуль, если при заходе в локацию - на локацию. Всё по-простому. Вот такая есть функция: Neverwinter Script // Set how nStandardFaction feels about oCreature. // - nStandardFaction: STANDARD_FACTION_* // - nNewReputation: 0-100 (inclusive) // - oCreature void SetStandardFactionReputation(int nStandardFaction, int nNewReputation, object oCreature=OBJECT_SELF) Если её вставить в блок main три раза с нужными параметрами - то будет счастье. P.S. После запятой ставь пробел, или однажды ночью к тебе явится доктор Розенталь и съест моск. |
![]()
Сообщение
#2926
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Ну вот хоть один откликнулся тоько я нем немогу разобраться в скрипте етом
так надо менять для трех фракций чтобы игроки трех фракций были враждебны друг другу??? К примеру; 1 Тригер Зерги void SetStandardFactionReputation(100 nStandardFaction, +50 nNewReputation, object oCreature=OBJECT_SELF) 2 Тригер Протос void SetStandardFactionReputation(100 nStandardFaction, -50 nNewReputation, object oCreature=OBJECT_SELF) 3 Тригер Теран void SetStandardFactionReputation(100 nStandardFaction, 100 nNewReputation, object oCreature=OBJECT_SELF) А за место этого что-object? и этого-OBJECT_SELF? и куда его вставлять в писмена свойства тригера OnEnter да? Сообщение отредактировал Sugo77 - May 17 2008, 12:17 |
![]()
Сообщение
#2927
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Sugo77, язык скриптов это как язык иностранный. Его надо учить и понимать. Вот в этой теме я попытался дать азы. Почитай, может быть основы поймешь, а там сможешь задавать фопросы точно зная, что на них ответят.
|
![]()
Сообщение
#2928
|
|
Level 3 ![]() Класс: Воин Характер: Lawful Evil Раса: Человек ![]() |
Доброго всем времени суток!
Помогите, пожалуйста, решить одну проблему. Есть предмет, при использовании которого игрок превращается в монстра. Вот скрипт: Neverwinter Script void main() { object oPC = GetItemActivator(); object oItem = GetItemActivated(); effect eVis = EffectVisualEffect(VFX_IMP_POLYMORPH); effect ePoly = EffectPolymorph(POLYMORPH_TYPE_MEDUSA); ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC); ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePoly, oPC); DestroyObject(oItem); } Все работает прекрасно, игрок исправно превращается, но! Суть траблы: у некоторых существ не работают абилки. Например: "Тьма" у дроу и драйдера, "Окаменяющий взгляд" у медузы и василиска. Пишется, что "Вы не можете сконцентрироваться для эффективного применения этой способности". Но все другие абилки работают на ура, как то: метание игл у мантикоры и дыхание дракона. Вопрос: в чем проблема? Примечание: если просто поставить аналогичного монстра на карте, скажем, медузу, то она отлично будет пользоваться своими абилками, и не подозревая о моих проблемах. Плюс ко всему у Оборотня (престиж-класс) все отлично работает. Видимо, другой алгоритм? В любом случае, дроу оборотня превосходно накладывает заклинание тьмы. + Еще один вопрос, который может решить разом все проблемы: можно ли реализовать в игре полноценное превращение? Я имею в виду, что 1. создать монстра, 2. передать управление монстром игроку вместо его героя, 3. Сохранить героя и удалить его с локации, 4. По истечении времени создать сохраненного геро и, передав управление им игроку, убрать монстра. Монстр должен быть обязательно с палитры, дабы не было подобных глюков! Заодно и баланс подкорректиирую. Заранее благодарен! |
![]()
Сообщение
#2929
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Пишется, что "Вы не можете сконцентрироваться для эффективного применения этой способности" Глянь скрипты этих абилок, собака там зарыта (IMG:style_emoticons/kolobok_light/smile.gif) Скорее всего это не работает, если полиморф вызван не одним из фитов полиморфа шифтера (насколько я помню, там ещё скриптово прописанный лимит юзов есть, хоть иконки абилок и всегда активны). Почему неписи юзать могут - скорее всего у них там абилки другие, хоть эффект и похож.Реализовать полноценное нельзя. По меньшей мере, стандартными средствами нвн. Сообщение отредактировал Ilerien - May 18 2008, 12:11 |
![]()
Сообщение
#2930
|
|
Level 3 ![]() Класс: Воин Характер: Lawful Evil Раса: Человек ![]() |
Ilerien, спасибо огромное! Я думал, что это глюк, связанный с тем, что у меня новый модуль, а не основные компании нвн.
Сам собой всплыл очень важный вопрос: Где можно посмотреть скрипты абилок? Я думал, что они зарыты в *.exe. Как отредактировать эти абилки, если они не являются типичными ресурсами нвн (то есть через редактор до них не добраться)? Я нашел эти скрипты. Но есть 2 проблемы: во-первых, я по-прежнему не могу найти в этих скриптах, почему не работают они, а во-вторых, если я изменю их, версия моего сценария станет вместо глобальной расширенной. Что это значит? По теме скриптования. Сам понимаю, что это уже не прилично, тем не менее: если кому-нибудь будет не лень, посмотрите в редакторе, что нужно изменить, чтобы избежать вышеупомянутых проблем. Еще раз спасибо. |
![]()
Сообщение
#2931
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Абилки в экзешнике не зашиты.
Посмотреть, как точно называются эти скрипты, можно в spells.2da, юзая поиск по примерному названию абилки. Ну или воспользоваться фильтром. Скрипты абилок - это <название кампании>_s1_<название абилки>. Шифтер вроде появился только в ХотУ, поэтому надо искать скрипты x2_s1_<название>. Например, x2_s1_petgaze - скрипт окаменяющего взгляда. Открываем и видим: Neverwinter Script if (ShifterDecrementGWildShapeSpellUsesLeft() <1 ) { FloatingTextStrRefOnCreature(83576, OBJECT_SELF); return; } Строчка 83676 из диалог.тлк и есть "Вы не можете сконцентрироваться". Чтобы была возможность юзать абилки, можно убрать эту проверку. Ну или чтобы сохранить в неприкосновенности формы самого шифтера, можно при юзе твоего предмета вешать на игрока локалку и потом в скрипте абилки делать проверку на локалку. Цитата если я изменю их, версия моего сценария станет вместо глобальной расширенной. Что это значит? Это значит, что твой модуль будет использовать переписанный тобой скрипт везде вместо стандартного. К стандартному всегда можно вернуться, удалив кастомный.
|
![]()
Сообщение
#2932
|
|
Level 3 ![]() Класс: Воин Характер: Lawful Evil Раса: Человек ![]() |
/* OFFTOPIC Ilerien, еще раз огромное тебе человеческое спасибо, я во всем разобрался, все отлично работает! Уже обставил маленький садик собственной коллекцией скульптур) Плюс поправил другие эффекты, наподобие тьмы. Спасибо! */ |
![]()
Сообщение
#2933
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата так надо менять для трех фракций чтобы игроки трех фракций были враждебны друг другу??? Я писал уже, что игроку фракцию сменить нельзя. Значит фракциями отношения между игроками не настроить. Можно использовать SetPCDislike(), но ничто не мешает потом залезть в список игроков и снять дизлайки.Единственное, что ты можешь сделать - злых неписей. Как, уже написали целых два способа. P.S. Имхо проще найти скриптера, чем с нуля выучить язык программирования, особенно если он первый в твоей жизни. |
![]()
Сообщение
#2934
|
|
Level 3 ![]() Класс: Воин Характер: Lawful Evil Раса: Человек ![]() |
Хмм, возник еще вопрос: можно ли через скрипт прописать существу дополнительную абилку (спелл, фит...)? Возможно, для этого можно использовать таинственную функцию talent с многообещающим переводом "талант", но я не знаю, честно, сколько ни бился...
И еще: можно ли изменять базовых существ (в которых превращается игрок, когда используется функция EffectPolymorph) из набора POLYMORPH_TYPE_***? А то несолидно это, я еще в основной компании невика отметил: балор без меча и без магии - просто огненная фея. Про бехолдеров без единой абилки, которые только кусаться горазды, я вообще молчу, хотя это уже другая история... // И последнее: как удалять посты? =) А то я в соседней теме напостил, теперь хорошо бы убрать за собой... |
![]()
Сообщение
#2935
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата можно ли через скрипт прописать существу дополнительную абилку (спелл, фит...)? Можно с некоторыми оговорками. Как удаление гланд через задний проход.Фит можно повесить на шкурку и одеть ее игроку (как у мобов, в тулсете слот шкурки виден, в игре - нет). Но он считается временным. Т.е. если дать так мощную атаку, на апе разрубание все равно не взять. Спелл можно повесить на "обычный" итем и дать его игроку в инвентарь. Будет кастить как с палочки, с вытекающими. Цитата можно ли изменять базовых существ (в которых превращается игрок, когда используется функция EffectPolymorph) из набора POLYMORPH_TYPE_***? Смотри polymorth.2da.
|
![]() ![]()
Сообщение
#2936
|
|
Level 1 Класс: Паладин Характер: Lawful Good Раса: Человек ![]() |
Neverwinter Script //::////////////////////////////////////////////// //:: Name: Открывает ближайший магазин //:: Copyright © 2006 WRG! Team //::////////////////////////////////////////////// /* Открывает ближайший магазин */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 09.05.2006 //::////////////////////////////////////////////// void main() { object oSelf = OBJECT_SELF; object oPC = GetPCSpeaker(); object oStore = GetNearestObjectByTag("ТАГ_МАГАЗИНА", oSelf); if(!GetIsObjectValid(oStore) || GetDistanceBetween(oStore, oSelf) > 20.0) { // Магазина нет или он дальше 20 метров return; } else AssignCommand(oSelf, OpenStore(oStore, oPC)); } да я уже сам допер )) спасибо )) вскрыл другой модуль и оттуда содрал скрипт Подскажите парочку скриптов (с детальным описанием - я новичок): скрипт, который воскрешает монстра через определенное количество времени. скрипт, который создает цикличность в диалоге. например: (1)нпц: чем тебе помочь? (2)перс: - где находится кузница? - где находится храм? - где находится таверна? (3)нпц: (отвечает на один из вопросов) что еще хочешь узнать? и тут нужно вернуться к пункту (1) также нужен скрипт, который устанавливает условие для вывода фразы. например: нпц дает квест, а потом если видет в инвенторе квестовый предмет, говорит тебе что-то другое объясните скрипт, который задает условия для вывода фраз (например при первой встрече нцп приветствует персонада, а при второй он либо спрашивает про квест, либо предлогает услуги и наконец последний скрипт, который задает условие для вывода фразы у самого игрока например: нпц спрашивает про квестовую вещь, когда ее нет и у игрока только один вариант ответа типа "извиняй, ничего не нашел", а когда игрок добывает квестовыйпредмет, то у него появляется второй вариант ответа типа "вот держи, я нашел" пытаюсь сделать мощный мод, очень нужны эти скрипты |
![]()
Сообщение
#2937
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
скрипт, который создает цикличность в диалоге. например: (1)нпц: чем тебе помочь? (2)перс: - где находится кузница? - где находится храм? - где находится таверна? (3)нпц: (отвечает на один из вопросов) что еще хочешь узнать? и тут нужно вернуться к пункту (1) тут скрипт не нужен, это позволяет делать редактор диалогов. Copy - Paste as link. читай мануалы по работе с редактором. также нужен скрипт, который устанавливает условие для вывода фразы. например: нпц дает квест, а потом если видет в инвенторе квестовый предмет, говорит тебе что-то другое объясните скрипт, который задает условия для вывода фраз (например при первой встрече нцп приветствует персонада, а при второй он либо спрашивает про квест, либо предлогает услуги и наконец последний скрипт, который задает условие для вывода фразы у самого игрока например: нпц спрашивает про квестовую вещь, когда ее нет и у игрока только один вариант ответа типа "извиняй, ничего не нашел", а когда игрок добывает квестовыйпредмет, то у него появляется второй вариант ответа типа "вот держи, я нашел" разбирался вопрос десятки раз. См темы "скрипты", "вопросы новичков", "скрипты для новичков". причем все 3 последних вопроса по сути своей один вопрос. |
![]()
Сообщение
#2938
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Ну почитал но ничего не выходит(
Я больше организатор идей и мап монстер мэйкер.Литератор так сказать поэт с матиматикой и физикой туго всегда было( Вам трудно чтоли 5 букв написать?(подсказать этот скрипт как правилно что куда вписать Не охото на половине проект забрасывать к которому долго стремился а шас уже с 2е неделе застрял из за этого. Я видел много серверов с двумя фракциями и игроки враждебны стают друг другу при заходе на тригер и переходе локации но у меня должны быть три фракции враждебны друг к другу. Но как этого добиться никак невыходит . Сообщение отредактировал Sugo77 - May 20 2008, 18:20 |
![]()
Сообщение
#2939
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Если ты не можешь написать _даже_ этот скрипт - возьми в команду скриптера, иначе из твоего проекта ничего хорошего не выйдет. Сомневаюсь, что все мало-мальски нетривиальные скрипты за тебя будут писать обитатели ГМ (IMG:style_emoticons/kolobok_light/ph34r.gif)
К слову, получение скриптов на блюдечке с голубой каёмочкой не способствует порядку в модуле. 1. Жмём ctrl+alt+f, открывается окошко редактора фракции. Жмём кнопку "Add faction". Открывается окошко добавления фракции. Имя выбираем, например, faction1. Какую выбирать базой - не важно, нужен ли тебе глобальный эффект - не знаю. Повторяем этот пункт ещё 2 раза. Выставляем в таблице фракций (вкладка advanced) репутацию (не знаю, какая тебе там нужна, сам разберёшься, 0 - 10 - враждебный, 11 - 90 - нейтральный, 91 - 100 - дружественный). 2. Получилось 3 фракции. Создаём специальную локацию (изолированную от остальных), куда помещаем трёх неписей, не важно, каких, важно, что фракции у них будут разные - как можно было догадаться, те самые, которые мы создали (в свойствах непися - вкладка advanced - дропменю faction). Все скрипты из слотов этих неписей убираем во избежание казусов, ставим флажок plot на вкладке advanced. Теги неписей - например fact_1, fact_2, fact_3. 3. Скрипт триггера, делает фракцию с номером, совпадающим с последним символом тега триггера, враждебной игроку, который на него наступает. Пример тега триггера - adjfact1. Слот для скрипта - onEnter триггера. Neverwinter Script void main()
{ object oPC = GetEnteringObject(); object oFactionMember = GetObjectByTag("fact_" + GetStringRight(GetTag(OBJECT_SELF), 1)); if(GetIsPC(oPC)) AdjustReputation(oPC, oFactionMember, -100); } Сообщение отредактировал Ilerien - May 20 2008, 19:38 |
![]()
Сообщение
#2940
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
БОльшое спасибо попробую разобраться
Хм ставим плот и чистим все другие скрипты вы сказали а как же тогда монстры будут спавниться у них то стояло string для спавна. Я думаю здесь как раз пригодился бы тот самый скрипт не с респавном монстров а со спавнам на точку через заданное время про который я вам говорил Ilirien не могли бы вы его выложить? А много монстров небудут уменя никогда потому что они все у меня идут друд на друга и борются тераны с зергам и протосы 3 фракции монстров также как и игроков. Суть мода убть боса одной из трех фракций и модуль перезаргружается. Сообщение отредактировал Sugo77 - May 21 2008, 01:42 |
![]() ![]() |
Текстовая версия | Сейчас: 6th May 2025 - 08:14 |