Belfanor Опубликовано 18 мая, 2008 Жалоба Поделиться Опубликовано 18 мая, 2008 (изменено) Я делаю реплейсер к доспехам Рук Альмалексии (Не высших ординаторов, а именно рук). Как известно, доспех полностью зачарован.Впринципе тот доспех что получается довольно сносно выглядит с зачарованием. Но есть одно НО. Энчант влияет на оттенок и интенсивность рефлекта. Следовательно, самые перцовые слуги Альмы бегают в пластмассовом доспехе. Это не есть гуд, и будет гораздо лучше, Если бы эффекта зачарования небыло. Скажете:"Юзай НОГЛОУ" Отвечу: На сколько мне извесно, есть 2 варианта плагинов. 1: Убирающий свечение впринципе. Про него говорят что он еще и рефлект убивает. Инфа не провереннная, да и проверять особого желания нету. 2: Заменяющий текстурки в папке мэджикайтемс на черные. Вазелиновое свечение он убирает, а вот оттенок у рефлекта остается. Я немного подумал, и пришел к выводу, что лучше бы магические свойства передать через скрипт. Благо, таким способом можно сделать все гораздо интереснее. Суть в том, чтоб на каждый предмет одежды вешается одинаковый скрипт, который пре эквипе добавляет к переменной..эммм..ну допустим setitem +1, при дисэквипе -1.Далее. Нужен скрипт, который будет добавлять спеллы игроку, в зависимости от количества надетых предметов. Тоесть чем больше тем сильнее эффекты. Ну и естественно удалял бы их при снятии. Имо такой подход поднимет и сам доспех, так как выгоднее быдет носить полный сет, чтобы получить допустим бонус к Хэви армору и еще несколько плюшек, и решит проблему с рефлектом. Есть конечно минус, так как на компаньенов это все действовать не будет...Ну, тоже решаема уже внутреигровым методом. Сделать булевую переменную, которая будет проверять наличие у игрока благославления альмы.Ну и докидать в топики о том, что броня Рук открывает свою силу только истинному слуге богхини))(Да простят меня фанаты лора) Тоесть награду получится получить(айайай, пардон за тафтологию) пройдя по квесту трибунала, а не просто запилив несчасного Руку отступника гуляющего по годстричу)) Итак, о чем же я прошу: Минимум мне нужен совет, как лучше раелизовать это. Самый просто метод это просто создание 2х скриптов, одного на армор, и другого глобального. Ну и соответственных переменных. Другое дело, на сколько мне известно, глобальные скрипты дают не слабую нагрузку на ЦПУ. Вопрос: Так ли это, и если так, то есть ли способ реализовать подобное с меньшими потерями? Ну и максимум что я могу ожидать, это готового скрипта. Это бы очень помогло делу, так как просто нету у меня сейчас времени вспоминать основы морр скрипта. Если ктото поможет со скриптом, доспех возможно выйдет раньше) Кто знает, может и не плохо вышло?;) Заранее спасибо. Пардон за тройку по русскому))) Изменено 18 мая, 2008 пользователем Belfanor Ссылка на комментарий Поделиться на другие сайты Поделиться
Boma Kuro Опубликовано 18 мая, 2008 Жалоба Поделиться Опубликовано 18 мая, 2008 Насколько я понимаю, у Эндера в этой теме доспехи именно по такому принципу работают... Или по схожему, хех. Ссылка на комментарий Поделиться на другие сайты Поделиться
Belfanor Опубликовано 18 мая, 2008 Автор Жалоба Поделиться Опубликовано 18 мая, 2008 Ну принцип тот же, реализация нужна. Тануть чужие скрипты не особо охото. Ссылка на комментарий Поделиться на другие сайты Поделиться
Seatroll Опубликовано 18 мая, 2008 Жалоба Поделиться Опубликовано 18 мая, 2008 В Forgotten shields похожий скрипт есть, вернее там специальная версия и в ней скриптовый энчант. Может пригодится. Ссылка на комментарий Поделиться на другие сайты Поделиться
Belfanor Опубликовано 18 мая, 2008 Автор Жалоба Поделиться Опубликовано 18 мая, 2008 У меня нет проблем особых с реализацией, у меня есть проблема со временем))) Проще говоря: Хелп плз) Ссылка на комментарий Поделиться на другие сайты Поделиться
Эндер Виггин Опубликовано 21 мая, 2008 Жалоба Поделиться Опубликовано 21 мая, 2008 (изменено) Ну в общем-то я делаю плаг не только для того чтоб делать, а еще чтоб народ мог заюзать мои скрипты и подучиться на них Вот скрипт для одного из наборов: [color="blue"]Begin[/color] _Set_BarbarianSet [color="grey"];global short Set_BarbarianSet - счетчик надетых вещей[/color] short [color="orange"]OnPCEquip[/color] [color="grey"];Стандартная переменная[/color] short OnPC [color="grey"];Флаг одетости предмета (может можно и без него обойтись)[/color] short RecalcEffects [color="grey"];Флаг надобности пересчета эффектов[/color] [color="blue"]if[/color]( [color="orange"]MenuMode[/color] == 1 ) [color="blue"] return[/color] [color="blue"]endif[/color] [color="blue"]if[/color] ( RecalcEffects == 1 )[color="grey"];если нужно пересчитать эффекты[/color] [color="grey"];Уберем все эффекты[/color] [color="orange"]Player[/color]->[color="brown"]RemoveSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev3"[/color] [color="orange"]Player[/color]->[color="brown"]RemoveSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev5"[/color] [color="orange"]Player[/color]->[color="brown"]RemoveSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev8"[/color] [color="grey"];И добавим нужные[/color] [color="blue"] if[/color] ( Set_BarbarianSet == 3 ) [color="orange"]Player[/color]->[color="brown"]AddSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev3"[/color] [color="blue"] elseif[/color]( Set_BarbarianSet == 5 ) [color="orange"]Player[/color]->[color="brown"]AddSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev5"[/color] [color="blue"] elseif[/color]( Set_BarbarianSet == 8 ) [color="orange"]Player[/color]->[color="brown"]AddSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev8"[/color] [color="blue"] endif[/color] [color="grey"];Сбросим флаг[/color] [color="blue"] set[/color] RecalcEffects to 0 [color="blue"] endif[/color] [color="blue"]endif[/color] [color="blue"]if[/color] ( OnPC == 0 ) [color="grey"];Если вещи не на Игроке[/color] [color="grey"];И Игрок одел данную вещь[/color] [color="blue"] if[/color] ( [color="orange"]OnPCEquip[/color] == 1) [color="grey"];Увеличим счетчик надетых вещей[/color] [color="blue"] set[/color] Set_BarbarianSet to Set_BarbarianSet + 1 [color="grey"];Отметим факт одевания[/color] [color="blue"] set[/color] OnPC to 1 [color="grey"];Отметимся для пересчета эффектов[/color] [color="blue"] set[/color] RecalcEffects to 1 [color="brown"]MessageBox[/color] [color="magenta"]"Одет предмет из набора варвара"[/color] [color="blue"] endif[/color] [color="blue"]else[/color] [color="grey"];Если вещь на Игроке[/color] [color="grey"];И Игрок снял данную вещь[/color] [color="blue"] if[/color] ( [color="orange"]OnPCEquip[/color] == 0 ) [color="grey"];Уменьшим счетчик надетых вещей[/color] [color="blue"] set[/color] Set_BarbarianSet to Set_BarbarianSet - 1 [color="grey"];Отметим факт снятия[/color] [color="blue"] set[/color] OnPC to 0 [color="grey"];Отметимся для пересчета эффектов[/color] [color="blue"] set[/color] RecalcEffects to 1 [color="brown"]MessageBox[/color] [color="magenta"]"Снят предмет из набора варвара"[/color] [color="blue"] endif[/color] [color="blue"]endif[/color] [color="blue"]End[/color] Сей скрипт вешается на каждый предмет из набора. В общем, тут надо переименовать сам скрипт и глобальную переменную (Set_BarbarianSet) и чуть подправить блок пересчета эффектов. З.Ы. На мою просьбу вернуть тег "скрипт" не обратили внимания... Чтож, я нашел выход - написал скрипт, который делает раскраску скрипта ВВ-кодами... update:З.З.Ы. Тему переименовал. Прсьба в дальнейшем не называть темы в стиле "нужна помощь", а описать поточнее что надо - так потом другим будет легче искать ответы на свои вопросы. Изменено 21 мая, 2008 пользователем Эндер Виггин Малая нужда Ссылка на комментарий Поделиться на другие сайты Поделиться
Belfanor Опубликовано 22 мая, 2008 Автор Жалоба Поделиться Опубликовано 22 мая, 2008 (изменено) Ну в общем-то я делаю плаг не только для того чтоб делать, а еще чтоб народ мог заюзать мои скрипты и подучиться на них Вот скрипт для одного из наборов: [color="blue"]Begin[/color] _Set_BarbarianSet [color="grey"];global short Set_BarbarianSet - счетчик надетых вещей[/color] short [color="orange"]OnPCEquip[/color] [color="grey"];Стандартная переменная[/color] short OnPC [color="grey"];Флаг одетости предмета (может можно и без него обойтись)[/color] short RecalcEffects [color="grey"];Флаг надобности пересчета эффектов[/color] [color="blue"]if[/color]( [color="orange"]MenuMode[/color] == 1 ) [color="blue"] return[/color] [color="blue"]endif[/color] [color="blue"]if[/color] ( RecalcEffects == 1 )[color="grey"];если нужно пересчитать эффекты[/color] [color="grey"];Уберем все эффекты[/color] [color="orange"]Player[/color]->[color="brown"]RemoveSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev3"[/color] [color="orange"]Player[/color]->[color="brown"]RemoveSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev5"[/color] [color="orange"]Player[/color]->[color="brown"]RemoveSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev8"[/color] [color="grey"];И добавим нужные[/color] [color="blue"] if[/color] ( Set_BarbarianSet == 3 ) [color="orange"]Player[/color]->[color="brown"]AddSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev3"[/color] [color="blue"] elseif[/color]( Set_BarbarianSet == 5 ) [color="orange"]Player[/color]->[color="brown"]AddSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev5"[/color] [color="blue"] elseif[/color]( Set_BarbarianSet == 8 ) [color="orange"]Player[/color]->[color="brown"]AddSpell[/color] [color="magenta"]"_Set_BarbarianSet_Lev8"[/color] [color="blue"] endif[/color] [color="grey"];Сбросим флаг[/color] [color="blue"] set[/color] RecalcEffects to 0 [color="blue"] endif[/color] [color="blue"]endif[/color] [color="blue"]if[/color] ( OnPC == 0 ) [color="grey"];Если вещи не на Игроке[/color] [color="grey"];И Игрок одел данную вещь[/color] [color="blue"] if[/color] ( [color="orange"]OnPCEquip[/color] == 1) [color="grey"];Увеличим счетчик надетых вещей[/color] [color="blue"] set[/color] Set_BarbarianSet to Set_BarbarianSet + 1 [color="grey"];Отметим факт одевания[/color] [color="blue"] set[/color] OnPC to 1 [color="grey"];Отметимся для пересчета эффектов[/color] [color="blue"] set[/color] RecalcEffects to 1 [color="brown"]MessageBox[/color] [color="magenta"]"Одет предмет из набора варвара"[/color] [color="blue"] endif[/color] [color="blue"]else[/color] [color="grey"];Если вещь на Игроке[/color] [color="grey"];И Игрок снял данную вещь[/color] [color="blue"] if[/color] ( [color="orange"]OnPCEquip[/color] == 0 ) [color="grey"];Уменьшим счетчик надетых вещей[/color] [color="blue"] set[/color] Set_BarbarianSet to Set_BarbarianSet - 1 [color="grey"];Отметим факт снятия[/color] [color="blue"] set[/color] OnPC to 0 [color="grey"];Отметимся для пересчета эффектов[/color] [color="blue"] set[/color] RecalcEffects to 1 [color="brown"]MessageBox[/color] [color="magenta"]"Снят предмет из набора варвара"[/color] [color="blue"] endif[/color] [color="blue"]endif[/color] [color="blue"]End[/color] Сей скрипт вешается на каждый предмет из набора. В общем, тут надо переименовать сам скрипт и глобальную переменную (Set_BarbarianSet) и чуть подправить блок пересчета эффектов. З.Ы. На мою просьбу вернуть тег "скрипт" не обратили внимания... Чтож, я нашел выход - написал скрипт, который делает раскраску скрипта ВВ-кодами... update:З.З.Ы. Тему переименовал. Прсьба в дальнейшем не называть темы в стиле "нужна помощь", а описать поточнее что надо - так потом другим будет легче искать ответы на свои вопросы. Ну, как я понял, будут одновременно работать 9 таких скриптов... Тоесть при снимании/одевании могут быть глюки. Никто мне не может сказать, на сколько сильно грузят глобал скрипты систему? Просто я думал над следующим решением Begin HND_arm // создаем глобальную переменную типа HND_equip short OnPCEquipshort Equiped if (MenuMode == 1) return endif if ( OnPCEquip == 1) if (Equiped == 0) set HND_arm to HND_arm+1set Equiped to 1endif elseif (OnPCEquip == 0) if ( Equiped == 1 )set HND_arm to HND_arm+1set Equiped to 0endifendif End Эта часть скрипта вешается на все части брони. Далее создается глобальный скрипт, который и будет распеределять эффекты. Я сейчас убегаю потом допишу. Изменено 22 мая, 2008 пользователем Belfanor Ссылка на комментарий Поделиться на другие сайты Поделиться
Эндер Виггин Опубликовано 22 мая, 2008 Жалоба Поделиться Опубликовано 22 мая, 2008 Глюков не будет, ибо перераспределяет эффекты именно та часть экипировки, которую сняли/одели. Единственное что может произойти - это если снять или одеть все части сразу не выходя из меню может подтормаживать в течении 1-2 кадров. ИМХО, не страшно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Belfanor Опубликовано 22 мая, 2008 Автор Жалоба Поделиться Опубликовано 22 мая, 2008 Глюков не будет, ибо перераспределяет эффекты именно та часть экипировки, которую сняли/одели. Единственное что может произойти - это если снять или одеть все части сразу не выходя из меню может подтормаживать в течении 1-2 кадров. ИМХО, не страшно.Угу, и правда. Спасибо, пожалуй возьму этот скрипт) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти