I hate to go away for a while, and come back with a question. But, this is too important. I am using P.Knights, mainly because I do not have the money for the other and my game is going to take more then 30 days, but anyway I have the following scripts...
Life Bars
Advanced Message
MultiEquip
Advanced Save
Day/Night
Light Effects
My problem is this. I am making an RPG unlike most others you do not select a class from the start, you start out as a Soldier from Treelieflan, then after that short little intro, you are a little child from Kadminn, then after a few days you grow up to a teen, and during this time you can be looking for a profession, doesn't have to be a fighting class.. farmer, smith, spinstress, well I want them to get skills based on their level just like normal, but not normal skills, like the smith at level can mine iron ore, and at level the spinstress can spin wool into thread. Well I got all of that figured out, and it works, but the only problem is that at level one their skills do not show up, does not even register as them having them. I had it set on not useable, because they really cannot be useable, they just allow the player to do something, and it would not work, then I set it on menu-only, and it still did not work, then I tried all, and it still did not work, I tried taking out the multiEquip screen, and it still did not work, then I took out the advanced save, and it did not work. I have thousand times checked to see if the player actually got the class, or if they skill was set to level one, and even if I included the skill in the class list, and they are all how I want them...
I know that is alot to read, but I figured it would be better to explain it all now rather then later, but anyway Anybody have a similar problem? If so how do I fix it? If not please help anyway, lol. Thanks for future help!
damn i dont know but that sounds like an awsome game may be hard to do thow huuu i dont got the answer but i just hade to say sounds good.
Thanks anyway, lol. I think I got it figured out... Copied everything into a new project without any add on scripts... liked them, but oh well. Thanks for the compliment, I am glad you think it sounds good. I cannot wait until I get it finished, lol. =)
This sounds almost like something that happened to me..
If you've saved a game and added the skills afterwards, they will not show up in the saved game, so start over. See if that works.
Off Topic: Please Wild, if you don't know, don't reply to it. Not to be a jerk or anything...
Thanks. I tried that though... and it still did not work.... I have a new problem... I am trying something... but I get the error message that I have trouble getting get.hour? I will get the actual error in a sec....
Undefined Method 'Get_hour' for nil:NilClass
EDIT:
~ Ok, I got the Nil thing fixed... but I still cannot see my skills... what is required to see them? I have the name as Mine Iron, and the image is set to a pic of a piece of Iron Ore, the description reads "This skill allows you to Mine Iron ore", and I have the target to none, and useability to not useable no sound effects, and no stats... What am I doing wrong... is there something I am missing?
Its not that hard to make the growing up part. Just make 3 seperate heroes, and as you progress, make tint screen events and do a 3 years later sort of thing.
Not to be rude, or anything, but if you read the post I am not having problems with that, I said I know how to do that, it is the skills that is giving me trouble. I can't see them, and nothing I am doing is working....
Here is the skill related scripts. Can someone please see if the error is in this? Or can someone post the scripts from the legal version? it would be greatly appreciated, and I would put it you in my credits just for helping
Scene_Skill
#==============================================================================
# ? Scene_Skill
#------------------------------------------------------------------------------
# ??????????????????
#==============================================================================
class Scene_Skill
#--------------------------------------------------------------------------
# ? ?????????
# actor_index : ??????????
#--------------------------------------------------------------------------
def initialize(actor_index = 0, equip_index = 0)
@actor_index = actor_index
end
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
def main
# ???????
@actor = $game_party.actors[@actor_index]
# ???????????????????????????????
@help_window = Window_Help.new
@status_window = Window_SkillStatus.new(@actor)
@skill_window = Window_Skill.new(@actor)
# ?????????????
@skill_window.help_window = @help_window
# ????????????? (?????????????)
@target_window = Window_Target.new
@target_window.visible = false
@target_window.active = false
# ?????????
Graphics.transition
# ??????
loop do
# ????????
Graphics.update
# ???????
Input.update
# ??????
update
# ????????????????
if $scene != self
break
end
end
# ?????????
Graphics.freeze
# ????????
@help_window.dispose
@status_window.dispose
@skill_window.dispose
@target_window.dispose
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def update
# ????????
@help_window.update
@status_window.update
@skill_window.update
@target_window.update
# ?????????????????: update_skill ???
if @skill_window.active
update_skill
return
end
# ???????????????????: update_target ???
if @target_window.active
update_target
return
end
end
#--------------------------------------------------------------------------
# ? ?????? (?????????????????)
#--------------------------------------------------------------------------
def update_skill
# B ??????????
if Input.trigger?(Input::B)
# ????? SE ???
$game_system.se_play($data_system.cancel_se)
# ???????????
$scene = Scene_Menu.new(1)
return
end
# C ??????????
if Input.trigger?(Input::C)
# ????????????????????????
@skill = @skill_window.skill
# ????????
if @skill == nil or not @actor.skill_can_use?(@skill.id)
# ??? SE ???
$game_system.se_play($data_system.buzzer_se)
return
end
# ?? SE ???
$game_system.se_play($data_system.decision_se)
# ??????????
if @skill.scope >= 3
# ?????????????????
@skill_window.active = false
@target_window.x = (@skill_window.index + 1) % 2 * 304
@target_window.visible = true
@target_window.active = true
# ???? (??/??) ?????????????
if @skill.scope == 4 || @skill.scope == 6
@target_window.index = -1
elsif @skill.scope == 7
@target_window.index = @actor_index - 10
else
@target_window.index = 0
end
# ????????????
else
# ??????? ID ??????
if @skill.common_event_id > 0
# ?????????????
$game_temp.common_event_id = @skill.common_event_id
# ??????? SE ???
$game_system.se_play(@skill.menu_se)
# SP ??
@actor.sp -= @skill.sp_cost
# ?????????????
@status_window.refresh
@skill_window.refresh
@target_window.refresh
# ??????????
$scene = Scene_Map.new
return
end
end
return
end
# R ??????????
if Input.trigger?(Input::R)
# ???? SE ???
$game_system.se_play($data_system.cursor_se)
# ???????
@actor_index += 1
@actor_index %= $game_party.actors.size
# ????????????
$scene = Scene_Skill.new(@actor_index)
return
end
# L ??????????
if Input.trigger?(Input::L)
# ???? SE ???
$game_system.se_play($data_system.cursor_se)
# ???????
@actor_index += $game_party.actors.size - 1
@actor_index %= $game_party.actors.size
# ????????????
$scene = Scene_Skill.new(@actor_index)
return
end
end
#--------------------------------------------------------------------------
# ? ?????? (???????????????????)
#--------------------------------------------------------------------------
def update_target
# B ??????????
if Input.trigger?(Input::B)
# ????? SE ???
$game_system.se_play($data_system.cancel_se)
# ?????????????
@skill_window.active = true
@target_window.visible = false
@target_window.active = false
return
end
# C ??????????
if Input.trigger?(Input::C)
# SP ????????????????
unless @actor.skill_can_use?(@skill.id)
# ??? SE ???
$game_system.se_play($data_system.buzzer_se)
return
end
# ???????????
if @target_window.index == -1
# ??????????????????
used = false
for i in $game_party.actors
used |= i.skill_effect(@actor, @skill)
end
end
# ????????????
if @target_window.index <= -2
# ??????????????????????
target = $game_party.actors[@target_window.index + 10]
used = target.skill_effect(@actor, @skill)
end
# ???????????
if @target_window.index >= 0
# ??????????????????????
target = $game_party.actors[@target_window.index]
used = target.skill_effect(@actor, @skill)
end
# ?????????
if used
# ??????? SE ???
$game_system.se_play(@skill.menu_se)
# SP ??
@actor.sp -= @skill.sp_cost
# ?????????????
@status_window.refresh
@skill_window.refresh
@target_window.refresh
# ?????
if $game_party.all_dead?
# ??????????????
$scene = Scene_Gameover.new
return
end
# ??????? ID ??????
if @skill.common_event_id > 0
# ?????????????
$game_temp.common_event_id = @skill.common_event_id
# ??????????
$scene = Scene_Map.new
return
end
end
# ????????????
unless used
# ??? SE ???
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end
Window_SkillStatus
# ? Window_SkillStatus
#------------------------------------------------------------------------------
# ?????????????????????????????????
#==============================================================================
class Window_SkillStatus < Window_Base
#--------------------------------------------------------------------------
# ? ?????????
# actor : ????
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 64, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype # "Skill" status window font
self.contents.font.size = $defaultfontsize
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name(@actor, 4, 0)
draw_actor_state(@actor, 140, 0)
draw_actor_hp(@actor, 284, 0)
draw_actor_sp(@actor, 460, 0)
end
end
Window_Skill
#==============================================================================
# ? Window_Skill
#------------------------------------------------------------------------------
# ??????????????????????????????????????
#==============================================================================
class Window_Skill < Window_Selectable
#--------------------------------------------------------------------------
# ? ?????????
# actor : ????
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 128, 640, 352)
@actor = actor
@column_max = 2
refresh
self.index = 0
# ????????????????????????????
if $game_temp.in_battle
self.y = 64
self.height = 256
self.back_opacity = 160
end
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def skill
return @data[self.index]
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
@data.push(skill)
end
end
# ???? 0 ??????????????????????
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $defaultfonttype # "Skill" window font
self.contents.font.size = $defaultfontsize
for i in 0...@item_max
draw_item(i)
end
end
end
#--------------------------------------------------------------------------
# ? ?????
# index : ????
#--------------------------------------------------------------------------
def draw_item(index)
skill = @data[index]
if @actor.skill_can_use?(skill.id)
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
x = 4 + index % 2 * (288 + 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, 204, 32, skill.name, 0)
self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
end
#--------------------------------------------------------------------------
# ? ?????????
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(self.skill == nil ? "" : self.skill.description)
end
end
On both scripts, copy them to notepad, and search "fontsize" or "defaultfontsize" and replace it with "22" (without the speech marks" or any other font size of your choice. 22 usually works for me though.
Dwarra, I am not sure if you did not notice but, I posted three scripts, so which two were you referring to?
EDIT:
~ Nope didn't work...
EDIT:
~ Ok, I fixed it. I have to manually make the player learn the skills. I have it set to where the player starts out with no class at all.. or one that has a blank name.. then he can gain the classes, so far, Smith and Spinstress, after they gain the classes I have to go into an event and make them have the skill. Thanks everyone for their ideas, and help.