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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 58 59 60 61 62 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Aiwan
сообщение Jun 20 2005, 16:52
Сообщение #1461


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

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



QUOTE (Archangel @ Jun 20 2005, 16:31)
Да у меня НеПиСей так 30 с таким скриптом в OnHeartBeat стоят и ниче, живы еще

Это настолько тупо и безгамотно, что я бы даже постеснялся говорить о таком на форуме. :D У меян испоьзуется хербит пару раз для Евентов, но не больше.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Jun 20 2005, 18:19
Сообщение #1462


Level 5
**

Класс: Рейнджер
Характер: Neutral Good
Раса: Человек



Equilibrium
В общем, тебе нужно
1. получить кастуемый спел (константу)
2. получить левел спела. Функции типа GetSellLevel вроде нету (тем более, что одни и те же спелы могут быть разного уровня у разных классов. Да они еще метамагическими). Так что, придется ручками перебирать все константы и с помощью if ... else расставлять уровни. (Или упростить задачу).
3. Проверить на вещи кол-во свойств ITEM_PROPERTY_CAST_SPELL
4. Уничтожить вещь или добавить свойство (c этим тоже придется по париться).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dark@ngel
сообщение Jun 20 2005, 19:21
Сообщение #1463


Level 1


Класс: Друид
Характер: Lawful Neutral
Раса: Полуэльф



У меня тут проблемка возникла, сама я не дойду:
Допустим есть локация-корабль с триггером выхода. Хочу сделать так, чтобы выйти с этой локации нельзя было в течение одного дня, а если будешь ломиться - то на триггере всплывал текст типа еще рано. Но потом по стечению 24 часов можно было выйти. Если это очень сложно, можно не отвечать я пойму.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jun 20 2005, 19:51
Сообщение #1464


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

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



QUOTE (Dark@ngel @ Jun 20 2005, 20:21)
Допустим есть локация-корабль с триггером выхода. Хочу сделать так, чтобы выйти с этой локации нельзя было в течение одного дня, а если будешь ломиться - то на триггере всплывал текст типа еще рано. Но потом по стечению 24 часов можно было выйти. Если это очень сложно, можно не отвечать я пойму.

просто, но я не уловил условие блокировки выхода в начале.. Те в какой момент лока закрывается..
Добавлено в [mergetime]1119287097[/mergetime]
Neverwinter Script Source
void main()
{
  object oClicker = GetClickingObject();
  object oTarget = GetTransitionTarget(OBJECT_SELF);

  SetAreaTransitionBMP(AREA_TRANSITION_RANDOM);

  if (GetLocalInt(GetArea(OBJECT_SELF),"BLOCK"))
      {
      FloatingTextStringOnCreature("Çàáëîêèðîâàíî",oClicker,TRUE);
      return;
      }
  else
      {
      AssignCommand(oClicker,JumpToObject(oTarget));
      }
}


На клике на переход местности.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Jun 20 2005, 20:10
Сообщение #1465


Level 5
**

Класс: Рейнджер
Характер: Neutral Good
Раса: Человек



В общем, должно быть на onClick триггера должны быть что-то в этом роде:
Neverwinter Script Source
void main()
{
    object oPC = GetClickingObject();
    int nDate = GetLocalInt(OBJECT_SELF, "SHIP_NO_EXIT_DATE");
    if(GetCalendarDay() == nDate)
    {
      object oDest = GetTransitionTarget(OBJECT_SELF);
      AssignCommand(oPC, ActionJumpToObject(oDest));
    } else
    {
      AssignCommand(oPC, SpeakString("Сегодня выйти не выйдет!"));
    }
}

Локалку с датой, в которую нельзя сходить с корабля нужно повесить заранее (кстати, может быть лучше не на триггер, а на ПС или модуль). Н.п. при заходе чувака на корабль, загрузке модуля и т.п. (в зависимости от конкретных обстоятельств). :D
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 20 2005, 21:32
Сообщение #1466


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

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



