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

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

2 страниц V   1 2 >  
Ответить в эту темуОткрыть новую тему
> Износ вещей, предложения, реализация
_kaa_
сообщение Jun 24 2004, 20:10
Сообщение #1


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



Понадобилось тут износ вещей продумать, может у кого будут какие предложения?
По поводу хранения определились - в локальной переменной на итеме, но как считать износ для разного типа вещей?
Для оружия вроде пойдет износ исходя из суммарного нанесенного повреждения этим оружием (на on*damage мобов обработка)

На броню как считать? Вариант с событием onHit скорее всего отпадает - накладно больно, хотя попробовать можно. Если одеть на игрока шкуру при входе и ее событие обрабатывать (если оно будет срабатывать).

У кого какие идеи будут?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
TwilightCount
сообщение Jun 24 2004, 22:29
Сообщение #2


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

Класс: Страшный Пират
Характер: Chaotic Evil
Раса: Животное
NWN: DM



Самое простое. Предмету задать переменную «износ».

При событии OnPlayerEquipItem и при входе игрока в игру запоминать текущее время.

Во время игры для одетых предметов вычитать разницу во времени из «износа»
Тут выбор событий велик OnPlayerUnEquipItem, OnPlayerDeath, OnCombatRoundEnd…

Если «износ» меньше 0, то уничтожать предмет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Вестель
сообщение Jun 24 2004, 23:45
Сообщение #3


Level 7
**

Класс: Чемпион Торма
Характер: Chaotic Good
Раса: Человек
NWN: DM



А почему onHit накладно? (абсолютно не в курсе)

Кроме того, есть железный кинжал, которым сильно при всем желании не ударишь, а есть коса, которой трудно слабо шмякнуть.
Если ставить в код onHit оружия проверку:
* не попал в противника, но пробил тачАС, то кидаем простой дамаг, отнимаем от него Харднесс объекта который били, плюс с самого оружия снимаем сколько хитов сколько получилось в атаке - Харднесс оружия.
+ Если попал, то нормально - клинок в плоть, вошел с чего ломаться?
- Если вообще не попал, то чего нервничать - об воздух клинки не ломаются.

Модификация для извращенных: проверка, если противник в Парри и парировал, то снимаем хиты-Харднесс не с брони, а с его оружия. Ну и со своего тоже.

Для супер-вредных: Когда у оружия остается меньше 5 хитов, предупреждаем плеера об этом, и вешаем на него (оружие) спецабилку -1 атака, -1 дмг. Ну и покупочную цену соответственно снижаем в 4 раза.

Харднесс железного оружия: 10, Дерева: 5, Кожи: 2
Мифрил: 15, Адамантин: 20.

