UltimaForum

Skrypty [XP] - Nowe okno stanu

tobik312 - Czw 13 Maj, 2010 20:19
Temat postu: Nowe okno stanu
~Nowe okno stanu~


Hejka!
Chciał bym zaprezentować mój skrypt Nowe Okno Stanu

Autor Skryptu
Tobik312(Ja)

Kompatybilność
Tylko XP

Skrypt
Spoiler:

Kod:
class Window_Status < Window_Base
  def initialize(actor)
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Times New Roman"
    self.contents.font.size = 26
    @actor = actor
    refresh
  end
  def refresh
    self.contents.clear
draw_actor_graphic(@actor, 40, 112)
draw_actor_name(@actor, 4, 0)
draw_actor_parameter(@actor, 100, 255, 0)
draw_actor_parameter(@actor, 300, 255, 1)
draw_actor_parameter(@actor, 100, 255+25, 2)
draw_actor_parameter(@actor, 300, 255+25, 3)
draw_actor_parameter(@actor, 100, 255+25*2, 4)
draw_actor_parameter(@actor, 300, 255+25*2, 5)
draw_actor_parameter(@actor, 100, 255+25*3,6)
draw_actor_class(@actor, 130, 0)
draw_actor_level(@actor, 130, 64)
draw_actor_state(@actor, 130, 32)
draw_actor_hp(@actor, 0, 112, 100)
draw_actor_sp(@actor, 0, 144, 100)
    self.contents.font.color = system_color
    self.contents.draw_text(480/2, 225, 80, 32, "Parametry")
    self.contents.draw_text(130, 64+32, 80, 32, "Exp")
    self.contents.draw_text(130, 64*2, 80, 32, "Kolejny poziom")
    self.contents.font.color = normal_color
    self.contents.draw_text(120 + 80, 64+32, 84, 32, @actor.exp_s, 2)
    self.contents.draw_text(120 + 80, 64*2, 84, 32, @actor.next_rest_exp_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(330,0, 96, 32, "Ekwipunek")
    draw_item_name($data_weapons[@actor.weapon_id], 330, 25)
    draw_item_name($data_armors[@actor.armor1_id], 330, 50)
    draw_item_name($data_armors[@actor.armor2_id], 330, 25+50)
    draw_item_name($data_armors[@actor.armor3_id], 330, 25+75)
    draw_item_name($data_armors[@actor.armor4_id], 330 , 25+100)
  end
  def dummy
    self.contents.font.color = system_color
    self.contents.font.size = 15
    self.contents.draw_text(320, 112, 96, 32, $data_system.words.weapon)
    self.contents.draw_text(320, 176, 96, 32, $data_system.words.armor1)
    self.contents.draw_text(320, 240, 96, 32, $data_system.words.armor2)
    self.contents.draw_text(320, 304, 96, 32, $data_system.words.armor3)
    self.contents.draw_text(320, 368, 96, 32, $data_system.words.armor4)
    draw_item_name($data_weapons[@actor.weapon_id], 320 + 24, 144)
    draw_item_name($data_armors[@actor.armor1_id], 320 + 24, 208)
    draw_item_name($data_armors[@actor.armor2_id], 320 + 24, 272)
    draw_item_name($data_armors[@actor.armor3_id], 320 + 24, 336)
    draw_item_name($data_armors[@actor.armor4_id], 320 + 24, 400)
  end
end



Screenshot
Spoiler:



Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.

erienus - Czw 13 Maj, 2010 20:33

Nic nadzwyczajnego. Mógłbyś to podzielić np na kilka okien, oddzielnie battler z życiem, maną itp, oddzielnie statystyki i takie tam ;p
tobik312 - Pią 14 Maj, 2010 12:23

erienus,
ja dopiero się uczę robić skrypty

erienus - Pią 14 Maj, 2010 12:47

Aha xd no ale i tak taki zwyczajny status ;p ej a masz jakieś linki do tutków z ruby? z czego się uczyłeś?
tobik312 - Pią 14 Maj, 2010 12:49

erienus,
Zobacz to:
http://www.ultimateam.pl/viewtopic.php?t=2592
no i trochę sam się bawiłem skryptami i coś wychodziło :-)


Powered by phpBB modified by Przemo © 2003 phpBB Group