![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Понадобилось тут износ вещей продумать, может у кого будут какие предложения?
По поводу хранения определились - в локальной переменной на итеме, но как считать износ для разного типа вещей? Для оружия вроде пойдет износ исходя из суммарного нанесенного повреждения этим оружием (на on*damage мобов обработка) На броню как считать? Вариант с событием onHit скорее всего отпадает - накладно больно, хотя попробовать можно. Если одеть на игрока шкуру при входе и ее событие обрабатывать (если оно будет срабатывать). У кого какие идеи будут? |
![]()
Сообщение
#2
|
|
Level 10 ![]() Класс: Страшный Пират Характер: Chaotic Evil Раса: Животное NWN: DM ![]() |
Самое простое. Предмету задать переменную «износ».
При событии OnPlayerEquipItem и при входе игрока в игру запоминать текущее время. Во время игры для одетых предметов вычитать разницу во времени из «износа» Тут выбор событий велик OnPlayerUnEquipItem, OnPlayerDeath, OnCombatRoundEnd… Если «износ» меньше 0, то уничтожать предмет. |
![]()
Сообщение
#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) |
![]()
Сообщение
#4
|
|
Level 10 ![]() Класс: Страшный Пират Характер: Chaotic Evil Раса: Животное NWN: DM ![]() |
Биоваря сама посоветовала на OnHit этого не делать. Ни один сервак такой нагрузки не потянет.
|
![]()
Сообщение
#5
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Цитата Я кучу всего наговорил, возможно в этом нету ни капли полезной информации, но я просто представил, как это бы делал я, если бы меня угораздило за это взятся. Из того, что ты наговорил - большая часть не реализуема (IMG:style_emoticons/kolobok_light/smile.gif) Насчет onHit не согласен. Я вот как думаю - вешаю на игрока шкурку при входе, на ней есть onHit cast spell. При срабатывании на все, что на игроке одето добавляется износ (просто локальная переменная на предмете). Ничего тяжелого, все просто и быстро. Будет ли это тормозить шард - надо проверять. |
![]()
Сообщение
#6
|
|
Level 3 ![]() Класс: Тайный Лучник Характер: Neutral Good Раса: Эльф NWN: Скриптинг [PW] ![]() |
Цитата Ни один сервак такой нагрузки не потянет. Потянет. У меня на OnDamaged мобов довольно сложный код по запоминанию кто сколько дамаджа нанес. Он на порядок или два посложнее, нежели просто увеличение перменной. Никаких лагов заметно не было. Да и судя по профайлеру, этот скрипт где-то 0.1-0.5 мс выполняется. |
![]()
Сообщение
#7
|
|
Level 7 ![]() ![]() Класс: Чемпион Торма Характер: Chaotic Good Раса: Человек NWN: DM ![]() |
Только наверное это не на onHit, а на onAttack ставить - чтобы и на атаке плеера его оружие изнашивалось.
Цитата(Lazy Ranma) Потянет. Вот и я говорю: должно прокатить. Всего-то 3 проверки и каких 4 действия с локальными переменными. Кстати, если есть износ, то должен быть и ремонт: как в Диабле - чтобы не сломалось, то подчинить, а не покупать новое. |
![]()
Сообщение
#8
|
|
Level 10 ![]() Класс: Страшный Пират Характер: Chaotic Evil Раса: Животное NWN: DM ![]() |
Я лишь процитировал Биоварю. К тому же имелось ввиду OnHit на всех одетых предметах. Идея _каа_ более реальна. +)
Максимальный износ можно сделать в зависимости от цены предмета. Реалестичнее чем выше цена тем долговечнее, для баланса полезнее наоборот. |
![]()
Сообщение
#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) Ведь если шмотки вечные, то и в крафте мало смысла. |
![]()
Сообщение
#10
|
|
Level 10 ![]() Класс: Страшный Пират Характер: Chaotic Evil Раса: Животное NWN: DM ![]() |
_каа_, как ты собираешся цену у попорченой вещи менять? Или метку столен вешать после того как вещь потеряла товарный вид (IMG:style_emoticons/kolobok_light/wacko.gif)
|
![]()
Сообщение
#11
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Цитата как ты собираешся цену у попорченой вещи менять? Или метку столен вешать после того как вещь потеряла товарный вид О смене цены нигде речи нет, тем более ее нельзя поменять (IMG:style_emoticons/kolobok_light/wacko.gif) |
![]()
Сообщение
#12
|
|
Level 10 ![]() Класс: Страшный Пират Характер: Chaotic Evil Раса: Животное NWN: DM ![]() |
Угу, это я знаю. Но тогда у вещей при разной «изношенности» будет одинаковая цена, что не есть гуд. Придется свои магазины делать с помощью контейнеров?
|
![]()
Сообщение
#13
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Цитата Угу, это я знаю. Но тогда у вещей при разной «изношенности» будет одинаковая цена, что не есть гуд. Придется свои магазины делать с помощью контейнеров? Не думаю, это плохо реализуется. Наверное имеет смысл ставить флаг stolen на изношенную более чем на 50% вещь |
![]()
Сообщение
#14
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Цитата 2) Все одетое изнашивать, если тебя бьют (на игрока шкурку, на шкурку onHit Cast spell, далее кубики и уменьшение состояния на одетых вещах). Шанс начисления износа разный для разных типов вещей. Оказалось что onHit для шкурки на игроке не вызывается. Сделал выставление этого свойства при одевании армора и его удаления с армора при снятии. |
![]()
Сообщение
#15
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
"По поводу хранения определились - в локальной переменной на итеме" Это как? Они же слетают при сэйв-лоаде. Те рестарт и все вещи стали новенькие.
снимаю. Глянул фичи про сохранение локалок. Только тогда вопрос, как их оттуда выдернуть? <small>Добавлено в 14:40</small> кстати, все это вы думете для боя Игрок-Моб. И только про износ оружия игрока и износ брони моба. А наоборот как делать планируете? Я на СоУ когда-то делал схемку такую: на повреждение НПС считается нанесенный урон и соответственно портится оружие. (локалка). Когда она достигает значения (charges * коэфициент от качества, материалов и апгрейда. Этов се было заложено в локалках и тэге вещи). вещь ломается. Ее можно восстановить, но charges опускается на 1, что понижает прочнисть максимальную. С броней тоже-самое. Но когда выяснилось, что на вещах локалки не сохраняются при перезагрузке и что есть проблема (уже нет) подсчета повреждений, полученных игроком, я дело бросил. |
![]()
Сообщение
#16
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Соб-но все затеял после того, как убедился что теперь локальные переменные сохраняются между рестартами.
Износ уже сделал, обкатываем на тестовом шарде - чуть позже выложу что получилось. Остается одна проблема - описание предметов. К сожалению вариант nwnx2+leto нам недоступен, а других способов изменить описание я не знаю. Может кто предложить другой вариант? Пока для просмотра "скрытых" параметров используется итем, но с ним есть проблемы - им нельзя действовать на предметы в сундуке, в магазине - только те, что на полу или в инвентаре. Добавлено в [mergetime]1088408258[/mergetime] Цитата Глянул фичи про сохранение локалок. Только тогда вопрос, как их оттуда выдернуть? Не надо ничего делать - просто читаешь локальную переменную, она уже установленна. Я так подозреваю, что появилось это одновременно с кнопками variables в тулсете, где можно задать значения локальных переменных |
![]()
Сообщение
#17
|
|
Level 11 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Lawful Evil Раса: Человек NWN: Контент ![]() |
Цитата(_kaa_ @ Jun 25 2004, 20:33) Наверное имеет смысл ставить флаг stolen на изношенную более чем на 50% вещь При этом изменения в dialog.tlk - в строке "Этот торговец не будет покупать ворованные вещи" заменить "Этот торговец не будет покупать ворованные и старые вещи" Просто поделился идеей для отшлифовки замысла. |
![]()
Сообщение
#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. |
![]() ![]()
Сообщение
#19
|
|
Великий хранитель фотоальбома ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Тварь МАСТЕР Кисти ![]() |
Помогите люди добрые! Помогите скриптеры хорошинькие! Поделитесь гатовым скриптиком по износу вещей =) Скриптер нашего шарда в больницу залёг надолго =) а време то не ждёт .... сам я по части сриптов особо не шарю .... разве шо могу чио изменить, но написать не могу =) .... пожайлуйсто помогите .... умоляю !
|
![]()
Сообщение
#20
|
|
Level 10 ![]() ![]() ![]() Класс: Воин Характер: Lawful Neutral Раса: Человек NWN: Скриптинг [PW] ![]() |
Вы же модуль делаете а не шард? Хммм думаешь это актуально износ вещей в сингловом модуле?
|
![]()
Сообщение
#21
|
|
Великий хранитель фотоальбома ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Тварь МАСТЕР Кисти ![]() |
Ну пока это модуль ..... а как сделаем будет шард (IMG:style_emoticons/kolobok_light/biggrin.gif)
Добавлено в [mergetime]1091686934[/mergetime] До шарда сервака не хватает .... а это лишь вопрос времени |
![]()
Сообщение
#22
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Скипты износа сильно зависят от других (крафт, ремонт). Тексты я тебе дать могу, но без скриптера этого мало - нужно посмотреть как они вписываются в вашу систему.
|
![]()
Сообщение
#23
|
|
Великий хранитель фотоальбома ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Тварь МАСТЕР Кисти ![]() |
Я был бы очень благодарен хотябы за код ... сриптера придётся поискать ... ну если ктото из вас может помоч .... ждём вас с распростёртыми руками (IMG:style_emoticons/kolobok_light/biggrin.gif)
Добавлено в [mergetime]1091712999[/mergetime] Ну .... ето .... мозно и пояснить если не тязело шо к чему. Да и система у нас то простинкая .... Нвнлвский крафт вирублен ... наш крафт через конверсатион (старомодно, премитивно, но зато без багов!) Добавлено в [mergetime]1091713191[/mergetime] А насччиот ремонта .... по мне мозно билоби зделать так: Вещ полностью изнашивается - не исчезает а лишь становится не использоваемой ... и лишь ттогда с 0% она полностью чинится до 100% - и с ценами не надо мудрить .... Я лишь высказал свою точку зрения ... я не скриптер и мало чио смислю (прошу не смеятся) |
![]()
Сообщение
#24
|
|
Level 10 ![]() ![]() ![]() Класс: Воин Характер: Lawful Neutral Раса: Человек NWN: Скриптинг [PW] ![]() |
И каким макаром ты собираешься ее сделать неюзабельной? Разве только отбирать эту шмотку у игрока и заменять на какие нить руины в инвентори а на этих руинах ставить локалку с тегом поломавшейся вещи и по ремонту отбирать руины и создавать на игроке эту шмотку. Один вопрос - как игрок будет различать какие руины от какой шмотки? Имхо, проще поломку шмоток сделать на цифровых локалках, а при юзании какого нить предмета типа линзы на оружие говорить игроку состояние оружия. Вот и все. А если оружие в хреновом состоянии и игрок его не починил - просто дестроить его.
|
![]()
Сообщение
#25
|
|
Великий хранитель фотоальбома ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Тварь МАСТЕР Кисти ![]() |
Ти знаешь, я бы радовлся хотябы простым скриптом по износу вещей , почиинка ето узе серьозней, хотя и она не помешала бы =)
ЗЫ Куда ето все подевались? |
![]() ![]() |
Текстовая версия | Сейчас: 29th April 2025 - 15:53 |