Хиты брони: 5 * Армор бонус
Хиты оружия: от 2 (short sword и меньше) до 20 (heavy mace)
-----
Я кучу всего наговорил, возможно в этом нету ни капли полезной информации, но я просто представил, как это бы делал я, если бы меня угораздило за это взятся.
Если чего не понятно, спрашивайте, будем разбираться вместе с вами (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
TwilightCount
сообщение Jun 25 2004, 02:22
Сообщение #4


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

Класс: Страшный Пират
Характер: Chaotic Evil
Раса: Животное
NWN: DM



Биоваря сама посоветовала на OnHit этого не делать. Ни один сервак такой нагрузки не потянет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
_kaa_
сообщение Jun 25 2004, 08:06
Сообщение #5


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



Цитата
Я кучу всего наговорил, возможно в этом нету ни капли полезной информации, но я просто представил, как это бы делал я, если бы меня угораздило за это взятся.


Из того, что ты наговорил - большая часть не реализуема (IMG:style_emoticons/kolobok_light/smile.gif)

Насчет onHit не согласен. Я вот как думаю - вешаю на игрока шкурку при входе, на ней есть onHit cast spell. При срабатывании на все, что на игроке одето добавляется износ (просто локальная переменная на предмете). Ничего тяжелого, все просто и быстро. Будет ли это тормозить шард - надо проверять.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lazy Ranma
сообщение Jun 25 2004, 08:39
Сообщение #6


Level 3
*

Класс: Тайный Лучник
Характер: Neutral Good
Раса: Эльф
NWN: Скриптинг [PW]



Цитата
Ни один сервак такой нагрузки не потянет.

Потянет. У меня на OnDamaged мобов довольно сложный код по запоминанию кто сколько дамаджа нанес. Он на порядок или два посложнее, нежели просто увеличение перменной. Никаких лагов заметно не было. Да и судя по профайлеру, этот скрипт где-то 0.1-0.5 мс выполняется.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Вестель
сообщение Jun 25 2004, 11:27
Сообщение #7


Level 7
**

Класс: Чемпион Торма
Характер: Chaotic Good
Раса: Человек
NWN: DM



Только наверное это не на onHit, а на onAttack ставить - чтобы и на атаке плеера его оружие изнашивалось.
Цитата(Lazy Ranma)
Потянет.

Вот и я говорю: должно прокатить. Всего-то 3 проверки и каких 4 действия с локальными переменными.

Кстати, если есть износ, то должен быть и ремонт: как в Диабле - чтобы не сломалось, то подчинить, а не покупать новое.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
TwilightCount
сообщение Jun 25 2004, 12:01
Сообщение #8


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

Класс: Страшный Пират
Характер: Chaotic Evil
Раса: Животное
NWN: DM



Я лишь процитировал Биоварю. К тому же имелось ввиду OnHit на всех одетых предметах. Идея _каа_ более реальна. +)

Максимальный износ можно сделать в зависимости от цены предмета. Реалестичнее чем выше цена тем долговечнее, для баланса полезнее наоборот.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
_kaa_
сообщение Jun 25 2004, 13:09
Сообщение #9


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



Ммм. Вещь после покупки\крафта имеет параметр "состояние" и "макс.состояние". При покупке он выставляется в зависимости от цены вещи, при крафте - от цены и от крафтера, кубика.
При износе эта величина уменьшается.
Крафтеры могут подремонтировать товар, но максимум при этом уменьшается

В общем тут-то все как обычно. Вопрос только в том как считать износ и где его обрабатывать.

Суммируя:
Износ одетых вещей считать:
1) Исходя из "древности" вещей (время на шарде в 30 раз быстрее летит, так что тут все ок)
2) Все одетое изнашивать, если тебя бьют (на игрока шкурку, на шкурку onHit Cast spell, далее кубики и уменьшение состояния на одетых вещах). Шанс начисления износа разный для разных типов вещей.
3) оружие - добавить обработку на onDamage мобов. Тут уже можно исходя из нанесенных повреждений считать износ.
Оружие изнашивается быстрее чем броня, если больше попадает ты и наоборот, если больше бьют тебя
4) При смерти можно изнашивать все на 5-15% (а-ля SWG), еще один стимул не умирать (IMG:style_emoticons/kolobok_light/wacko.gif)

ps. Для крафта это все весьма полезно (IMG:style_emoticons/kolobok_light/smile.gif) Ведь если шмотки вечные, то и в крафте мало смысла.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
TwilightCount
сообщение Jun 25 2004, 15:41
Сообщение #10


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

Класс: Страшный Пират
Характер: Chaotic Evil
Раса: Животное
NWN: DM



_каа_, как ты собираешся цену у попорченой вещи менять? Или метку столен вешать после того как вещь потеряла товарный вид (IMG:style_emoticons/kolobok_light/wacko.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
_kaa_
сообщение Jun 25 2004, 16:25
Сообщение #11


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



Цитата
как ты собираешся цену у попорченой вещи менять? Или метку столен вешать после того как вещь потеряла товарный вид


О смене цены нигде речи нет, тем более ее нельзя поменять (IMG:style_emoticons/kolobok_light/wacko.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
TwilightCount
сообщение Jun 25 2004, 19:07
Сообщение #12


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

Класс: Страшный Пират
Характер: Chaotic Evil
Раса: Животное
NWN: DM



Угу, это я знаю. Но тогда у вещей при разной «изношенности» будет одинаковая цена, что не есть гуд. Придется свои магазины делать с помощью контейнеров?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
_kaa_
сообщение Jun 25 2004, 20:33
Сообщение #13


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



Цитата
Угу, это я знаю. Но тогда у вещей при разной «изношенности» будет одинаковая цена, что не есть гуд. Придется свои магазины делать с помощью контейнеров?


Не думаю, это плохо реализуется. Наверное имеет смысл ставить флаг stolen на изношенную более чем на 50% вещь
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
_kaa_
сообщение Jun 25 2004, 22:27
Сообщение #14


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



Цитата
2) Все одетое изнашивать, если тебя бьют (на игрока шкурку, на шкурку onHit Cast spell, далее кубики и уменьшение состояния на одетых вещах). Шанс начисления износа разный для разных типов вещей.


Оказалось что onHit для шкурки на игроке не вызывается. Сделал выставление этого свойства при одевании армора и его удаления с армора при снятии.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jun 27 2004, 17:32
Сообщение #15


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

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



"По поводу хранения определились - в локальной переменной на итеме" Это как? Они же слетают при сэйв-лоаде. Те рестарт и все вещи стали новенькие.
снимаю. Глянул фичи про сохранение локалок. Только тогда вопрос, как их оттуда выдернуть?
<small>Добавлено в 14:40</small>
кстати, все это вы думете для боя Игрок-Моб. И только про износ оружия игрока и износ брони моба. А наоборот как делать планируете?

Я на СоУ когда-то делал схемку такую:
на повреждение НПС считается нанесенный урон и соответственно портится оружие. (локалка). Когда она достигает значения (charges * коэфициент от качества, материалов и апгрейда. Этов се было заложено в локалках и тэге вещи). вещь ломается. Ее можно восстановить, но charges опускается на 1, что понижает прочнисть максимальную. С броней тоже-самое. Но когда выяснилось, что на вещах локалки не сохраняются при перезагрузке и что есть проблема (уже нет) подсчета повреждений, полученных игроком, я дело бросил.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
_kaa_
сообщение Jun 28 2004, 10:29
Сообщение #16


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



Соб-но все затеял после того, как убедился что теперь локальные переменные сохраняются между рестартами.
Износ уже сделал, обкатываем на тестовом шарде - чуть позже выложу что получилось.

Остается одна проблема - описание предметов. К сожалению вариант nwnx2+leto нам недоступен, а других способов изменить описание я не знаю. Может кто предложить другой вариант?

Пока для просмотра "скрытых" параметров используется итем, но с ним есть проблемы - им нельзя действовать на предметы в сундуке, в магазине - только те, что на полу или в инвентаре.
Добавлено в [mergetime]1088408258[/mergetime]
Цитата
Глянул фичи про сохранение локалок. Только тогда вопрос, как их оттуда выдернуть?

Не надо ничего делать - просто читаешь локальную переменную, она уже установленна. Я так подозреваю, что появилось это одновременно с кнопками variables в тулсете, где можно задать значения локальных переменных
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dark Lord
сообщение Jul 27 2004, 20:44
Сообщение #17


Level 11
***

Класс: Страж Тьмы
Характер: Lawful Evil
Раса: Человек
NWN: Контент



Цитата(_kaa_ @ Jun 25 2004, 20:33)
Наверное имеет смысл ставить флаг stolen на изношенную более чем на 50% вещь


При этом изменения в dialog.tlk - в строке "Этот торговец не будет покупать ворованные вещи" заменить "Этот торговец не будет покупать ворованные и старые вещи" Просто поделился идеей для отшлифовки замысла.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
_kaa_
сообщение Jul 28 2004, 08:27
Сообщение #18


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



Цитата(Dark Lord @ Jul 27 2004, 20:44)

При этом изменения в dialog.tlk - в строке "Этот торговец не будет покупать ворованные вещи" заменить "Этот торговец не будет покупать ворованные и старые вещи" Просто поделился идеей для отшлифовки замысла.

Что-то в роде того (IMG:style_emoticons/kolobok_light/smile.gif)

Есть один неприятный момент, который можно (еще не пробовал) вылечить хаком. Для реакции на удар - нужно событие onHit на броне. Я сделал что оно автоматом добавляется когда армор одевается и снимается когда снимают армор.
Но цена армора растет, пусть на 10 монет - но меняется. Нужно в хаке править стоимость свойства onHit, ставить 0.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
balrog
сообщение Aug 4 2004, 15:34
Сообщение #19


Великий хранитель фотоальбома
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Тварь
МАСТЕР Кисти



Помогите люди добрые! Помогите скриптеры хорошинькие! Поделитесь гатовым скриптиком по износу вещей =) Скриптер нашего шарда в больницу залёг надолго =) а време то не ждёт .... сам я по части сриптов особо не шарю .... разве шо могу чио изменить, но написать не могу =) .... пожайлуйсто помогите .... умоляю !
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Аваддон
сообщение Aug 5 2004, 04:58
Сообщение #20


