Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Nowy Ekran Umiejętności
Autor Wiadomość
Lartarin 




Ranga RM:
4 gry

Pomogła: 3 razy
Dołączyła: 20 Wrz 2007
Posty: 233
Skąd: Ergard
Wysłany: Pon 10 Maj, 2010 10:41
Nowy Ekran Umiejętności
Aloha!
Znalazłam kilka skryptów na kompie ^@^. Dawno niczego nie wrzucałam, tak więc wrzucam teraz.

-> Skrypt należy umieścić nad MAIN
-> Zmienia on ekran umiejętności

Screen:
Spoiler:



Skrypt:
Spoiler:

Kod:
#==========================================================
# Custom Skill Screen 1.0 by Neon
#==========================================================
class Scene_Skill

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_graphic = Window_Skill_Graphic.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
@skill_graphic.dispose
end

def update

@help_window.update
@status_window.update
@skill_window.update
@target_window.update

if @skill_window.active
update_skill
return
end

if @target_window.active
update_target
return
end
end

def update_skill

if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(1)
return
end

if Input.trigger?(Input::C)
@skill = @skill_window.skill
if @skill == nil or not @actor.skill_can_use?(@skill.id)
$game_system.se_play($data_system.buzzer_se)
return
end

$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

if @skill.common_event_id > 0

$game_temp.common_event_id = @skill.common_event_id
$game_system.se_play(@skill.menu_se)
@actor.sp -= @skill.sp_cost
@status_window.refresh
@skill_window.refresh
@target_window.refresh
$scene = Scene_Map.new
return
end
end
return
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.new(@actor_index)
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.new(@actor_index)
return
end
end

def update_target
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@skill_window.active = true
@target_window.visible = false
@target_window.active = false
return
end

if Input.trigger?(Input::C)
unless @actor.skill_can_use?(@skill.id)
$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
$game_system.se_play(@skill.menu_se)
@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

if @skill.common_event_id > 0

$game_temp.common_event_id = @skill.common_event_id
$scene = Scene_Map.new
return
end
end

unless used

$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end

class Window_Skill < Window_Selectable

def initialize(actor)
if $game_temp.in_battle
super(200, 64, 640, 300)
else
super(200, 64, 440, 300)
end
@actor = actor
if $game_temp.in_battle
@column_max = 2
else
@column_max = 1
end
refresh
self.index = 0

if $game_temp.in_battle
self.x = 0
self.y = 64
self.width = 640
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

@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end

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 % 1 * (288 + 32)
y = index / 1 * 32
if $game_temp.in_battle
x = 4 + index % 2 * (288 + 32)
y = index / 2 * 32
end
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)
if $game_temp.in_battle
self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
else
self.contents.draw_text(x + 350, y, 48, 32, skill.sp_cost.to_s, 2)
end
end

def update_help
@help_window.set_text(self.skill == nil ? "" : self.skill.description)
end
end

class Window_SkillStatus < Window_Base

def initialize(actor)
super(0, 364, 640, 116)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
refresh
end

def refresh
self.contents.clear
draw_actor_state(@actor, 0, 0)
draw_actor_hp(@actor, 0, 28)
draw_actor_sp(@actor, 0, 28+28)

draw_actor_parameter(@actor, 200, 0, 0)
draw_actor_parameter(@actor, 200, 28, 1)
draw_actor_parameter(@actor, 200, 28+28, 2)
draw_actor_parameter(@actor, 420, 0, 3)
draw_actor_parameter(@actor, 420, 28, 4)
draw_actor_parameter(@actor, 420, 28+28, 5)
end
end

class Window_Skill_Graphic < Window_Base

def initialize(actor)
super(0, 64, 200, 300)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
refresh
end

def refresh
draw_actor_class(@actor, 200, 200)
end

def draw_actor_battler(actor, x, y)
face = RPG::Cache.battler(actor.character_name, actor.character_hue)
fw = face.width
fh = face.height
src_rect = Rect.new(3, -1, fw, fh)
self.contents.blt(x - fw / 43, y - fh, face, src_rect, opacity)
end

def refresh
self.contents.clear
draw_actor_battler(@actor, 37, 255)
draw_actor_name(@actor, 4, 0)
draw_actor_class(@actor, 4+32, 22)
end
end



Pozdrowionka :lartarin:
________________________

 
 
 
narcyzgods 



Dołączył: 02 Maj 2010
Posty: 7
Wysłany: Czw 27 Maj, 2010 18:38
Mam problem z tym skryptem:
nie pojawia mi się nazwa bohatera oraz nazwy czarów.
 
 
Czeliosss 



Ranga RM:
1 gra

Pomógł: 49 razy
Dołączył: 02 Lis 2009
Posty: 661
Skąd: Wa-wa
Wysłany: Czw 27 Maj, 2010 18:42
Masz polskiego RMa?
Pzdr.
________________________
...Amelanduil & FireBlade words will be remembered...
...Amelanduil & FireBlade acts will be remembered...
...Amelanduil & FireBlade never gonna die...

Nie pisać, bo nie odpiszę.
 
 
R.I.P. 




Preferowany:
RPG Maker XP

Pomógł: 9 razy
Dołączył: 28 Mar 2010
Posty: 173
Skąd: Warszawa
Wysłany: Pią 28 Maj, 2010 08:34
Nawet nieźle :), tylko że troche dziwnie wygląda, skądś widziałem już taki skrypt,ale dobra :D.
 
 
narcyzgods 



