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

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

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


Level 5
**

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



Смотря какой скрипт, но, скорей всего, в OnUsed сундука.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lorendroll
сообщение May 16 2005, 14:13
Сообщение #1112


Level 9
***

Класс: Волшебник
Характер: Neutral Good
Раса: Эльф



Вот кстати мой скрипт выращивания яблок на кустах :)
CODE

#include "nw_i0_plot"
void DefaultFoodHeartbeat()
{
   object oFood = OBJECT_SELF;
   string food_name = GetLocalString(oFood,"food_name"); //Берем локальную переменную с куста
   int food_max = GetLocalInt(oFood,"food_maximum"); // Максимальное кол-во яблок на кусте
   int food_amount = GetLocalInt(oFood,"food_crop_amount"); //К-во яблок, вырастающих за 1раз
   int food_period = GetLocalInt(oFood,"food_crop_period"); //Период вырастания яблок
   //Если имя объекта на локалинте куста не равно пустоте.
   if( food_name != "" ) {
       int food_timer = GetLocalInt(oFood,"food_timer"); //Берем значение таймера
       int food_count = GetNumItems(oFood, food_name); //И количество выросших яблок
       //И если настало время...
       if( food_timer >= food_period ) {
           // Очищаем таймер
           SetLocalInt(oFood,"food_timer",0);
           if( food_count < food_max) {
               //И создаем объект
               int i;
               for(i=0; i < food_amount; i++) {
                   object item = CreateItemOnObject (food_name, oFood, 1);
                   }
           }
       } else {
           // increase the timer
           SetLocalInt(oFood,"food_timer",food_timer+1);
       }
   }
}


Для сундуков делаем соответственно. Ставим на heartbeat. Для удобства можешь переименовать переменные из food в loot например. На самом сундуке ставь эти переменные. Можно еще сделать генерацию нескоьких видов предмета на этом "кусте" или сундуке и прописывать их теги в соответствующей переменной.

Хотя для сундука действительно лучше на OnUsed, хотя на хертбите все равно доолжен торчать таймер.
CODE

SetLocalInt(OBJECT_SELF,"timer", timer+1);

На он юсд:
CODE

int timer = GetLocalInt (OBJECT_SELF, "timer");
if( timer >= УКАЗАТЬ ВРЕМЯ В РАУНДАХ ) {
           // Очищаем таймер
           SetLocalInt(OBJECT_SELF ,"timer",0);
           //И создаем объект
           object item = CreateItemOnObject (ТЕГ ОБЪЕКТА, OBJECT_SELF, 1);
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Buldog
сообщение May 16 2005, 15:01
Сообщение #1113


Level 5
**

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



Я блоки это конечно хорошо, но вот скрипты для генерации лута куда удобней делать под OnUsed или OnOpen
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Scaled
сообщение May 18 2005, 23:11
Сообщение #1114


Level 3
*

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



Вопрос о системе выпадения лута. Мне интересно какие скрипты отвечают за это?
Я сделаю палитру вещей и хочу чтобы они выпадали из мобов. Обьесните, плз, как это сделать.
Заранее спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Buldog
сообщение May 19 2005, 00:49
Сообщение #1115


Level 5
**

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



Если ты хочешь, что бы вещи выпадали стандартным образом тебе придется редактировать 2da таблицы, какие сказать немогу, никогда этим не занимался, либо придумать свою собственную систему. Можно генерить лут при спавне моба, тогда нужные действия прописываются в OnSpawn скрипте, а потом выбрасывать лут при смерти моба, необходимые действия в OnDeath скрипт, ну или сразу все при смерти.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Scaled
сообщение May 19 2005, 11:26
Сообщение #1116


Level 3
*

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



Ага, это получаеться для каждого моба свой скрипт с генерацией лута писать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Buldog
сообщение May 19 2005, 11:28
Сообщение #1117


Level 5
**

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



Нет, для всех мобов существуют стандартные скрипты nw_c2_default9 для OnSpawn и nw_c2_default7 для OnDeath, в них и вноси нужные изменения.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Scaled
сообщение May 19 2005, 12:00
Сообщение #1118


Level 3
*

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



Buldog Спасибо. :pilot:
Добавлено в [mergetime]1116493278[/mergetime]
Изменения тоже через переменную в свойствах модуля?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lorendroll
сообщение May 19 2005, 15:23
Сообщение #1119


Level 9
***

Класс: Волшебник
Характер: Neutral Good
Раса: Эльф



Я вот наверное сделаю скрипт по выпадению лута как копирование рандомного объекта из определенного сундука в инвентарь кричи на спауне. (во завернул то,сам не пойму! :) )
То есть для гоблина воина стоит сундук с всевозможными объектами для гоблина-воина. На гобе висит переменная с тегом сундука, к которому он будет обращаться. Соответственно на спауне он будет генерить некое количество рандомных вещей из присвоенного сундука себе в инвентарь. Вещи помечены как "выпадаемые", а сундуки стоят где-нибудь на недоступной ДМской локе.
Для разных типов существ разные типы сундуков. Это мне кажется легче сделать. И для редк\актирования удобнее.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Scaled
сообщение May 19 2005, 18:05
Сообщение #1120


Level 3
*

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



Я уже засыпал тупыми вопросами :crazy:
Вот еще оди:
Я хочу переписал закл баньши так чтобы при убиении врагов рассы эльф и пола женщина
поднимались зомби(они из моей палитры со способностью особой какой нить).
Вот делал делал, застопорился на определении пола, как быть? там нескольео констант пола.
А вообще такой закл возможно сделать или может и пытаться не стоит. :lol:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 19 2005, 18:41
Сообщение #1121


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

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



Neverwinter Script Source
int GetGender(
    object oCreature
);

GENDER_BOTH Specifies the male and female gender.

GENDER_FEMALE Specifies the female gender.

GENDER_MALE Specifies the male gender.

GENDER_NONE Specifies the lack of gender.

GENDER_OTHER Specifies a gender that isn't male or female (or none).


Вообще сделать реально.

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


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

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



QUOTE
Я вот наверное сделаю скрипт по выпадению лута как копирование рандомного объекта из определенного сундука в инвентарь кричи на спауне. (во завернул то,сам не пойму!  )
То есть для гоблина воина стоит сундук с всевозможными объектами для гоблина-воина. На гобе висит переменная с тегом сундука, к которому он будет обращаться. Соответственно на спауне он будет генерить некое количество рандомных вещей из присвоенного сундука себе в инвентарь. Вещи помечены как "выпадаемые", а сундуки стоят где-нибудь на недоступной ДМской локе.


Зачем самому делать и время тратить? Все уже сделано, причем грамотно и удобно, но не через сундуки, а через магазины:
система выпадения лута >> SiliconScouts Treasure Spawn system <<
Или это и имел в виду?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Мефистофель
сообщение May 20 2005, 08:41
Сообщение #1123


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

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



Помогите, у кого есть хак с Лошадьми, мне нужно, чтоб ПК сел на лошадь. :swoon:
--
И ещё помогите со скриптом, блин он такой лёгкий, но у меня чёто не получается, я делаю так.
DelayCommand(39.5, AssignCommand оРС ActionSit(оСтул); это я так без тулсета примерно написал. помогите, как посадить ПК. :unsure:
И ещё т.к. камера не отрывается мне нужно сделать копию ПК, а настоящего оставить под эффектом невидимости. Я видел это в зеркалах, в ХотУ. помогите, что сделать нужно. :yes:
--


Добавлено в [mergetime]1116567785[/mergetime]
Тфу забыл дайте, пожалуйста скриптик, так чтобы игрок появлялся, и например если маг то в сундуке лежит одно если воин, другое. очень нужно Спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mamuc
сообщение May 20 2005, 08:59
Сообщение #1124


Лорд AxisTown'a
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Дварф
NWN: Маппинг



QUOTE
Я вот наверное сделаю скрипт по выпадению лута как копирование рандомного объекта из определенного сундука в инвентарь кричи на спауне. (во завернул то,сам не пойму!  )
То есть для гоблина воина стоит сундук с всевозможными объектами для гоблина-воина. На гобе висит переменная с тегом сундука, к которому он будет обращаться. Соответственно на спауне он будет генерить некое количество рандомных вещей из присвоенного сундука себе в инвентарь. Вещи помечены как "выпадаемые", а сундуки стоят где-нибудь на недоступной ДМской локе.
Для разных типов существ разные типы сундуков. Это мне кажется легче сделать. И для редк\актирования удобнее

ммм...то что ты тут написал в сути своей есть чуточку измененная "сундучная" система лута введенное Биотварю с выпуском СОУ :D

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

этот скриптик в свое время выставлял Айван...давно уже..просто поищи в темах :yes:

Сообщение отредактировал mamuc - May 20 2005, 09:04
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение May 20 2005, 14:00
Сообщение #1125


Level 9
***

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



Как реализовать дроп всего золота при смерти PC? :this:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
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));

не, не стоит так.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



Текстовая версия Сейчас: 5th May 2025 - 06:22