Dark@ngel это просто как 2х2=5. Чертишь триггер, соединяешь его с нужным, на он Ентр триггера ставь.
Neverwinter Script Source
//:://////////////////////////////////////////////
//:: OnExit
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*

*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 20.06.2005
//:://///////////////////////////////////////////
void main()
{
    object oPC = GetEnteringObject(); // Взять того кто наступил
    object oJump = GetTransitionTarget(OBJECT_SELF);
    // Это объект куда надо попасть
    float fDel = 2880.0;
    /*
    Предположим, дин час игры равен 2 минутам. Это 120 секунд
    Задержка 1 день  (fDel = 120*24*1)
    Если надо два дня то так: (fDel = 120*24*2)
    Если в модуле час равен 3 минутам то так: (fDel = 180*24*1)
    */

    if (GetIsPC(oPC)) // Если тот кто наступил является Игроком
    {
    if (GetLocalInt(oPC, "TRANSITION")==2)// Если на нем локалка с числом 2, то попадет
    {                                    // Куда ему надо
    AssignCommand(oPC, ClearAllActions());
    AssignCommand(oPC, ActionJumpToObject(oJump));
    return;
    }
    if (GetLocalInt(oPC, "TRANSITION")==1) // Если локалка ровна 1, то говорит фразу
        {
        SpeakString("Фраза");
        return;
        }
    if (!GetLocalInt(oPC, "TRANSITION")) // Если Игрок наступил ПЕРВЫЙ раз.
        {
        SpeakString("Фраза"); // говорим фразу
        SetLocalInt(oPC, "TRANSITION", 1); // Отметим что наступил раз
        DelayCommand(fDel, SetLocalInt(oPC, "TRANSITION", 2));
        // Задержим присвоение переменной на сутки. Как расчитан fDel см. выше.
        }
      }
}

Добавлено в [mergetime]1119292497[/mergetime]
:lol: ЛОЛ...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jun 20 2005, 22:17
Сообщение #1467


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

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



LOL.
3 чела кинулись помогать девушке...
гы.. Понеслась.
Фрид
- привязка к дате это не есть гут
ну а в остальном как у меня. :)
Айв
- привязка к секундам не канает, если например отдохнуть 3 раза по 8 часов, то пройдет 100 секунд например и 24 часа игровых.. но выйти никак
- плохо, что отсчет времени идет от первого наступания

короче мой вариант само то. Вот только к нему продолжение:
там, где надо (может в диалоге, может еще где)
Neverwinter Script Source
int nTime = GetTimeHour() + (GetCalendarDay() + GetCalendarMonth()*30)*24;
SetLocalInt(GetObjectByTag("TAG_OF_AREA"),"BLOCK",TRUE));
SetLocalInt(GetObjectByTag("TAG_OF_AREA"),"BLOCK_TIME",nTime));

в ХБ локации
Neverwinter Script Source
void main()
{
if (!GetLocalInt(OBJECT_SELF,"BLOCK")) return;
int nTime = GetTimeHour() + (GetCalendarDay() + GetCalendarMonth()*30)*24;
int nBTime = GetLocalInt(OBJECT_SELF,"BLOCK_TIME");
if ((nTime - 24 > nBTime )&&( nBTime != 0))
{
SetLocalInt(OBJECT_SELF,"BLOCK",FALSE);
SetLocalInt(OBJECT_SELF,"BLOCK_TIME",0);
}
}


не проверял, но примерно так..

Friedrich, сенькс за скобки.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Jun 20 2005, 23:33
Сообщение #1468


Level 5
**

Класс: Рейнджер
Характер: Neutral Good
Раса: Человек



Айв, на онЕнтер инициализировать локалки не есть вери гуд. Я тоже сначала об этом подумал. Вряд ли нам нужно чтобы игрок не мог выйти в течении суток именно с момента первой попытки выйти.
Так что, время блокирования нужно задавать отдельно. И делать что Лекс сказал.
Тока:
if ( (nTime > (nBTime + 24)) && (nBTime != 0) ){
Гы-гы. :D Скобки забыл! ХЗ вообще, у кого приоритет больше у "+" или ">".
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Equilibrium
сообщение Jun 21 2005, 00:29
Сообщение #1469


Level 2
*

Класс: Друид
Характер: True Neutral
Раса: Человек



Friedrich
Спасибочки.
1)Понятно... почти... как у нас константа возвращается?
2)Эз... понятно... думал будет легче.
3)Санькс.
4)А по подробнее можно? Именно про добовление свойств?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Jun 21 2005, 01:03
Сообщение #1470


Level 5
**

Класс: Рейнджер
Характер: Neutral Good
Раса: Человек



Equilibrium
1) int GetLastSpell();

This is for use in a OnSpellCastAt script, it gets the ID (SPELL_*) of the spell that was cast.

4) Создаешь свойство:
itemproperty ItemPropertyCastSpell(int nSpell, int nNumUses);
Ахтунг! nSpell - это не константа спела (SPELL_*), это константа свойства предмета IP_CONST_CASTSPELL_*
Чтобы преобразовать одну в другую есть функция
IPGetIPConstCastSpellFromSpellID(int) из x2_inc_itemprop. Пользуй ее или пиши свою.

Добавляешь:
void AddItemProperty(
int nDurationType,
itemproperty ipProperty,
object oItem,
float fDuration = 0.0f
);
Внимательно почитай описания этих функций.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Equilibrium
сообщение Jun 21 2005, 02:55
Сообщение #1471


Level 2
*

Класс: Друид
Характер: True Neutral
Раса: Человек



Ой мамочки! Ох... Эээ... Дамссс...
В-вобщем с-спасибо т-тебе б-б-большое...
Чувст-твую н-на б-ближайшую нед-делю у м-меня уже есть з-задачка... :unsure:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 21 2005, 11:10
Сообщение #1472


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

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



Lex, Friedrich согласен с вами. НО вы не понимаете. Ваш код верный, но слишком сложен для новичка. Мой код воткнул и забыл. Когда она сможет сама разобраться в скриптинге наши советы отпадут. :D
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jun 21 2005, 19:48
Сообщение #1473


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



Если кому не трудно выложите скрипт, чтобы хейчман присоединялся к игроку.(или укажите название стандартного)
П.с: не думайте что ленюсь, искал этот скрипт в разговоре с хейчманом, но там их море.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Jun 21 2005, 21:31
Сообщение #1474


Level 5
**

Класс: Рейнджер
Характер: Neutral Good
Раса: Человек



void AddHenchman(
object oMaster,
object oHenchman = OBJECT_SELF
);
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Агрессинг
сообщение Jun 21 2005, 22:47
Сообщение #1475


Level 5
**

Класс: Убийца
Характер: True Neutral
Раса: Чудовище



Dik Morris
Советую таки получше изучить и всмотрется в стандартны оруженосческий диалог, если не хочешь, чтобы даже после присоединения он говорил что нибудь вроде: "Здраствуйте незнакомец, не хотите ли вы нанять оружееносца?" Легче всего посмотреть на фразе "Хотите взять Томи/Делана/Лину/Г-г-римгноу" к себе в команду."
ЗЫ
Кстати, скачай демо модуль из файлов и посмотри там скрипты - откроешь для себя много интересного, да и в своем модуле использовать ни кто не запрещает
Sorry за оффтоп, но надо же человеку посоветовать, как лучше, а то обойдется только одним скриптом.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nick Parker
сообщение Jun 22 2005, 12:05
Сообщение #1476


Level 5
**

Класс: Ученик Дракона
Характер: Lawful Good
Раса: Человек



Меня интересует одна деталька. Как можно изменить внешность у НеПиСей? Почему я не могу сделать это в свойствах НПСа?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
defolt
сообщение Jun 22 2005, 12:08
Сообщение #1477


Level 8
***