Level 10
***

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



Вы же модуль делаете а не шард? Хммм думаешь это актуально износ вещей в сингловом модуле?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
balrog
сообщение Aug 5 2004, 09:21
Сообщение #21


Великий хранитель фотоальбома
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Тварь
МАСТЕР Кисти



Ну пока это модуль ..... а как сделаем будет шард (IMG:style_emoticons/kolobok_light/biggrin.gif)
Добавлено в [mergetime]1091686934[/mergetime]
До шарда сервака не хватает .... а это лишь вопрос времени
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
_kaa_
сообщение Aug 5 2004, 11:43
Сообщение #22


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



Скипты износа сильно зависят от других (крафт, ремонт). Тексты я тебе дать могу, но без скриптера этого мало - нужно посмотреть как они вписываются в вашу систему.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
balrog
сообщение Aug 5 2004, 16:34
Сообщение #23


Великий хранитель фотоальбома
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Тварь
МАСТЕР Кисти



Я был бы очень благодарен хотябы за код ... сриптера придётся поискать ... ну если ктото из вас может помоч .... ждём вас с распростёртыми руками (IMG:style_emoticons/kolobok_light/biggrin.gif)
Добавлено в [mergetime]1091712999[/mergetime]
Ну .... ето .... мозно и пояснить если не тязело шо к чему. Да и система у нас то простинкая .... Нвнлвский крафт вирублен ... наш крафт через конверсатион (старомодно, премитивно, но зато без багов!)
Добавлено в [mergetime]1091713191[/mergetime]
А насччиот ремонта .... по мне мозно билоби зделать так: Вещ полностью изнашивается - не исчезает а лишь становится не использоваемой ... и лишь ттогда с 0% она полностью чинится до 100% - и с ценами не надо мудрить .... Я лишь высказал свою точку зрения ... я не скриптер и мало чио смислю (прошу не смеятся)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Аваддон
сообщение Aug 8 2004, 04:38
Сообщение #24


Level 10
***

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



И каким макаром ты собираешься ее сделать неюзабельной? Разве только отбирать эту шмотку у игрока и заменять на какие нить руины в инвентори а на этих руинах ставить локалку с тегом поломавшейся вещи и по ремонту отбирать руины и создавать на игроке эту шмотку. Один вопрос - как игрок будет различать какие руины от какой шмотки? Имхо, проще поломку шмоток сделать на цифровых локалках, а при юзании какого нить предмета типа линзы на оружие говорить игроку состояние оружия. Вот и все. А если оружие в хреновом состоянии и игрок его не починил - просто дестроить его.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
balrog
сообщение Aug 8 2004, 08:05
Сообщение #25


Великий хранитель фотоальбома
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Тварь
МАСТЕР Кисти



Ти знаешь, я бы радовлся хотябы простым скриптом по износу вещей , почиинка ето узе серьозней, хотя и она не помешала бы =)

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

2 страниц V   1 2 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th March 2024 - 05:16