Охотник за Смертью Опубликовано 21 ноября, 2013 Жалоба Поделиться Опубликовано 21 ноября, 2013 (изменено) В этом скрипте мы будем использовать переменную, полученную в предыдущем моем скрипте получения пола игрока Идея очень просто реализуется, если мы знаем пол. Необходимо всего навсего получить разницу эталонных характеристик игрока и определить, которые из них имеют дополнительные 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 Изменено 21 ноября, 2013 пользователем Охотник за Смертью Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 21 ноября, 2013 Жалоба Поделиться Опубликовано 21 ноября, 2013 Озас убери менюмод и добавь проверку на выход из канцелярии) Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 22 ноября, 2013 Жалоба Поделиться Опубликовано 22 ноября, 2013 (изменено) Мб я чего-то не понимаю, но это тоже не рабочий скрипт. Поясню. Я беру аргонианина у которого скорость базовая 50, беру ему доп скорость в классе, получаю 60. Беру знак конь, получаю 85. В твоём скрипте отнимается от скорости 45 ед. получаем 40if ( PC_Speed == 10 )Set PC_Main_Speed to ( 1 )endiТ.е при значении скорости в 85 единиц она у меня не профильная? Изменено 22 ноября, 2013 пользователем Малковианин Ссылка на комментарий Поделиться на другие сайты Поделиться
Охотник за Смертью Опубликовано 22 ноября, 2013 Автор Жалоба Поделиться Опубликовано 22 ноября, 2013 Мб я чего-то не понимаю, но это тоже не рабочий скрипт. Поясню. Я беру аргонианина у которого скорость базовая 50, беру ему доп скорость в классе, получаю 60. Беру знак конь, получаю 85. В твоём скрипте отнимается от скорости 45 ед. получаем 40if ( PC_Speed == 10 )Set PC_Main_Speed to ( 1 )endiТ.е при значении скорости в 85 единиц она у меня не профильная?Я кажется указывал в пояснении, что стартовые параметры могут разниться? Скрипт писался под СХ, там у Аргонианина стартовая скорость 45 и нет бонусов от коня. Впринципе бонусы за коня проверить не трудно ведь Не знаю как в русском скриптоводстве принято, но обычно в интернетах выкладывают подход к написанию кода, алгоритм. Если у тебя какие-то отличия на системе - замени, это не трудно же. Однако за коня спасибо, нужно будет его учесть Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти