- Сообщений: 7
- Спасибо получено: 0
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
Нужна помощь - вам сюда!
16 года 11 мес. назад #26809
от Drakogan
Drakogan ответил в теме Нужна помощь - вам сюда!
Народ у меня 3 вопроса.
1: Можно ли зделать в RPG Maker VX чтоб перед началом игры человек мог выбрать за кого играть (паренем или девушкой)?
2: Как зделать в VX чтоб во время боя можно было видеть и своего перса и врагов (подчеркну: в RPG Maker VX не ХР)?
3: Как зделать чтоб определённое действие проходило только раз (к примеру: моему персу при разговоре с NPC должен добавиться 1 лвл,и ето действие должно пройти только один раз)?
1: Можно ли зделать в RPG Maker VX чтоб перед началом игры человек мог выбрать за кого играть (паренем или девушкой)?
2: Как зделать в VX чтоб во время боя можно было видеть и своего перса и врагов (подчеркну: в RPG Maker VX не ХР)?
3: Как зделать чтоб определённое действие проходило только раз (к примеру: моему персу при разговоре с NPC должен добавиться 1 лвл,и ето действие должно пройти только один раз)?
Тема заблокирована.
- Boris_Britv@
-
- Не в сети
- Бывалый
-
Скрыть
Больше
- Сообщений: 75
- Спасибо получено: 1
16 года 11 мес. назад #26811
от Boris_Britv@
~Boris_Britv@
Boris_Britv@ ответил в теме Нужна помощь - вам сюда!
Я работаю в XP, но там в принципе всё похоже, так что отвечу.
1. Можно, просто делаешь чтоб сначала герой был прозрачный, далее выбор, парень или девушка, там меняешь партию, для каждого выбора.
2. Это помойму только через скрипты, но если ты на английской версии редактора работаеш, то их не сложно будет достать.
3. Тебе нужно научится работать с переключателями, без них игру не сделать (нормальную), тут где то было подробное объяснение, как ими пользоваться, юзай поиск.
1. Можно, просто делаешь чтоб сначала герой был прозрачный, далее выбор, парень или девушка, там меняешь партию, для каждого выбора.
2. Это помойму только через скрипты, но если ты на английской версии редактора работаеш, то их не сложно будет достать.
3. Тебе нужно научится работать с переключателями, без них игру не сделать (нормальную), тут где то было подробное объяснение, как ими пользоваться, юзай поиск.
~Boris_Britv@
Тема заблокирована.
- Dr. Nick To
-
- Не в сети
- Живу я здесь
-
Скрыть
Больше
- Сообщений: 2158
- Спасибо получено: 24
16 года 11 мес. назад #26812
от Dr. Nick To
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Dr. Nick To ответил в теме Нужна помощь - вам сюда!
1 Вот простой способ. Сделать текстовый выбор. Играть парнем или девушкой. Если парнем, то добавляешь в команду парня и убираешь девушку. Если играть девушкой, то наоборот.
3 Тема про сундук в бывшей академии точно подойдёт.
3 Тема про сундук в бывшей академии точно подойдёт.
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Тема заблокирована.
- Boris_Britv@
-
- Не в сети
- Бывалый
-
Скрыть
Больше
- Сообщений: 75
- Спасибо получено: 1
16 года 11 мес. назад #26813
от Boris_Britv@
~Boris_Britv@
Boris_Britv@ ответил в теме Нужна помощь - вам сюда!
1. Я тоже самое сказал, только другим языком
~Boris_Britv@
Тема заблокирована.
16 года 11 мес. назад #26849
от Zellgadis
Zellgadis ответил в теме Нужна помощь - вам сюда!
Нужно с помощью скрипта заставить мэйкер проигрывать музыку из базы даных.
Я уверен это пара строк кода, но все-же сам я их написать не могу (
Я уверен это пара строк кода, но все-же сам я их написать не могу (
Тема заблокирована.
16 года 11 мес. назад #26850
от h3nd
h3nd ответил в теме Нужна помощь - вам сюда!
Решил переустановить RPG Maker VX (до этого он был полностью и без проблем на русском), теперь все на русском, кроме БД - в ней вообще все надписи квадратиками. Так же и на англ. и оригинальной версиях. Помогите
Тема заблокирована.
- Dr. Nick To
-
- Не в сети
- Живу я здесь
-
Скрыть
Больше
- Сообщений: 2158
- Спасибо получено: 24
16 года 11 мес. назад #26851
от Dr. Nick To
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Dr. Nick To ответил в теме Нужна помощь - вам сюда!
Не понял чем отличаются английская и оригинальная версия.) Попробуй не просто удалить программу, но и стереть папку которая после неё остаётся.
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Тема заблокирована.
- Boris_Britv@
-
- Не в сети
- Бывалый
-
Скрыть
Больше
- Сообщений: 75
- Спасибо получено: 1
16 года 11 мес. назад #26854
от Boris_Britv@
~Boris_Britv@
Boris_Britv@ ответил в теме Нужна помощь - вам сюда!
Достал отличный скрипт, который создаёт систему прокачки скилов, но у меня проблема - каждый не чётный уровень скила слабее, чем каждый чётный, то есть скил 2-го уровня, сильнее скила 3-го уровня. Кто нить может решить данную проблему?
/
З.Ы: Если будут проблемы с размером шрифта, то замените размер на 18, а шрифт поменяйте на "Tahoma".
Code:
#----------------------------------------------------------------------
# Skill Level System
#----------------------------------------------------------------------
# Leon
# 2006-09-16
# v2.0
#----------------------------------------------------------------------
=begin
This script is a skill-level system so skills can be powered up by the player. It now
also features a Weapon-Proficiency crossover that allows you to level up the actor's
weapon proficiency with skill points rather than the other way the weapon proficiency
is setup. To do this, change the 'false' to 'true' and install the Weapon Proficiency script
for more details.
Features:
1. You can set skill level's and skill max's custom to each actor.
2. You can set skills to have a standard skill max and starting point.
3. Shows skills in detail.
4. Skill points per level can be customized.
5. You can change skill levels and skill max's through events.
6. You can have level and Skill prerequisites (sorry, only one each.)
7. Skill Power goes up per level.
8. You can add status ailments, status curatives, and elements to skills.
9. You can have multiple passive skills, and have active skills add to stats permanently as well.
10. A cross-over with Weapon Proficiency now allows you to use skill points to raise proficiency rank.
(see ADDITIONAL NOTES for more info.)
11. Steal has been implimented.
INSTRUCTIONS:
1. Place this script under all your others and above Main.
2. Set Beginning_Default to the level you want all skills to start at.
3. Set Max_Default to the max level of the average skill
4. Level_Req sets the a required level for skills.
5. Skill_Req sets required skills.
7. Set all instances of INCREASE_PER_LEVEL to the same number, (Use Ctrl + F to find all instances)
8. Set all instances of PASSIVE_SKILL_ID to the same number. (Use Ctrl + F to find all instances)
9. Set the additive element ailments, curatives and elements in their respective places.
10. Set all of your passive skills in their right locations.
11. Scroll down through the module to set your specifications.
12. Search (Ctrl + F) and enter Leon_Edit for the last two locations for editing.
ADDITIONAL NOTES: for proficiency crossover only (not necissary)
1. If you use the Weapon Proficiency cross-over, you must have my weapon proficiency script
installed.
2. If an actor is going to use a sword weapon, they MUST know the sword proficiency skill.
This is true for every weapon type the actor uses. Weapon types are defined in the
weapon proficiency script.
3. All proficiency skills must have the maximum of '4', which is 'S' by default.
THANKS TO:
Arkbennett and Houndchaser/Skyhunter for testing this script and the crossover.
Felicity (my gal) for giving me support in this script and helping a bit with the math.
Use this to add to current skill levels:
x = actor's number, y = skill id, z = amount.
use $game_actors[x].skill_level[y] += z
use this to add to current skill max's:
x = actor's number, y = skill id, z = amount.
use $game_actors[x].skill_max[y] += z
To subtract from the totals, change the '+' to '-'
=end
module Skill_Level
#--------------------------------------------------------------------
# Skill_Default_Beginning_Level
#--------------------------------------------------------------------
Beginning_Default = 0
#--------------------------------------------------------------------
# Skill default max level
#--------------------------------------------------------------------
Max_Default = 4
#--------------------------------------------------------------------
# Actor Level Requirements
# skill_id => actor.level
#--------------------------------------------------------------------
Level_Req = {
2 => 2
}
#--------------------------------------------------------------------
# Skill Level Requirements
# skill_id => [required skill_id, required skill_level, skill name of required skill]
#--------------------------------------------------------------------
Skill_Req = {
57 => [1, 2, "Heal"]
}
#--------------------------------------------------------------------
# Skill Infliction Status Additions
# skill_id => [skill_level, plus_state_set id]
#--------------------------------------------------------------------
Skill_Add = {
57 => [2, 3]
}
#--------------------------------------------------------------------
# Skill Cure Status Removals
# skill_id => [skill_level, minus_state_set id]
#--------------------------------------------------------------------
Skill_Minus = {
1 => [2, 2]
}
#--------------------------------------------------------------------
# Skill Element Addition
# skill_id => [skill_level, element_set]
#--------------------------------------------------------------------
Skill_Element = {
1 => [2, 4]
}
#--------------------------------------------------------------------
# Increase % per level
#--------------------------------------------------------------------
INCREASE_PER_LEVEL = 50
#--------------------------------------------------------------------
# Base_MaxHP skills
# skill_id => % hp added
#--------------------------------------------------------------------
Base_hp = {
81 => 5,
82 => 7
}
#--------------------------------------------------------------------
# Base_MaxSP skills
# skill_id => % sp added
#--------------------------------------------------------------------
Base_sp = {
81 => 5
}
#--------------------------------------------------------------------
# Base_Str skills
# skill_id => % str added
#--------------------------------------------------------------------
Base_str = {
81 => 5
}
#--------------------------------------------------------------------
# Base_Dex skills
# skill_id => % dex added
#--------------------------------------------------------------------
Base_dex = {
81 => 5
}
#--------------------------------------------------------------------
# Base_Int skills
# skill_id => % int added
#--------------------------------------------------------------------
Base_int = {
81 => 5
}
#--------------------------------------------------------------------
# Base_Agi skills
# skill_id => % agi added
#--------------------------------------------------------------------
Base_agi = {
81 => 5
}
#--------------------------------------------------------------------
# Weapon proficiency crossover switch
#--------------------------------------------------------------------
Weapon_Cross = true
#--------------------------------------------------------------------
# Weapon Proficiencies
# set only if you use the weapon proficiency crossover.
#--------------------------------------------------------------------
Weapon_Skills = [82, 83, 84, 85, 86, 87, 88, 89, 90]
end
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
# Steal Module
#//////////////////////////////////////////////////////////////////////
module Steal_Script
#--------------------------------------------------------------------
# Common_Item
# enemy.id => [item_id, item identifier, # to add]
# 0 = item, 1 = weapon, 2 = armor
#--------------------------------------------------------------------
Common_Item = {
1 => [3, 1, 2]
}
#--------------------------------------------------------------------
# Rare_Item
# enemy.id => [item_id, item identifier, # to add]
# 0 = item, 1 = weapon, 2 = armor
#--------------------------------------------------------------------
Rare_Item = {
1 => [3, 0, 2]
}
Failed_Message = "Couldn't Steal"
Nothing_To_Steal = "Nothing to Steal"
Steal_ID = 20
Gold_ID = 21
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Game_Battler
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Game_Battler
#--------------------------------------------------------------------
# Set's Percentage Increase
# Set each INCREASE_PER_LEVEL in the script to the same number
#--------------------------------------------------------------------
INCREASE_PER_LEVEL = 500
#--------------------------------------------------------------------
# Alias Listings
#--------------------------------------------------------------------
alias leon_gb_skilleffect skill_effect
#--------------------------------------------------------------------
# Skill Effect
#--------------------------------------------------------------------
def skill_effect(user, skill)
ss = Steal_Script
reqs = Skill_Level
self.critical = false
if ((skill.scope == 3 or skill.scope == 4) and self.hp == 0) or
((skill.scope == 5 or skill.scope == 6) and self.hp >= 1)
return false
end
effective = false
effective |= skill.common_event_id > 0
hit = skill.hit
if skill.atk_f > 0
hit *= user.hit / 100
end
hit_result = (rand(100) < hit)
effective |= hit < 100
if hit_result == true
if skill.element_set.include?(ss::Steal_ID)
if self.is_a?(Game_Enemy)
steal = (rand(100) + user.skill_level[skill.id] * reqs::INCREASE_PER_LEVEL)
if ss::Rare_Item.keys.include?(self.id)
if steal > 90
if ss::Rare_Item[self.id][1] == 0
$game_party.gain_item(ss::Rare_Item[self.id][0], ss::Rare_Item[self.id][2])
self.damage = "Stole #{ss::Rare_Item[self.id][2].to_i} #{$data_items[ss::Rare_Item[self.id][0]].name}"
return
elsif ss::Rare_Item[self.id][1] == 1
$game_party.gain_weapon(ss::Rare_Item[self.id][0], ss::Rare_Item[self.id][2])
self.damage = "Stole #{ss::Rare_Item[self.id][2].to_i} #{$data_weapons[ss::Rare_Item[self.id][0]].name}"
return
elsif ss::Rare_Item[self.id][1] == 2
$game_party.gain_armor(ss::Rare_Item[self.id][0], ss::Rare_Item[self.id][2])
self.damage = "Stole #{ss::Rare_Item[self.id][2].to_i} #{$data_armors[ss::Rare_Item[self.id][0]].name}"
return
end
end
end
if ss::Common_Item.keys.include?(self.id)
if ss::Rare_Item.keys.include?(self.id)
if steal > 50
if steal < 90
if ss::Common_Item[self.id][1] == 0
$game_party.gain_item(ss::Common_Item[self.id][0], ss::Common_Item[self.id][2])
self.damage = "Stole #{ss::Common_Item[self.id][2].to_i} #{$data_items[ss::Common_Item[self.id][0]].name}"
return
elsif ss::Common_Item[self.id][1] == 1
$game_party.gain_weapon(ss::Common_Item[self.id][0], ss::Common_Item[self.id][2])
self.damage = "Stole #{ss::Common_Item[self.id][2].to_i} #{$data_weapons[ss::Common_Item[self.id][0]].name}"
return
elsif ss::Common_Item[self.id][1] == 2
$game_party.gain_armor(ss::Common_Item[self.id][0], ss::Common_Item[self.id][2])
self.damage = "Stole #{ss::Common_Item[self.id][2].to_i} #{$data_armors[ss::Common_Item[self.id][0]].name}"
return
end
end
else
self.damage = "#{ss::Failed_Message}"
return
end
else
if steal > 50
if ss::Common_Item[self.id][1] == 0
$game_party.gain_item(ss::Common_Item[self.id][0], ss::Common_Item[self.id][2])
self.damage = "Stole #{ss::Common_Item[self.id][2].to_i} #{$data_items[ss::Common_Item[self.id][0]].name}"
return
elsif ss::Common_Item[self.id][1] == 1
$game_party.gain_weapon(ss::Common_Item[self.id][0], ss::Common_Item[self.id][2])
self.damage = "Stole #{ss::Common_Item[self.id][2].to_i} #{$data_weapons[ss::Common_Item[self.id][0]].name}"
return
elsif ss::Common_Item[self.id][1] == 2
$game_party.gain_armor(ss::Common_Item[self.id][0], ss::Common_Item[self.id][2])
self.damage = "Stole #{ss::Common_Item[self.id][2].to_i} #{$data_armors[ss::Common_Item[self.id][0]].name}"
return
end
end
end
else
self.damage = "#{ss::Nothing_To_Steal}"
return
end
end
end
if skill.element_set.include?(ss::Gold_ID)
if self.is_a?(Game_Enemy)
gold_steal = (rand(100))
if gold_steal > 45
gold_total = 0
gold = self.gold
gold1 = gold
gold_var = (rand(gold1 / 2) * user.skill_level[skill.id])
gold_pm = (rand(3))
if gold_pm > 1
gold_total = gold + gold_var
$game_party.gain_gold(gold_total)
self.damage = "Stole #{gold_total} #{$data_system.words.gold}"
return
else
gold_total = gold - gold_var
if gold_total < 0
gold_total = 0
end
$game_party.gain_gold(gold_total)
self.damage = "Stole #{gold_total} #{$data_system.words.gold}"
return
end
else
self.damage = "#{ss::Failed_Message}"
return
end
end
end
if user.is_a?(Game_Actor)
power = (skill.power + (reqs::INCREASE_PER_LEVEL * user.skill_level[skill.id][0] * 0.01 * skill.power)) + user.atk * skill.atk_f / 100
else
power = skill.power + user.atk * skill.atk_f / 100
end
power = power.round
if power > 0
power -= self.pdef * skill.pdef_f / 200
power -= self.mdef * skill.mdef_f / 200
power = [power, 0].max
end
rate = 20
rate += (user.str * skill.str_f / 100)
rate += (user.dex * skill.dex_f / 100)
rate += (user.agi * skill.agi_f / 100)
rate += (user.int * skill.int_f / 100)
self.damage = power * rate / 20
self.damage *= elements_correct(skill.element_set)
self.damage /= 100
if self.damage > 0
if self.guarding?
self.damage /= 2
end
end
if skill.variance > 0 and self.damage.abs > 0
amp = [self.damage.abs * skill.variance / 100, 1].max
self.damage += rand(amp+1) + rand(amp+1) - amp
end
eva = 8 * self.agi / user.dex + self.eva
hit = self.damage < 0 ? 100 : 100 - eva * skill.eva_f / 100
hit = self.cant_evade? ? 100 : hit
hit_result = (rand(100) < hit)
effective |= hit < 100
end
if hit_result == true
if skill.power != 0 and skill.atk_f > 0
remove_states_shock
effective = true
end
last_hp = self.hp
self.hp -= self.damage
effective |= self.hp != last_hp
@state_changed = false
effective |= states_plus(skill.plus_state_set)
effective |= states_minus(skill.minus_state_set)
if skill.power == 0
self.damage = ""
unless @state_changed
self.damage = "Miss"
end
end
else
self.damage = "Miss"
end
unless $game_temp.in_battle
self.damage = nil
end
return effective
end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Game_Actor
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Game_Actor < Game_Battler
#--------------------------------------------------------------------
# Constant Variables
# Leon_Edit
# Set SKILL_POINTS equal to the number of skill points per level.
# Set SKILL_POINTS equal to 0 if none are to be earned.
#--------------------------------------------------------------------
SKILL_POINTS = 1
#--------------------------------------------------------------------
# Attribute Listings
#--------------------------------------------------------------------
attr_accessor :skill_level
attr_accessor :skill_max
attr_accessor :skill_points
#--------------------------------------------------------------------
# Alias Listings
#--------------------------------------------------------------------
alias leon_ga_skill_level_setup setup
alias leon_ga_skill_level_skill_learn? skill_learn?
alias leon_ga_skill_level_exp exp
alias leon_ga_skill_level_basehp base_maxhp
alias leon_ga_skill_level_basesp base_maxsp
alias leon_ga_skill_level_basestr base_str
alias leon_ga_skill_level_basedex base_dex
alias leon_ga_skill_level_baseagi base_agi
alias leon_ga_skill_level_baseint base_int
#--------------------------------------------------------------------
# Setup
#--------------------------------------------------------------------
def setup(actor_id)
#--------------------------------------------------------------------
# Leon_Edit
# Put in unique beginning levels here.
# skill_id => starting_level
#--------------------------------------------------------------------
@skill_level = {
1 => 2,
57 => 0,
81 => 0
}
#--------------------------------------------------------------------
# Leon_Edit
# Put unique max levels here.
# skill_id => skill_end
#--------------------------------------------------------------------
@skill_max = {
1 => 3,
57 => 7
}
@hp_skills = []
@hp_percent = []
@sp_skills = []
@sp_percent = []
@str_skills = []
@str_percent = []
@dex_skills = []
@dex_percent = []
@int_skills = []
@int_percent = []
@agi_skills = []
@agi_percent = []
@skill_points = 0
@hp_bonus = 0
@sp_bonus = 0
@str_bonus = 0
@dex_bonus = 0
@int_bonus = 0
@agi_bonus = 0
leon_ga_skill_level_setup(actor_id)
end
def bonus(skill_id)
# HP calculations
reqs = Skill_Level
@hp_bonus = 0
if reqs::Base_hp.keys.include?(skill_id)
unless @hp_skills.include?(skill_id)
@hp_skills.push(skill_id)
@hp_percent.push(reqs::Base_hp[skill_id])
end
end
if @hp_skills.size != nil
for i in 0...@hp_skills.size
@hp_bonus += @hp_percent[i] * skill_level[@hp_skills[i]]
end
end
# SP calculations
@sp_bonus = 0
if reqs::Base_sp.keys.include?(skill_id)
unless @sp_skills.include?(skill_id)
@sp_skills.push(skill_id)
@sp_percent.push(reqs::Base_sp[skill_id])
end
end
if @sp_skills.size != nil
for i in 0...@sp_skills.size
@sp_bonus += @sp_percent[i] * skill_level[@sp_skills[i]]
end
end
# STR calculations
@str_bonus = 0
if reqs::Base_str.keys.include?(skill_id)
unless @str_skills.include?(skill_id)
@str_skills.push(skill_id)
@str_percent.push(reqs::Base_str[skill_id])
end
end
if @str_skills.size != nil
for i in 0...@str_skills.size
@str_bonus += @str_percent[i] * skill_level[@str_skills[i]]
end
end
# DEX calculations
@dex_bonus = 0
if reqs::Base_dex.keys.include?(skill_id)
unless @dex_skills.include?(skill_id)
@dex_skills.push(skill_id)
@dex_percent.push(reqs::Base_dex[skill_id])
end
end
if @dex_skills.size != nil
for i in 0...@dex_skills.size
@dex_bonus += @dex_percent[i] * skill_level[@dex_skills[i]]
end
end
# INT calculations
@int_bonus = 0
if reqs::Base_int.keys.include?(skill_id)
unless @int_skills.include?(skill_id)
@int_skills.push(skill_id)
@int_percent.push(reqs::Base_int[skill_id])
end
end
if @int_skills.size != nil
for i in 0...@int_skills.size
@int_bonus += @int_percent[i] * skill_level[@int_skills[i]]
end
end
# AGI calculations
@agi_bonus = 0
if reqs::Base_agi.keys.include?(skill_id)
unless @agi_skills.include?(skill_id)
@agi_skills.push(skill_id)
@agi_percent.push(reqs::Base_agi[skill_id])
end
end
if @agi_skills.size != nil
for i in 0...@agi_skills.size
@agi_bonus += @agi_percent[i] * skill_level[@agi_skills[i]]
end
end
end
def base_maxhp
n = leon_ga_skill_level_basehp
o = @hp_bonus
if o != nil
p = o * 0.01 * n + n
return p
else
return n
end
end
def base_maxsp
n = leon_ga_skill_level_basesp
o = @sp_bonus
if o != nil
p = o * 0.01 * n + n
return p
else
return n
end
end
def base_str
n = leon_ga_skill_level_basestr
o = @str_bonus
if o != nil
p = o * 0.01 * n + n
return p
else
return n
end
end
def base_dex
n = leon_ga_skill_level_basedex
o = @dex_bonus
if o != nil
p = o * 0.01 * n + n
return p
else
return n
end
end
def base_int
n = leon_ga_skill_level_baseint
o = @int_bonus
if o != nil
p = o * 0.01 * n + n
return p
else
return n
end
end
def base_agi
n = leon_ga_skill_level_baseint
o = @agi_bonus
if o != nil
p = o * 0.01 * n + n
return p
else
return n
end
end
def skill_learn?(skill_id)
reqs = Skill_Level
unless @skill_level.include?(skill_id)
@skill_level[skill_id] = reqs::Beginning_Default
end
unless @skill_max.include?(skill_id)
@skill_max[skill_id] = reqs::Max_Default
end
leon_ga_skill_level_skill_learn?(skill_id)
end
def skill_can_learn?(skill_id)
reqs = Skill_Level
if reqs::Level_Req.has_key?(skill_id)
unless level >= reqs::Level_Req[skill_id]
return false
end
end
if reqs::Skill_Req.has_key?(skill_id)
unless level >= reqs::Skill_Req[skill_id][0]
return false
end
end
return true
end
def skill_can_use?(skill_id)
reqs = Skill_Level
if reqs::Skill_Add.has_key?(skill_id)
if skill_level[skill_id] >= reqs::Skill_Add[skill_id][0]
$data_skills[skill_id].plus_state_set.push(reqs::Skill_Add[skill_id][1])
end
end
if reqs::Skill_Minus.has_key?(skill_id)
if skill_level[skill_id] >= reqs::Skill_Minus[skill_id][0]
$data_skills[skill_id].minus_state_set.push(reqs::Skill_Minus[skill_id][1])
end
end
if reqs::Skill_Element.has_key?(skill_id)
if skill_level[skill_id] >= reqs::Skill_Element[skill_id][0]
unless $data_skills[skill_id].element_set.include?(reqs::Skill_Element[skill_id][1])
$data_skills[skill_id].element_set.push(reqs::Skill_Element[skill_id][1])
end
end
end
return false unless leon_skill_level_levelcheck(skill_id)
return false unless leon_skill_level_skillcheck(skill_id)
if not skill_learn?(skill_id)
return false
end
if skill_level[skill_id] == 0
return false
end
return super
end
def leon_skill_level_levelcheck(skill_id)
reqs = Skill_Level
if reqs::Level_Req.has_key?(skill_id)
unless level >= reqs::Level_Req[skill_id]
return false
end
end
return true
end
def leon_skill_level_skillcheck(skill_id)
reqs = Skill_Level
if reqs::Skill_Req.has_key?(skill_id)
skill_number = reqs::Skill_Req[skill_id][0]
unless skill_level[skill_number] >= reqs::Skill_Req[skill_id][1]
return false
end
end
return true
end
def exp=(exp)
@exp = [[exp, 9999999].min, 0].max
while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
@level += 1
@skill_points += SKILL_POINTS
for j in $data_classes[@class_id].learnings
if j.level == @level
learn_skill(j.skill_id)
end
end
end
while @exp < @exp_list[@level]
@level -= 1
end
@hp = [@hp, self.maxhp].min
@sp = [@sp, self.maxsp].min
end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Window_Skill
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Window_Skill
#--------------------------------------------------------------------
# Constant Listings
#--------------------------------------------------------------------
PASSIVE_SKILL_ID = 19
#--------------------------------------------------------------------
# Alias Listings
#--------------------------------------------------------------------
alias leon_ws_skill_level_refresh refresh
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 0...@actor.skills.size
skill = $data_skills[@actor.skills[i]]
if skill != nil
if @actor.skill_level[skill.id] > 0
unless skill.element_set.include?(PASSIVE_SKILL_ID)
@data.push(skill)
end
end
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
for i in 0...@item_max
draw_item(i)
end
end
end
end
#----------------------------------------------------------------------
# Window_Skillinfo Info Window
#----------------------------------------------------------------------
class Window_Skillinfo < Window_Base
def initialize
super(0, 0, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
end
def update(help_text)
self.contents.clear
self.contents.draw_text(0, 0, 600, 32, help_text)
end
end
#----------------------------------------------------------------------
# Window_Skillhero Hero Window
#----------------------------------------------------------------------
class Window_Skillhero < Window_Base
def initialize(actor)
super(0, 64, 180, 128)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
@actor = actor
refresh
end
def refresh
self.contents.clear
draw_actor_name(@actor, 50, 0)
draw_actor_class(@actor, 50, 32)
self.contents.draw_text(100, 64, 40, 32, @actor.skill_points.to_s)
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 45, 32, "Name:")
self.contents.draw_text(0, 32, 45, 32, "Class:")
self.contents.draw_text(0, 64, 95, 32, "Skill Points:")
end
end
#----------------------------------------------------------------------
# Window_Skillpre Prerequisite Window
#----------------------------------------------------------------------
class Window_Skillpre < Window_Base
def initialize(skill)
super(0, 288, 180, 192)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
end
def update(skill)
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 140, 32, "Prerequisites:")
self.contents.draw_text(4, 32, 140, 32, "Level:")
self.contents.draw_text(4, 64, 45, 32, "Skill:")
self.contents.font.color = normal_color
reqs = Skill_Level
if reqs::Level_Req.has_key?(skill.id)
self.contents.draw_text(55, 32, 140, 32, reqs::Level_Req[skill.id].to_s)
else
self.contents.draw_text(55, 32, 140, 32, "None")
end
if reqs::Skill_Req.has_key?(skill.id)
self.contents.draw_text(8, 96, 140, 32, reqs::Skill_Req[skill.id][2].to_s)
self.contents.draw_text(8, 128, 140, 32, "Lvl: " + reqs::Skill_Req[skill.id][1].to_s)
else
self.contents.draw_text(8, 96, 140, 32, "None")
end
end
def update1
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 140, 32, "Prerequisites:")
self.contents.draw_text(4, 32, 140, 32, "Level:")
self.contents.draw_text(4, 64, 45, 32, "Skill:")
end
end
#----------------------------------------------------------------------
# Window_Skilllist List Window
#----------------------------------------------------------------------
class Window_Skilllist < Window_Selectable
#--------------------------------------------------------------------
# Set Passive Skill ID here.
#--------------------------------------------------------------------
PASSIVE_SKILL_ID = 19
def initialize(actor)
super(180, 64, 460, 416)
@column_max = 2
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
@actor = actor
self.active = false
self.index = -1
end
def skill
if @data !=nil
return @data[@index]
end
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 0...@actor.skills.size
skill = $data_skills[@actor.skills[i]]
if skill != nil
unless skill.element_set.include?(PASSIVE_SKILL_ID)
@data.push(skill)
end
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
for i in 0...@item_max
draw_item(i)
end
end
end
def draw_item(index)
skill = @data[index]
if @actor.skill_can_learn?(skill.id) == true
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
unless skill.element_set.include?(PASSIVE_SKILL_ID)
x = 4 + index % 2 * (195 + 32)
y = index / 2 * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(skill.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 134, 32, skill.name, 0)
if @actor.skill_level[skill.id] == @actor.skill_max[skill.id]
self.contents.font.color = Color.new(40, 250, 40, 255)
self.contents.draw_text(x +155, y, 100, 32, "Max")
else
self.contents.font.color = Color.new(250, 250, 13, 255)
self.contents.draw_text(x + 159, y, 100, 32,
(@actor.skill_level[skill.id].to_s) + "/" + (@actor.skill_max[skill.id].to_s))
end
end
end
def refresh1
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 0...@actor.skills.size
skill = $data_skills[@actor.skills[i]]
if skill != nil
if skill.element_set.include?(PASSIVE_SKILL_ID)
@data.push(skill)
end
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
for i in 0...@item_max
draw_item1(i)
end
end
end
def draw_item1(index)
skill = @data[index]
if @actor.skill_can_learn?(skill.id) == true
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
if skill.element_set.include?(PASSIVE_SKILL_ID)
x = 4 + index % 2 * (195 + 32)
y = index / 2 * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(skill.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 134, 32, skill.name, 0)
if @actor.skill_level[skill.id] == @actor.skill_max[skill.id]
self.contents.font.color = Color.new(40, 250, 40, 255)
self.contents.draw_text(x +155, y, 100, 32, "Max")
else
self.contents.font.color = Color.new(250, 250, 13, 255)
self.contents.draw_text(x + 159, y, 100, 32,
(@actor.skill_level[skill.id].to_s) + "/" + (@actor.skill_max[skill.id].to_s))
end
end
end
end
#----------------------------------------------------------------------
# Window_Skilldesc
#----------------------------------------------------------------------
class Window_Skilldesc < Window_Base
#--------------------------------------------------------------------
# Set Passive skill ID to the same as above.
# Set INCREASE_PER_LEVEL the same as the ones above
#--------------------------------------------------------------------
PASSIVE_SKILL_ID = 19
INCREASE_PER_LEVEL = 50
def initialize(actor, skill)
super(45, 40, 550, 400)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
@actor = actor
self.visible = false
self.z = 1000
end
def refresh(skill)
self.contents.clear
reqs = Skill_Level
for i in 0...reqs::Weapon_Skills.length
if skill.id == reqs::Weapon_Skills[i]
refresh2(skill)
return
end
end
@actor.skill_can_use?(skill.id)
bitmap = RPG::Cache.icon(skill.icon_name)
self.contents.font.color = system_color
#Draws 'Elements:'
self.contents.draw_text(205, 96, 120, 32, "Elements:")
#Draws the word for SP
self.contents.draw_text(410, 0, 80, 32, $data_system.words.sp + ":")
#Draws 'Skill Level:'
self.contents.draw_text(200, 0, 120, 32, "Skill Level:")
#Draws 'Cures:'
self.contents.draw_text(0, 96, 120, 32, "Cures:")
#Draws 'Inflicts:'
self.contents.draw_text(0, 228, 120, 32, "Inflicts:")
#Draws 'Next Level's Range:'
self.contents.draw_text(355, 96, 165, 32, "Next Level's Range:", 1)
#Attack Influence
self.contents.font.size = 18
#Draws 'Increase per Level:'
self.contents.draw_text(145, 324, 150, 32, "Increase per Level:")
#Draws 'Range'
self.contents.draw_text(345, 304, 165, 32, "Range:")
#Draws Attack Type
self.contents.draw_text(345, 324, 120, 32, "Skill Type:")
#Draws 'Attack' influence
self.contents.draw_text(145, 228, 120, 32, "Atk Influence:")
#Draws 'PDEF' influence
self.contents.draw_text(145, 247, 120, 32, "P-DEF Influence:")
#Draws 'MDEF' influence
self.contents.draw_text(145, 266, 120, 32, "M-DEF Influence:")
#Draws 'Accuracy'
self.contents.draw_text(145, 285, 120, 32, "Accuracy:")
self.contents.font.size = $defaultfontsize
self.contents.font.color = normal_color
#Sets Icon Opacity
opacity = self.contents.font.color == normal_color ? 255 : 128
#Draws Icon
self.contents.blt(0, 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
#Draws Skill Name
self.contents.draw_text(28, 0, 184, 32, skill.name, 0)
#Draws SP cost
self.contents.draw_text(450, 0, 90, 32, skill.sp_cost.to_s)
#Draws Skill Level Number
self.contents.font.color = Color.new(250, 250, 13, 255)
self.contents.draw_text(290, 0, 50, 32,
(@actor.skill_level[skill.id]).to_s + "/" + (@actor.skill_max[skill.id]).to_s)
self.contents.font.color = normal_color
#Draws Skill Description
self.contents.draw_text(4, 48, 330, 32, skill.description)
#Draws Atk Influence
self.contents.font.size = 18
#Draws Skill Type
if skill.atk_f > 0
self.contents.draw_text(420, 324, 80, 32, "Physical")
else
self.contents.draw_text(420, 324, 80, 32, "Magical")
end
self.contents.draw_text(235, 228, 30, 32, skill.atk_f.to_s, 2)
self.contents.draw_text(254, 247, 30, 32, skill.pdef_f.to_s, 2)
self.contents.draw_text(257, 266, 30, 32, skill.mdef_f.to_s, 2)
self.contents.draw_text(210, 285, 30, 32, skill.hit.to_s, 2)
#Draws % increase
self.contents.draw_text(277, 324, 50, 32, "+" + INCREASE_PER_LEVEL.to_s + "%")
#Draws Range
case skill.scope
when 0
self.contents.draw_text(399, 304, 165, 32, "None")
when 1
self.contents.draw_text(399, 304, 165, 32, "One Enemy")
when 2
self.contents.draw_text(399, 304, 165, 32, "All Enemies")
when 3
self.contents.draw_text(399, 304, 165, 32, "One Ally")
when 4
self.contents.draw_text(399, 304, 165, 32, "All Allies")
when 5
self.contents.draw_text(399, 304, 165, 32, "Ko'ed Allies")
when 6
self.contents.draw_text(399, 304, 165, 32, "User")
end
self.contents.font.size = $defaultfontsize
#Formulas for Next Level Range #Formula for when skills level up
power1 = (((INCREASE_PER_LEVEL * 0.01 * @actor.skill_level[skill.id])* skill.power) + skill.power)
power2 = (((INCREASE_PER_LEVEL * 0.01 * (@actor.skill_level[skill.id] +1))* skill.power) + skill.power)
#Draws Range
next_level_range = (power2 * (skill.variance * -0.01) + power2).to_s + " - " + (power2 * (skill.variance * 0.01) + power2).to_s
next_level_range2 = ((power2 * (skill.variance * -0.01) + power2) * -1).to_s + " - " + ((power2 * (skill.variance * 0.01) + power2) * -1).to_s
#Draws skill elements.
elements = []
skill.element_set.each do |i|
unless [PASSIVE_SKILL_ID].include?(i)
elements << $data_system.elements[i]
end
end
for i in 0...elements.size
self.contents.font.size = 16
self.contents.draw_text(165 + ((i % 2) * 94), 120 + (i / 2 * 12), 120, 32, elements[i])
end
#Draws negated effects
minus_status_data = []
for i in 1...$data_states.size
if skill.minus_state_set.include?(i)
minus_status_data.push($data_states[i].name)
end
end
for i in 0...minus_status_data.size
self.contents.font.size = 16
self.contents.draw_text(0 + ((i % 2) * 85), 120 + (i / 2 * 12), 120, 32, minus_status_data[i])
end
#Draws added statuses
plus_status_data = []
for i in 1...$data_states.size
if skill.plus_state_set.include?(i)
plus_status_data.push($data_states[i].name)
end
end
for i in 0...plus_status_data.size
self.contents.font.size = 16
self.contents.draw_text(0 + ((i % 2) * 85), 252 + (i / 2 * 12), 120, 32, plus_status_data[i])
end
#If skill is a heal skill...
if skill.power < 0
self.contents.font.size = $defaultfontsize
self.contents.font.color = system_color
self.contents.draw_text(355, 32, 165, 32, "Heal Range:", 1)
self.contents.draw_text(355, 160, 170, 32, "Level's Healing Avg:")
self.contents.draw_text(355, 228, 165, 32, "Next Level's Avg:", 1)
self.contents.font.color = Color.new(64, 245, 128, 255)
#If skill_level is higher than 0...
if @actor.skill_level[skill.id] > 0
#Draw level's Heal Range
self.contents.draw_text(355, 64, 165, 32, (((skill.variance * -0.01) * power1 + power1) * -1).to_s + " - " + (((skill.variance * 0.01) * power1 + power1) * -1).to_s, 1)
else
#Draw level 0's heal range
self.contents.draw_text(355, 64, 165, 32, 0.to_s + " - " + 0.to_s, 1)
end
#If skill_level is higher than 0...
if @actor.skill_level[skill.id] > 0
#Draw's Level's current average power
self.contents.draw_text(355, 192, 165, 32, (power1 * -1).to_s, 1)
else
#Draws Level's Healing Average Power
self.contents.draw_text(355, 192, 165, 32, 0.to_s, 1)
end
#Draws Next level's Healing Average
if @actor.skill_level[skill.id] == @actor.skill_max[skill.id]
self.contents.draw_text(355, 260, 165, 32, "----------", 1)
else
self.contents.draw_text(355, 260, 165, 32, (power2 * -1).to_s, 1)
end
#Draws Next level's range
if @actor.skill_level[skill.id] == @actor.skill_max[skill.id]
self.contents.draw_text(355, 128, 165, 32, "----------", 1)
else
self.contents.draw_text(355, 128, 165, 32, next_level_range2, 1)
end
self.contents.font.color = normal_color
else
self.contents.font.size = $defaultfontsize
self.contents.font.color = system_color
self.contents.draw_text(355, 32, 165, 32, "Power Range:", 1)
self.contents.draw_text(355, 160, 165, 32, "Level's Power Avg:", 1)
self.contents.draw_text(355, 228, 165, 32, "Next Level's Avg:", 1)
self.contents.font.color = Color.new(210, 37, 2, 255)
#If skill_level is higher than 0...
if @actor.skill_level[skill.id] > 0
#Draw Damage Range
self.contents.draw_text(355, 64, 165, 32, ((skill.variance * -0.01) * power1 + power1).to_s + " - " + ((skill.variance * 0.01) * power1 + power1).to_s, 1)
else
#Draw level 0's range
self.contents.draw_text(355, 64, 165, 32, 0.to_s + " - " + 0.to_s, 1)
end
#If skill_level is higher than 0...
if @actor.skill_level[skill.id] > 0
#Draw Damage Average
self.contents.draw_text(355, 192, 165, 32, power1.to_s, 1)
else
#Draw level 0's Avg
self.contents.draw_text(355, 192, 165, 32, 0.to_s, 1)
end
#Draw's Next Level's Avg.
if @actor.skill_level[skill.id] == @actor.skill_max[skill.id]
self.contents.draw_text(355, 260, 165, 32, "----------", 1)
else
self.contents.draw_text(355, 260, 165, 32, power2.to_s, 1)
end
#Draw's Next Level's Range
if @actor.skill_level[skill.id] == @actor.skill_max[skill.id]
self.contents.draw_text(355, 128, 165, 32, "----------", 1)
else
self.contents.draw_text(355, 128, 165, 32, next_level_range, 1)
end
self.contents.font.color = normal_color
end
end
def refresh2(skill)
self.contents.font.color = system_color
#Draws 'Skill Level:'
self.contents.draw_text(200, 0, 120, 32, "Skill Level:")
self.contents.draw_text(355, 32, 165, 32, "Percent of ATK:", 1)
self.contents.draw_text(355, 96, 165, 32, "Next level's percent:", 1)
#Draws Attack Type
self.contents.draw_text(335, 324, 120, 32, "Skill Type:")
#Draws Skill Name
self.contents.draw_text(28, 0, 184, 32, skill.name, 0)
#Draws Skill Level Number
self.contents.font.color = Color.new(250, 250, 13, 255)
self.contents.draw_text(290, 0, 50, 32,
(@actor.skill_level[skill.id]).to_s + "/" + (@actor.skill_max[skill.id]).to_s)
#Draws Skill Description
self.contents.font.color = normal_color
self.contents.draw_text(4, 48, 330, 32, skill.description)
self.contents.draw_text(420, 324, 80, 32, "Proficiency")
reqs = Skill_Level
case @actor.skill_level[skill.id]
when 0
self.contents.draw_text(355, 64, 165, 32, ((@actor.rankd * 100).round).to_s + "%", 1)
self.contents.draw_text(355, 128, 165, 32, ((@actor.rankc * 100).round).to_s + "%", 1)
when 1
self.contents.draw_text(355, 64, 165, 32, ((@actor.rankc * 100).round).to_s + "%", 1)
self.contents.draw_text(355, 128, 165, 32, ((@actor.rankb * 100).round).to_s + "%", 1)
when 2
self.contents.draw_text(355, 64, 165, 32, ((@actor.rankb * 100).round).to_s + "%", 1)
self.contents.draw_text(355, 128, 165, 32, ((@actor.ranka * 100).round).to_s + "%", 1)
when 3
self.contents.draw_text(355, 64, 165, 32, ((@actor.ranka * 100).round).to_s + "%", 1)
self.contents.draw_text(355, 128, 165, 32, ((@actor.ranks * 100).round).to_s + "%", 1)
when 4
self.contents.draw_text(355, 64, 165, 32, ((@actor.ranks * 100).round).to_s + "%", 1)
self.contents.draw_text(355, 128, 165, 32, "None", 1)
end
#Draws Icon
bitmap = RPG::Cache.icon(skill.icon_name)
self.contents.blt(0, 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
end
end
#===================================
# Window_Confirm
#===================================
class Window_Skillconfirm < Window_Selectable
def initialize
super(256, 192, 128, 96)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
self.visible = false
self.z = -1000
self.index = -1
self.active = false
end
def refresh
self.contents.clear
@data = [self.contents.draw_text(0, 0, 96, 32, "Yes", 1), self.contents.draw_text(0, 32, 96, 32, "No", 1)]
@item_max = @data.size
end
end
#+++++++++++++++++++++++++++++++++++
# Scene_Skilllevel
#+++++++++++++++++++++++++++++++++++
class Scene_Skill_level
def initialize(actor_index = 0, skilltype_index = 0)
@actor_index = actor_index
@skilltype_index = skilltype_index
end
def main
@actor = $game_party.actors[@actor_index]
@skillinfo_window = Window_Skillinfo.new
@skillhero_window = Window_Skillhero.new(@actor)
@skilllist_window = Window_Skilllist.new(@actor)
@skillpre_window = Window_Skillpre.new(@skilllist_window.skill)
@skilldesc_window = Window_Skilldesc.new(@actor, @skilllist_window.skill)
@confirm_window = Window_Skillconfirm.new
@skill = @skilllist_window.skill
c1 = "Active"
c2 = "Passive"
@skilltype_window = Window_Command.new(180, [c1, c2])
@skilltype_window.y = 192
@skilltype_window.index = @skilltype_index
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@skillinfo_window.dispose
@skillhero_window.dispose
@skillpre_window.dispose
@skilllist_window.dispose
@skilltype_window.dispose
@skilldesc_window.dispose
@confirm_window.dispose
end
def update
@skillhero_window.update
@skilltype_window.update
@skilldesc_window.update
@skillpre_window.update1
if @skilltype_window.active
update_skilltype
return
end
if @skilllist_window.active
update_skilllist
return
end
if @skilldesc_window.visible
update_skilldesc
return
end
if @confirm_window.active
update_confirm
return
end
if Input.trigger?(Input::L)
$game_system.se_play($data_system.cursor_se)
@actor_index += $game_party.actors.size - 1
@actor_index %= $game_party.actors.size
$scene = Scene_Skill_level.new
end
if Input.trigger?(Input::R)
$game_system.se_play($data_system.cursor_se)
@actor_index += 1
@actor_index %= $game_party.actors.size
$scene = Scene_Skill_level.new
end
end
def update_skilltype
if @skilltype_window.index == 0
@skillinfo_window.update("Shows active skills.")
@skilllist_window.refresh
if Input.trigger?(Input::C)
@skilltype_window.active = false
@skilllist_window.active = true
@skilllist_window.index = 0
end
else
@skillinfo_window.update("Shows passive skills.")
@skilllist_window.refresh1
if Input.trigger?(Input::C)
@skilltype_window.active = false
@skilllist_window.active = true
@skilllist_window.index = 0
end
end
if Input.trigger?(Input::L)
$game_system.se_play($data_system.cursor_se)
@actor_index += $game_party.actors.size - 1
@actor_index %= $game_party.actors.size
$scene = Scene_Skill_level.new(@actor_index)
end
if Input.trigger?(Input::R)
$game_system.se_play($data_system.cursor_se)
@actor_index += 1
@actor_index %= $game_party.actors.size
$scene = Scene_Skill_level.new(@actor_index)
end
if Input.trigger?(Input::B)
$scene = Scene_Map.new
end
end
def update_skilllist
@skillpre_window.update(@skilllist_window.skill)
@skilllist_window.update
@confirm_window.z = -1000
@skillinfo_window.update("Press 'Z' for Skill Description")
if Input.trigger?(Input::B)
@skilllist_window.index = -1
@skilllist_window.active = false
@skilltype_window.active = true
return
end
if Input.trigger?(Input::A)
if @skilllist_window.skill != nil
@skilldesc_window.refresh(@skilllist_window.skill)
@skilllist_window.active = false
@skilldesc_window.visible = true
else
$game_system.se_play($data_system.buzzer_se)
end
end
if Input.trigger?(Input::L)
$game_system.se_play($data_system.cursor_se)
@actor_index += $game_party.actors.size - 1
@actor_index %= $game_party.actors.size
$scene = Scene_Skill_level.new(@actor_index)
end
if Input.trigger?(Input::R)
$game_system.se_play($data_system.cursor_se)
@actor_index += 1
@actor_index %= $game_party.actors.size
$scene = Scene_Skill_level.new(@actor_index)
end
if Input.trigger?(Input::C)
skill = @skilllist_window.skill
if skill != nil
if @actor.skill_can_learn?(skill.id) == true
if @actor.skill_level[@skilllist_window.skill.id] < @actor.skill_max[@skilllist_window.skill.id]
if @actor.skill_points > 0
@confirm_window.refresh
@skilllist_window.active = false
@confirm_window.active = true
@confirm_window.visible = true
@confirm_window.index = 0
else
$game_system.se_play($data_system.buzzer_se)
end
else
$game_system.se_play($data_system.buzzer_se)
end
else
$game_system.se_play($data_system.buzzer_se)
end
end
end
end
def update_skilldesc
if @skilldesc_window.visible == true
@skilllist_window.active = false
if Input.trigger?(Input::B)
@skilldesc_window.visible = false
@skilllist_window.active = true
end
end
end
def update_confirm
@skillpre_window.update(@skilllist_window.skill)
@confirm_window.z = 1000
@confirm_window.update
@skillinfo_window.update("Are you sure?")
if Input.trigger?(Input::B)
@confirm_window.active = false
@confirm_window.visible = false
@skilllist_window.active = true
end
if Input.trigger?(Input::C)
if @skilltype_window.index == 0
case @confirm_window.index
when 0
@actor.skill_level[@skilllist_window.skill.id] += 1
@actor.skill_points -= 1
@skillhero_window.refresh
@skilllist_window.refresh
@confirm_window.visible = false
@skilllist_window.active = true
@confirm_window.index = -1
@actor.bonus(@skilllist_window.skill.id)
return
when 1
@confirm_window.visible = false
@skilllist_window.active = true
@confirm_window.index = -1
end
else
case @confirm_window.index
when 0
@actor.skill_level[@skilllist_window.skill.id] += 1
@actor.skill_points -= 1
@skillhero_window.refresh
@skilllist_window.refresh1
@confirm_window.visible = false
@skilllist_window.active = true
@confirm_window.index = -1
@actor.bonus(@skilllist_window.skill.id)
return
when 1
@confirm_window.visible = false
@skilllist_window.active = true
@confirm_window.index = -1
end
end
end
end
end
З.Ы: Если будут проблемы с размером шрифта, то замените размер на 18, а шрифт поменяйте на "Tahoma".
~Boris_Britv@
Тема заблокирована.
- Boris_Britv@
-
- Не в сети
- Бывалый
-
Скрыть
Больше
- Сообщений: 75
- Спасибо получено: 1
16 года 11 мес. назад - 16 года 11 мес. назад #26857
от Boris_Britv@
~Boris_Britv@
Boris_Britv@ ответил в теме Нужна помощь - вам сюда!
ссылка на демо:
www.creationasylum.net/forum/index.php?a...ch&type=post&id=3672
Уже решил проблему, найдя формулу повышения повреждения с ростом уровня
Уже решил проблему, найдя формулу повышения повреждения с ростом уровня
~Boris_Britv@
Последнее редактирование: 16 года 11 мес. назад пользователем Boris_Britv@.
Тема заблокирована.
16 года 11 мес. назад #26867
от h3nd
h3nd ответил в теме Нужна помощь - вам сюда!
Тема заблокирована.
- Dr. Nick To
-
- Не в сети
- Живу я здесь
-
Скрыть
Больше
- Сообщений: 2158
- Спасибо получено: 24
16 года 11 мес. назад #26868
от Dr. Nick To
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Dr. Nick To ответил в теме Нужна помощь - вам сюда!
В этом же разделе форума есть отдельная тема. Там всё написано.
А чего такой старый мейкер? Или это просто старая игра а не проект?
А чего такой старый мейкер? Или это просто старая игра а не проект?
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Тема заблокирована.
16 года 11 мес. назад #26869
от h3nd
h3nd ответил в теме Нужна помощь - вам сюда!
Спасиб, сейчас гляну.
Старый по версии? Просто если я ставлю руссик на версию 1.0.2а, у меня вся база в знаках вопроса. "????". Буду рад советам по усовершенствованию
и хотел бы узнать как увеличивать разрешение
Старый по версии? Просто если я ставлю руссик на версию 1.0.2а, у меня вся база в знаках вопроса. "????". Буду рад советам по усовершенствованию
и хотел бы узнать как увеличивать разрешение
Тема заблокирована.
- Boris_Britv@
-
- Не в сети
- Бывалый
-
Скрыть
Больше
- Сообщений: 75
- Спасибо получено: 1
16 года 11 мес. назад #26872
от Boris_Britv@
~Boris_Britv@
Boris_Britv@ ответил в теме Нужна помощь - вам сюда!
Изменение разрешения возможно только с помощью скрипта (причём судя по каментам очень запористого), когда то этот скрипт был на данном сайте (сейчас уже ссылка здохла)
~Boris_Britv@
Тема заблокирована.
- Dr. Nick To
-
- Не в сети
- Живу я здесь
-
Скрыть
Больше
- Сообщений: 2158
- Спасибо получено: 24
16 года 11 мес. назад #26874
от Dr. Nick To
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Dr. Nick To ответил в теме Нужна помощь - вам сюда!
h3nd написано:
Не ставь руссификатор. Ибо ладно бы руссифицировали только, а то напихали туда скриптов, переписали всё под себя. А у людей и шрифты пропадают, и с установкой новых скриптов проблемы. А новые то они есть. Сравни версию UMS в базе патча и на сайте.
Спасиб, сейчас гляну.
Старый по версии? Просто если я ставлю руссик на версию 1.0.2а, у меня вся база в знаках вопроса. "????". Буду рад советам по усовершенствованиюи хотел бы узнать как увеличивать разрешение
Не ставь руссификатор. Ибо ладно бы руссифицировали только, а то напихали туда скриптов, переписали всё под себя. А у людей и шрифты пропадают, и с установкой новых скриптов проблемы. А новые то они есть. Сравни версию UMS в базе патча и на сайте.
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Тема заблокирована.
16 года 11 мес. назад #26875
от h3nd
h3nd ответил в теме Нужна помощь - вам сюда!
Я новичек в этом деле, так что пока буду на руссике сидеть...со вставкой кое каких скриптов разобрался...как освоюсь в програмке, так мб и перейду на более лучшую версию, не русскую
Тема заблокирована.
- FeyVongFong
-
- Не в сети
- Новый участник
-
Скрыть
Больше
- Сообщений: 9
- Спасибо получено: 0
16 года 11 мес. назад #26877
от FeyVongFong
FeyVongFong ответил в теме Нужна помощь - вам сюда!
извините пожалуйста, никто не объяснит как сделать так чтоб на одной локации ставить домики из разных тайлсетов или вообще возможно ли это, а то когда меняю на всей локации всякая белиберда получается...
Тема заблокирована.
- Dr. Nick To
-
- Не в сети
- Живу я здесь
-
Скрыть
Больше
- Сообщений: 2158
- Спасибо получено: 24
16 года 11 мес. назад #26878
от Dr. Nick To
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Dr. Nick To ответил в теме Нужна помощь - вам сюда!
По простому так нельзя. Если ты используешь мейкер ХР, то можно увеличить один тайлсет по вертикали достаточно долго чтобы туда влезли все нужные домики. А потом просто скопировать их туда. ТОлько не забудь правило 32.
Каждый тайл равен квадрату со стороной 32 пикселя. Поэтому длина сета должна без остатка делиться на 32 или мейкер её не поймёт.
Можешь найти на форуме утилиту tileset remaker. Поможет.
Каждый тайл равен квадрату со стороной 32 пикселя. Поэтому длина сета должна без остатка делиться на 32 или мейкер её не поймёт.
Можешь найти на форуме утилиту tileset remaker. Поможет.
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Тема заблокирована.
- FeyVongFong
-
- Не в сети
- Новый участник
-
Скрыть
Больше
- Сообщений: 9
- Спасибо получено: 0
16 года 11 мес. назад #26880
от FeyVongFong
FeyVongFong ответил в теме Нужна помощь - вам сюда!
омг, помоги пожалуйста, я не нашёл....
Тема заблокирована.
- Dr. Nick To
-
- Не в сети
- Живу я здесь
-
Скрыть
Больше
- Сообщений: 2158
- Спасибо получено: 24
16 года 11 мес. назад #26881
от Dr. Nick To
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Dr. Nick To ответил в теме Нужна помощь - вам сюда!
Вот он.
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Тема заблокирована.
- Boris_Britv@
-
- Не в сети
- Бывалый
-
Скрыть
Больше
- Сообщений: 75
- Спасибо получено: 1
16 года 11 мес. назад #26883
от Boris_Britv@
~Boris_Britv@
Boris_Britv@ ответил в теме Нужна помощь - вам сюда!
Нормально работают скрипты в русской версии, надо просто копирнуть несколько скриптов из оригинала и пару строк в меин записать. У меня все заработало, если хотите, позже скину файл скриптов...
~Boris_Britv@
Тема заблокирована.
Время создания страницы: 0.268 секунд