Dołączył: 02 Maj 2010
Posty: 7
Wysłany: Pią 28 Maj, 2010 11:55
Tak ściągnięty z tej strony:
http://www.rpgmaker.10gig...ad&typ=programy
 
 
Cyklop 




Nagrody:
UFT3 Winner

Ranga RM:
1 gra

Dołączył: 03 Sie 2008
Posty: 54
Skąd: ???
Wysłany: Pią 28 Maj, 2010 12:17
To nie jest skrypt z twierdzy. Z resztą co to za różnica przecież w treści jest podane kto jest autorem?
A nie wyświetla napisów w polskim RM bo jest do d**y. Zamień na poniższy, powinno działać
Spoiler:

Kod:
#==========================================================
# Custom Skill Screen 1.0 by Neon
#==========================================================
class Scene_Skill

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_graphic = Window_Skill_Graphic.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
@skill_graphic.dispose
end

def update

@help_window.update
@status_window.update
@skill_window.update
@target_window.update

if @skill_window.active
update_skill
return
end

if @target_window.active
update_target
return
end
end

def update_skill

if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(1)
return
end

if Input.trigger?(Input::C)
@skill = @skill_window.skill
if @skill == nil or not @actor.skill_can_use?(@skill.id)
$game_system.se_play($data_system.buzzer_se)
return
end

$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

if @skill.common_event_id > 0

$game_temp.common_event_id = @skill.common_event_id
$game_system.se_play(@skill.menu_se)
@actor.sp -= @skill.sp_cost
@status_window.refresh
@skill_window.refresh
@target_window.refresh
$scene = Scene_Map.new
return
end
end
return
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.new(@actor_index)
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.new(@actor_index)
return
end
end

def update_target
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@skill_window.active = true
@target_window.visible = false
@target_window.active = false
return
end

if Input.trigger?(Input::C)
unless @actor.skill_can_use?(@skill.id)
$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
$game_system.se_play(@skill.menu_se)
@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

if @skill.common_event_id > 0

$game_temp.common_event_id = @skill.common_event_id
$scene = Scene_Map.new
return
end
end

unless used

$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end

class Window_Skill < Window_Selectable

def initialize(actor)
if $game_temp.in_battle
super(200, 64, 640, 300)
else
super(200, 64, 440, 300)
end
@actor = actor
if $game_temp.in_battle
@column_max = 2
else
@column_max = 1
end
refresh
self.index = 0

if $game_temp.in_battle
self.x = 0
self.y = 64
self.width = 640
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

@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
self.contents.font.name = $defaultfonttype  # "Items" window font
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_use?(skill.id)
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
x = 4 + index % 1 * (288 + 32)
y = index / 1 * 32
if $game_temp.in_battle
x = 4 + index % 2 * (288 + 32)
y = index / 2 * 32
end
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)
if $game_temp.in_battle   
self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
else
self.contents.draw_text(x + 350, y, 48, 32, skill.sp_cost.to_s, 2)
end
end

def update_help
@help_window.set_text(self.skill == nil ? "" : self.skill.description)
end
end

class Window_SkillStatus < Window_Base

def initialize(actor)
super(0, 364, 640, 116)

self.contents = Bitmap.new(width - 32, height - 32)

self.contents.font.name = $defaultfonttype  # "Items" window font
self.contents.font.size = $defaultfontsize

@actor = actor
refresh
end

def refresh
self.contents.clear
draw_actor_state(@actor, 0, 0)
draw_actor_hp(@actor, 0, 28)
draw_actor_sp(@actor, 0, 28+28)

draw_actor_parameter(@actor, 200, 0, 0)
draw_actor_parameter(@actor, 200, 28, 1)
draw_actor_parameter(@actor, 200, 28+28, 2)
draw_actor_parameter(@actor, 420, 0, 3)
draw_actor_parameter(@actor, 420, 28, 4)
draw_actor_parameter(@actor, 420, 28+28, 5)
end
end

class Window_Skill_Graphic < Window_Base

def initialize(actor)
super(0, 64, 200, 300)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype  # "Items" window font
self.contents.font.size = $defaultfontsize
@actor = actor
refresh
end

def refresh
draw_actor_class(@actor, 200, 200)
end

def draw_actor_battler(actor, x, y)
face = RPG::Cache.battler(actor.character_name, actor.character_hue)
fw = face.width
fh = face.height
src_rect = Rect.new(3, -1, fw, fh)
self.contents.blt(x - fw / 43, y - fh, face, src_rect, opacity)
end

def refresh
self.contents.clear
draw_actor_battler(@actor, 37, 255)
draw_actor_name(@actor, 4, 0)
draw_actor_class(@actor, 4+32, 22)
end
end

 
 
narcyzgods 



Dołączył: 02 Maj 2010
Posty: 7
Wysłany: Pią 28 Maj, 2010 14:41
Ok wszystko działa jak należy. Dzięki za pomoc.


*Ciekawostka:
Temat napisany 10 Maja i 1sza i kolejne odpowiedzi są napisane po 27 Maja xD, gdybym nie napisał swojego postu dalej, by nikt nie zaglądał.


Mam jeszcze prośbę, co mam zrobić aby pokazywał mi się obrazek bohatera w "czary" xD.
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene