Перейти к содержанию

Охотник за Смертью

Фанаты Фуллреста
  • Постов

    4427
  • Зарегистрирован

  • Посещение

Весь контент Охотник за Смертью

  1. Есть ли возможно отслеживать произнесение заклинаний с определенным эффектом не в конкретной точке, а, на пример, в городе?
  2. Впишите и меня CS/Tools знаю неплохо. Nifscope-ы и тд - не очень
  3. Я кажется указывал в пояснении, что стартовые параметры могут разниться? Скрипт писался под СХ, там у Аргонианина стартовая скорость 45 и нет бонусов от коня. Впринципе бонусы за коня проверить не трудно ведь Не знаю как в русском скриптоводстве принято, но обычно в интернетах выкладывают подход к написанию кода, алгоритм. Если у тебя какие-то отличия на системе - замени, это не трудно же. Однако за коня спасибо, нужно будет его учесть
  4. странно, почему же у меня тогда все проверяется? Я не думаю, что именно в этом скрипте нужно это делать. По моим скромным программерским взглядам должен быть специальный скрипт инициатор, который его запустит, и уже в инициаторе должны быть проверки Никто не заставляет вас вставлять этот кусок в какой-то многотонный скрипт, зато читабельность у него гораздо выше. Ну так предлагай свой вариант) Ты же у нас считаешься гуру скриптоводства, так напиши мне скрипт, вычисляющий пол. Без использования диалогов, ясен пень
  5. Так он же не получит за него никаких плюшек. Будет в 10 брони максимум по кругу получать и все. Так же и с оружием - даже полный дрыщ удачно махнувший молотом может убить противника Как по мне, всегда более удачной идеей будет раздавать печеньки, чем их отбирать. Пусть получает хп или щит за комплект по навыкам и тп Но это же тема обсуждения) Может мы придумаем более интересную идею
  6. Ну 1 маленький скрипт не равнозначен конфликтам со всеми теми изменениями, которые могут произойти с Гравиусом в плагинах. Если бы у нас была необходимость просто получить пол в ходе квеста - это одно, а если глобал нужен на всю игру - другое. Я согласен, реализация топорней некуда, но что поделаешь
  7. Ну проверку на выход из канцелярии я вставлять не стал, так как по хорошему, этот скрипт нужно стартовать из другого, который и будет выполнять проверку на счет менюмода - ну возможно да, просто как-то привык его вписывать. Но действительно, он тут не нужен
  8. В этом скрипте мы будем использовать переменную, полученную в предыдущем моем скрипте получения пола игрока Идея очень просто реализуется, если мы знаем пол. Необходимо всего навсего получить разницу эталонных характеристик игрока и определить, которые из них имеют дополнительные 10 пунктов Я решил завести на каждую из характеристик глобал, так как в дальнейшем это гораздо упрощает проверки. Однако если вы не хотите этого делать, по какой-то причине, то можно завести всего 2, в каждой из которых будет хранится номер нужной характеристики begin _oz_Main_Characteristics short PC_Strength short PC_Intelligence short PC_Willpower short PC_Agility short PC_Speed short PC_Endurance short PC_Personal short PC_Luck Set PC_Strength to ( Player->GetStrength ) Set PC_Intelligence to ( Player->GetIntelligence ) Set PC_Willpower to ( Player->GetWillpower ) Set PC_Agility to ( Player->GetAgility ) Set PC_Speed to ( Player->GetSpeed ) Set PC_Endurance to ( Player->GetEndurance ) Set PC_Personal to ( Player->GetPersonality ) Set PC_Luck to ( Player->GetLuck ) if ( Player -> GetRace "Argonian" == 1 ) ;Получим чистые значения характеристик if ( PC_Sex == 1 ) Set PC_Strength to ( PC_Strength - 35 ) Set PC_Intelligence to ( PC_Intelligence - 35 ) Set PC_Willpower to ( PC_Willpower - 25 ) Set PC_Agility to ( PC_Agility - 35 ) Set PC_Speed to ( PC_Speed - 45 ) Set PC_Endurance to ( PC_Endurance - 40 ) Set PC_Personality to ( PC_Personality - 20 ) Set PC_Luck to ( PC_Luck - 40 ) elseif ( PC_Sex == 2 ) Set PC_Strength to ( PC_Strength - 25 ) Set PC_Intelligence to ( PC_Intelligence - 30 ) Set PC_Willpower to ( PC_Willpower - 30 ) Set PC_Agility to ( PC_Agility - 40 ) Set PC_Speed to ( PC_Speed - 40 ) Set PC_Endurance to ( PC_Endurance - 45 ) Set PC_Personality to ( PC_Personality - 25 ) Set PC_Luck to ( PC_Luck - 40 ) endif elseif ( Player -> GetRace "Breton" == 1 ) ;Получим чистые значения характеристик if ( PC_Sex == 1 ) Set PC_Strength to ( PC_Strength - 45 ) Set PC_Intelligence to ( PC_Intelligence - 35 ) Set PC_Willpower to ( PC_Willpower - 45 ) Set PC_Agility to ( PC_Agility - 20 ) Set PC_Speed to ( PC_Speed - 30 ) Set PC_Endurance to ( PC_Endurance - 25 ) Set PC_Personality to ( PC_Personality - 35 ) Set PC_Luck to ( PC_Luck - 40 ) elseif ( PC_Sex == 2 ) Set PC_Strength to ( PC_Strength - 35 ) Set PC_Intelligence to ( PC_Intelligence - 30 ) Set PC_Willpower to ( PC_Willpower - 50 ) Set PC_Agility to ( PC_Agility - 25 ) Set PC_Speed to ( PC_Speed - 25 ) Set PC_Endurance to ( PC_Endurance - 30 ) Set PC_Personality to ( PC_Personality - 40 ) Set PC_Luck to ( PC_Luck - 40 ) endif elseif ( Player -> GetRace "Dark Elf" == 1 ) ;Получим чистые значения характеристик if ( PC_Sex == 1 ) Set PC_Strength to ( PC_Strength - 40 ) Set PC_Intelligence to ( PC_Intelligence - 45 ) Set PC_Willpower to ( PC_Willpower - 30 ) Set PC_Agility to ( PC_Agility - 35 ) Set PC_Speed to ( PC_Speed - 35 ) Set PC_Endurance to ( PC_Endurance - 20 ) Set PC_Personality to ( PC_Personality - 30 ) Set PC_Luck to ( PC_Luck - 40 ) elseif ( PC_Sex == 2 ) Set PC_Strength to ( PC_Strength - 30 ) Set PC_Intelligence to ( PC_Intelligence - 40 ) Set PC_Willpower to ( PC_Willpower - 35 ) Set PC_Agility to ( PC_Agility - 40 ) Set PC_Speed to ( PC_Speed - 30 ) Set PC_Endurance to ( PC_Endurance - 25 ) Set PC_Personality to ( PC_Personality - 35 ) Set PC_Luck to ( PC_Luck - 40 ) endif elseif ( Player -> GetRace "High Elf" == 1 ) ;Получим чистые значения характеристик if ( PC_Sex == 1 ) Set PC_Strength to ( PC_Strength - 35 ) Set PC_Intelligence to ( PC_Intelligence - 50 ) Set PC_Willpower to ( PC_Willpower - 35 ) Set PC_Agility to ( PC_Agility - 35 ) Set PC_Speed to ( PC_Speed - 30 ) Set PC_Endurance to ( PC_Endurance - 20 ) Set PC_Personality to ( PC_Personality - 30 ) Set PC_Luck to ( PC_Luck - 40 ) elseif ( PC_Sex == 2 ) Set PC_Strength to ( PC_Strength - 25 ) Set PC_Intelligence to ( PC_Intelligence - 45 ) Set PC_Willpower to ( PC_Willpower - 40 ) Set PC_Agility to ( PC_Agility - 40 ) Set PC_Speed to ( PC_Speed - 25 ) Set PC_Endurance to ( PC_Endurance - 25 ) Set PC_Personality to ( PC_Personality - 35 ) Set PC_Luck to ( PC_Luck - 40 ) endif elseif ( Player -> GetRace "Imperial" == 1 ) ;Получим чистые значения характеристик if ( PC_Sex == 1 ) Set PC_Strength to ( PC_Strength - 40 ) Set PC_Intelligence to ( PC_Intelligence - 35 ) Set PC_Willpower to ( PC_Willpower - 30 ) Set PC_Agility to ( PC_Agility - 30 ) Set PC_Speed to ( PC_Speed - 25 ) Set PC_Endurance to ( PC_Endurance - 40 ) Set PC_Personality to ( PC_Personality - 35 ) Set PC_Luck to ( PC_Luck - 40 ) elseif ( PC_Sex == 2 ) Set PC_Strength to ( PC_Strength - 30 ) Set PC_Intelligence to ( PC_Intelligence - 30 ) Set PC_Willpower to ( PC_Willpower - 35 ) Set PC_Agility to ( PC_Agility - 35 ) Set PC_Speed to ( PC_Speed - 20 ) Set PC_Endurance to ( PC_Endurance - 45 ) Set PC_Personality to ( PC_Personality - 40 ) Set PC_Luck to ( PC_Luck - 40 ) endif elseif ( Player -> GetRace "Khajiit" == 1 ) ;Получим чистые значения характеристик if ( PC_Sex == 1 ) Set PC_Strength to ( PC_Strength - 35 ) Set PC_Intelligence to ( PC_Intelligence - 30 ) Set PC_Willpower to ( PC_Willpower - 20 ) Set PC_Agility to ( PC_Agility - 45 ) Set PC_Speed to ( PC_Speed - 45 ) Set PC_Endurance to ( PC_Endurance - 40 ) Set PC_Personality to ( PC_Personality - 20 ) Set PC_Luck to ( PC_Luck - 40 ) elseif ( PC_Sex == 2 ) Set PC_Strength to ( PC_Strength - 25 ) Set PC_Intelligence to ( PC_Intelligence - 25 ) Set PC_Willpower to ( PC_Willpower - 25 ) Set PC_Agility to ( PC_Agility - 50 ) Set PC_Speed to ( PC_Speed - 40 ) Set PC_Endurance to ( PC_Endurance - 45 ) Set PC_Personality to ( PC_Personality - 25 ) Set PC_Luck to ( PC_Luck - 40 ) endif elseif ( Player -> GetRace "Nord" == 1 ) ;Получим чистые значения характеристик if ( PC_Sex == 1 ) Set PC_Strength to ( PC_Strength - 50 ) Set PC_Intelligence to ( PC_Intelligence - 25 ) Set PC_Willpower to ( PC_Willpower - 30 ) Set PC_Agility to ( PC_Agility - 30 ) Set PC_Speed to ( PC_Speed - 35 ) Set PC_Endurance to ( PC_Endurance - 40 ) Set PC_Personality to ( PC_Personality - 25 ) Set PC_Luck to ( PC_Luck - 40 ) elseif ( PC_Sex == 2 ) Set PC_Strength to ( PC_Strength - 40 ) Set PC_Intelligence to ( PC_Intelligence - 20 ) Set PC_Willpower to ( PC_Willpower - 35 ) Set PC_Agility to ( PC_Agility - 35 ) Set PC_Speed to ( PC_Speed - 30 ) Set PC_Endurance to ( PC_Endurance - 45 ) Set PC_Personality to ( PC_Personality - 30 ) Set PC_Luck to ( PC_Luck - 40 ) endif elseif ( Player -> GetRace "Orc" == 1 ) ;Получим чистые значения характеристик if ( PC_Sex == 1 ) Set PC_Strength to ( PC_Strength - 45 ) Set PC_Intelligence to ( PC_Intelligence - 30 ) Set PC_Willpower to ( PC_Willpower - 25 ) Set PC_Agility to ( PC_Agility - 25 ) Set PC_Speed to ( PC_Speed - 40 ) Set PC_Endurance to ( PC_Endurance - 45 ) Set PC_Personality to ( PC_Personality - 25 ) Set PC_Luck to ( PC_Luck - 40 ) elseif ( PC_Sex == 2 ) Set PC_Strength to ( PC_Strength - 35 ) Set PC_Intelligence to ( PC_Intelligence - 25 ) Set PC_Willpower to ( PC_Willpower - 30 ) Set PC_Agility to ( PC_Agility - 30 ) Set PC_Speed to ( PC_Speed - 35 ) Set PC_Endurance to ( PC_Endurance - 50 ) Set PC_Personality to ( PC_Personality - 30 ) Set PC_Luck to ( PC_Luck - 40 ) endif elseif ( Player -> GetRace "Redguard" == 1 ) ;Получим чистые значения характеристик if ( PC_Sex == 1 ) Set PC_Strength to ( PC_Strength - 40 ) Set PC_Intelligence to ( PC_Intelligence - 25 ) Set PC_Willpower to ( PC_Willpower - 30 ) Set PC_Agility to ( PC_Agility - 30 ) Set PC_Speed to ( PC_Speed - 45 ) Set PC_Endurance to ( PC_Endurance - 35 ) Set PC_Personality to ( PC_Personality - 30 ) Set PC_Luck to ( PC_Luck - 40 ) elseif ( PC_Sex == 2 ) Set PC_Strength to ( PC_Strength - 30 ) Set PC_Intelligence to ( PC_Intelligence - 20 ) Set PC_Willpower to ( PC_Willpower - 35 ) Set PC_Agility to ( PC_Agility - 35 ) Set PC_Speed to ( PC_Speed - 40 ) Set PC_Endurance to ( PC_Endurance - 40 ) Set PC_Personality to ( PC_Personality - 35 ) Set PC_Luck to ( PC_Luck - 40 ) endif elseif ( Player -> GetRace "Wood Elf" == 1 ) ;Получим чистые значения характеристик if ( PC_Sex == 1 ) Set PC_Strength to ( PC_Strength - 35 ) Set PC_Intelligence to ( PC_Intelligence - 35 ) Set PC_Willpower to ( PC_Willpower - 25 ) Set PC_Agility to ( PC_Agility - 45 ) Set PC_Speed to ( PC_Speed - 40 ) Set PC_Endurance to ( PC_Endurance - 25 ) Set PC_Personality to ( PC_Personality - 30 ) Set PC_Luck to ( PC_Luck - 40 ) elseif ( PC_Sex == 2 ) Set PC_Strength to ( PC_Strength - 25 ) Set PC_Intelligence to ( PC_Intelligence - 25 ) Set PC_Willpower to ( PC_Willpower - 35 ) Set PC_Agility to ( PC_Agility - 50 ) Set PC_Speed to ( PC_Speed - 35 ) Set PC_Endurance to ( PC_Endurance - 30 ) Set PC_Personality to ( PC_Personality - 35 ) Set PC_Luck to ( PC_Luck - 40 ) endif endif ;Получим профильные навыки if ( PC_Strength == 10 ) Set PC_Strength to ( 1 ) endif if ( PC_Intelligence == 10 ) Set PC_Main_Intelligence to ( 1 ) endif if ( PC_Willpower == 10 ) Set PC_Main_Willpower to ( 1 ) endif if ( PC_Agility == 10 ) Set PC_Main_Agility to ( 1 ) endif if ( PC_Speed == 10 ) Set PC_Main_Speed to ( 1 ) endif if ( PC_Endurance == 10 ) Set PC_Main_Endurance to ( 1 ) endif if ( PC_Personality == 10 ) Set PC_Main_Personality to ( 1 ) endif if ( PC_Luck == 10 ) Set PC_Main_Luck to ( 1 ) endif StopScript "_oz_Main_Characteristics" End _oz_Main_Characteristics
  9. Стоит признать, что это единственный (громко сказано, но пока - это так) чисто скриптовой способ получить пол игрока. Реализации его могут разниться, но принцип такой: При создании персонажа, у него есть стартовые характеристики, которые отличаются для каждого пола. Берем характеристику, которая отличается на 5 и сравниваем с эталонным (например - мужским) показателем. Если это значение равно 0 или 10 (в случае, если эта характеристика - ведущая), то это представитель эталонного пола. Если -5 или 5 - противоположного. Заметьте, что если присутствуют моды, меняющие значение стартовых характеристик, то параметры должны будут быть исправлены begin _oz_Get_Gender short PC_Strength short PC_Intelligence short PC_Willpower short PC_Agility short PC_Speed short PC_Endurance short PC_Personal short PC_Luck Set PC_Strength to ( Player->GetStrength ) Set PC_Intelligence to ( Player->GetIntelligence ) Set PC_Willpower to ( Player->GetWillpower ) Set PC_Agility to ( Player->GetAgility ) Set PC_Speed to ( Player->GetSpeed ) Set PC_Endurance to ( Player->GetEndurance ) Set PC_Personal to ( Player->GetPersonality ) Set PC_Luck to ( Player->GetLuck ) if ( Player -> GetRace "Argonian" == 1 ) ;Определим пол Set ozas_sexBuff to ( PC_Intelligence - 35 ) if ( ozas_sexBuff == -5 ) Set PC_Sex to ( 2 ) elseif ( ozas_sexBuff == 0 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 10 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 5 ) Set PC_Sex to ( 2 ) endif elseif ( Player -> GetRace "Breton" == 1 ) ;Определим пол Set ozas_sexBuff to ( PC_Intelligence - 35 ) if ( ozas_sexBuff == -5 ) Set PC_Sex to ( 2 ) elseif ( ozas_sexBuff == 0 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 10 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 5 ) Set PC_Sex to ( 2 ) endif elseif ( Player -> GetRace "Dark Elf" == 1 ) ;Определим пол Set ozas_sexBuff to ( PC_Intelligence - 45 ) if ( ozas_sexBuff == -5 ) Set PC_Sex to ( 2 ) elseif ( ozas_sexBuff == 0 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 10 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 5 ) Set PC_Sex to ( 2 ) endif elseif ( Player -> GetRace "High Elf" == 1 ) ;Определим пол Set ozas_sexBuff to ( PC_Intelligence - 50 ) if ( ozas_sexBuff == -5 ) Set PC_Sex to ( 2 ) elseif ( ozas_sexBuff == 0 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 10 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 5 ) Set PC_Sex to ( 2 ) endif elseif ( Player -> GetRace "Imperial" == 1 ) ;Определим пол Set ozas_sexBuff to ( PC_Intelligence - 35 ) if ( ozas_sexBuff == -5 ) Set PC_Sex to ( 2 ) elseif ( ozas_sexBuff == 0 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 10 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 5 ) Set PC_Sex to ( 2 ) endif elseif ( Player -> GetRace "Khajiit" == 1 ) ;Определим пол Set ozas_sexBuff to ( PC_Intelligence - 30 ) if ( ozas_sexBuff == -5 ) Set PC_Sex to ( 2 ) elseif ( ozas_sexBuff == 0 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 10 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 5 ) Set PC_Sex to ( 2 ) endif elseif ( Player -> GetRace "Nord" == 1 ) ;Определим пол Set ozas_sexBuff to ( PC_Intelligence - 25 ) if ( ozas_sexBuff == -5 ) Set PC_Sex to ( 2 ) elseif ( ozas_sexBuff == 0 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 10 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 5 ) Set PC_Sex to ( 2 ) endif elseif ( Player -> GetRace "Orc" == 1 ) ;Определим пол Set ozas_sexBuff to ( PC_Intelligence - 30 ) if ( ozas_sexBuff == -5 ) Set PC_Sex to ( 2 ) elseif ( ozas_sexBuff == 0 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 10 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 5 ) Set PC_Sex to ( 2 ) endif elseif ( Player -> GetRace "Redguard" == 1 ) ;Определим пол Set ozas_sexBuff to ( PC_Intelligence - 25 ) if ( ozas_sexBuff == -5 ) Set PC_Sex to ( 2 ) elseif ( ozas_sexBuff == 0 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 10 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 5 ) Set PC_Sex to ( 2 ) endif elseif ( Player -> GetRace "Wood Elf" == 1 ) ;Определим пол Set ozas_sexBuff to ( PC_Speed - 40 ) if ( ozas_sexBuff == -5 ) Set PC_Sex to ( 2 ) elseif ( ozas_sexBuff == 0 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 10 ) Set PC_Sex to ( 1 ) elseif ( ozas_sexBuff == 5 ) Set PC_Sex to ( 2 ) endif endif StopScript "_oz_Get_Gender" end _oz_Get_Gender
  10. хм. А, например, скриптом мониторить обычный спел как во всяких расширенных телепортациях? Но это, имхо, изврат все же.
  11. обломо-скуримы все это, не моррик Нужно выучить любое заклинание, содержащие этот эффект иначе не сможешь ничего зачаровать. Постоянный эффект это вообще не туда, судари. Это к душам
  12. я это в целом употребил. тот же амулет некроманта дает реген магии
  13. тут критично скорее не это, а то, что реген работает когда "ждешь" и таким макаром та же замороженная магия становится не нужна. Поэтому скорее интересней не постоянный эффект, а ежедневная способность.
  14. я бы реген в оригинальном моррике ввел как способность минут на 10-15. Кагбэ раз в день маг может поднапрячься и врубить буст на реген. но лоулевелах еще можно ввести штрафы - например "вост магии 1-2 отторжение магии 0-2"
  15. больше баг-репортов! у них на титанах проседания в пределах нормы
  16. Арг - за Un'Schtalch - за Ivar - против Riverder - за Hollow Bleach - за La_Costa - за Mr. Hopelessness - за Wonterone - против Tyddyner - за Ao3 - за
  17. мож на папках с сейвами флаг "только чтение"?
  18. Ну у меня есть версия менее грубой проверки на специализацию, хех. Если нужно, поделюсь
  19. Просто я смотрю, что, например у вас в СХ есть глобус PC_Class, который не сохраняется... Хотя я, возможно, просто не нашел, что он где-то сбрасывается
  20. Там как-то вроде не так. Помнится формула предусматривала расчет отражения для каждого эффекта, с учетам показателя, который означает шанс, но есть один баг...
  21. поясняю.Вот не любит человек играть в пиратские игры (что мы с вами поддерживаем, верно?) но при этом еще хочет использовать английскую версию, или просто ему не очень нравится версия от 1С. Ее сейчас реально купить только в стиме. Что ему делать в этом случае?
×
×
  • Создать...