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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 44 45 46 47 48 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Lex
сообщение May 20 2005, 14:43
Сообщение #1126


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

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



?? А что тут такого?
Сколько золота у ПС?
Neverwinter Script Source
int GetGold(
    object oTarget = OBJECT_SELF
);


Забираем:
Neverwinter Script Source
void TakeGoldFromCreature(
    int nAmount,
    object oCreatureToTakeFrom,
    int bDestroy = FALSE
);


PS: если и у тебя лут это мешочек, то я бы удалял (bDestroy = TRUE) а в мешке создавал бы.
Neverwinter Script Source
object CreateItemOnObject(
    string sItemTemplate,
    object oTarget = OBJECT_SELF,
    int nStackSize = 1
);

Просто не уверен, можно ли в качестве oCreatureToTakeFrom использовать placeable. Если можно то все ок, забирай и забей на PS
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Buldog
сообщение May 20 2005, 17:03
Сообщение #1127


Level 5
**

Класс: Мастер Оружия
Характер: Chaotic Neutral
Раса: Полуорк



Тут есть одна проблемка, нельзя создать кучку золота больше 50000 монет, и, забрав у игрока все, что есть велик риск превысить эти 50000...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение May 20 2005, 18:29
Сообщение #1128


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Ну допустим число в 50к превышается, но тем не менее на мешок создается 50к? Если да, то меня это устроит.
И еще вопросец, допустим ПС умер, на его место создается труп с инвентори, в него кладется золото. А при открытии трупа пишется, собственно имя того кто умер. Не помню где, но я такое видел.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 20 2005, 19:10
Сообщение #1129


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

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



QUOTE (Лито @ May 20 2005, 19:29)
Ну допустим число в 50к превышается, но тем не менее на мешок создается 50к? Если да, то меня это устроит.

лучше сделать что-то типа такого:
поделить деньги игрока на 50к, узнать, сколько кучек по 50к делать, ну и найти остаток, тоже отдельной кучкой его сделать.
QUOTE (Лито @ May 20 2005, 19:29)
А при открытии трупа пишется, собственно имя того кто умер. Не помню где, но я такое видел.

на смерть, при создании трупа запиши ему в локалку "NAME" имя перса (GetName()) ну а onUsed трупа вытаскивай эту локалку и вперед.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение May 20 2005, 19:21
Сообщение #1130


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Написал так:
Neverwinter Script Source
//....
object oCorpse = GetNearestObjectByTag("PC_Corpse");
int iGold = GetGold(oPlayer);
TakeGoldFromCreature(iGold,oPlayer,TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE,"pc_corpse",GetLocation(oPlayer),TRUE);
CreateItemOnObject("NW_IT_GOLD001",oCorpse,iGold);
//...

Золото не забирается и не создается. Только труп появляется... :vava:
Вот такая еще фиговина. Не знаю как правильно повесить переменную, сделал так -
Neverwinter Script Source
SetLocalInt(oCorpse,GetName(oPlayer),1);
, но даже если это правильно, то как же потом в OnUse это применить. :xz:

P.S. Вот решение так и вертится рядом где-то... :unsure:

Сообщение отредактировал Лито - May 20 2005, 19:29
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 20 2005, 19:26
Сообщение #1131


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

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



Ээ..
Neverwinter Script Source
object oCorpse = GetNearestObjectByTag("PC_Corpse");

а ниже
Neverwinter Script Source
CreateObject(OBJECT_TYPE_PLACEABLE,"pc_corpse",GetLocation(oPlayer),TRUE);

Это как? Сначала ввел объект, потом создал?

ЗЫ: сейчас у себя сделаю и посмотрим, что получится
Добавлено в [mergetime]1116607038[/mergetime]
кстати, реф голда такой "it_gold002" а не "NW_IT_GOLD001" (это тэг)
Добавлено в [mergetime]1116607174[/mergetime]
QUOTE (Лито @ May 20 2005, 20:21)
Вот такая еще фиговина. Не знаю как правильно повесить переменную, сделал так -