Класс: Рейнджер
Характер: Chaotic Evil
Раса: Нежить



QUOTE (Nick Parker @ Jun 22 2005, 12:05)
Меня интересует одна деталька. Как можно изменить внешность у НеПиСей? Почему я не могу сделать это в свойствах НПСа?


как это? там же закладка appearence есть...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nick Parker
сообщение Jun 22 2005, 12:11
Сообщение #1478


Level 5
**

Класс: Ученик Дракона
Характер: Lawful Good
Раса: Человек



defolt вот в этой-то закладке все серое, т.е. изменить ничего нельзя. Типа стандартная внешность и изменять незя.
Добавлено в [mergetime]1119431558[/mergetime]
Может потому что русская версия стоит?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
defolt
сообщение Jun 22 2005, 12:16
Сообщение #1479


Level 8
***

Класс: Рейнджер
Характер: Chaotic Evil
Раса: Нежить



QUOTE (Nick Parker @ Jun 22 2005, 12:11)
defolt вот в этой-то закладке все серое, т.е. изменить ничего нельзя. Типа стандартная внешность и изменять незя.

хых..ты кого менять то собрался? бомжа какого нить из оригинальной компании? скорее всего это у него просто криповская шкура на нем висит- цельная модель, посмотри, что написано на в закладке basic, в поле Appearence type..., что бы можно было менять, там по-моему должно быть написано что-то вроде "Elf, male"....
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nick Parker
сообщение Jun 22 2005, 12:45
Сообщение #1480


Level 5
**

Класс: Ученик Дракона
Характер: Lawful Good
Раса: Человек



QUOTE (defolt @ Jun 22 2005, 12:16)
написано что-то вроде "Elf, male"....

У меня написано "child, male" без толку. Попробовал и "elf, male" такая же фигня. Уже попробовал Английскую версию поставить. Все равно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
defolt
сообщение Jun 22 2005, 12:48
Сообщение #1481


Level 8
***

Класс: Рейнджер
Характер: Chaotic Evil
Раса: Нежить



QUOTE (Nick Parker @ Jun 22 2005, 12:45)
У меня написано "child, male"


во!!!! сто процентов цельный скин- этого менять нельза...посмотри тогда типы Elf, Human и т.д...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Jun 22 2005, 12:52
Сообщение #1482


Level 5
**

Класс: Рейнджер
Характер: Neutral Good
Раса: Человек



Выбирай просто, Human, Elf, Dwarf etc.
child, male - это ж видно, цельная модель, как Арибет, например. Арибет ты тоже внешность не поменяешь.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nick Parker
сообщение Jun 22 2005, 12:55
Сообщение #1483


Level 5
**

Класс: Ученик Дракона
Характер: Lawful Good
Раса: Человек



Сэнкс чуваки :D . Я бы наверно еще неделю бы это догонял.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jun 23 2005, 10:19
Сообщение #1484


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



"Всем известно что дриада, не может жить без своего дерева, уничтожишь дерево умрет, дриада"
Мне нужен скрип, чтоб когда игрок атаковал определенный предмет, у НПЦ, отнимались жизни, в случае уничтожения предмета умирал и НПЦ.Если кому не трудно выложте плиз.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jun 23 2005, 13:00
Сообщение #1485


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

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



на ОнДеаф дерева поставить это

Neverwinter Script Source
void main()
{
object oNPC = GetObjectByTag("тег дерева");
effect oEf = EffectDeath(TRUE);

ApplyEffectToObject(DURATION_TYPE_INSTANT, oEf,oNPC);
AssignCommand(oNPC, SpeakString("я умераю"));
}


тогда дриада умрет вместе с деревом, а вот чтобы хиты при атаки отнимались?
Какой функцией можно изменять хиты у чела?

Блин чета меня колбасит, какой раз уже поправляю :D

Сообщение отредактировал -fenix- - Jun 23 2005, 13:46
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



Текстовая версия Сейчас: 15th July 2025 - 09:05