ты чаго делаешь? Тебе имя же надо, так?
Neverwinter Script Source
SetLocalString(oCorpse,"NAME",GetName(oPC));

а потом
Neverwinter Script Source
string sName = GetLocalString(oCorpse,"NAME");

Ты откуда такой упал? Вроде раньше все нормально более-менее со скриптами у тебя было :)

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение May 20 2005, 19:44
Сообщение #1132


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



QUOTE
Ты откуда такой упал? Вроде раньше все нормально более-менее со скриптами у тебя было

да это я от перенапряга, экзамены :bad:

Кстати на счет тэга и ресрефа. Я использовал в лут-системе своей тэг...и ничего создается :xz:
Добавлено в [mergetime]1116607539[/mergetime]
Кстати остается не понятным, почему золото не забирается при смерти?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 20 2005, 19:50
Сообщение #1133


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

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



аа..да..еще на вскидку - модуль вроде не может забрать деньги..
Добавлено в [mergetime]1116607956[/mergetime]
Neverwinter Script Source
void main()
{
    object oPlayer = GetLastPlayerDied();
    int nGP = GetGold(oPlayer);
    object oCorpse = CreateObject(OBJECT_TYPE_PLACEABLE,"pc_corpse",GetLocation(oPlayer),TRUE);
    AssignCommand(oCorpse,TakeGoldFromCreature(nGP,oPlayer,FALSE));
    DelayCommand(2.5, PopUpGUIPanel(oPlayer,GUI_PANEL_PLAYER_DEATH));
}

база. Что там у тебя еще в системе, я не знаю, вноси сам.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение May 20 2005, 19:52
Сообщение #1134


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Так все, дальше я сам :D
Neverwinter Script Source
AssignCommand(oPlayer, TakeGoldFromCreature(nGold, oPlayer, TRUE));


Сообщение отредактировал Лито - May 20 2005, 19:54
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 20 2005, 19:54
Сообщение #1135


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

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



проверил со 100к, работает. Так что ничего расчитывать не надо.
Только имя добавь, как я выше писал и все
Добавлено в [mergetime]1116608129[/mergetime]
QUOTE (Лито @ May 20 2005, 20:52)
AssignCommand(oPlayer, TakeGoldFromCreature(nGold, oPlayer, TRUE));

не, не стоит так.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение May 20 2005, 19:57
Сообщение #1136


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Та-а-к, золото забирается, но не создается :agr:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 20 2005, 20:00
Сообщение #1137


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

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



ПРОВЕРЬ РЕЗРЕФ.
Добавлено в 21:00
а вообще я написал же выше скрипт..он работает с любыми суммами и через передачу работает, а не через создание, так что проблемы вообще нету. :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение May 20 2005, 20:05
Сообщение #1138


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Lex , все сенк, все работает. Прокосячил, самому за себя стыдно :oops:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Мефистофель
сообщение May 20 2005, 20:10
Сообщение #1139


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

Класс: Страж Тьмы
Характер: Lawful Good
Раса: Баатезу



Моет мне ктонибудь поможет? а
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 20 2005, 20:38
Сообщение #1140


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

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



QUOTE (Мефистофель @ May 20 2005, 09:41)
Помогите, у кого есть хак с Лошадьми, мне нужно, чтоб ПК сел на лошадь. :swoon:

у меня нету, я не знаю. Но вроде такое невозможно технически. Там должна быть модель всадника в хаке. Возможно посадка на лошадь это просто удаление лошади и смена модели игрока на всадника, хз. :)
Добавлено в [mergetime]1116611188[/mergetime]
QUOTE (Мефистофель @ May 20 2005, 09:41)
И ещё помогите со скриптом, блин он такой лёгкий, но у меня чёто не получается, я делаю так.
DelayCommand(39.5, AssignCommand оРС ActionSit(оСтул); это я так без тулсета примерно написал. помогите, как посадить ПК. :unsure:

Ээ..это у тебя часть сценки? Я без остального текста сценки тебе ничего сказать не могу.
А если тебе надо сесть на стул при клике на него, то
Neverwinter Script Source
AssignCommand(GetLastUsedBy(),ActionSit(OBJECT_SELF));

на onUsed стула.
QUOTE (Мефистофель @ May 20 2005, 09:41)

И ещё т.к. камера не отрывается мне нужно сделать копию ПК, а настоящего оставить под эффектом невидимости. Я видел это в зеркалах, в ХотУ. помогите, что сделать нужно. :yes:

Neverwinter Script Source
object CopyObject(
    object oSource,
    location locLocation,
    object oOwner = OBJECT_INVALID,
    string sNewTag = ""
);

oSource - Object to be copied.
locLocation - Destination location for the copied object (required).
oOwner - Item owner (for use when copying items into inventory) (Default: OBJECT_INVALID)
sNewTag - New tag name. (Default: "")

А инвиз лучше всего такой
Neverwinter Script Source
effect eInvis = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);

и накладывай его
Neverwinter Script Source
void ApplyEffectToObject(
    int nDurationType,
    effect eEffect,
    object oTarget,
    float fDuration = 0.0f
);

nDurationType - DURATION_TYPE_*
eEffect - The effect to apply.
oTarget - The target of the effect.
fDuration -The duration of temporary effects. (Default: 0.0f)

QUOTE (Мефистофель @ May 20 2005, 09:41)

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

Глянь на базе скриптов. Вообще тебе всего то надо определить класс и создать соотв. шмотку..
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение May 20 2005, 21:56
Сообщение #1141


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Есть такая проблема, при потере левела, игрок иногда остается в шмоте, который ему не по "размеру". Появилась идея, при респауне снимать и одевать вещи на игрока. Реально ли такое осуществить?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 20 2005, 22:22
Сообщение #1142


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

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



Да.
Через стоимость вещи вроде можно определить уровень. Где-то кто-то расписывал табличку такую. Сравнивай потом с уровнем игрока и все.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Buldog
сообщение May 21 2005, 01:29
Сообщение #1143


Level 5
**

Класс: Мастер Оружия
Характер: Chaotic Neutral
Раса: Полуорк



Можно сделать просто вот такую функцию:
Neverwinter Script Source
void ReEquipItem(object oPC)
{
    object oItem;
    int nSlot;

    for(nSlot = 0; nSlot < 14; nSlot++)
    {
        oItem = GetItemInSlot(nSlot, oPC);
        if(oItem != OBJECT_INVALID)
        {
            AssignCommand(oPC, ActionUnequipItem(oItem));
            AssignCommand(oPC, ActionEquipItem(oItem, nSlot));
        }
    }
}

И использовать ее в нужном месте :) Она будет переодевать шмот и если что то будет не по лвлу, оно не оденется :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tiger Greyhawk
сообщение May 21 2005, 03:14
Сообщение #1144



Иконки Групп

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



QUOTE (Мефистофель @ May 20 2005, 09:41)
Помогите, у кого есть хак с Лошадьми, мне нужно, чтоб ПК сел на лошадь.

А топик "Ссылки" зачем? Там оно есть: Ссылка на пост с хаком лошадей. Наиболее качественные лошади.

З.Ы. Lex, удали потом этот мой оффтоп, плз.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение May 21 2005, 10:32
Сообщение #1145


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Buldog ,я как раз про это говорил, сенк ;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Мефистофель
сообщение May 21 2005, 13:40
Сообщение #1146


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

Класс: Страж Тьмы
Характер: Lawful Good
Раса: Баатезу



Лекс Громадное спосибо. но вазникло опять куча вопросов.
1. возможно ли поменять ПК, т.е, Скриптом или чем другим переменить ПК на любого другого НПК.?
Здравствуйте, дорогие ВРГшники, очень прошу мне помочь со скриптом.
Дак вот в ХотУ был такой скрипт, желейный куб поглощает дроу, а дроу дёргается и превращается в скелета, и, наконец падает.
Вопрос.
Мне нужно поместить скрипт не как кут сцену, а на on Death, чтобы создавать людей которые при убийстве превращались в скелетов дергались и умирали, функции там были какие-то такие, я попробовал фигня не получается, может вы поможете мне, заранее спасибо.
Neverwinter Script Source
void CallSetStatus(int nCutscene, object oObject, int nVal)
{
    if(nCutscene == GetLocalInt(oObject, "nCutsceneNumber"))
    {
        SetLocalInt(oObject, "STATUS", nVal);
    }
}

void CutSetStatus(float fDelay, object oObject, int nVal)
{
}

void CallSetAppearance(int nCutscene, object oObject)
{
    if(nCutscene == GetLocalInt(oObject, "nCutsceneNumber"))
    {
        SetCreatureAppearanceType(oObject, APPEARANCE_TYPE_SKELETON_COMMON);
    }
}

void CutSetAppearance(float fDelay, object oObject)
{
}


QUOTE
AssignCommand(GetLastUsedBy(),ActionSit(OBJECT_SELF));

Лекс нет, я имел ввиду в катсцене,! чтоб ПК сел. на опередённый стул.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 21 2005, 15:05
Сообщение #1147


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

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



QUOTE (Мефистофель @ May 21 2005, 14:40)
Лекс нет, я имел ввиду в катсцене,! чтоб ПК сел. на опередённый стул.

и что я тебе сказал, если там сценка?
QUOTE (Lex @ May 20 2005, 21:38)
Ээ..это у тебя часть сценки? Я без остального текста сценки тебе ничего сказать не могу.

Так то...
QUOTE (Мефистофель @ May 21 2005, 14:40)
1. возможно ли поменять ПК, т.е, Скриптом или чем другим переменить ПК на любого другого НПК.?

Чаво??? Превратить НПС в игрока и наоборот..во время игры? Нет. И необходимости никогда не было...

QUOTE (Мефистофель @ May 21 2005, 14:40)
Здравствуйте, дорогие ВРГшники, очень прошу мне помочь со скриптом.

команда WRG является 1% от посетителей форума.. :) Форумчане уж тогда :)
QUOTE (Мефистофель @ May 21 2005, 14:40)
Мне нужно поместить скрипт не как кут сцену, а на on Death, чтобы создавать людей которые при убийстве превращались в скелетов дергались и умирали, функции там были какие-то такие, я попробовал фигня не получается, может вы поможете мне, заранее спасибо.

эм..ты мне не рассказывай, как в ХОТУ, я не играл :)
Надо, чтобы после смерти проигралась какая-то анимация (дерганье тобишь. Стоя они дергались или как?) и превращение в скелетов?

анимация:
Neverwinter Script Source
ActionPlayAnimation(int ANIMATION_*, float fSpeed, float fTime);

превращение..там скорее всего создание на этом месте нового существа - скелета. Это так:
Neverwinter Script Source
CreateObject(int OBJECT_TYPE_*,string ref, location lloc,FALSE);
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение May 21 2005, 17:13
Сообщение #1148


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Научите меня функцией ActionStartConversation пользоваться :)
Необходимо сделать диалог с плэйсиблом. (хрустальный шар)
пишу:
Neverwinter Script Source
void main()
{
AssignCommand(OBJECT_SELF,ActionStartConversation(GetLastUsedBy(),"l_plc_frostball",TRUE,FALSE));
}

где l_plc_frostball - это имя диалога, ну и ResRef я думаю. Использую шар, диалога нет :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Убо-Сатло
сообщение May 21 2005, 17:25
Сообщение #1149


Level 5
**

Класс: Маг
Характер: True Neutral
Раса: Человек



QUOTE (Лито @ May 21 2005, 18:13)
Научите меня функцией ActionStartConversation пользоваться

Достаточно просто на OnUsed
Neverwinter Script Source
void main()
{
  ActionStartConversation(GetLastUsedBy());
}

А диалог вставить в ->свойства плэйса -> улучшеный-> разговор
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение May 21 2005, 17:30
Сообщение #1150


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Сейчас попробуемс...
Добавлено в [mergetime]1116686316[/mergetime]
Убо-Сатло Не катит такой способ. Игрок просто подходит к шару и все.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 44 45 46 47 48 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



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