RPGVX.net

  RPG-Maker VX => Schnelle-Hilfe. => Thema gestartet von: D.N.S am Dezember 02, 2008, 18:12:03

Titel: Hilfe zu Skripten.
Beitrag von: D.N.S am Dezember 02, 2008, 18:12:03
Wie der Titel schon sagt kommt hier alles über Skripte rein an Fragen.




WS
     D.N.S
Titel: Re: Hilfe zu Skripten.
Beitrag von: Klex am Dezember 02, 2008, 19:13:36
Ich stell dann mal hier die entjungfern Frage. :P
Bin mir jetzt nicht 100% sicher ob das hier rein gehöhrt oder im Event Thread.
Also es geht darum das ich einen "Status" brauche, der durch einen Skill ausgelöst wird.
Er soll mir 6 runden lang pro Runde XXX MP geben bzw für die HP version 6 Runden lang XXX HP

Wenn mir jemand einen Skript dafür empfehlen/machen könnte oder mir erklären würde wie
das mit dem VX maker geht so einen Status in der Datenbase zu machen (blick da echt nicht durch 2k3 ging das alles so einfach)
dem wäre ich sehr verbunden

Grüße Klex
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 02, 2008, 19:25:32
Wenn du das Tankentei SBS benutzt, gibt es extra ein Addon für Status. Da kann man seine eigenen Statuse machen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: aka Scorp am Dezember 02, 2008, 21:15:09
Kurz und knapp: Wie bekomme ich die Punkte "Status" und "Equip" aus dem Menü gänzlich raus?



Dankeschön im Vorraus
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Dezember 02, 2008, 21:25:43
@aka Scorp :
In Scene_Menu   bei
def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end
  end

muss du einfach  s3, s4 entfernen so das dann da steht :
def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s5, s6])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end
  end

heißt, dassu die Line     @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6]) veränderst
mfg, Antares
Titel: Re: Hilfe zu Skripten.
Beitrag von: Klex am Dezember 02, 2008, 21:27:46

Mal Antares Version als Screen gepostet zum besseren Verständnis.
Makierte einfach löschen.

(http://e.imagehost.org/0776/Skript.jpg)

Grüße Klex
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Dezember 02, 2008, 21:31:57
naja     s3 = Vocab::equip
          s4 = Vocab::status

zu löschen ist eig nit nötig...wichtig is nur das untendrunter in der vari-folge... ;)
Titel: Re: Hilfe zu Skripten.
Beitrag von: aka Scorp am Dezember 03, 2008, 18:59:15
Die 2 Punkte sind nun zwar gelöscht. Aber wenn ich auf Save oder Beenden gehe, dann kommt das von EQ und Status. Wie bekomme ich dass die Punkte auch zur richtigen Funktion führen?


Mfg
Titel: Re: Hilfe zu Skripten.
Beitrag von: Hanmac am Dezember 03, 2008, 19:54:34
in der update methode muss das auch noch raus genommen werden

(scheiß system)
Titel: Re: Hilfe zu Skripten.
Beitrag von: aka Scorp am Dezember 03, 2008, 20:53:37
Was genau müsste ich denn da tun? Ich kenne mich mit Scripten 0 aus :)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Hanmac am Dezember 03, 2008, 21:03:59
mach
def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s5, s6])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(2, false)     # Disable save
    end
  end

  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1  # Skill, equipment, status
        start_actor_selection
      when 2      # Save
        $scene = Scene_File.new(true, false, false)
      when 3      # End Game
        $scene = Scene_End.new
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Update Actor Selection
  #--------------------------------------------------------------------------
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1  # skill
        $scene = Scene_Skill.new(@status_window.index)
      end
    end
  end

muss das aussehn
oder du wartest noch ein bischen dann ist mein neues menü system fertig
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Dezember 03, 2008, 21:29:56
@Hanmac:
Hab ich nicht genau das gepostet???O_ô
Titel: Re: Hilfe zu Skripten.
Beitrag von: Hanmac am Dezember 03, 2008, 21:51:10
jain
dies ist nur eine kleine hilfe

ein richtiges menü system (was anders aufgebaut ist) habe ich noch nicht raus gegeben
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 03, 2008, 22:35:05
@Antares
Du hast fast das gleiche gepostet. Du hast nur den ersten Teil gepostet:
Zitat
@command_window = Window_Command.new(160, [s1, s2, s5, s6])

aber man muss noch was aus dem Update Teil verändern, dies hat Hanmac gezeigt:

      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4      # Save
        $scene = Scene_File.new(true, false, false)
      when 5      # End Game
        $scene = Scene_End.new[/color]

zu dem hier:

      when 0      # Item
        $scene = Scene_Item.new
      when 1  # Skill, equipment, status
        start_actor_selection
      when 2      # Save
        $scene = Scene_File.new(true, false, false)
      when 3     # End Game
        $scene = Scene_End.new
   


mfg. eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: Hanmac am Dezember 03, 2008, 22:40:20
@eugene222:
und du hast vergessen zu bedenken das bei dem wenn die party leer ist es den save und den game_end grau anzeigt

sowie könnte es einen fehler geben wenn das menü geöffnet wird auf einer karte die kein save erlaubt
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 03, 2008, 22:44:07
Ich versteh nicht was du meinst. Ich hab Antares versucht zu erwähnen wo der unterschied zwischem seinem und dem von dir geposteten ist. Ich hab da nix selber überlegt. Vielleicht erläuterst du mir das nochmal, damit ich es nun verstehe.

mfg. eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: Hanmac am Dezember 03, 2008, 22:49:29
#...
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(2, false)     # Disable save
    end
#...
da sich die positionen ändern, müssen auch die disabled geändert werden.
sonst färbt das falsch und es könnte sogar abstürzen
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 04, 2008, 14:47:58
Ja ok.. bin immer noch verwirrt, aber hab das jetz wenigsten verstanden was du meinst.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Klex am Dezember 05, 2008, 19:20:20

Hey Leute,
Kann mir jemand bitte schnell den Link geben, zu dem Skript wo man die
aktuelle Map als Battlehintergrund sieht?? Hab den Skript in der SuFu irgendwie
nicht gefunden. Danke schonmal

Grüße Klex
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 05, 2008, 20:09:40
http://www.rmxp.org/forums/index.php?topic=46044.0

Hier stell BB_Type auf 1

mfg. eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 13, 2008, 21:51:45
Ich hab da mal auch ne Frage. Ich bin nicht der beste Skripter und versuch etwas für Klex auf die Beine zu stellen. Nur leider hab ich ein Problem. Ich habe 5 Ifs hintereinander die so aussehen:

  if $game_variables[$V1] <= -100
     self.contents.font.color =  text_color(18)
      self.contents.draw_text(385,40+5  , 120, WLH, 'Feindlich')
    end
   
      if $game_variables[$V1] > -100
       self.contents.font.color =  text_color(17)
      self.contents.draw_text(385,40+5 ,120, WLH, 'Neutral')
    end
   
      if $game_variables[$V1] > =100
       self.contents.font.color =  text_color(24)
      self.contents.draw_text(385,40+5  , 120, WLH, 'Freundlich')
    end
   
      if $game_variables[$V1] >= 200
       self.contents.font.color =  text_color(03)
      self.contents.draw_text(385,40+5  , 120, WLH, 'Wohlwollend')
    end
   
      if $game_variables[$V1] >= 300
       self.contents.font.color =  text_color(11)
      self.contents.draw_text(385,40+5  , 120, WLH, 'Ehfürchtig')
     end 


Wenn die Variable -100 oder weniger ist, wird Feindlich ganz normal angezeigt.
Neutral wird auch ganz normal angezeigt.
Aber wenn ich die Variable so hoch ist, das Freundlich angezeigt werden soll, oder höher, überlappt dies alles Neutral.
Das sieht dann halt so aus. Es steht Neutral, auf Neutral Freundlich, auf Freundlich Wohlwollend.
Ich weiß nicht wie ich das weg bekomme. Ich hoffe, dass mir schnell geholfen wird, denn ich
muss es heute schon fertig haben.

mfg. eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: Frost am Dezember 13, 2008, 21:59:03
Ich hab zwar keine Ahnung von Ruby, bzw. von dem (enter name) *immer Namen vergess*. xD
Aber ich denke ich weiß, welchen Fehler du gemacht hast.
Du hast ja normal, wenn die Variable über -100 ist, ne?
Und wenn sie 100 erreicht hat, ist sie ja immer noch über -100.
Du musst also alles, was nur einen bestimmten Bereich haben soll auch nur einen bestimmten Bereich zuordnen.
Also normal zwischen -99 und 99.
Hoffe du weißt was ich meine.
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 13, 2008, 22:05:20
Ja dies ist ja halt das Problem, ich kann dies keinem Bereich zuordnen. Ich weiß nicht wie das geht. Aber weil ich ja 5 Ifs habe, sollte dies ja kein Problem seien, sind ja keine Else eingebaut. Das Problem ist nur, dass der Text irgentwie schon vorher gespeichert wird. Aber wenn es doch die Möglichkeit gebe:
Bereich: -99 - 99, würde dies vielleicht klappen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Frost am Dezember 13, 2008, 22:13:43
Gibts denn da kein Bindungswort wie "and" oder Bindungszeichen? oO
Aber es ist ein Problem. (5 Ifs)
Es sind ja dann zur Zeit mehrere IF-Anweisungen erfüllt:
Variable größer -100? Ja - Normal erfüllt.
Variable größer -100? Ja - Normal; Variable größer gleich 100? Ja - Normal und Freundlich erfüllt.
Variable größer -100? Ja - Normal; Variable größer gleich 100? Ja - Normal und Freundlich; Variable größer gleich 200? Ja - Normal, Freundlich und Wohlwollend erfüllt.
etc.
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 13, 2008, 22:20:03
Also, durch die Hilfe, von Hanmac hab ich dies hinbekommen, habs wieder mit elsifs gemacht. Es hat früher geklappt, weil ich statt dem draw text immer dies hatte:

$F1 = "Neutral" usw...

naja es klappt nun danke an alle.
Titel: Re: Hilfe zu Skripten.
Beitrag von: xelawebdev am Dezember 14, 2008, 01:58:25
Gelöscht
Titel: Re: Hilfe zu Skripten.
Beitrag von: Shinji am Dezember 14, 2008, 11:16:56
kannste doch auch als skill machen. gibst deinem skill ein ce in dem
die werte des gegners in variablen gespeichert werden. und dann mit
dem befehl \v  in einer nachricht abzulesen ist.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Futura am Dezember 14, 2008, 12:22:10
Kann mir vlt. einer das VX und XP Chars gleichzeitig benutzen-Skript erklären?
Ich bekomms net hin^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 14, 2008, 13:17:45
Futura, schick mir mal ein Link, ich werd versuchen dir dann zu helfen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Futura am Dezember 14, 2008, 13:28:56
http://rpgvx.de/index.php?show=wrapper&ID=7&sourceID=59
Hier, da ist er
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 14, 2008, 15:42:00
Ist an sich ganz leicht. Setze einfach vor dem Namen der Datei das hier: #
Ist so ähnlich wie bei den anderen normalen VX Charas, da muss ja ein $ davor. Bei den XP Charas setzt du die # davor.

mfg. eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: Claine am Dezember 17, 2008, 19:32:04
Mal ne Frage. Gibt es ein Skript, mit dem man die Memorize Funktion  des 2K's, also die Funktion, dass die BGM gemerkt wird und dann später wieder aufrufbar ist, wiederbringt?

MFG
Claine
Titel: Re: Hilfe zu Skripten.
Beitrag von: Klex am Dezember 21, 2008, 17:30:43
Moin Leute,
Ich hab da mal ein Problem mit dem Battle Back Skript

#==============================================================================
# ¦ VX-RGSS2-7 Change Battle Background [Ver.1.0.0]     by Claimh
#------------------------------------------------------------------------------
# English Translation By: Elemental Crisis [http://www.rpgcrisis.net]
#------------------------------------------------------------------------------
# Changes the battle background.
#==============================================================================


module BattleBack
  #   Select Battle Background Type
  #   0:Current map with wave effect for battle background (Default VX Style).
  #   1:Current map used as battle background.
  #   2:Uses a picture for battle background.
  BB_TYPE = 2
 
  # Display Battle Floor
  BT_FLOOR = false

  # Picture (Only required if BB_TYPE = 2)
  M_B_BACK = {
    # Map ID => "Picture File Name(Graphics/System)"
    27 => "Beach01",
    36 => "Mine01",
    89 => "sea02",
    91 => "sea02",
    92 => "sea02",
    44 => "Monster01",
    45 => "Kaputteshaus01",
    46 => "Kaputteshaus01",
    47 => "Kaputteshaus01",
    48 => "Kaputteshaus01",
    49 => "Höhle02",
    50 => "Höhle01",
    55 => "Höhle01",
    51 => "Berg"
    100 => "Beach01",
 

  }
end


#==============================================================================
# ¦ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ? Creating Battle Back Sprite
  #--------------------------------------------------------------------------
  def create_battleback
    case BattleBack::BB_TYPE
    when 0
      source = $game_temp.background_bitmap
      bitmap = Bitmap.new(640, 480)
      bitmap.stretch_blt(bitmap.rect, source, source.rect)
      bitmap.radial_blur(90, 12)
      @battleback_sprite = Sprite.new(@viewport1)
      @battleback_sprite.bitmap = bitmap
      @battleback_sprite.ox = 320
      @battleback_sprite.oy = 240
      @battleback_sprite.x = 272
      @battleback_sprite.y = 176
      @battleback_sprite.wave_amp = 8
      @battleback_sprite.wave_length = 240
      @battleback_sprite.wave_speed = 120
    when 1
      source = $game_temp.background_bitmap
      bitmap = Bitmap.new(640, 480)
      bitmap.stretch_blt(bitmap.rect, source, source.rect)
      @battleback_sprite = Sprite.new(@viewport1)
      @battleback_sprite.bitmap = bitmap
      @battleback_sprite.ox = 320
      @battleback_sprite.oy = 240
      @battleback_sprite.x = 272
      @battleback_sprite.y = 176
    when 2
      @battleback_sprite = BattleBackSprite.new(@viewport1)
    end
  end
  #--------------------------------------------------------------------------
  # ? Creating Battle Floor Sprite
  #--------------------------------------------------------------------------
  alias create_battlefloor_mbb create_battlefloor
  def create_battlefloor
    create_battlefloor_mbb if BattleBack::BT_FLOOR
  end
  #--------------------------------------------------------------------------
  # ? Delete Battle Floor Sprite
  #--------------------------------------------------------------------------
  alias dispose_battlefloor_mbb dispose_battlefloor
  def dispose_battlefloor
    dispose_battlefloor_mbb if BattleBack::BT_FLOOR
  end
  #--------------------------------------------------------------------------
  # ? Update Battle Floor Sprite
  #--------------------------------------------------------------------------
  alias update_battlefloor_mbb update_battlefloor
  def update_battlefloor
    update_battlefloor_mbb if BattleBack::BT_FLOOR
  end
end


#==============================================================================
# ¦ BattleBackSprite
#==============================================================================
class BattleBackSprite < Sprite
  # Background Screen Size
  WIDTH  = 544.00  #original = 544
  HEIGHT = 416.00  #original = 416
  #--------------------------------------------------------------------------
  # ? Object Initialization
  #     viewport : viewport
  #--------------------------------------------------------------------------
  def initialize(viewport = nil)
    super(viewport)
    self.bitmap = Cache.system(BattleBack::M_B_BACK[$game_map.map_id])
    # Zoom is carried out according to picture size.
    @x_zoom = WIDTH / self.bitmap.width
    @y_zoom = HEIGHT / self.bitmap.height
    @zoom = @x_zoom > @y_zoom ? @x_zoom : @y_zoom
    # Zoom is carried out.
    self.zoom_x = @zoom
    self.zoom_y = @zoom
    # Made into central display.
    self.ox = self.bitmap.width / 2
    self.oy = self.bitmap.height / 2
    self.x = (self.bitmap.width / 2)  * @zoom
    self.y = (self.bitmap.height / 2) * @zoom
  end
end

Wenn ich jetzt das Spiel starte kommt folgende Fehlermeldung. (siehe angehängtes Bild)
Wenn ich aber die 100 Map aus dem Skript wegnehme läuft wieder alles normal.
Sobald ich aber eine map hinzufüge, die eine 3 Stellige Map ID hat, kackt der Skript ab.
Könnte man das irgendwie ändern? Weil nur 99 Maps zu haben is jetzt nicht so mein Ding.
Vielen dank schon mal im Vorraus.
Grüße Klex



[gelöscht durch Administrator]
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am Dezember 21, 2008, 17:43:45
Also wie ich es sehe, ist in Reihe 37 (Die auf die der Fehler hinweist)
damit belegt, dass schon ein Bild definiert wird. und zwar "Beach 01"

Vllt überschreibst du etwas? oO
Ich hab mir das Skript jetzt nicht so genau angesehen und weiß nicht wie es
funktioniert. Aber in Reihe 37 steht:

100 => "Beach01"

Darum nehme ich an, dass der BGefehl den du geben willst, schon irgendwie mit der 100
verbunden ist, und es einen crash gibt

Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: Klex am Dezember 21, 2008, 17:47:21

Wenn ich überall eine 0 drannhänge
also Bsp. 089 / 023 / 014
kommt auch die gleiche Fehlermeldung
nur statt Zeile 37 diesmal 25

Grüße Klex
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Dezember 23, 2008, 10:55:12
Also hab da ma ne Frage zu Scripten:
Wie kann ichs machen das ich bei Scene_Item Equip und Status bei abbruch nit mehr ins normale menü komme sondern direkt zurück zur Map? wers genau erklärt haben will hier:
http://rpgvx.de/forum.php?topic=2465.0 (http://rpgvx.de/forum.php?topic=2465.0)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Hanmac am Dezember 25, 2008, 20:39:36
hy hab frage:

ich füge neue save methoden hinzu
soll ich das in das Haubt modul
in ein save modul
oder in eine save klasse (als self. methode)

(das sind sachen wie auto und quick save)
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 26, 2008, 14:54:20
Hey Hanmac, nur leider, sagt mir das ganze nichts.
Haupt Modul?
Save Modul?
Save Klasse?

Ich würde dir helfen, nur weiß ich nicht, wo die Unterschiede liegen und obs Vorteile und Nachteile gibt.

mfg. eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: oshi am Dezember 26, 2008, 15:51:15
Hi, ich wollte mal fragen ob man die anzahl der auszrüsten teil ändern kann?

also das man z.B. noch Hosen auswählen kann oder Handschuhe ?

so das jedes item ein eig. slot halt hat.


danke im voraus :)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am Dezember 26, 2008, 15:53:27
Der einfachste weg ist, einen nicht zu brauchenden Eintrag einfach abzuändern.
Wenn man keinen Helm braucht, schreibt man einfach Hose hin, und bringt
die Hosen ins Spiel. Ist ja egal ob in der Database dann Helm steht, im Spiel ist
es eine Hose, weils ja da steht.

Solltest du aber auch keinen Eintrag verzichten wollen, solltest du dich vllt
mal an einen Scripter wenden.

Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Dezember 28, 2008, 16:54:05
@oshi
Es gibt so ein Skript von KGC, ich such es dir mal raus.

http://www.mediafire.com/download.php?jxouo3iebco

Lad dir das runter, das Skript heißt KGC_EquipExtension.

mfg eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: ERZENGEL am Dezember 28, 2008, 22:01:06
@Klex:
kA, ob es noch aktuell ist, aber du hast nach 51 => "Berg" ein Komma vergessen.

@Hanmac:
Was  ist ein "Haubt modul"  und eine self.-Methode wird Klassenmethode genannt.
Zur Frage: Als Module. Klassen werden mit Absicht auf Instanzierung und der Möglichkeit mehrere Klasseninstanzen z.B. mit verschiedenen Werten der Attribute zu haben - ein Modul hingegen nicht. Siehe Modul-Artikel der RubyWiki (http://wiki.ruby-portal.de/Modul).
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am Dezember 29, 2008, 00:01:30
EE OO
Was machst du denn hier?!
Ich seh Geister verdammt xD

Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Dezember 29, 2008, 00:24:21
Ma ne Frage:
Wie muss ich das Window_Base Script so umschreiben, dass ich anstatt den faces von den facesets im Menü die Charaktergrafik hab...
Titel: Re: Hilfe zu Skripten.
Beitrag von: Samael am Dezember 31, 2008, 13:49:34
Hi ich hab mal eben 2 Fragen:

1. Wie genau ändere ich bei dem Good vs. Evil Skript die Gesinnung. (zb. Gut zu Neutral usw...)

2. Giebt es ein Skript oder eine Möglichkeit das Maximum an Leuten, die im Kampf und im Menü in der Gruppe sind, zu erhöhen?

Gruß & Danke im Voraus: Samael

PS: Guten Rutsch
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kisuke Urahara am Januar 04, 2009, 12:21:04
Hi,

also ich hätte da eine Bitte: Ich möchte im Menu einen neuen Eintrag machen (das bring ich, jetzt kommt der Teil den ich nicht bring xD) wo ich einen Held auswählen kann (der Held-ID sollte in einer Var festgehalten werden) und wo der Rest dann über ein Common-Event läuft. D.h. es soll das Common-Event gestartet werden.

Wär schön wenn hier jemand ne Lösung hätte.

mfg Ryu
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kisuke Urahara am Januar 05, 2009, 22:42:17
Hi,

ich hab nun ein problem  mit den Anti-Autoschatten skript: Es funktioniert nicht. Wo, Wie, Wann, Warum  könnt ihr hier (http://rpgvx.de/forum.php?topic=216.msg35847#new) nachlesen.

mfg Ryu

Ryu bitte keine Doppelposts > Forenregeln

~Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: Shinji am Januar 06, 2009, 13:20:52
is doch leicht xD
ich machs dir bis morgen ok?

is jetzt auf deinen ersten post bezogen ne

EDIT
es werden immer die ersten 4 actors aus der db angezeigt.
is egal ob die inner gruppe sind oder nich.
kannst es dir ja mal anschauen.
wenn was anders is als es sein sollte, bitte nich hauen.

http://www.speedshare.org/download.php?id=47FA3C0E3
Titel: Re: Hilfe zu Skripten.
Beitrag von: Samael am Januar 08, 2009, 11:02:22
Hi ich bins mal wieder^^

Ich hab inzwischen so ziemlich jeden Skript angeguckt und keiner macht das was ich suche...
Kennt ihr ein Skript, das entweder es mir erlaubt bis zu in etwa 20 Charaktere in einer Gruppe zu haben, so das sie mir mit dem Hinterherlaufskript folgen, sie im Kampf nutzbar sind und auch im Menü angezeigt Werden (Fill. mit Pfeilen zum Scrollen oder so) und fill. auch im Save Menü.

Oder ein Skript, das mir erlaubt zwischen diesen ca. 20 Gruppenmitglieder nach Finalfantasy Art zu Wechseln?

Hoffe ihr versteht was ich meine, da ich im verlauf meines Games auch Riesenschlachten Machen will, mit gut 20 Soldaten auf der eigenen und auch auf gegnerischer Seite.

Gruß: Samael
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Januar 08, 2009, 14:46:53
Samael, KGC hat dafür extra ein Skript gemacht, damit sie dir hinterger laufen, heißt Catepillar. Und wie das mit den Party Swichten heißt, weiß ich net, aber es gibt eine Demo mit allen Skripten von KGC.
Unzwar hier: http://www.mediafire.com/download.php?jxouo3iebco
Titel: Re: Hilfe zu Skripten.
Beitrag von: Samael am Januar 08, 2009, 16:12:11
Aso verzeihug!!!
Ich hab heutmorgen nur beiläufig durchgeblättert, das muss mir entgangen sein.
Schuldigung nochma!!!

Gruß und großes SRY: Samael
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Januar 08, 2009, 16:31:56
Warum denn verzeihung, du hast schließlich eine berechtigte Frage gestellt.

mfg. eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: Samael am Januar 08, 2009, 16:39:06
Bin fast zufrieden mit dem KGC_LargeParty Skript.
Nur kann mir einer sagen, wie ich das weg bekomme mit dem Gruppewächseln Menü?
Wel da ich nu meine 20 Chars auf einmal nutzen kann brauch ich das net mehr.
Aber das Menü, will ich trozdem nicht im Spiel lassen.
Was muss ich da Löschen?
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Januar 08, 2009, 16:47:22
Wenn du nur das Skript nimmst, müsste so ein Menu auch nicht da sein.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Samael am Januar 08, 2009, 17:26:23
Ich habs raugelöscht und nun startet das game nichtmer... habs dann rückgängig gemacht.
Was muss ich denn genau löschen?
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Januar 08, 2009, 20:30:13
kopier einfach die Skripts die du brauchst rüber in dein gAME, dann sollte es klappen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Samael am Januar 08, 2009, 20:35:19
OK hatt geklappt!!!
Vielen Dank!
Titel: Re: Hilfe zu Skripten.
Beitrag von: ohm1 am Januar 17, 2009, 01:38:01
Hi ich suche das Side battle view Script von Dervulfman kann mir das jemand schicken??
Danke schon mal 

hoffe war nicht im falschen forum :/
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am Januar 17, 2009, 10:42:42
Wenn du es kennst, und sogar weißt, von wem es ist.
Dann Google doch einfach mal danach? oO

Ist jetzt nicht böse gemeint, aber man kann auch mal eine
kleinigkeit selbst machen.

Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: ohm1 am Januar 17, 2009, 17:44:15
Ja Sk!p das habe ich schon gemacht, aber habe ja nix gefunden ...
Titel: Re: Hilfe zu Skripten.
Beitrag von: Duke am Januar 26, 2009, 08:44:59
Morgen allerseits!
Ich hab' da ein kleines Problem mit dem "KGC Battlecount-Script". oô

Da isses schonmal:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/    ?          Battle-Related Counters - KGC_BattleCount2           ? VX ?
#_/    ?                  Last Update: 2008/04/13                           ?
#_/    ?                    Original Version by KGC                         ?
#_/    ?                  Version 2 by Mr. Anonymous                        ?
#_/-----------------------------------------------------------------------------
#_/  This script processes a number of battle-related counters, such as Battle
#_/   Count, Victory Count, Escape Count, and more. Due to the nature of this
#_/   script, it's use is up to the creator.
#_/=============================================================================
#_/                          ? Event Commands ?
#_/  These commands are used in "Script" function in the third page of event
#_/   commands under "Advanced".
#_/
#_/ * reset_battle_count
#_/    Resets the battle counter. 
#_/
#_/ * get_defeat_count(EnemyID, VariableID)
#_/    Retrieves the amount of a specified defeated enemy and stores it in the
#_/     given variable.
#_/
#_/ * get_dead_count(ActorID, VariableID)
#_/    Retrieves the amount of times a specified actor has "died" and stores it
#_/     in the given variable.   
#_/
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_

#==============================================================================#
#                            ? Customization ?                                 #
#==============================================================================#
module KGC
  module BattleCount
   
    # Note: The value to the right of each of these is the in-game variable you
    #  desire to have these counters stored in.
   
    #                       ? Battles Counter ?
    # Retrieves the current battle count and stores it in the given variable.
    BATTLE_COUNT = 16
   
    #                      ? Victories Counter ?
    #   Retrieves the current amount of victories and stores it in the given
    #     variable.
    VICTORY_COUNT = 17
   
    #                       ? Escapes Counter ?
    # Retrieves the amount of escapes and stores it in the given variable.
    ESCAPE_COUNT =18
   
    #                       ? Losses Counter ?
    # Retrieves the amount of loses and stores it in the given variable.
    LOSE_COUNT = 19
   
    #                ? Total Defeated Enemies Counter ?
    # Retrieves the total amount of defeated enemies and stores it in the given
    #  variable.
    TOTAL_DEFEAT_COUNT = 20
   
    #                    ? Total Deaths Counter ?
    # Retrieves the total amount of times the party has died (by member) and
    #  stores it in the given variable.
    TOTAL_DEAD_COUNT = 21   
   
  end
end

#------------------------------------------------------------------------------#

$imported = {} if $imported == nil
$imported["BattleCount"] = false

#==============================================================================#
#                               ? KGC::Commands ?                              #
#==============================================================================#

module KGC
 module Commands
  module_function
  #--------------------------------------------------------------------------
  # ? Reset Battle Count
  #--------------------------------------------------------------------------
  def reset_battle_count
    $game_system.reset_battle_count
  end
  #--------------------------------------------------------------------------
  # ? Aquire Battle Count
  #--------------------------------------------------------------------------
  def get_battle_count=(count)
    $game_variables[KGC::BattleCount::BATTLE_COUNT] = count
    return count
  end
  #--------------------------------------------------------------------------
  # ? Aquire Victory Count
  #--------------------------------------------------------------------------
  def get_victory_count=(count)
    $game_variables[KGC::BattleCount::VICTORY_COUNT] = count 
    return count
  end
  #--------------------------------------------------------------------------
  # ? Aquire Escape Count
  #--------------------------------------------------------------------------
  def get_escape_count=(count)
    $game_variables[KGC::BattleCount::ESCAPE_COUNT] = count
    return count
  end
  #--------------------------------------------------------------------------
  # ? Aquire Lose Count
  #--------------------------------------------------------------------------
  def get_lose_count=(count)
    $game_variables[KGC::BattleCount::LOSE_COUNT] = count
    return count
  end
  #--------------------------------------------------------------------------
  # ? Aquire Specified Defeated Enemy
  #     enemy_id    : Enemy ID
  #     variable_id : Variable ID
  #--------------------------------------------------------------------------
  def get_defeat_count(enemy_id, variable_id = 0)
    count = $game_system.defeat_count(enemy_id)
    $game_variables[variable_id] = count if variable_id > 0
    return count
  end
  #--------------------------------------------------------------------------
  # ? Aquire Total Defeat Count
  #--------------------------------------------------------------------------
  def get_total_defeat_count=(count)
    $game_variables[KGC::BattleCount::TOTAL_DEFEAT_COUNT] = count
    return count
  end
  #--------------------------------------------------------------------------
  # ? Aquire Dead Count
  #     actor_id    : Actor ID
  #     variable_id : Variable ID
  #--------------------------------------------------------------------------
  def get_dead_count(actor_id, variable_id = 0)
    count = $game_system.dead_count(actor_id)
    $game_variables[variable_id] = count if variable_id > 0
    return count
  end
  #--------------------------------------------------------------------------
  # ? Aquire Total Dead Count
  #--------------------------------------------------------------------------
  def get_total_dead_count=(count)
    $game_variables[KGC::BattleCount::TOTAL_DEAD_COUNT] = count
    return count
  end
 end
end

class Game_Interpreter
  include KGC::Commands
end

#==================================End Class===================================#

#==============================================================================
# ¦ Game_System
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # ? Open Global Variables
  #--------------------------------------------------------------------------
  attr_writer   :defeat_count             # Defeat Count
  attr_writer   :dead_count               # Dead Count
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  alias initialize_KGC_BattleCount initialize
  def initialize
    initialize_KGC_BattleCount

    reset_battle_count
  end
  #--------------------------------------------------------------------------
  # ? Reset
  #--------------------------------------------------------------------------
  def reset_battle_count
    battle_count  = 0
    victory_count = 0
    escape_count  = 0
    lose_count    = 0
    @defeat_count = []
    @dead_count   = []
  end
  #--------------------------------------------------------------------------
  # ? Reset Battle Count
  #--------------------------------------------------------------------------
  def battle_count
    reset_battle_count if $game_variables[KGC::BattleCount::BATTLE_COUNT] == nil
    return $game_variables[KGC::BattleCount::BATTLE_COUNT]
  end
  #--------------------------------------------------------------------------
  # ? Reset Victory Count
  #--------------------------------------------------------------------------
  def victory_count
    reset_battle_count if $game_variables[KGC::BattleCount::VICTORY_COUNT] == nil
    return $game_variables[KGC::BattleCount::VICTORY_COUNT]
  end
  #--------------------------------------------------------------------------
  # ? Reset Escape Count
  #--------------------------------------------------------------------------
  def escape_count
    reset_battle_count if $game_variables[KGC::BattleCount::ESCAPE_COUNT] == nil
    return $game_variables[KGC::BattleCount::ESCAPE_COUNT]
  end
  #--------------------------------------------------------------------------
  # ? Reset Lose Count
  #--------------------------------------------------------------------------
  def lose_count
    reset_battle_count if $game_variables[KGC::BattleCount::LOSE_COUNT] == nil
    return $game_variables[KGC::BattleCount::LOSE_COUNT]
  end
  #--------------------------------------------------------------------------
  # ? Reset Defeat Count
  #     enemy_id : Enemy ID
  #--------------------------------------------------------------------------
  def defeat_count(enemy_id)
    reset_battle_count if @defeat_count == nil
    @defeat_count[enemy_id] = 0 if @defeat_count[enemy_id] == nil
    return @defeat_count[enemy_id]
  end
  #--------------------------------------------------------------------------
  # ? Add defeat Count
  #     enemy_id : Enemy ID
  #--------------------------------------------------------------------------
  def add_defeat_count(enemy_id)
    reset_battle_count if @defeat_count == nil
    @defeat_count[enemy_id] = 0 if @defeat_count[enemy_id] == nil
    @defeat_count[enemy_id] += 1
    $game_variables[KGC::BattleCount::TOTAL_DEFEAT_COUNT] = @defeat_count[-1]
  end
  #--------------------------------------------------------------------------
  # ? Calculate Total Defeat Count
  #--------------------------------------------------------------------------
  def total_defeat_count
    n = 0
    for i in 1...$data_enemies.size
      n += defeat_count(i)
    end
    return n
  end
  #--------------------------------------------------------------------------
  # ? Reset Dead Count
  #     actor_id : Actor ID
  #--------------------------------------------------------------------------
  def dead_count(actor_id)
    reset_battle_count if @dead_count == nil
    @dead_count[actor_id] = 0 if @dead_count[actor_id] == nil
    return @dead_count[actor_id]
  end
  #--------------------------------------------------------------------------
  # ? Add Dead Count
  #     actor_id : Actor ID
  #--------------------------------------------------------------------------
  def add_dead_count(actor_id)
    reset_battle_count if @dead_count == nil
    @dead_count[actor_id] = 0 if @dead_count[actor_id] == nil
    @dead_count[actor_id] += 1
    $game_variables[KGC::BattleCount::TOTAL_DEAD_COUNT] = @dead_count[-1]
  end
  #--------------------------------------------------------------------------
  # ? Calculate Total Dead Count
  #--------------------------------------------------------------------------
  def total_dead_count
    n = 0
    for i in 1...$data_actors.size
      n += dead_count(i)
    end
    return n
  end
end

#==================================End Class===================================#

#==============================================================================
# ¦ Scene_Battle
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # ? Add Battle Count
  #--------------------------------------------------------------------------
  alias post_start_KGC_BattleCount post_start
  def post_start
    $game_variables[KGC::BattleCount::BATTLE_COUNT] += 1
    post_start_KGC_BattleCount
  end
  #--------------------------------------------------------------------------
  # ? Define Battle Count
  #--------------------------------------------------------------------------
  def battle_count
    return $game_variables[KGC::BattleCount::BATTLE_COUNT]
  end
  #--------------------------------------------------------------------------
  # ? Battle End
  #     result : Battle Result (0:Victory 1:Escape 2:Lose)
  #--------------------------------------------------------------------------
  alias battle_end_KGC_BattleCount battle_end
  def battle_end(result)
    #unless @battle_count_added
      case result
      when 0  # Victory
        $game_variables[KGC::BattleCount::VICTORY_COUNT] += 1
      when 1  # Escape
        $game_variables[KGC::BattleCount::ESCAPE_COUNT]  += 1
      when 2  # Lose
        $game_variables[KGC::BattleCount::LOSE_COUNT]    += 1
      end
      # Add Dead Enemy
      $game_troop.dead_members.each { |enemy|
        $game_system.add_defeat_count(enemy.enemy.id)
      }
      #@battle_count_added = true
     #end
    battle_end_KGC_BattleCount(result)
  end
  #--------------------------------------------------------------------------
  # ? Execute Action
  #--------------------------------------------------------------------------
  alias execute_action_KGC_BattleCount execute_action
  def execute_action
    last_exist_actors = $game_party.existing_members

    execute_action_KGC_BattleCount

    # Add Dead Actor
    dead_actors = last_exist_actors - $game_party.existing_members
    dead_actors.each { |actor|
      $game_system.add_dead_count(actor.id)
    }
  end
end

#==================================End Class===================================#
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/  The original untranslated version of this script can be found here:
# http://f44.aaa.livedoor.jp/~ytomy/tkool/rpgtech/php/tech.php?tool=VX&cat=tech_vx/base_function&tech=battle_count
#_/=============================================================================
#_/  Version2 brought to you by Mr. Anonymous.
# http://mraprojects.wordpress.com
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_

Das Script schleicht sich immer in mein Menü... X_x
(Damit ärgere ich mich im Moment sowieso genug rum >_>")

Aber zu meiner eigentlichen Frage:
Kann mir jemand verraten, wie ich das Script "abschalte"?
Ich würde es gerne nur per Event wieder "anschalten" können.^^

Falls sich jemand berufen sieht, sich das mal anzusehen,
wäre ich auf jeden Fall sehr dankbar!

MfG,
Duke
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Januar 26, 2009, 15:51:42
Also meiner Meinung nach würde es gehn wenn man das komplette Script in einen Switch schaltet, den Man ingame an und ausschalten kann per event...
Bin jetz kein Profiscripter und weiß auch nit obs so möglich is... aber ich würds so machen :
Das komplette Script einfach mit
If $game_switches[1] = true
script blablabla
end
einschließen ..
Titel: Re: Hilfe zu Skripten.
Beitrag von: Crysis am Januar 27, 2009, 16:48:29
Hallo allerseits,

Also ich habe eine Frage zum "Actor Profile Information"-Script. Dieses Skript dient dazu, dass wenn man im Status-Menü eines Charakters
"Enter" drücken kann und dann in ein Menü mit zusätzlichen Informationen über den Actor kommt.

Actor Profile Information-Script:
#===============================================================
# ?         Actor Profile Information - CC_ExtendedActorInfo            ? VX ?
# ?                     Version 1.0.0 by Claimh                              ?
# ?                   Translation by Mr. Anonymous                           ?
#------------------------------------------------------------------------------
#  This script adds a character profile screen for extended actor information.
#   This screen is called from the status screen by pressing the "C" button
#   (by default). This information displayed on this screen is customized in
#   this script itself below (in the Customization block).
#==============================================================================
module Chara_Review
#==============================================================================#
#                             ? Customization ?                                #
#==============================================================================#
  # If you have more than 8 actors in your game, you may add additional lines
  #  to each of these fields.
#----------------------------------------------------------------------------
#   Call Screen Input Key
#----------------------------------------------------------------------------
  # This allows you to change the button/key pressed to call the extended
  #  actor information screen from the status screen. (Default: C)
  CHENGE_KEY = Input::C
  #--------------------------------------------------------------------------
  # ? Customize Age
  #--------------------------------------------------------------------------
  CHARA_AGE = {
   # Age is the first field to the right of the profile image.
   # ActorID => "Age"
     5 => "20",
     6 => "22",
     7 => "24",
     8 => "16"
  }
  #--------------------------------------------------------------------------
  # ? Customize Actor's Origin
  #--------------------------------------------------------------------------
  CHARA_FROM = {
   # "From" or Origin is the second field to the right of the profile image.
   # ActorID => "Place"
     5 => "Rei",
     6 => "Tsuin",
     7 => "Tsuin",
     8 => "Kouin"
  }
  #--------------------------------------------------------------------------
  # ? Customize Height
  #--------------------------------------------------------------------------
  CHARA_H = {
   # Height is the third field to the right of the profile image.
   # ActorID => "Height"
     5 => "5 Feet 8 Inches",
     6 => "4 Feet 9 Inches",
     7 => "5 Feet 1 Inch",
     8 => "5 Feet 4 Inches"
  }
  #--------------------------------------------------------------------------
  # ? Customize Weight
  #--------------------------------------------------------------------------
  CHARA_W = {
   # Weight is the fourth field to the right of the profile image.
   # ActorID => "Weight"
     5 => "125 Pounds",
     6 => "87 Pounds",
     7 => "93 Pounds",
     8 => "96 Pounds"
  }
  #--------------------------------------------------------------------------
  # ? Customize Profile Information
  #--------------------------------------------------------------------------
  CHARA_INFO = {
    # Profile Information is displayed beneath the actor's graphic file.
    # ActorID => "Information Text"
    5 => "Ryoku, is a brave strong warrior who always needs to save Kione. He is
    a man with great holy powers. In time portals he gets his Jikoku Sword with slots
    for the Jikoku Crystals to fit into. All the girls love Ryoku, for no real reason.",
    6 => "No one knows much about him, but he knows alot about them. Because
    of his weight and size he is able to move swiftly, but is also deadly with his
    hands. He seems to have a connection with Munaca, only talking to and helping her.",
    7 => "Munaca, is a some what shy girl with wind powers. She seems to know
    the mystery guy, she is confused about him and wants to know what goes on in
    his head. Her wind powers also get stronger when the people are in danger.",
    8 => "Kione, is a girl with the ability to manipulate water, she also loves
    the mystery guy who doesn`t even care about her. She is able to heal people,
    but isn`t very strong. She always near the mystery guy... Why does she bother."
  }
  #--------------------------------------------------------------------------
  # ? Customize Face/Profile Image
  #--------------------------------------------------------------------------
  # Image Type Toggle
  #  This toggle allows to use either the default Face graphic that is set up
  #   in the Actor tab in the database, or a custom image of your choosing.
  #  true = Custom images are used.
  #  false = The actor's face graphic is used.
  BSTUP = false
  # Custom Profile Graphics ("Graphics/Face" directory)(If BSTUP = true)
  BSTUP_FILE = {
    # ActorID => "Profile Image" (Without image format extension)
    #  You may also add more images for actors after the fourth line, if needed.
    5 => "actor1",
    6 => "actor1",
    7 => "actor1",
    8 => "actor1"
  }

#----------------------------------------------------------------------------
#   END Customization
#----------------------------------------------------------------------------
end
#==============================================================================
# ? Window_Charactor
#------------------------------------------------------------------------------
# ? Define Window
#==============================================================================
class Window_Charactor < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize Profile Window
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 544, 416)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(actor)
  end
  #--------------------------------------------------------------------------
  # ? Determine BSTUP Type
  #--------------------------------------------------------------------------
  def refresh(actor)
    self.contents.clear
    return if actor.nil?
    if Chara_Review::BSTUP
      refresh_bstup(actor)  # If BSTUP = true
    else
      refresh_face(actor)   # If BSTUP = false
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (BSTUP)
  #--------------------------------------------------------------------------
  def refresh_bstup(actor)
    draw_face_picture(Chara_Review::BSTUP_FILE[actor.id], 0, 0)
    self.contents.font.color = system_color
    self.contents.draw_text(280, 30, 80, WLH, "Name:")
    self.contents.draw_text(280, 60, 80, WLH, "Age:")
    self.contents.draw_text(280, 90, 80, WLH, "From:")
    self.contents.draw_text(280, 120, 80, WLH, "Height:")
    self.contents.draw_text(280, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 380,  30)
    self.contents.draw_text(380, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(380, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(380, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(380, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 300, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (FACE)
  #--------------------------------------------------------------------------
  def refresh_face(actor)
    draw_actor_face(actor, 8, 32)
    self.contents.font.color = system_color
    self.contents.draw_text(200, 30, 80, WLH, "")
    self.contents.draw_text(200, 60, 80, WLH, "Age:")
    self.contents.draw_text(200, 90, 80, WLH, "From:")
    self.contents.draw_text(200, 120, 80, WLH, "Height:")
    self.contents.draw_text(200, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 300,  30)
    self.contents.draw_text(300, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(300, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(300, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(300, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 200, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
end

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? Draw Entered Text
  #--------------------------------------------------------------------------
  def draw_enter_text(x, y, width, height, text)
    info_box = text.split(/\n/)
    for i in 0...info_box.size
      self.contents.draw_text( x, y+i*WLH, width, WLH, info_box)
      break if (y+i*WLH) > (self.height-WLH)
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Face Graphic(Graphics/Face)
  #--------------------------------------------------------------------------
  def draw_face_picture(file_name, x, y)
    bitmap = Cache.face(file_name)
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x, y, bitmap, src_rect)
  end
end


#==============================================================================
# ? Scene_Charactor
#------------------------------------------------------------------------------
# ? Define Methods
#==============================================================================
class Scene_Charactor < Scene_Base
  #--------------------------------------------------------------------------
  # ? Initialize Actor
  #     actor_index : Actor ID
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0)
    @actor_index = actor_index
  end
  #--------------------------------------------------------------------------
  # ? Create Menu Background
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    @actor = $game_party.members[@actor_index]
    @status_window = Window_Charactor.new(@actor)
  end
  #--------------------------------------------------------------------------
  # ? Dispose Status Window
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? Return Scene
  #--------------------------------------------------------------------------
  def return_scene
    $scene = Scene_Status.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Next Actor
  #--------------------------------------------------------------------------
  def next_actor
    @actor_index += 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Previous Actor
  #--------------------------------------------------------------------------
  def prev_actor
    @actor_index += $game_party.members.size - 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Actor Profile Screne Inputs
  #--------------------------------------------------------------------------
  def update
    update_menu_background
    @status_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    end
    super
  end
end


#==============================================================================
# ? Scene_Status
#==============================================================================
class Scene_Status
  #--------------------------------------------------------------------------
  # ? Update Actor
  #--------------------------------------------------------------------------
  alias update_chara update
  def update
    if Input.trigger?(Chara_Review::CHENGE_KEY)
      Sound.play_decision
      $scene = Scene_Charactor.new(@actor_index)
    end
    update_chara
  end
end

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/  The original untranslated version of this script can be found here:
#http://www4.plala.or.jp/findias/codecrush/material/rgss2/menu/1-menu_chara/menu_char_top.htmll
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_


Also wie man sieht kann man hier bestimmte Informationen über die Actor eingeben, wie zum Beispiel Herkunft, Alter usw.
Ich wollte in mein Spiel einfügen, dass die Werte wie zum Beispiel "Alter" in einer game_variable gespeichert werden und dass
man diese dann im Spiel über Änderung einer Variable im Spiel verändern kann. Also wenn ich zum Beispiel Variable "alter1" im
Spiel auf 20 setze wird es in dem Menü dann das Alter auch als 20 angezeigt.

Das Skript scheint nicht sehr kompliziert zu sein, aber da ich selbst nicht wirklicht gut Skripten kann, würde ich mich echt freuen,
wenn mir da jemand eine Lösung finden könnte.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Shinji am Januar 27, 2009, 20:53:10
self.contents.draw_text(300, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])

daraus machste

self.contents.draw_text(300, 60, 80, WLH, $game_variables[deinevariablennummer])
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Januar 27, 2009, 22:14:47
Hab dann auch mal wieder ne Frage...
Also ich hab es nun geschafft per Script ne Message anzeigen zu lassen... nur wie geht das mit dem Zeilenumbruch... weil bei mir zeigt sich dann iwie immer son quadrat Oo
Titel: Re: Hilfe zu Skripten.
Beitrag von: Shinji am Januar 27, 2009, 22:26:53
\n
Titel: Re: Hilfe zu Skripten.
Beitrag von: Crysis am Januar 27, 2009, 23:26:48
erst einmal danke shinji, dass du vesucht hast zu helfen, aber mit deiner lösung hat es leider nicht richtig geklappt.  Nehmen wir mal als beispiel ich habe zwei actor. Ich speichere das alter der helden als variablen alter1 und alter2. Dann vergeht im spiel 1 monat und einer der helden wird 1 jahr älter und ich addiere 1 zur variable alter1. Das selbe mache ich mit dem zweiten helden und der variablen alter2 nach noch einem monat vergangener zeit. So jetzt möchte ich, dass sich die verschiedenen alterswerte der helden im zusätzlichen menü des skriptes auch verändert und nicht gleichbleibt. Bei Shinjis lösung konnte ich zwar das alter im menü über die variable verändern, aber jeder actor hatte das selbe alter und ich hätte halt gerne gehabt, dass das alter von jedem actor in einer unterschiedlichen variable gespeichert wird und das wenn ich dann die variable eines actors verändere ändert sich im menü nur das alter eines actors. Das skript habe ich in meinem letzten post gepostet. Ich hoffe shinji oder sonst jemand kann bei diesem problem helfen.           

EDIT:
Hier das Skript ohne Smileys:

#===============================================================
# ?         Actor Profile Information - CC_ExtendedActorInfo            ? VX ?
# ?                     Version 1.0.0 by Claimh                              ?
# ?                   Translation by Mr. Anonymous                           ?
#------------------------------------------------------------------------------
#  This script adds a character profile screen for extended actor information.
#   This screen is called from the status screen by pressing the "C" button
#   (by default). This information displayed on this screen is customized in
#   this script itself below (in the Customization block).
#==============================================================================
module Chara_Review
#==============================================================================#
#                             ? Customization ?                                #
#==============================================================================#
  # If you have more than 8 actors in your game, you may add additional lines
  #  to each of these fields.
#----------------------------------------------------------------------------
#   Call Screen Input Key
#----------------------------------------------------------------------------
  # This allows you to change the button/key pressed to call the extended
  #  actor information screen from the status screen. (Default: C)
  CHENGE_KEY = Input::C
  #--------------------------------------------------------------------------
  # ? Customize Age
  #--------------------------------------------------------------------------
  CHARA_AGE = {
   # Age is the first field to the right of the profile image.
   # ActorID => "Age"
     5 => "20",
     6 => "22",
     7 => "24",
     8 => "16"
  }
  #--------------------------------------------------------------------------
  # ? Customize Actor's Origin
  #--------------------------------------------------------------------------
  CHARA_FROM = {
   # "From" or Origin is the second field to the right of the profile image.
   # ActorID => "Place"
     5 => "Rei",
     6 => "Tsuin",
     7 => "Tsuin",
     8 => "Kouin"
  }
  #--------------------------------------------------------------------------
  # ? Customize Height
  #--------------------------------------------------------------------------
  CHARA_H = {
   # Height is the third field to the right of the profile image.
   # ActorID => "Height"
     5 => "5 Feet 8 Inches",
     6 => "4 Feet 9 Inches",
     7 => "5 Feet 1 Inch",
     8 => "5 Feet 4 Inches"
  }
  #--------------------------------------------------------------------------
  # ? Customize Weight
  #--------------------------------------------------------------------------
  CHARA_W = {
   # Weight is the fourth field to the right of the profile image.
   # ActorID => "Weight"
     5 => "125 Pounds",
     6 => "87 Pounds",
     7 => "93 Pounds",
     8 => "96 Pounds"
  }
  #--------------------------------------------------------------------------
  # ? Customize Profile Information
  #--------------------------------------------------------------------------
  CHARA_INFO = {
    # Profile Information is displayed beneath the actor's graphic file.
    # ActorID => "Information Text"
    5 => "Ryoku, is a brave strong warrior who always needs to save Kione. He is
    a man with great holy powers. In time portals he gets his Jikoku Sword with slots
    for the Jikoku Crystals to fit into. All the girls love Ryoku, for no real reason.",
    6 => "No one knows much about him, but he knows alot about them. Because
    of his weight and size he is able to move swiftly, but is also deadly with his
    hands. He seems to have a connection with Munaca, only talking to and helping her.",
    7 => "Munaca, is a some what shy girl with wind powers. She seems to know
    the mystery guy, she is confused about him and wants to know what goes on in
    his head. Her wind powers also get stronger when the people are in danger.",
    8 => "Kione, is a girl with the ability to manipulate water, she also loves
    the mystery guy who doesn`t even care about her. She is able to heal people,
    but isn`t very strong. She always near the mystery guy... Why does she bother."
  }
  #--------------------------------------------------------------------------
  # ? Customize Face/Profile Image
  #--------------------------------------------------------------------------
  # Image Type Toggle
  #  This toggle allows to use either the default Face graphic that is set up
  #   in the Actor tab in the database, or a custom image of your choosing.
  #  true = Custom images are used.
  #  false = The actor's face graphic is used.
  BSTUP = false
  # Custom Profile Graphics ("Graphics/Face" directory)(If BSTUP = true)
  BSTUP_FILE = {
    # ActorID => "Profile Image" (Without image format extension)
    #  You may also add more images for actors after the fourth line, if needed.
    5 => "actor1",
    6 => "actor1",
    7 => "actor1",
    8 => "actor1"
  }

#----------------------------------------------------------------------------
#   END Customization
#----------------------------------------------------------------------------
end
#==============================================================================
# ? Window_Charactor
#------------------------------------------------------------------------------
#==============================================================================
class Window_Charactor < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize Profile Window
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 544, 416)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(actor)
  end
  #--------------------------------------------------------------------------
  # ? Determine BSTUP Type
  #--------------------------------------------------------------------------
  def refresh(actor)
    self.contents.clear
    return if actor.nil?
    if Chara_Review::BSTUP
      refresh_bstup(actor)  # If BSTUP = true
    else
      refresh_face(actor)   # If BSTUP = false
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (BSTUP)
  #--------------------------------------------------------------------------
  def refresh_bstup(actor)
    draw_face_picture(Chara_Review::BSTUP_FILE[actor.id], 0, 0)
    self.contents.font.color = system_color
    self.contents.draw_text(280, 30, 80, WLH, "Name:")
    self.contents.draw_text(280, 60, 80, WLH, "Age:")
    self.contents.draw_text(280, 90, 80, WLH, "From:")
    self.contents.draw_text(280, 120, 80, WLH, "Height:")
    self.contents.draw_text(280, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 380,  30)
    self.contents.draw_text(380, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(380, 90, 180, WLH,Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(380, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(380, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 300, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (FACE)
  #--------------------------------------------------------------------------
  def refresh_face(actor)
    draw_actor_face(actor, 8, 32)
    self.contents.font.color = system_color
    self.contents.draw_text(200, 30, 80, WLH,"Name:")
    self.contents.draw_text(200, 60, 80, WLH, "Age:")
    self.contents.draw_text(200, 90, 80, WLH, "From:")
    self.contents.draw_text(200, 120, 80, WLH, "Height:")
    self.contents.draw_text(200, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 300,  30)
    self.contents.draw_text(300, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(300, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(300, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(300, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 200, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
  end
class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? Draw Entered Text
  #--------------------------------------------------------------------------
    def draw_enter_text(x, y, width, height, text)
    info_box = text.split(/\n/)
    for i in 0...info_box.size
      self.contents.draw_text( x, y+i*WLH, width, WLH, info_box)
      break if (y+i*WLH) > (self.height-WLH)
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Face Graphic(Graphics/Face)
  #--------------------------------------------------------------------------
  def draw_face_picture(file_name, x, y)
    bitmap = Cache.face(file_name)
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x, y, bitmap, src_rect)
  end
end


#==============================================================================
# ? Scene_Charactor
#------------------------------------------------------------------------------
# ? Define Methods
#==============================================================================
class Scene_Charactor < Scene_Base
  #--------------------------------------------------------------------------
  # ? Initialize Actor
  #     actor_index : Actor ID
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0)
    @actor_index = actor_index
  end
  #--------------------------------------------------------------------------
  # ? Create Menu Background
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    @actor = $game_party.members[@actor_index]
    @status_window = Window_Charactor.new(@actor)
  end
  #--------------------------------------------------------------------------
  # ? Dispose Status Window
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? Return Scene
  #--------------------------------------------------------------------------
  def return_scene
    $scene = Scene_Status.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Next Actor
  #--------------------------------------------------------------------------
  def next_actor
    @actor_index += 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Previous Actor
  #--------------------------------------------------------------------------
  def prev_actor
    @actor_index += $game_party.members.size - 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Actor Profile Screne Inputs
  #--------------------------------------------------------------------------
  def update
    update_menu_background
    @status_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    end
    super
  end
end


#==============================================================================
# ? Scene_Status
#==============================================================================
class Scene_Status
  #--------------------------------------------------------------------------
  # ? Update Actor
  #--------------------------------------------------------------------------
  alias update_chara update
  def update
    if Input.trigger?(Chara_Review::CHENGE_KEY)
      Sound.play_decision
      $scene = Scene_Charactor.new(@actor_index)
      end
    update_chara
  end
end

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/  The original untranslated version of this script can be found here:
#http://www4.plala.or.jp/findias/codecrush/material/rgss2/menu/1-menu_chara/menu_char_top.htmll
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
Titel: Re: Hilfe zu Skripten.
Beitrag von: Shinji am Januar 28, 2009, 14:37:39
dann mach bitte die smilies aus, die zerfetzen das ganze script^^

edit: so hier...
musst jetzt halt das alter manuell immer anpassen und jeder actor ist zu beginn 0 jahre alt.
benutz dafür folgende callscripts:
$game_actors[5].age = 20 # actor 5 ist nun 20 jahre alt
$game_actors[5].age += 20 # actor 5 ist nun 40 jahre alt
$game_actors[5].age - = 10 # actor 5 ist nun 30 jahre alt
$game_actors[5].age /= 2 # actor 5 ist nun 15 jahre alt
$game_actors[5].age *= 4 # actor 5 ist nun 60 jahre alt
etc.

#===============================================================
# ?         Actor Profile Information - CC_ExtendedActorInfo            ? VX ?
# ?                     Version 1.0.0 by Claimh                              ?
# ?                   Translation by Mr. Anonymous                           ?
#------------------------------------------------------------------------------
#  This script adds a character profile screen for extended actor information.
#   This screen is called from the status screen by pressing the "C" button
#   (by default). This information displayed on this screen is customized in
#   this script itself below (in the Customization block).
#==============================================================================
module Chara_Review
#==============================================================================#
#                             ? Customization ?                                #
#==============================================================================#
  # If you have more than 8 actors in your game, you may add additional lines
  #  to each of these fields.
#----------------------------------------------------------------------------
#   Call Screen Input Key
#----------------------------------------------------------------------------
  # This allows you to change the button/key pressed to call the extended
  #  actor information screen from the status screen. (Default: C)
  CHENGE_KEY = Input::C
  #--------------------------------------------------------------------------
  # ? Customize Age
  #--------------------------------------------------------------------------
  CHARA_AGE = {
   # Age is the first field to the right of the profile image.
   # ActorID => "Age"
     5 => "20",
     6 => "22",
     7 => "24",
     8 => "16"
  }
  #--------------------------------------------------------------------------
  # ? Customize Actor's Origin
  #--------------------------------------------------------------------------
  CHARA_FROM = {
   # "From" or Origin is the second field to the right of the profile image.
   # ActorID => "Place"
     5 => "Rei",
     6 => "Tsuin",
     7 => "Tsuin",
     8 => "Kouin"
  }
  #--------------------------------------------------------------------------
  # ? Customize Height
  #--------------------------------------------------------------------------
  CHARA_H = {
   # Height is the third field to the right of the profile image.
   # ActorID => "Height"
     5 => "5 Feet 8 Inches",
     6 => "4 Feet 9 Inches",
     7 => "5 Feet 1 Inch",
     8 => "5 Feet 4 Inches"
  }
  #--------------------------------------------------------------------------
  # ? Customize Weight
  #--------------------------------------------------------------------------
  CHARA_W = {
   # Weight is the fourth field to the right of the profile image.
   # ActorID => "Weight"
     5 => "125 Pounds",
     6 => "87 Pounds",
     7 => "93 Pounds",
     8 => "96 Pounds"
  }
  #--------------------------------------------------------------------------
  # ? Customize Profile Information
  #--------------------------------------------------------------------------
  CHARA_INFO = {
    # Profile Information is displayed beneath the actor's graphic file.
    # ActorID => "Information Text"
    5 => "Ryoku, is a brave strong warrior who always needs to save Kione. He is
    a man with great holy powers. In time portals he gets his Jikoku Sword with slots
    for the Jikoku Crystals to fit into. All the girls love Ryoku, for no real reason.",
    6 => "No one knows much about him, but he knows alot about them. Because
    of his weight and size he is able to move swiftly, but is also deadly with his
    hands. He seems to have a connection with Munaca, only talking to and helping her.",
    7 => "Munaca, is a some what shy girl with wind powers. She seems to know
    the mystery guy, she is confused about him and wants to know what goes on in
    his head. Her wind powers also get stronger when the people are in danger.",
    8 => "Kione, is a girl with the ability to manipulate water, she also loves
    the mystery guy who doesn`t even care about her. She is able to heal people,
    but isn`t very strong. She always near the mystery guy... Why does she bother."
  }
  #--------------------------------------------------------------------------
  # ? Customize Face/Profile Image
  #--------------------------------------------------------------------------
  # Image Type Toggle
  #  This toggle allows to use either the default Face graphic that is set up
  #   in the Actor tab in the database, or a custom image of your choosing.
  #  true = Custom images are used.
  #  false = The actor's face graphic is used.
  BSTUP = false
  # Custom Profile Graphics ("Graphics/Face" directory)(If BSTUP = true)
  BSTUP_FILE = {
    # ActorID => "Profile Image" (Without image format extension)
    #  You may also add more images for actors after the fourth line, if needed.
    5 => "actor1",
    6 => "actor1",
    7 => "actor1",
    8 => "actor1"
  }

#----------------------------------------------------------------------------
#   END Customization
#----------------------------------------------------------------------------
end
#==============================================================================
# ? Window_Charactor
#------------------------------------------------------------------------------
#==============================================================================
class Window_Charactor < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize Profile Window
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 544, 416)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(actor)
  end
  #--------------------------------------------------------------------------
  # ? Determine BSTUP Type
  #--------------------------------------------------------------------------
  def refresh(actor)
    self.contents.clear
    return if actor.nil?
    if Chara_Review::BSTUP
      refresh_bstup(actor)  # If BSTUP = true
    else
      refresh_face(actor)   # If BSTUP = false
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (BSTUP)
  #--------------------------------------------------------------------------
  def refresh_bstup(actor)
    draw_face_picture(Chara_Review::BSTUP_FILE[actor.id], 0, 0)
    self.contents.font.color = system_color
    self.contents.draw_text(280, 30, 80, WLH, "Name:")
    self.contents.draw_text(280, 60, 80, WLH, "Age:")
    self.contents.draw_text(280, 90, 80, WLH, "From:")
    self.contents.draw_text(280, 120, 80, WLH, "Height:")
    self.contents.draw_text(280, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 380,  30)
    self.contents.draw_text(380, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(380, 90, 180, WLH,Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(380, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(380, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 300, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (FACE)
  #--------------------------------------------------------------------------
  def refresh_face(actor)
    if num = 1
    draw_actor_face(actor, 8, 32)
    self.contents.font.color = system_color
    self.contents.draw_text(200, 30, 80, WLH,"Name:")
    self.contents.draw_text(200, 60, 80, WLH, "Age:")
    self.contents.draw_text(200, 90, 80, WLH, "From:")
    self.contents.draw_text(200, 120, 80, WLH, "Height:")
    self.contents.draw_text(200, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 300,  30)
    draw_actor_age(actor,300,60)
    self.contents.draw_text(300, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(300, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(300, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 200, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
  end
  end
class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? Draw Entered Text
  #--------------------------------------------------------------------------
    def draw_enter_text(x, y, width, height, text)
    info_box = text.split(/\n/)
    for i in 0...info_box.size
      self.contents.draw_text( x, y+i*WLH, width, WLH, info_box)
      break if (y+i*WLH) > (self.height-WLH)
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Face Graphic(Graphics/Face)
  #--------------------------------------------------------------------------
  def draw_face_picture(file_name, x, y)
    bitmap = Cache.face(file_name)
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x, y, bitmap, src_rect)
  end
 
  def draw_actor_age(actor, x, y)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 108, WLH, actor.age)
  end
end

#==============================================================================
# ? Scene_Charactor
#------------------------------------------------------------------------------
# ? Define Methods
#==============================================================================
class Scene_Charactor < Scene_Base
  #--------------------------------------------------------------------------
  # ? Initialize Actor
  #     actor_index : Actor ID
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0)
    @actor_index = actor_index
  end
  #--------------------------------------------------------------------------
  # ? Create Menu Background
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    @actor = $game_party.members[@actor_index]
    @status_window = Window_Charactor.new(@actor)
  end
  #--------------------------------------------------------------------------
  # ? Dispose Status Window
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? Return Scene
  #--------------------------------------------------------------------------
  def return_scene
    $scene = Scene_Status.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Next Actor
  #--------------------------------------------------------------------------
  def next_actor
    @actor_index += 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Previous Actor
  #--------------------------------------------------------------------------
  def prev_actor
    @actor_index += $game_party.members.size - 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Actor Profile Screne Inputs
  #--------------------------------------------------------------------------
  def update
    update_menu_background
    @status_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    end
    super
  end
end

# edit by shinji
class Game_Actor < Game_Battler
  attr_accessor :age
  #--------------------------------------------------------------------------
  # * Setup
  #     actor_id : actor ID
  #--------------------------------------------------------------------------
  def setup(actor_id)
    actor = $data_actors[actor_id]
    @actor_id = actor_id
    @name = actor.name
    @age = 0
    @character_name = actor.character_name
    @character_index = actor.character_index
    @face_name = actor.face_name
    @face_index = actor.face_index
    @class_id = actor.class_id
    @weapon_id = actor.weapon_id
    @armor1_id = actor.armor1_id
    @armor2_id = actor.armor2_id
    @armor3_id = actor.armor3_id
    @armor4_id = actor.armor4_id
    @level = actor.initial_level
    @exp_list = Array.new(101)
    make_exp_list
    @exp = @exp_list[@level]
    @skills = []
    for i in self.class.learnings
      learn_skill(i.skill_id) if i.level <= @level
    end
    clear_extra_values
    recover_all
  end
 
  def age
     return @age
   end
end
#==============================================================================
# ? Scene_Status
#==============================================================================
class Scene_Status
  #--------------------------------------------------------------------------
  # ? Update Actor
  #--------------------------------------------------------------------------
  alias update_chara update
  def update
    if Input.trigger?(Chara_Review::CHENGE_KEY)
      Sound.play_decision
      $scene = Scene_Charactor.new(@actor_index)
      end
    update_chara
  end
end

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/  The original untranslated version of this script can be found here:
#http://www4.plala.or.jp/findias/codecrush/material/rgss2/menu/1-menu_chara/menu_char_top.htmll
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
Titel: Re: Hilfe zu Skripten.
Beitrag von: Crysis am Januar 29, 2009, 14:47:19
Hallo, ich bins mal wieder,
Also ich  wollte mal fragen ob es ein Skript gibt, oder überhaupt eine Möglichkeit das Fenster im Kampf zu höher machen, wo alle Actor mit HP und MP angezeigt werden. Ich benutze nämlich mit dem "Large Party"-Skript 5 Actor kann in dem Kampfmenü die Anzeige des 5. Actors nicht sehen.

Für alle die es nicht so richtig verstanden haben hab ich noch einen Screenshot gemacht und das Fenster was ich gerne höher machen will rot markiert:
http://img502.imageshack.us/my.php?image=kampfot2.jpg

Hoffe das jemand eine Lösung dafür finden kann, weil das echt stört wenn man im Kampf die Anzeigen von allen Actor nicht gleichzeitig sehen kann.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Frost am Januar 29, 2009, 15:10:30
Also gehen tuts auf jeden Fall. Ich hab leider noch nicht so viel Ahnung von RGSS aber was man machen muss (denke ich) weiß ich trotzdem. Du müsstest von der Anzeige die Koordinaten finden und diese ändern. Vielleicht findest du ja irgendwo die Koordinaten. (Sind meist mit den Variablen X und Y gekennzeichnet - wie beim Koordinatensystem^^)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Crysis am Januar 29, 2009, 15:36:23
Also Frost im Prinzip hast du recht, aber ich bin schon auf die Idee gekommen und hab so etwas leider nicht finden können.
Unter Scene_Battle gibt es diese Stelle die für die Fenster im Kampf zuständig ist:


  #--------------------------------------------------------------------------
  # * Create Information Display Viewport
  #--------------------------------------------------------------------------
  def create_info_viewport
    @info_viewport = Viewport.new(0, 288, 544, 128)
    @info_viewport.z = 100
    @status_window = Window_BattleStatus.new
    @party_command_window = Window_PartyCommand.new
    @actor_command_window = Window_ActorCommand.new
    @status_window.viewport = @info_viewport
    @party_command_window.viewport = @info_viewport
    @actor_command_window.viewport = @info_viewport
    @status_window.x = 128
    @actor_command_window.x = 544
    @info_viewport.visible = false
  end

Hab schon versucht jeden Wert zu ändern, aber das bewirkt im Prinzip nur, dass die Fenster verschoben werden, oder von manchen Fenstern die Breite erhöht wird. Also ich glaube die Fenster haben eine bestimmte Standarthöhe und man muss da noch einen Befehl hinzufügen der das Fenster größer als
Standart macht.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Shinji am Januar 29, 2009, 16:17:48
ich gib dir nen tipp,
schau dir mal window_battlestatus an :)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Crysis am Januar 29, 2009, 16:43:34
So hab das probiert was du gesagt hast aber des hat leider nicht funktioniert. Das lag aber daran dass mein "Large Party" Script das Battle Fenster verwaltet.
Also wenn ich da height erhöhe und dann und dann den y-Wert des Fensters erhöhe damit es nach oben gezogen wird und ich unten den 5. Actor sehe sieht das ganze folgendermaßen aus:

http://img401.imageshack.us/my.php?image=kampffensterwu8.jpg

Hab mal hier den Teil vom Large Party Script gepostet der die Window verwaltet.
#==============================================================================
# ** Window_BattleStatus
#------------------------------------------------------------------------------
#  This window displays the status of all party members on the battle screen.
#==============================================================================

class Window_BattleStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias dargor_large_party_initialize initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    dargor_large_party_initialize
    height = 128 + (24 * ($game_party.members.size-4))
    self.contents = Bitmap.new(width - 32, height - 32)
    self.height = 128
    refresh
  end
  #--------------------------------------------------------------------------
  # * Update cursor
  #-------------------------------------------------------------------------- 
  def update_cursor
    if @index < 0
      self.cursor_rect.empty
      return
    end
    # Get top row
    row = @index  / @column_max
    if row < self.top_row
      self.top_row = row
    end
    # Reset Top Row if at bottom of list
    if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    y = @index / @column_max * 24 - self.oy
    # Draw the cursor
    self.cursor_rect.set(0, y, contents.width, 24)
  end
  #--------------------------------------------------------------------------
  # * Get Top Row
  #-------------------------------------------------------------------------- 
  def top_row
    return self.oy / 24
  end
  #--------------------------------------------------------------------------
  # * Set Top Row
  #     row : row shown on top
  #-------------------------------------------------------------------------- 
  def top_row=(row)
    if row < 0
      row = 0
    end
    if row > row_max - 1
      row = row_max - 1
    end
    self.oy = row * 24
  end
  #--------------------------------------------------------------------------
  # * Get Number of Rows Displayable on 1 Page
  #-------------------------------------------------------------------------- 
  def page_row_max
    return 4
  end
end
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Februar 03, 2009, 17:07:08
So leute hab mal ne Frage:
Und zwar, weiß jmd wie ich es per Script oder per Event lösen kann, das Dauerhast in der oberen linken Ecke des Screens die Variable[1] angezeigt wird? wirklich permanent! mit Script wärs mir am liebsten
Oder gibt es eine Möglichkeit permanent das Gold anzeigen zu lassen? auch auf der Map?
Hab die sufu benutzt aber nix gefunden :(
Titel: Re: Hilfe zu Skripten.
Beitrag von: MelekTaus am Februar 03, 2009, 22:53:24
Kann jemand so nett sein und das woratana nms reinstellen? Iwie funkt die rpgrevolution-Seite nicht.
Wäre echt nice^^ weil ich kann es sonst nirgends finden

Thx im Vorraus,
Grüße
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am Februar 03, 2009, 23:06:05
Aber sicher kann das jemand tun. Guckst du hier.

<a href="http://www.mediafire.com/?mnt3ii0zojd">Klick Mich</a>

@ Woratana
I Hope Its Okay For U, That I Give Him Ur Great Script This
Way. Die Link To Your File Is Down, So Nobody Can Use It ;)

Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Februar 09, 2009, 21:33:14
Hey Leute weiß jmd wie man per Script die Actorgrafiken ändert? is wichtig das per script zu machen... also bitte keine bemerkungen "machs doch per event" ;)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Im Not Jesus am Februar 10, 2009, 12:35:52
hey leute =]

hab da ne kleine frage zu Deadlydans Titel:
und zwar ist das am Titelbildschirm alles n wenig zu weit oben und ich find irgenwdie nich genau heraus,
wie man das tiefer setzen könnte! Wäre nett wenn mir das jemand zeigen/erklären könnte! ^.^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Prince am Februar 12, 2009, 20:23:25
Hallo allerseits,

Also ich habe eine Frage zum "Actor Profile Information"-Script. Dieses Skript dient dazu, dass wenn man im Status-Menü eines Charakters
"Enter" drücken kann und dann in ein Menü mit zusätzlichen Informationen über den Actor kommt.

Actor Profile Information-Script:
#===============================================================
# ?         Actor Profile Information - CC_ExtendedActorInfo            ? VX ?
# ?                     Version 1.0.0 by Claimh                              ?
# ?                   Translation by Mr. Anonymous                           ?
#------------------------------------------------------------------------------
#  This script adds a character profile screen for extended actor information.
#   This screen is called from the status screen by pressing the "C" button
#   (by default). This information displayed on this screen is customized in
#   this script itself below (in the Customization block).
#==============================================================================
module Chara_Review
#==============================================================================#
#                             ? Customization ?                                #
#==============================================================================#
  # If you have more than 8 actors in your game, you may add additional lines
  #  to each of these fields.
#----------------------------------------------------------------------------
#   Call Screen Input Key
#----------------------------------------------------------------------------
  # This allows you to change the button/key pressed to call the extended
  #  actor information screen from the status screen. (Default: C)
  CHENGE_KEY = Input::C
  #--------------------------------------------------------------------------
  # ? Customize Age
  #--------------------------------------------------------------------------
  CHARA_AGE = {
   # Age is the first field to the right of the profile image.
   # ActorID => "Age"
     5 => "20",
     6 => "22",
     7 => "24",
     8 => "16"
  }
  #--------------------------------------------------------------------------
  # ? Customize Actor's Origin
  #--------------------------------------------------------------------------
  CHARA_FROM = {
   # "From" or Origin is the second field to the right of the profile image.
   # ActorID => "Place"
     5 => "Rei",
     6 => "Tsuin",
     7 => "Tsuin",
     8 => "Kouin"
  }
  #--------------------------------------------------------------------------
  # ? Customize Height
  #--------------------------------------------------------------------------
  CHARA_H = {
   # Height is the third field to the right of the profile image.
   # ActorID => "Height"
     5 => "5 Feet 8 Inches",
     6 => "4 Feet 9 Inches",
     7 => "5 Feet 1 Inch",
     8 => "5 Feet 4 Inches"
  }
  #--------------------------------------------------------------------------
  # ? Customize Weight
  #--------------------------------------------------------------------------
  CHARA_W = {
   # Weight is the fourth field to the right of the profile image.
   # ActorID => "Weight"
     5 => "125 Pounds",
     6 => "87 Pounds",
     7 => "93 Pounds",
     8 => "96 Pounds"
  }
  #--------------------------------------------------------------------------
  # ? Customize Profile Information
  #--------------------------------------------------------------------------
  CHARA_INFO = {
    # Profile Information is displayed beneath the actor's graphic file.
    # ActorID => "Information Text"
    5 => "Ryoku, is a brave strong warrior who always needs to save Kione. He is
    a man with great holy powers. In time portals he gets his Jikoku Sword with slots
    for the Jikoku Crystals to fit into. All the girls love Ryoku, for no real reason.",
    6 => "No one knows much about him, but he knows alot about them. Because
    of his weight and size he is able to move swiftly, but is also deadly with his
    hands. He seems to have a connection with Munaca, only talking to and helping her.",
    7 => "Munaca, is a some what shy girl with wind powers. She seems to know
    the mystery guy, she is confused about him and wants to know what goes on in
    his head. Her wind powers also get stronger when the people are in danger.",
    8 => "Kione, is a girl with the ability to manipulate water, she also loves
    the mystery guy who doesn`t even care about her. She is able to heal people,
    but isn`t very strong. She always near the mystery guy... Why does she bother."
  }
  #--------------------------------------------------------------------------
  # ? Customize Face/Profile Image
  #--------------------------------------------------------------------------
  # Image Type Toggle
  #  This toggle allows to use either the default Face graphic that is set up
  #   in the Actor tab in the database, or a custom image of your choosing.
  #  true = Custom images are used.
  #  false = The actor's face graphic is used.
  BSTUP = false
  # Custom Profile Graphics ("Graphics/Face" directory)(If BSTUP = true)
  BSTUP_FILE = {
    # ActorID => "Profile Image" (Without image format extension)
    #  You may also add more images for actors after the fourth line, if needed.
    5 => "actor1",
    6 => "actor1",
    7 => "actor1",
    8 => "actor1"
  }

#----------------------------------------------------------------------------
#   END Customization
#----------------------------------------------------------------------------
end
#==============================================================================
# ? Window_Charactor
#------------------------------------------------------------------------------
# ? Define Window
#==============================================================================
class Window_Charactor < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize Profile Window
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 544, 416)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(actor)
  end
  #--------------------------------------------------------------------------
  # ? Determine BSTUP Type
  #--------------------------------------------------------------------------
  def refresh(actor)
    self.contents.clear
    return if actor.nil?
    if Chara_Review::BSTUP
      refresh_bstup(actor)  # If BSTUP = true
    else
      refresh_face(actor)   # If BSTUP = false
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (BSTUP)
  #--------------------------------------------------------------------------
  def refresh_bstup(actor)
    draw_face_picture(Chara_Review::BSTUP_FILE[actor.id], 0, 0)
    self.contents.font.color = system_color
    self.contents.draw_text(280, 30, 80, WLH, "Name:")
    self.contents.draw_text(280, 60, 80, WLH, "Age:")
    self.contents.draw_text(280, 90, 80, WLH, "From:")
    self.contents.draw_text(280, 120, 80, WLH, "Height:")
    self.contents.draw_text(280, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 380,  30)
    self.contents.draw_text(380, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(380, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(380, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(380, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 300, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (FACE)
  #--------------------------------------------------------------------------
  def refresh_face(actor)
    draw_actor_face(actor, 8, 32)
    self.contents.font.color = system_color
    self.contents.draw_text(200, 30, 80, WLH, "")
    self.contents.draw_text(200, 60, 80, WLH, "Age:")
    self.contents.draw_text(200, 90, 80, WLH, "From:")
    self.contents.draw_text(200, 120, 80, WLH, "Height:")
    self.contents.draw_text(200, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 300,  30)
    self.contents.draw_text(300, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(300, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(300, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(300, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 200, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
end

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? Draw Entered Text
  #--------------------------------------------------------------------------
  def draw_enter_text(x, y, width, height, text)
    info_box = text.split(/\n/)
    for i in 0...info_box.size
      self.contents.draw_text( x, y+i*WLH, width, WLH, info_box)
      break if (y+i*WLH) > (self.height-WLH)
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Face Graphic(Graphics/Face)
  #--------------------------------------------------------------------------
  def draw_face_picture(file_name, x, y)
    bitmap = Cache.face(file_name)
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x, y, bitmap, src_rect)
  end
end


#==============================================================================
# ? Scene_Charactor
#------------------------------------------------------------------------------
# ? Define Methods
#==============================================================================
class Scene_Charactor < Scene_Base
  #--------------------------------------------------------------------------
  # ? Initialize Actor
  #     actor_index : Actor ID
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0)
    @actor_index = actor_index
  end
  #--------------------------------------------------------------------------
  # ? Create Menu Background
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    @actor = $game_party.members[@actor_index]
    @status_window = Window_Charactor.new(@actor)
  end
  #--------------------------------------------------------------------------
  # ? Dispose Status Window
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? Return Scene
  #--------------------------------------------------------------------------
  def return_scene
    $scene = Scene_Status.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Next Actor
  #--------------------------------------------------------------------------
  def next_actor
    @actor_index += 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Previous Actor
  #--------------------------------------------------------------------------
  def prev_actor
    @actor_index += $game_party.members.size - 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Actor Profile Screne Inputs
  #--------------------------------------------------------------------------
  def update
    update_menu_background
    @status_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    end
    super
  end
end


#==============================================================================
# ? Scene_Status
#==============================================================================
class Scene_Status
  #--------------------------------------------------------------------------
  # ? Update Actor
  #--------------------------------------------------------------------------
  alias update_chara update
  def update
    if Input.trigger?(Chara_Review::CHENGE_KEY)
      Sound.play_decision
      $scene = Scene_Charactor.new(@actor_index)
    end
    update_chara
  end
end

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/  The original untranslated version of this script can be found here:
#http://www4.plala.or.jp/findias/codecrush/material/rgss2/menu/1-menu_chara/menu_char_top.htmll
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_


Also wie man sieht kann man hier bestimmte Informationen über die Actor eingeben, wie zum Beispiel Herkunft, Alter usw.
Ich wollte in mein Spiel einfügen, dass die Werte wie zum Beispiel "Alter" in einer game_variable gespeichert werden und dass
man diese dann im Spiel über Änderung einer Variable im Spiel verändern kann. Also wenn ich zum Beispiel Variable "alter1" im
Spiel auf 20 setze wird es in dem Menü dann das Alter auch als 20 angezeigt.

Das Skript scheint nicht sehr kompliziert zu sein, aber da ich selbst nicht wirklicht gut Skripten kann, würde ich mich echt freuen,
wenn mir da jemand eine Lösung finden könnte.


Ich möcht das Skript auch verwenden, aber wenn ich das SPiel starte steht was von Fehler in Line 259 Syntax Error occured oda so. HELP
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Februar 12, 2009, 22:26:24
@Im not jesus
In Zeile 158 findest du diesen Ausschnitt:
@menu_item[1].blend_type = 0
    @menu_item[1].bitmap = Cache.system ( DeadlyDan_Title::IMAGE_CONTINUE[0] )
    @menu_item[1].x = ( ( Graphics.width / 2 ) - ( @menu_item[1].bitmap.width / 2 ) )
    @menu_item[1].y = ( ( Graphics.height / 2 ) - ( @menu_item[1].bitmap.height / 2 ) )
   
    @menu_item[0].blend_type = 0
    @menu_item[0].bitmap = Cache.system ( DeadlyDan_Title::IMAGE_NEW[0] )
    @menu_item[0].x = ( ( Graphics.width / 2 ) - ( @menu_item[0].bitmap.width / 2 ) )
    @menu_item[0].y = ( ( Graphics.height / 2 ) - ( @menu_item[0].bitmap.height / 2 )  ) - ( @menu_item[1].bitmap.height + padding )
   
    @menu_item[2].blend_type = 0
    @menu_item[2].bitmap = Cache.system ( DeadlyDan_Title::IMAGE_QUIT[0] )
    @menu_item[2].x = ( ( Graphics.width / 2 ) - ( @menu_item[2].bitmap.width / 2 ) )
    @menu_item[2].y = ( ( Graphics.height / 2 ) - ( @menu_item[2].bitmap.height / 2 ) ) + ( @menu_item[1].bitmap.height + padding )

Furch das veränderen der y Koordinate kannst du, die Bilder tiefer beziehungsweise höher stellen. Und die x Koordinate bestimmt die Horizontale Position. Ich hab hie rein kleines Beispiel gemacht und die Bilder tiefergelegt.
   @menu_item[1].blend_type = 0
    @menu_item[1].bitmap = Cache.system ( DeadlyDan_Title::IMAGE_CONTINUE[0] )
    @menu_item[1].x = ( ( Graphics.width / 2 ) - ( @menu_item[1].bitmap.width / 2 ) )
    @menu_item[1].y = ( 330 )
   
    @menu_item[0].blend_type = 0
    @menu_item[0].bitmap = Cache.system ( DeadlyDan_Title::IMAGE_NEW[0] )
    @menu_item[0].x = ( ( Graphics.width / 2 ) - ( @menu_item[0].bitmap.width / 2 ) )
    @menu_item[0].y = (300 )
   
    @menu_item[2].blend_type = 0
    @menu_item[2].bitmap = Cache.system ( DeadlyDan_Title::IMAGE_QUIT[0] )
    @menu_item[2].x = ( ( Graphics.width / 2 ) - ( @menu_item[2].bitmap.width / 2 ) )
    @menu_item[2].y = (360)
Wenn du es selber veränderst achte darauf, dass Dan die Bilder anders angeordnet hat also nicht wie man in den Spoiler sehen kann sondern, 0,1,2.

MfG

Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: RPGSasuke am Februar 16, 2009, 23:54:14
Also mein Problem handelt von BGMs. Ich möchte gerne bewirken,dass wenn ich (nur einige) BGMs abspiele,sie dann erst nach dem Ende weitere Events durchlassen und der Spieler auch sich bei dem Ablauf der Musik sich nicht bewegen kann. Dies soll aber, wie es schon in den Klammern stand, nich für ALLE BGMs gelten sondern nur die,die so sein müssen, also die die nicht, normal starten und die,die ich mit dem Skript brauche,dann mit dem Skriptevent. Ich weiß nicht,ob es so ein Skript schon gibt, aber sowas kann ich selber leider nicht vollbringen, da ich 0 Ahnung von Ruby und besonders dem Ruby Game Scripting System hab. Warum ich das brauche? Hier ist ein Beispiel:
Jemand spielt Klavier vor ein paar Leuten und sie sollen zuhören bis da halt das Stück zu Ende ist.

Es gibt natürlich eine Eventmöglichkeit: Ich rechne die ganze Länge in Frames um. Dann benutze ich den Wait-Befehl im Move Route-Event. Aber das Maximale ist 999 Frames. Deswegen rechne ich so,dass ich immer 999 Frames dazu rechne, bis der Rest kommt?????? Das ist mir zu aufwendig,da in meinem Spiel dies öfters wohl passieren wird deswegen möchte ich es als einfaches Skript haben, da ich mir sonst den Kopf zerbrechen würde.

Mfg RPGSasuke
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Februar 19, 2009, 18:32:33
Du kannst auch mehrere Wait-events reinstellen ;) also z.b 3 mal wait(999frames)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Seph am Februar 20, 2009, 16:34:46
So ich wollt bei meinem Menü das Speichern ausblenden und der Post auf Seite 1 hat mir nicht viel gebracht da ich ein anderes Menü hab und es bei dem nich geklappt hat. Vllt bin ich ja nur zu dumm aber wär nett wenn mir jemand hilft.

=begin                 
                          BigEd781' Final Fantasy IX Menu
            Credit to PainHurt at rpgmakervx.net for most of the graphics
=end

module FF9_Config 
   
  # set this to 'true' if you would like to use a cusotm background image
  USE_CUSTOM_BACK = true
  # the name of the custom background image, without the file extension (no .png)
  BACK_NAME = 'StoneBackground'
  # if you set this to 'true', you must be using the enhanced
  # Window class script that I posted:  You can get that script here:
  # http://www.rpgmakervx.net/index.php?showtopic=8042&hl=
  # this will make the provided FF9 windowskin look really good.
  USE_TILED_WINDOW = false
 
  # When this is set to 'true', the menu cirsor will animate back and forth.
  # When set to 'false', it will stay in place
  ANIMATE_CURSOR = true
 
  # When set to 'true', four background panels are always drawn.
  # When set to 'false', a panel is only drawn for each party member
  DRAW_FOR_ALL = true
 
  # the name of the font used in the menu. 
  # use 'Font.default_name' for the default font.  Try 'Centaur' for a nice, smaller font.
  DEFAULT_FONT = Font.default_name
 
  # set this to true to enable the font above for all windows.
  # also sets the back_opacity to 255 for all windows. 
  # I recommend setting this to 'true' to maintain a consistent look.
  USE_FOR_ALL = true
 
  # the icon id for your gold window portion of the menu, 194 by default.
  GOLD_ICON_ID = 194
 
end

if FF9_Config::USE_FOR_ALL   
 
  Font.default_name = FF9_Config::DEFAULT_FONT
 
  class Window_Base < Window
   
    alias :eds_pre_ff9_menu_base_initialize :initialize
    def initialize(*args)
      eds_pre_ff9_menu_base_initialize(*args) 
      self.stretch = false if FF9_Config::USE_TILED_WINDOW
      self.back_opacity = 255
    end
   
  end
 
end

class Window_Base < Window
 
  CAPTION_COLOR = Color.new(255,255,255)#(228, 228, 228)
  CAPTION_HEIGHT = 12
  X_OFFSET = 16
  Y_OFFSET = -5
 
  alias :eds_pre_window_caption_intialize :initialize
  def initialize(*args)     
    eds_pre_window_caption_intialize(*args)   
    @caption_sprite = Sprite_Base.new(self.viewport)
    create_caption_bitmap(1, CAPTION_HEIGHT)       
    @caption_sprite.x = self.x + X_OFFSET
    @caption_sprite.y = self.y + Y_OFFSET
    @caption_sprite.z = self.z + 1
  end
 
  def x=(value)
    super
    @caption_sprite.x = value + X_OFFSET unless @caption_sprite.nil?
  end
 
  def y=(value)
    super
    @caption_sprite.y = value + Y_OFFSET unless @caption_sprite.nil?
  end
 
  def z=(value)
    super
    @caption_sprite.z = value + 1 unless @caption_sprite.nil?
  end
 
  def caption=(text)
    return unless text.is_a?(String)
    return if text.empty?
    @caption = text
    width = @caption_sprite.bitmap.text_size(@caption).width
    create_caption_bitmap(width, CAPTION_HEIGHT)   
    draw_caption
  end 
 
  def create_caption_bitmap(w, h)
    @caption_sprite.bitmap = Bitmap.new(w, h)   
    @caption_sprite.bitmap.font.size = 12
    @caption_sprite.bitmap.font.color = CAPTION_COLOR
    @caption_sprite.bitmap.font.bold = true 
  end
 
  def draw_caption
    unless @caption.nil?
      h = @caption_sprite.bitmap.height
      w = @caption_sprite.bitmap.width
      rect = Rect.new( 0, h / 2, w, h / 4 )
      @caption_sprite.bitmap.fill_rect(rect, Color.new(0, 0, 0, 96))     
      @caption_sprite.bitmap.draw_text(@caption_sprite.src_rect, @caption)     
    end
  end
 
  alias :eds_pre_caption_window_dispose :dispose
  def dispose
    eds_pre_caption_window_dispose
    @caption_sprite.dispose
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 32
  end   
 
end

class Window_TimeGold < Window_Base 
   
  def initialize(x, y) 
    width = find_window_width("9999999")
    width = 140 if width < 140
    super(x, y, width, WLH + 58)   
    self.back_opacity = 255
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.caption = "TIME & #{Vocab.gold}"
    @time_icon = Cache.picture('Timer') 
    @intern_frame_count = 0
    refresh
  end
 
  def draw_time
    sec = (Graphics.frame_count / 60) % 60
    min = (Graphics.frame_count / 3600) % 60
    hrs = Graphics.frame_count / 216000   
    self.contents.font.color = Color.new(255, 255, 255)   
    time = "%02d:%02d:%02d" % [hrs, min, sec]
    self.contents.draw_text(0, 0, self.contents.width, WLH, time, 2)   
  end 
 
  def refresh
    self.contents.clear
    self.contents.blt(0, 0, @time_icon, @time_icon.rect)
    draw_icon(FF9_Config::GOLD_ICON_ID, 2, WLH) 
    draw_currency_value($game_party.gold, 0, WLH, self.contents.width)
    draw_time
  end
 
  def draw_currency_value(value, x, y, width)
    gold_text = Vocab.gold
    cx = contents.text_size(gold_text[0,1]).width
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width - cx - 2, WLH, value, 2)
    self.contents.font.color = system_color
    # just print the first character of Vocab::gold
    self.contents.draw_text(x, y, width, WLH, gold_text[0,1], 2)
  end
 
  def update
    super
    @intern_frame_count += 1
    return if (@intern_frame_count % 60) != 0         
    refresh
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 80
  end
 
end

class Window_MenuLocation < Window_Base
 
  def initialize(x, y)
    @map_name = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name
    width = find_window_width(@map_name)
    super(x, y, width, WLH + 32)   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.back_opacity = 255
    self.caption = "LOCATION"
    refresh
  end
 
  def refresh
    self.contents.clear   
    self.contents.draw_text(0, 0, self.contents.width, WLH,  @map_name, 1)
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 48
  end
 
end

class Window_Command < Window_Selectable
 
  alias :eds_pre_ff9_menu_win_command_init :initialize
  def initialize(*args)
    @font_name = Font.default_name   
    eds_pre_ff9_menu_win_command_init(*args)   
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear   
    self.contents.font.name = @font_name
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  def font_name=(name)
    @font_name = name   
  end
 
end

class Window_Uses < Window_Base 
 
  def initialize(right, y, item)   
    @remaining_text = "Remaining: #{$game_party.item_number(item)}"
    w = 160
    x = right ? (544 - w) : 0   
    super(x, y, w, WLH + 32)   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    refresh
  end
 
  def item=(item)   
    return unless item.is_a?(RPG::Item)
    @remaining_text = "Remaining: #{$game_party.item_number(item)}"     
    refresh
  end
 
  def visible=(value)
    super
    refresh if value
  end
 
  def refresh
    self.contents.clear
    self.contents.draw_text(self.contents.rect, @remaining_text, 1)
  end
 
end

class Window_SkillUses < Window_Base 
 
  def initialize(right, y, actor, skill)   
    @remaining_text = make_info_string(actor, skill)
    w = 182
    x = right ? (544 - w) : 0       
    super(x, y, w, WLH + 32) 
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    refresh
  end
 
  def make_info_string(actor, skill)
    return if actor.nil? || skill.nil?
    cost = actor.calc_mp_cost(skill)
    return "Unlimited" if cost < 1
    return "Remaining: #{actor.mp / cost}"
  end
 
  def set_skill(actor, skill)
    return if actor.nil? || skill.nil?
    return unless skill.is_a?(RPG::Skill)
    @remaining_text = make_info_string(actor, skill)   
    refresh
  end
 
  def visible=(value)
    super
    refresh if value
  end
 
  def refresh   
    self.contents.clear
    self.contents.draw_text(self.contents.rect, @remaining_text, 1)
  end
 
end

class Window_MenuStatus < Window_Selectable
   
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 452, 352)     
    @bg_image = Cache.picture('FF9_MenuBar') 
    @arrow_image = Cache.picture('Pointer')
    create_arrow_sprites
    @sprite_last_draw_x = 0
    @sprite_inc_x = 1
    @intern_frame_count = 0   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.opacity = 0   
    self.z = 99       
    self.active = false
    self.index = -1
    refresh
  end
  #--------------------------------------------------------------------------
  # * create_arrow_sprites
  #--------------------------------------------------------------------------
  def create_arrow_sprites 
    @arrow_sprites = []
    for i in 0..3
      @arrow_sprites << Sprite.new
      @arrow_sprites[i].bitmap = Bitmap.new(@arrow_image.width + 7, @arrow_image.height)
      @arrow_sprites[i].x = self.x
      @arrow_sprites[i].y = (i * 80) + self.y + 40     
      @arrow_sprites[i].z = 999       
    end
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.members.size
    draw_background_windows if FF9_Config::DRAW_FOR_ALL
    for actor in $game_party.members
      x = 104
      y = actor.index * 80     
      y_offset = 6     
      draw_background_window(0, y) unless FF9_Config::DRAW_FOR_ALL
      draw_actor_face(actor, 19, y + 4, 73)
      draw_actor_name(actor, x, y + y_offset)
      draw_actor_class(actor, x + 125, y + y_offset) if actor.states.empty?
      draw_actor_level(actor, x, y + WLH * 1)     
      draw_actor_state(actor, x + 125, y + y_offset)
      draw_actor_hp(actor, x, ((y) + (WLH * 2) - 5))
      draw_actor_mp(actor, x + 125, ((y) + (WLH * 2) - 5))
    end
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def update_cursor             
    if @index < 0             
      #refactor into update arrow method
      @arrow_sprites.each { |sprite| sprite.bitmap.clear }
      return
    end
    @intern_frame_count += 1
    return unless (@intern_frame_count % 5) == 0
    if @sprite_last_draw_x >= 7     
      @sprite_inc_x = -1
    elsif @sprite_last_draw_x <= 0
      @sprite_inc_x = 1
    end
    update_arrow_sprites
  end
  #--------------------------------------------------------------------------
  # * update_arrow_sprites
  #--------------------------------------------------------------------------
  def update_arrow_sprites   
    @arrow_sprites.each { |sprite| sprite.bitmap.clear }   
    if @index == 99   # all selected       
      return unless (@intern_frame_count % 10) == 0
      draw_arrow_sprites(@arrow_sprites, false)     
    else
      draw_arrow_sprites([@arrow_sprites[@index]], FF9_Config::ANIMATE_CURSOR)     
    end
  end
  #--------------------------------------------------------------------------
  # * draw_arrow_sprites
  #--------------------------------------------------------------------------
  def draw_arrow_sprites(sprites, animated=true)
    for sprite in sprites         
      image_x = animated ? @sprite_last_draw_x + @sprite_inc_x : 0
      @sprite_last_draw_x = image_x           
      sprite.bitmap.blt(image_x, 0, @arrow_image, @arrow_image.rect)
    end
  end
  #--------------------------------------------------------------------------
  # * y=
  #--------------------------------------------------------------------------
  def y=(value)
    super
    unless @arrow_sprites.nil?
      for i in 0..3
        @arrow_sprites[i].y = (i * 80) + value + 40
      end
    end
  end
  #--------------------------------------------------------------------------
  # * x=
  #--------------------------------------------------------------------------
  def x=(value)
    super
    unless @arrow_sprites.nil?
      @arrow_sprites.each { |sprite| sprite.x = value }
    end
  end
  #--------------------------------------------------------------------------
  # * draw_background_windows
  #--------------------------------------------------------------------------
  def draw_background_windows 
    self.contents.blt(0, 0, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 80, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 160, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 240, @bg_image, @bg_image.rect)   
  end 
  #--------------------------------------------------------------------------
  # * draw_background_window (single)
  #--------------------------------------------------------------------------
  def draw_background_window(x, y)
    self.contents.blt(x, y, @bg_image, @bg_image.rect)   
  end
  #--------------------------------------------------------------------------
  # * visible
  #--------------------------------------------------------------------------
  def visible=(value)
    super
    @arrow_sprites.each { |sprite| sprite.visible = value }
  end
  #--------------------------------------------------------------------------
  # * dispose
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_win_stat_dispose :dispose
  def dispose
    eds_pre_ff9_win_stat_dispose
    @arrow_sprites.each { |sprite| sprite.dispose }
  end
 
  def enable_cursor?(rect=nil)
    # for compatibility with the improved command window
    return false
  end   
 
end

class Scene_Menu
     
  #--------------------------------------------------------------------------
  # * create_menu_background (only if USE_CUSTOM_BACK == true)
  #--------------------------------------------------------------------------
  if FF9_Config::USE_CUSTOM_BACK
   
    def create_menu_background
      @menuback_sprite = Sprite.new
      @menuback_sprite.bitmap = Cache.picture(FF9_Config::BACK_NAME)
      @menuback_sprite.color.set(16, 16, 16, 128)
      update_menu_background
    end
   
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------   
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    # just changed the width of the window here
    @command_window = Window_Command.new(132, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    @command_window.stretch = false if FF9_Config::USE_TILED_WINDOW
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, true)     # Disable save
    end     
    # new stuff here   
    @command_window.font_name = FF9_Config::DEFAULT_FONT
    @command_window.x = 528 - @command_window.width
    @command_window.y = 16
    @command_window.back_opacity = 255
  end
  #--------------------------------------------------------------------------
  # * This method is intended to fix some compatibility problems
  #   that scripts run into when they change the command window
  #   in some way.  So, we let them override "create_command_window"
  #   and we simply don't call it from the "start" method.
  #   Instead, we call this method which does some extra checking.
  #--------------------------------------------------------------------------
  def eds_create_command_window
    create_command_window
    old_commands = @command_window.commands
    return if old_commands == [ Vocab::item,
                                Vocab::skill,
                                Vocab::equip,
                                Vocab::status,
                                Vocab::save,
                                Vocab::game_end ]

    # so we know that the default command window is not being used
    # we don't want to create another window, so we manually resize it
    # before the player can see. 
    long = ''
    # dynamically size the width based on the longest command
    old_commands.each { |command| long = command if command.length > long.length }
    # set the index to -1 so that the rectangle disappears.
    # if we don't do this, you can see the selection rectangle resize.
    @command_window.index = -1
    @command_window.width = @command_window.contents.text_size(long).width + 42
    @command_window.contents = Bitmap.new( @command_window.width - 32,
                                           @command_window.height - 32 )   
    @command_window.font_name = FF9_Config::DEFAULT_FONT
    @command_window.x = 528 - @command_window.width
    @command_window.y = 16
    @command_window.back_opacity = 255       
    @command_window.refresh
    @command_window.index = @menu_index
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    #call this method for compatibility
    eds_create_command_window
    @gold_window = Window_TimeGold.new(372, 342)
    @gold_window.y -= @gold_window.height
    @gold_window.x = 528 - @gold_window.width
    @status_window = Window_MenuStatus.new(0, 12)
    @location_window = Window_MenuLocation.new(0, 0)
    @location_window.x = 528 - @location_window.width 
    @location_window.y = 398 - @location_window.height
  end
 
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_menu_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_menu_terminate
    @location_window.dispose
  end
 
end

class Scene_Item < Scene_Base
 
  #--------------------------------------------------------------------------
  # * start
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_start :start
  def start       
    eds_pre_ff9_menu_scene_item_start
    @target_window.y = 58   
    @uses_window = Window_Uses.new(true, @help_window.height, nil)
    @uses_window.visible = false
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #   - right-align flag ignored
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_win_stat_show_target_window :show_target_window
  def show_target_window(right) 
    @uses_window.item = @item_window.item
    @uses_window.visible = true   
    @item_window.visible = false   
    @item_window.active = false   
    @target_window.visible = true
    @target_window.active = true 
    @viewport.rect.set(0, 0, 544, 416)
    @viewport.ox = 0
  end
  #--------------------------------------------------------------------------
  # * hide_target_window
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_hide_target_window :hide_target_window
  def hide_target_window
    eds_pre_ff9_menu_scene_item_hide_target_window 
    @uses_window.visible = false unless @uses_window.nil?
    @item_window.visible = true       
  end
  #--------------------------------------------------------------------------
  # * determine_target
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_determine_target :determine_target
  def determine_target   
    eds_pre_ff9_menu_scene_item_determine_target
    @uses_window.item = @item_window.item
  end   
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_item_terminate
    @uses_window.dispose
  end
 
end

class Scene_Skill < Scene_Base
 
  #--------------------------------------------------------------------------
  # * start
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_start :start
  def start       
    eds_pre_ff9_menu_scene_skill_start
    @target_window.y = 58         
    @uses_window = Window_SkillUses.new(true, @help_window.height, nil, nil)
    @uses_window.visible = false
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #   - right-align flag ignored
  #--------------------------------------------------------------------------
  def show_target_window(right)
    @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill)
    @uses_window.visible = true
    @status_window.visible = false
    @skill_window.visible = false
    @skill_window.active = false   
    @target_window.visible = true
    @target_window.active = true 
    @viewport.rect.set(0, 0, 544, 416)
    @viewport.ox = 0
  end
  #--------------------------------------------------------------------------
  # * hide_target_window
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_hide_target_window :hide_target_window
  def hide_target_window
    eds_pre_ff9_menu_scene_skill_hide_target_window 
    @uses_window.visible = false unless @uses_window.nil?
    @skill_window.visible = true
    @status_window.visible = true
  end
  #--------------------------------------------------------------------------
  # * determine_target
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_determine_target :determine_target
  def determine_target   
    eds_pre_ff9_menu_scene_skill_determine_target
    @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill)
  end   
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_item_terminate
    @uses_window.dispose
  end
 
end
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Februar 20, 2009, 20:01:45
@Seph
Ich glaube das müsste gehen, da es bei mir funktioniert hat :)

=begin                 
                          BigEd781' Final Fantasy IX Menu
            Credit to PainHurt at rpgmakervx.net for most of the graphics
=end

module FF9_Config 
   
  # set this to 'true' if you would like to use a cusotm background image
  USE_CUSTOM_BACK = true
  # the name of the custom background image, without the file extension (no .png)
  BACK_NAME = 'StoneBackground'
  # if you set this to 'true', you must be using the enhanced
  # Window class script that I posted:  You can get that script here:
  # http://www.rpgmakervx.net/index.php?showtopic=8042&hl=
  # this will make the provided FF9 windowskin look really good.
  USE_TILED_WINDOW = false
 
  # When this is set to 'true', the menu cirsor will animate back and forth.
  # When set to 'false', it will stay in place
  ANIMATE_CURSOR = true
 
  # When set to 'true', four background panels are always drawn.
  # When set to 'false', a panel is only drawn for each party member
  DRAW_FOR_ALL = true
 
  # the name of the font used in the menu. 
  # use 'Font.default_name' for the default font.  Try 'Centaur' for a nice, smaller font.
  DEFAULT_FONT = Font.default_name
 
  # set this to true to enable the font above for all windows.
  # also sets the back_opacity to 255 for all windows. 
  # I recommend setting this to 'true' to maintain a consistent look.
  USE_FOR_ALL = true
 
  # the icon id for your gold window portion of the menu, 194 by default.
  GOLD_ICON_ID = 194
 
end

if FF9_Config::USE_FOR_ALL   
 
  Font.default_name = FF9_Config::DEFAULT_FONT
 
  class Window_Base < Window
   
    alias :eds_pre_ff9_menu_base_initialize :initialize
    def initialize(*args)
      eds_pre_ff9_menu_base_initialize(*args) 
      self.stretch = false if FF9_Config::USE_TILED_WINDOW
      self.back_opacity = 255
    end
   
  end
 
end

class Window_Base < Window
 
  CAPTION_COLOR = Color.new(255,255,255)#(228, 228, 228)
  CAPTION_HEIGHT = 12
  X_OFFSET = 16
  Y_OFFSET = -5
 
  alias :eds_pre_window_caption_intialize :initialize
  def initialize(*args)     
    eds_pre_window_caption_intialize(*args)   
    @caption_sprite = Sprite_Base.new(self.viewport)
    create_caption_bitmap(1, CAPTION_HEIGHT)       
    @caption_sprite.x = self.x + X_OFFSET
    @caption_sprite.y = self.y + Y_OFFSET
    @caption_sprite.z = self.z + 1
  end
 
  def x=(value)
    super
    @caption_sprite.x = value + X_OFFSET unless @caption_sprite.nil?
  end
 
  def y=(value)
    super
    @caption_sprite.y = value + Y_OFFSET unless @caption_sprite.nil?
  end
 
  def z=(value)
    super
    @caption_sprite.z = value + 1 unless @caption_sprite.nil?
  end
 
  def caption=(text)
    return unless text.is_a?(String)
    return if text.empty?
    @caption = text
    width = @caption_sprite.bitmap.text_size(@caption).width
    create_caption_bitmap(width, CAPTION_HEIGHT)   
    draw_caption
  end 
 
  def create_caption_bitmap(w, h)
    @caption_sprite.bitmap = Bitmap.new(w, h)   
    @caption_sprite.bitmap.font.size = 12
    @caption_sprite.bitmap.font.color = CAPTION_COLOR
    @caption_sprite.bitmap.font.bold = true 
  end
 
  def draw_caption
    unless @caption.nil?
      h = @caption_sprite.bitmap.height
      w = @caption_sprite.bitmap.width
      rect = Rect.new( 0, h / 2, w, h / 4 )
      @caption_sprite.bitmap.fill_rect(rect, Color.new(0, 0, 0, 96))     
      @caption_sprite.bitmap.draw_text(@caption_sprite.src_rect, @caption)     
    end
  end
 
  alias :eds_pre_caption_window_dispose :dispose
  def dispose
    eds_pre_caption_window_dispose
    @caption_sprite.dispose
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 32
  end   
 
end

class Window_TimeGold < Window_Base 
   
  def initialize(x, y) 
    width = find_window_width("9999999")
    width = 140 if width < 140
    super(x, y, width, WLH + 58)   
    self.back_opacity = 255
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.caption = "TIME & #{Vocab.gold}"
    @time_icon = Cache.picture('Timer') 
    @intern_frame_count = 0
    refresh
  end
 
  def draw_time
    sec = (Graphics.frame_count / 60) % 60
    min = (Graphics.frame_count / 3600) % 60
    hrs = Graphics.frame_count / 216000   
    self.contents.font.color = Color.new(255, 255, 255)   
    time = "%02d:%02d:%02d" % [hrs, min, sec]
    self.contents.draw_text(0, 0, self.contents.width, WLH, time, 2)   
  end 
 
  def refresh
    self.contents.clear
    self.contents.blt(0, 0, @time_icon, @time_icon.rect)
    draw_icon(FF9_Config::GOLD_ICON_ID, 2, WLH) 
    draw_currency_value($game_party.gold, 0, WLH, self.contents.width)
    draw_time
  end
 
  def draw_currency_value(value, x, y, width)
    gold_text = Vocab.gold
    cx = contents.text_size(gold_text[0,1]).width
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width - cx - 2, WLH, value, 2)
    self.contents.font.color = system_color
    # just print the first character of Vocab::gold
    self.contents.draw_text(x, y, width, WLH, gold_text[0,1], 2)
  end
 
  def update
    super
    @intern_frame_count += 1
    return if (@intern_frame_count % 60) != 0         
    refresh
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 80
  end
 
end

class Window_MenuLocation < Window_Base
 
  def initialize(x, y)
    @map_name = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name
    width = find_window_width(@map_name)
    super(x, y, width, WLH + 32)   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.back_opacity = 255
    self.caption = "LOCATION"
    refresh
  end
 
  def refresh
    self.contents.clear   
    self.contents.draw_text(0, 0, self.contents.width, WLH,  @map_name, 1)
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 48
  end
 
end

class Window_Command < Window_Selectable
 
  alias :eds_pre_ff9_menu_win_command_init :initialize
  def initialize(*args)
    @font_name = Font.default_name   
    eds_pre_ff9_menu_win_command_init(*args)   
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear   
    self.contents.font.name = @font_name
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  def font_name=(name)
    @font_name = name   
  end
 
end

class Window_Uses < Window_Base 
 
  def initialize(right, y, item)   
    @remaining_text = "Remaining: #{$game_party.item_number(item)}"
    w = 160
    x = right ? (544 - w) : 0   
    super(x, y, w, WLH + 32)   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    refresh
  end
 
  def item=(item)   
    return unless item.is_a?(RPG::Item)
    @remaining_text = "Remaining: #{$game_party.item_number(item)}"     
    refresh
  end
 
  def visible=(value)
    super
    refresh if value
  end
 
  def refresh
    self.contents.clear
    self.contents.draw_text(self.contents.rect, @remaining_text, 1)
  end
 
end

class Window_SkillUses < Window_Base 
 
  def initialize(right, y, actor, skill)   
    @remaining_text = make_info_string(actor, skill)
    w = 182
    x = right ? (544 - w) : 0       
    super(x, y, w, WLH + 32) 
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    refresh
  end
 
  def make_info_string(actor, skill)
    return if actor.nil? || skill.nil?
    cost = actor.calc_mp_cost(skill)
    return "Unlimited" if cost < 1
    return "Remaining: #{actor.mp / cost}"
  end
 
  def set_skill(actor, skill)
    return if actor.nil? || skill.nil?
    return unless skill.is_a?(RPG::Skill)
    @remaining_text = make_info_string(actor, skill)   
    refresh
  end
 
  def visible=(value)
    super
    refresh if value
  end
 
  def refresh   
    self.contents.clear
    self.contents.draw_text(self.contents.rect, @remaining_text, 1)
  end
 
end

class Window_MenuStatus < Window_Selectable
   
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 452, 352)     
    @bg_image = Cache.picture('FF9_MenuBar') 
    @arrow_image = Cache.picture('Pointer')
    create_arrow_sprites
    @sprite_last_draw_x = 0
    @sprite_inc_x = 1
    @intern_frame_count = 0   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.opacity = 0   
    self.z = 99       
    self.active = false
    self.index = -1
    refresh
  end
  #--------------------------------------------------------------------------
  # * create_arrow_sprites
  #--------------------------------------------------------------------------
  def create_arrow_sprites 
    @arrow_sprites = []
    for i in 0..3
      @arrow_sprites << Sprite.new
      @arrow_sprites[i].bitmap = Bitmap.new(@arrow_image.width + 7, @arrow_image.height)
      @arrow_sprites[i].x = self.x
      @arrow_sprites[i].y = (i * 80) + self.y + 40     
      @arrow_sprites[i].z = 999       
    end
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.members.size
    draw_background_windows if FF9_Config::DRAW_FOR_ALL
    for actor in $game_party.members
      x = 104
      y = actor.index * 80     
      y_offset = 6     
      draw_background_window(0, y) unless FF9_Config::DRAW_FOR_ALL
      draw_actor_face(actor, 19, y + 4, 73)
      draw_actor_name(actor, x, y + y_offset)
      draw_actor_class(actor, x + 125, y + y_offset) if actor.states.empty?
      draw_actor_level(actor, x, y + WLH * 1)     
      draw_actor_state(actor, x + 125, y + y_offset)
      draw_actor_hp(actor, x, ((y) + (WLH * 2) - 5))
      draw_actor_mp(actor, x + 125, ((y) + (WLH * 2) - 5))
    end
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def update_cursor             
    if @index < 0             
      #refactor into update arrow method
      @arrow_sprites.each { |sprite| sprite.bitmap.clear }
      return
    end
    @intern_frame_count += 1
    return unless (@intern_frame_count % 5) == 0
    if @sprite_last_draw_x >= 7     
      @sprite_inc_x = -1
    elsif @sprite_last_draw_x <= 0
      @sprite_inc_x = 1
    end
    update_arrow_sprites
  end
  #--------------------------------------------------------------------------
  # * update_arrow_sprites
  #--------------------------------------------------------------------------
  def update_arrow_sprites   
    @arrow_sprites.each { |sprite| sprite.bitmap.clear }   
    if @index == 99   # all selected       
      return unless (@intern_frame_count % 10) == 0
      draw_arrow_sprites(@arrow_sprites, false)     
    else
      draw_arrow_sprites([@arrow_sprites[@index]], FF9_Config::ANIMATE_CURSOR)     
    end
  end
  #--------------------------------------------------------------------------
  # * draw_arrow_sprites
  #--------------------------------------------------------------------------
  def draw_arrow_sprites(sprites, animated=true)
    for sprite in sprites         
      image_x = animated ? @sprite_last_draw_x + @sprite_inc_x : 0
      @sprite_last_draw_x = image_x           
      sprite.bitmap.blt(image_x, 0, @arrow_image, @arrow_image.rect)
    end
  end
  #--------------------------------------------------------------------------
  # * y=
  #--------------------------------------------------------------------------
  def y=(value)
    super
    unless @arrow_sprites.nil?
      for i in 0..3
        @arrow_sprites[i].y = (i * 80) + value + 40
      end
    end
  end
  #--------------------------------------------------------------------------
  # * x=
  #--------------------------------------------------------------------------
  def x=(value)
    super
    unless @arrow_sprites.nil?
      @arrow_sprites.each { |sprite| sprite.x = value }
    end
  end
  #--------------------------------------------------------------------------
  # * draw_background_windows
  #--------------------------------------------------------------------------
  def draw_background_windows 
    self.contents.blt(0, 0, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 80, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 160, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 240, @bg_image, @bg_image.rect)   
  end 
  #--------------------------------------------------------------------------
  # * draw_background_window (single)
  #--------------------------------------------------------------------------
  def draw_background_window(x, y)
    self.contents.blt(x, y, @bg_image, @bg_image.rect)   
  end
  #--------------------------------------------------------------------------
  # * visible
  #--------------------------------------------------------------------------
  def visible=(value)
    super
    @arrow_sprites.each { |sprite| sprite.visible = value }
  end
  #--------------------------------------------------------------------------
  # * dispose
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_win_stat_dispose :dispose
  def dispose
    eds_pre_ff9_win_stat_dispose
    @arrow_sprites.each { |sprite| sprite.dispose }
  end
 
  def enable_cursor?(rect=nil)
    # for compatibility with the improved command window
    return false
  end   
 
end

class Scene_Menu
     
  #--------------------------------------------------------------------------
  # * create_menu_background (only if USE_CUSTOM_BACK == true)
  #--------------------------------------------------------------------------
  if FF9_Config::USE_CUSTOM_BACK
   
    def create_menu_background
      @menuback_sprite = Sprite.new
      @menuback_sprite.bitmap = Cache.picture(FF9_Config::BACK_NAME)
      @menuback_sprite.color.set(16, 16, 16, 128)
      update_menu_background
    end
   
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------   
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s6 = Vocab::game_end
    # just changed the width of the window here
    @command_window = Window_Command.new(132, [s1, s2, s3, s4,s6])
    @command_window.index = @menu_index
    @command_window.stretch = false if FF9_Config::USE_TILED_WINDOW
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end 
    # new stuff here   
    @command_window.font_name = FF9_Config::DEFAULT_FONT
    @command_window.x = 528 - @command_window.width
    @command_window.y = 16
    @command_window.back_opacity = 255
  end
  #--------------------------------------------------------------------------
  # * This method is intended to fix some compatibility problems
  #   that scripts run into when they change the command window
  #   in some way.  So, we let them override "create_command_window"
  #   and we simply don't call it from the "start" method.
  #   Instead, we call this method which does some extra checking.
  #--------------------------------------------------------------------------
  def eds_create_command_window
    create_command_window
    old_commands = @command_window.commands
    return if old_commands == [ Vocab::item,
                                Vocab::skill,
                                Vocab::equip,
                                Vocab::status,
                                Vocab::game_end ]

    # so we know that the default command window is not being used
    # we don't want to create another window, so we manually resize it
    # before the player can see. 
    long = ''
    # dynamically size the width based on the longest command
    old_commands.each { |command| long = command if command.length > long.length }
    # set the index to -1 so that the rectangle disappears.
    # if we don't do this, you can see the selection rectangle resize.
    @command_window.index = -1
    @command_window.width = @command_window.contents.text_size(long).width + 42
    @command_window.contents = Bitmap.new( @command_window.width - 32,
                                           @command_window.height - 32 )   
    @command_window.font_name = FF9_Config::DEFAULT_FONT
    @command_window.x = 528 - @command_window.width
    @command_window.y = 16
    @command_window.back_opacity = 255       
    @command_window.refresh
    @command_window.index = @menu_index
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    #call this method for compatibility
    eds_create_command_window
    @gold_window = Window_TimeGold.new(372, 342)
    @gold_window.y -= @gold_window.height
    @gold_window.x = 528 - @gold_window.width
    @status_window = Window_MenuStatus.new(0, 12)
    @location_window = Window_MenuLocation.new(0, 0)
    @location_window.x = 528 - @location_window.width 
    @location_window.y = 398 - @location_window.height
  end
 
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_menu_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_menu_terminate
    @location_window.dispose
  end
 
end

class Scene_Item < Scene_Base
 
  #--------------------------------------------------------------------------
  # * start
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_start :start
  def start       
    eds_pre_ff9_menu_scene_item_start
    @target_window.y = 58   
    @uses_window = Window_Uses.new(true, @help_window.height, nil)
    @uses_window.visible = false
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #   - right-align flag ignored
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_win_stat_show_target_window :show_target_window
  def show_target_window(right) 
    @uses_window.item = @item_window.item
    @uses_window.visible = true   
    @item_window.visible = false   
    @item_window.active = false   
    @target_window.visible = true
    @target_window.active = true 
    @viewport.rect.set(0, 0, 544, 416)
    @viewport.ox = 0
  end
  #--------------------------------------------------------------------------
  # * hide_target_window
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_hide_target_window :hide_target_window
  def hide_target_window
    eds_pre_ff9_menu_scene_item_hide_target_window 
    @uses_window.visible = false unless @uses_window.nil?
    @item_window.visible = true       
  end
  #--------------------------------------------------------------------------
  # * determine_target
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_determine_target :determine_target
  def determine_target   
    eds_pre_ff9_menu_scene_item_determine_target
    @uses_window.item = @item_window.item
  end   
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_item_terminate
    @uses_window.dispose
  end
 
end

class Scene_Skill < Scene_Base
 
  #--------------------------------------------------------------------------
  # * start
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_start :start
  def start       
    eds_pre_ff9_menu_scene_skill_start
    @target_window.y = 58         
    @uses_window = Window_SkillUses.new(true, @help_window.height, nil, nil)
    @uses_window.visible = false
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #   - right-align flag ignored
  #--------------------------------------------------------------------------
  def show_target_window(right)
    @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill)
    @uses_window.visible = true
    @status_window.visible = false
    @skill_window.visible = false
    @skill_window.active = false   
    @target_window.visible = true
    @target_window.active = true 
    @viewport.rect.set(0, 0, 544, 416)
    @viewport.ox = 0
  end
  #--------------------------------------------------------------------------
  # * hide_target_window
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_hide_target_window :hide_target_window
  def hide_target_window
    eds_pre_ff9_menu_scene_skill_hide_target_window 
    @uses_window.visible = false unless @uses_window.nil?
    @skill_window.visible = true
    @status_window.visible = true
  end
  #--------------------------------------------------------------------------
  # * determine_target
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_determine_target :determine_target
  def determine_target   
    eds_pre_ff9_menu_scene_skill_determine_target
    @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill)
  end   
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_item_terminate
    @uses_window.dispose
  end
 
end

MfG

Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Im Not Jesus am Februar 21, 2009, 01:42:45
alles klar, ich werds testen und adde später dazu, obs geklappt hat!
danke schonmal!
Titel: Re: Hilfe zu Skripten.
Beitrag von: Seph am Februar 24, 2009, 13:58:46
@Seph
Ich glaube das müsste gehen, da es bei mir funktioniert hat :)

=begin                 
                          BigEd781' Final Fantasy IX Menu
            Credit to PainHurt at rpgmakervx.net for most of the graphics
=end

module FF9_Config 
   
  # set this to 'true' if you would like to use a cusotm background image
  USE_CUSTOM_BACK = true
  # the name of the custom background image, without the file extension (no .png)
  BACK_NAME = 'StoneBackground'
  # if you set this to 'true', you must be using the enhanced
  # Window class script that I posted:  You can get that script here:
  # [url]http://www.rpgmakervx.net/index.php?showtopic=8042&hl=[/url]
  # this will make the provided FF9 windowskin look really good.
  USE_TILED_WINDOW = false
 
  # When this is set to 'true', the menu cirsor will animate back and forth.
  # When set to 'false', it will stay in place
  ANIMATE_CURSOR = true
 
  # When set to 'true', four background panels are always drawn.
  # When set to 'false', a panel is only drawn for each party member
  DRAW_FOR_ALL = true
 
  # the name of the font used in the menu. 
  # use 'Font.default_name' for the default font.  Try 'Centaur' for a nice, smaller font.
  DEFAULT_FONT = Font.default_name
 
  # set this to true to enable the font above for all windows.
  # also sets the back_opacity to 255 for all windows. 
  # I recommend setting this to 'true' to maintain a consistent look.
  USE_FOR_ALL = true
 
  # the icon id for your gold window portion of the menu, 194 by default.
  GOLD_ICON_ID = 194
 
end

if FF9_Config::USE_FOR_ALL   
 
  Font.default_name = FF9_Config::DEFAULT_FONT
 
  class Window_Base < Window
   
    alias :eds_pre_ff9_menu_base_initialize :initialize
    def initialize(*args)
      eds_pre_ff9_menu_base_initialize(*args) 
      self.stretch = false if FF9_Config::USE_TILED_WINDOW
      self.back_opacity = 255
    end
   
  end
 
end

class Window_Base < Window
 
  CAPTION_COLOR = Color.new(255,255,255)#(228, 228, 228)
  CAPTION_HEIGHT = 12
  X_OFFSET = 16
  Y_OFFSET = -5
 
  alias :eds_pre_window_caption_intialize :initialize
  def initialize(*args)     
    eds_pre_window_caption_intialize(*args)   
    @caption_sprite = Sprite_Base.new(self.viewport)
    create_caption_bitmap(1, CAPTION_HEIGHT)       
    @caption_sprite.x = self.x + X_OFFSET
    @caption_sprite.y = self.y + Y_OFFSET
    @caption_sprite.z = self.z + 1
  end
 
  def x=(value)
    super
    @caption_sprite.x = value + X_OFFSET unless @caption_sprite.nil?
  end
 
  def y=(value)
    super
    @caption_sprite.y = value + Y_OFFSET unless @caption_sprite.nil?
  end
 
  def z=(value)
    super
    @caption_sprite.z = value + 1 unless @caption_sprite.nil?
  end
 
  def caption=(text)
    return unless text.is_a?(String)
    return if text.empty?
    @caption = text
    width = @caption_sprite.bitmap.text_size(@caption).width
    create_caption_bitmap(width, CAPTION_HEIGHT)   
    draw_caption
  end 
 
  def create_caption_bitmap(w, h)
    @caption_sprite.bitmap = Bitmap.new(w, h)   
    @caption_sprite.bitmap.font.size = 12
    @caption_sprite.bitmap.font.color = CAPTION_COLOR
    @caption_sprite.bitmap.font.bold = true 
  end
 
  def draw_caption
    unless @caption.nil?
      h = @caption_sprite.bitmap.height
      w = @caption_sprite.bitmap.width
      rect = Rect.new( 0, h / 2, w, h / 4 )
      @caption_sprite.bitmap.fill_rect(rect, Color.new(0, 0, 0, 96))     
      @caption_sprite.bitmap.draw_text(@caption_sprite.src_rect, @caption)     
    end
  end
 
  alias :eds_pre_caption_window_dispose :dispose
  def dispose
    eds_pre_caption_window_dispose
    @caption_sprite.dispose
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 32
  end   
 
end

class Window_TimeGold < Window_Base 
   
  def initialize(x, y) 
    width = find_window_width("9999999")
    width = 140 if width < 140
    super(x, y, width, WLH + 58)   
    self.back_opacity = 255
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.caption = "TIME & #{Vocab.gold}"
    @time_icon = Cache.picture('Timer') 
    @intern_frame_count = 0
    refresh
  end
 
  def draw_time
    sec = (Graphics.frame_count / 60) % 60
    min = (Graphics.frame_count / 3600) % 60
    hrs = Graphics.frame_count / 216000   
    self.contents.font.color = Color.new(255, 255, 255)   
    time = "%02d:%02d:%02d" % [hrs, min, sec]
    self.contents.draw_text(0, 0, self.contents.width, WLH, time, 2)   
  end 
 
  def refresh
    self.contents.clear
    self.contents.blt(0, 0, @time_icon, @time_icon.rect)
    draw_icon(FF9_Config::GOLD_ICON_ID, 2, WLH) 
    draw_currency_value($game_party.gold, 0, WLH, self.contents.width)
    draw_time
  end
 
  def draw_currency_value(value, x, y, width)
    gold_text = Vocab.gold
    cx = contents.text_size(gold_text[0,1]).width
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width - cx - 2, WLH, value, 2)
    self.contents.font.color = system_color
    # just print the first character of Vocab::gold
    self.contents.draw_text(x, y, width, WLH, gold_text[0,1], 2)
  end
 
  def update
    super
    @intern_frame_count += 1
    return if (@intern_frame_count % 60) != 0         
    refresh
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 80
  end
 
end

class Window_MenuLocation < Window_Base
 
  def initialize(x, y)
    @map_name = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name
    width = find_window_width(@map_name)
    super(x, y, width, WLH + 32)   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.back_opacity = 255
    self.caption = "LOCATION"
    refresh
  end
 
  def refresh
    self.contents.clear   
    self.contents.draw_text(0, 0, self.contents.width, WLH,  @map_name, 1)
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 48
  end
 
end

class Window_Command < Window_Selectable
 
  alias :eds_pre_ff9_menu_win_command_init :initialize
  def initialize(*args)
    @font_name = Font.default_name   
    eds_pre_ff9_menu_win_command_init(*args)   
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear   
    self.contents.font.name = @font_name
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  def font_name=(name)
    @font_name = name   
  end
 
end

class Window_Uses < Window_Base 
 
  def initialize(right, y, item)   
    @remaining_text = "Remaining: #{$game_party.item_number(item)}"
    w = 160
    x = right ? (544 - w) : 0   
    super(x, y, w, WLH + 32)   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    refresh
  end
 
  def item=(item)   
    return unless item.is_a?(RPG::Item)
    @remaining_text = "Remaining: #{$game_party.item_number(item)}"     
    refresh
  end
 
  def visible=(value)
    super
    refresh if value
  end
 
  def refresh
    self.contents.clear
    self.contents.draw_text(self.contents.rect, @remaining_text, 1)
  end
 
end

class Window_SkillUses < Window_Base 
 
  def initialize(right, y, actor, skill)   
    @remaining_text = make_info_string(actor, skill)
    w = 182
    x = right ? (544 - w) : 0       
    super(x, y, w, WLH + 32) 
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    refresh
  end
 
  def make_info_string(actor, skill)
    return if actor.nil? || skill.nil?
    cost = actor.calc_mp_cost(skill)
    return "Unlimited" if cost < 1
    return "Remaining: #{actor.mp / cost}"
  end
 
  def set_skill(actor, skill)
    return if actor.nil? || skill.nil?
    return unless skill.is_a?(RPG::Skill)
    @remaining_text = make_info_string(actor, skill)   
    refresh
  end
 
  def visible=(value)
    super
    refresh if value
  end
 
  def refresh   
    self.contents.clear
    self.contents.draw_text(self.contents.rect, @remaining_text, 1)
  end
 
end

class Window_MenuStatus < Window_Selectable
   
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 452, 352)     
    @bg_image = Cache.picture('FF9_MenuBar') 
    @arrow_image = Cache.picture('Pointer')
    create_arrow_sprites
    @sprite_last_draw_x = 0
    @sprite_inc_x = 1
    @intern_frame_count = 0   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.opacity = 0   
    self.z = 99       
    self.active = false
    self.index = -1
    refresh
  end
  #--------------------------------------------------------------------------
  # * create_arrow_sprites
  #--------------------------------------------------------------------------
  def create_arrow_sprites 
    @arrow_sprites = []
    for i in 0..3
      @arrow_sprites << Sprite.new
      @arrow_sprites[i].bitmap = Bitmap.new(@arrow_image.width + 7, @arrow_image.height)
      @arrow_sprites[i].x = self.x
      @arrow_sprites[i].y = (i * 80) + self.y + 40     
      @arrow_sprites[i].z = 999       
    end
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.members.size
    draw_background_windows if FF9_Config::DRAW_FOR_ALL
    for actor in $game_party.members
      x = 104
      y = actor.index * 80     
      y_offset = 6     
      draw_background_window(0, y) unless FF9_Config::DRAW_FOR_ALL
      draw_actor_face(actor, 19, y + 4, 73)
      draw_actor_name(actor, x, y + y_offset)
      draw_actor_class(actor, x + 125, y + y_offset) if actor.states.empty?
      draw_actor_level(actor, x, y + WLH * 1)     
      draw_actor_state(actor, x + 125, y + y_offset)
      draw_actor_hp(actor, x, ((y) + (WLH * 2) - 5))
      draw_actor_mp(actor, x + 125, ((y) + (WLH * 2) - 5))
    end
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def update_cursor             
    if @index < 0             
      #refactor into update arrow method
      @arrow_sprites.each { |sprite| sprite.bitmap.clear }
      return
    end
    @intern_frame_count += 1
    return unless (@intern_frame_count % 5) == 0
    if @sprite_last_draw_x >= 7     
      @sprite_inc_x = -1
    elsif @sprite_last_draw_x <= 0
      @sprite_inc_x = 1
    end
    update_arrow_sprites
  end
  #--------------------------------------------------------------------------
  # * update_arrow_sprites
  #--------------------------------------------------------------------------
  def update_arrow_sprites   
    @arrow_sprites.each { |sprite| sprite.bitmap.clear }   
    if @index == 99   # all selected       
      return unless (@intern_frame_count % 10) == 0
      draw_arrow_sprites(@arrow_sprites, false)     
    else
      draw_arrow_sprites([@arrow_sprites[@index]], FF9_Config::ANIMATE_CURSOR)     
    end
  end
  #--------------------------------------------------------------------------
  # * draw_arrow_sprites
  #--------------------------------------------------------------------------
  def draw_arrow_sprites(sprites, animated=true)
    for sprite in sprites         
      image_x = animated ? @sprite_last_draw_x + @sprite_inc_x : 0
      @sprite_last_draw_x = image_x           
      sprite.bitmap.blt(image_x, 0, @arrow_image, @arrow_image.rect)
    end
  end
  #--------------------------------------------------------------------------
  # * y=
  #--------------------------------------------------------------------------
  def y=(value)
    super
    unless @arrow_sprites.nil?
      for i in 0..3
        @arrow_sprites[i].y = (i * 80) + value + 40
      end
    end
  end
  #--------------------------------------------------------------------------
  # * x=
  #--------------------------------------------------------------------------
  def x=(value)
    super
    unless @arrow_sprites.nil?
      @arrow_sprites.each { |sprite| sprite.x = value }
    end
  end
  #--------------------------------------------------------------------------
  # * draw_background_windows
  #--------------------------------------------------------------------------
  def draw_background_windows 
    self.contents.blt(0, 0, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 80, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 160, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 240, @bg_image, @bg_image.rect)   
  end 
  #--------------------------------------------------------------------------
  # * draw_background_window (single)
  #--------------------------------------------------------------------------
  def draw_background_window(x, y)
    self.contents.blt(x, y, @bg_image, @bg_image.rect)   
  end
  #--------------------------------------------------------------------------
  # * visible
  #--------------------------------------------------------------------------
  def visible=(value)
    super
    @arrow_sprites.each { |sprite| sprite.visible = value }
  end
  #--------------------------------------------------------------------------
  # * dispose
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_win_stat_dispose :dispose
  def dispose
    eds_pre_ff9_win_stat_dispose
    @arrow_sprites.each { |sprite| sprite.dispose }
  end
 
  def enable_cursor?(rect=nil)
    # for compatibility with the improved command window
    return false
  end   
 
end

class Scene_Menu
     
  #--------------------------------------------------------------------------
  # * create_menu_background (only if USE_CUSTOM_BACK == true)
  #--------------------------------------------------------------------------
  if FF9_Config::USE_CUSTOM_BACK
   
    def create_menu_background
      @menuback_sprite = Sprite.new
      @menuback_sprite.bitmap = Cache.picture(FF9_Config::BACK_NAME)
      @menuback_sprite.color.set(16, 16, 16, 128)
      update_menu_background
    end
   
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------   
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s6 = Vocab::game_end
    # just changed the width of the window here
    @command_window = Window_Command.new(132, [s1, s2, s3, s4,s6])
    @command_window.index = @menu_index
    @command_window.stretch = false if FF9_Config::USE_TILED_WINDOW
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end 
    # new stuff here   
    @command_window.font_name = FF9_Config::DEFAULT_FONT
    @command_window.x = 528 - @command_window.width
    @command_window.y = 16
    @command_window.back_opacity = 255
  end
  #--------------------------------------------------------------------------
  # * This method is intended to fix some compatibility problems
  #   that scripts run into when they change the command window
  #   in some way.  So, we let them override "create_command_window"
  #   and we simply don't call it from the "start" method.
  #   Instead, we call this method which does some extra checking.
  #--------------------------------------------------------------------------
  def eds_create_command_window
    create_command_window
    old_commands = @command_window.commands
    return if old_commands == [ Vocab::item,
                                Vocab::skill,
                                Vocab::equip,
                                Vocab::status,
                                Vocab::game_end ]

    # so we know that the default command window is not being used
    # we don't want to create another window, so we manually resize it
    # before the player can see. 
    long = ''
    # dynamically size the width based on the longest command
    old_commands.each { |command| long = command if command.length > long.length }
    # set the index to -1 so that the rectangle disappears.
    # if we don't do this, you can see the selection rectangle resize.
    @command_window.index = -1
    @command_window.width = @command_window.contents.text_size(long).width + 42
    @command_window.contents = Bitmap.new( @command_window.width - 32,
                                           @command_window.height - 32 )   
    @command_window.font_name = FF9_Config::DEFAULT_FONT
    @command_window.x = 528 - @command_window.width
    @command_window.y = 16
    @command_window.back_opacity = 255       
    @command_window.refresh
    @command_window.index = @menu_index
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    #call this method for compatibility
    eds_create_command_window
    @gold_window = Window_TimeGold.new(372, 342)
    @gold_window.y -= @gold_window.height
    @gold_window.x = 528 - @gold_window.width
    @status_window = Window_MenuStatus.new(0, 12)
    @location_window = Window_MenuLocation.new(0, 0)
    @location_window.x = 528 - @location_window.width 
    @location_window.y = 398 - @location_window.height
  end
 
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_menu_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_menu_terminate
    @location_window.dispose
  end
 
end

class Scene_Item < Scene_Base
 
  #--------------------------------------------------------------------------
  # * start
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_start :start
  def start       
    eds_pre_ff9_menu_scene_item_start
    @target_window.y = 58   
    @uses_window = Window_Uses.new(true, @help_window.height, nil)
    @uses_window.visible = false
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #   - right-align flag ignored
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_win_stat_show_target_window :show_target_window
  def show_target_window(right) 
    @uses_window.item = @item_window.item
    @uses_window.visible = true   
    @item_window.visible = false   
    @item_window.active = false   
    @target_window.visible = true
    @target_window.active = true 
    @viewport.rect.set(0, 0, 544, 416)
    @viewport.ox = 0
  end
  #--------------------------------------------------------------------------
  # * hide_target_window
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_hide_target_window :hide_target_window
  def hide_target_window
    eds_pre_ff9_menu_scene_item_hide_target_window 
    @uses_window.visible = false unless @uses_window.nil?
    @item_window.visible = true       
  end
  #--------------------------------------------------------------------------
  # * determine_target
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_determine_target :determine_target
  def determine_target   
    eds_pre_ff9_menu_scene_item_determine_target
    @uses_window.item = @item_window.item
  end   
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_item_terminate
    @uses_window.dispose
  end
 
end

class Scene_Skill < Scene_Base
 
  #--------------------------------------------------------------------------
  # * start
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_start :start
  def start       
    eds_pre_ff9_menu_scene_skill_start
    @target_window.y = 58         
    @uses_window = Window_SkillUses.new(true, @help_window.height, nil, nil)
    @uses_window.visible = false
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #   - right-align flag ignored
  #--------------------------------------------------------------------------
  def show_target_window(right)
    @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill)
    @uses_window.visible = true
    @status_window.visible = false
    @skill_window.visible = false
    @skill_window.active = false   
    @target_window.visible = true
    @target_window.active = true 
    @viewport.rect.set(0, 0, 544, 416)
    @viewport.ox = 0
  end
  #--------------------------------------------------------------------------
  # * hide_target_window
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_hide_target_window :hide_target_window
  def hide_target_window
    eds_pre_ff9_menu_scene_skill_hide_target_window 
    @uses_window.visible = false unless @uses_window.nil?
    @skill_window.visible = true
    @status_window.visible = true
  end
  #--------------------------------------------------------------------------
  # * determine_target
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_determine_target :determine_target
  def determine_target   
    eds_pre_ff9_menu_scene_skill_determine_target
    @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill)
  end   
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_item_terminate
    @uses_window.dispose
  end
 
end

MfG

Deity


Hat leider net geklappt, liegt vllt an einem meine anderen Scripte :/
Aber trotzdem danke für die Hilfe.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Februar 24, 2009, 15:12:04
@Seph
Hast du vielleicht andere Menübasierendescripte, die hinter diesem Script eingefügt wurden? Da das letzte Script meistens die größte Wirkung hat solltest du das mal überprüfen.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Seph am Februar 25, 2009, 17:23:30
Hab nur das Tankentai ATB addon dass im Menü ein neues Feld hinzufügt für die ATB-EInstellugnen. Keine Ahnung obs daran liegt.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Februar 25, 2009, 20:14:56
Hier bitte schön ich habe es an den ATB angepasst. Einzige Vorraussetzung für das funktionieren,
das Script hier muss hinter ATB Addon ( ATB 1.1b) eingefügt werden.
=begin                 
                          BigEd781' Final Fantasy IX Menu
            Credit to PainHurt at rpgmakervx.net for most of the graphics
=end

module FF9_Config 
   
  # set this to 'true' if you would like to use a cusotm background image
  USE_CUSTOM_BACK = true
  # the name of the custom background image, without the file extension (no .png)
  BACK_NAME = 'StoneBackground'
  # if you set this to 'true', you must be using the enhanced
  # Window class script that I posted:  You can get that script here:
  # http://www.rpgmakervx.net/index.php?showtopic=8042&hl=
  # this will make the provided FF9 windowskin look really good.
  USE_TILED_WINDOW = false
 
  # When this is set to 'true', the menu cirsor will animate back and forth.
  # When set to 'false', it will stay in place
  ANIMATE_CURSOR = true
 
  # When set to 'true', four background panels are always drawn.
  # When set to 'false', a panel is only drawn for each party member
  DRAW_FOR_ALL = true
 
  # the name of the font used in the menu. 
  # use 'Font.default_name' for the default font.  Try 'Centaur' for a nice, smaller font.
  DEFAULT_FONT = Font.default_name
 
  # set this to true to enable the font above for all windows.
  # also sets the back_opacity to 255 for all windows. 
  # I recommend setting this to 'true' to maintain a consistent look.
  USE_FOR_ALL = true
 
  # the icon id for your gold window portion of the menu, 194 by default.
  GOLD_ICON_ID = 194
 
end

if FF9_Config::USE_FOR_ALL   
 
  Font.default_name = FF9_Config::DEFAULT_FONT
 
  class Window_Base < Window
   
    alias :eds_pre_ff9_menu_base_initialize :initialize
    def initialize(*args)
      eds_pre_ff9_menu_base_initialize(*args) 
      self.stretch = false if FF9_Config::USE_TILED_WINDOW
      self.back_opacity = 255
    end
   
  end
 
end

class Window_Base < Window
 
  CAPTION_COLOR = Color.new(255,255,255)#(228, 228, 228)
  CAPTION_HEIGHT = 12
  X_OFFSET = 16
  Y_OFFSET = -5
 
  alias :eds_pre_window_caption_intialize :initialize
  def initialize(*args)     
    eds_pre_window_caption_intialize(*args)   
    @caption_sprite = Sprite_Base.new(self.viewport)
    create_caption_bitmap(1, CAPTION_HEIGHT)       
    @caption_sprite.x = self.x + X_OFFSET
    @caption_sprite.y = self.y + Y_OFFSET
    @caption_sprite.z = self.z + 1
  end
 
  def x=(value)
    super
    @caption_sprite.x = value + X_OFFSET unless @caption_sprite.nil?
  end
 
  def y=(value)
    super
    @caption_sprite.y = value + Y_OFFSET unless @caption_sprite.nil?
  end
 
  def z=(value)
    super
    @caption_sprite.z = value + 1 unless @caption_sprite.nil?
  end
 
  def caption=(text)
    return unless text.is_a?(String)
    return if text.empty?
    @caption = text
    width = @caption_sprite.bitmap.text_size(@caption).width
    create_caption_bitmap(width, CAPTION_HEIGHT)   
    draw_caption
  end 
 
  def create_caption_bitmap(w, h)
    @caption_sprite.bitmap = Bitmap.new(w, h)   
    @caption_sprite.bitmap.font.size = 12
    @caption_sprite.bitmap.font.color = CAPTION_COLOR
    @caption_sprite.bitmap.font.bold = true 
  end
 
  def draw_caption
    unless @caption.nil?
      h = @caption_sprite.bitmap.height
      w = @caption_sprite.bitmap.width
      rect = Rect.new( 0, h / 2, w, h / 4 )
      @caption_sprite.bitmap.fill_rect(rect, Color.new(0, 0, 0, 96))     
      @caption_sprite.bitmap.draw_text(@caption_sprite.src_rect, @caption)     
    end
  end
 
  alias :eds_pre_caption_window_dispose :dispose
  def dispose
    eds_pre_caption_window_dispose
    @caption_sprite.dispose
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 32
  end   
 
end

class Window_TimeGold < Window_Base 
   
  def initialize(x, y) 
    width = find_window_width("9999999")
    width = 140 if width < 140
    super(x, y, width, WLH + 58)   
    self.back_opacity = 255
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.caption = "TIME & #{Vocab.gold}"
    @time_icon = Cache.picture('Timer') 
    @intern_frame_count = 0
    refresh
  end
 
  def draw_time
    sec = (Graphics.frame_count / 60) % 60
    min = (Graphics.frame_count / 3600) % 60
    hrs = Graphics.frame_count / 216000   
    self.contents.font.color = Color.new(255, 255, 255)   
    time = "%02d:%02d:%02d" % [hrs, min, sec]
    self.contents.draw_text(0, 0, self.contents.width, WLH, time, 2)   
  end 
 
  def refresh
    self.contents.clear
    self.contents.blt(0, 0, @time_icon, @time_icon.rect)
    draw_icon(FF9_Config::GOLD_ICON_ID, 2, WLH) 
    draw_currency_value($game_party.gold, 0, WLH, self.contents.width)
    draw_time
  end
 
  def draw_currency_value(value, x, y, width)
    gold_text = Vocab.gold
    cx = contents.text_size(gold_text[0,1]).width
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width - cx - 2, WLH, value, 2)
    self.contents.font.color = system_color
    # just print the first character of Vocab::gold
    self.contents.draw_text(x, y, width, WLH, gold_text[0,1], 2)
  end
 
  def update
    super
    @intern_frame_count += 1
    return if (@intern_frame_count % 60) != 0         
    refresh
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 80
  end
 
end

class Window_MenuLocation < Window_Base
 
  def initialize(x, y)
    @map_name = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name
    width = find_window_width(@map_name)
    super(x, y, width, WLH + 32)   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.back_opacity = 255
    self.caption = "LOCATION"
    refresh
  end
 
  def refresh
    self.contents.clear   
    self.contents.draw_text(0, 0, self.contents.width, WLH,  @map_name, 1)
  end
 
  def find_window_width(text)             
    return Bitmap.new(544, 416).text_size(text).width + 48
  end
 
end

class Window_Command < Window_Selectable
 
  alias :eds_pre_ff9_menu_win_command_init :initialize
  def initialize(*args)
    @font_name = Font.default_name   
    eds_pre_ff9_menu_win_command_init(*args)   
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear   
    self.contents.font.name = @font_name
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  def font_name=(name)
    @font_name = name   
  end
 
end

class Window_Uses < Window_Base 
 
  def initialize(right, y, item)   
    @remaining_text = "Remaining: #{$game_party.item_number(item)}"
    w = 160
    x = right ? (544 - w) : 0   
    super(x, y, w, WLH + 32)   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    refresh
  end
 
  def item=(item)   
    return unless item.is_a?(RPG::Item)
    @remaining_text = "Remaining: #{$game_party.item_number(item)}"     
    refresh
  end
 
  def visible=(value)
    super
    refresh if value
  end
 
  def refresh
    self.contents.clear
    self.contents.draw_text(self.contents.rect, @remaining_text, 1)
  end
 
end

class Window_SkillUses < Window_Base 
 
  def initialize(right, y, actor, skill)   
    @remaining_text = make_info_string(actor, skill)
    w = 182
    x = right ? (544 - w) : 0       
    super(x, y, w, WLH + 32) 
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    refresh
  end
 
  def make_info_string(actor, skill)
    return if actor.nil? || skill.nil?
    cost = actor.calc_mp_cost(skill)
    return "Unlimited" if cost < 1
    return "Remaining: #{actor.mp / cost}"
  end
 
  def set_skill(actor, skill)
    return if actor.nil? || skill.nil?
    return unless skill.is_a?(RPG::Skill)
    @remaining_text = make_info_string(actor, skill)   
    refresh
  end
 
  def visible=(value)
    super
    refresh if value
  end
 
  def refresh   
    self.contents.clear
    self.contents.draw_text(self.contents.rect, @remaining_text, 1)
  end
 
end

class Window_MenuStatus < Window_Selectable
   
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 452, 352)     
    @bg_image = Cache.picture('FF9_MenuBar') 
    @arrow_image = Cache.picture('Pointer')
    create_arrow_sprites
    @sprite_last_draw_x = 0
    @sprite_inc_x = 1
    @intern_frame_count = 0   
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.opacity = 0   
    self.z = 99       
    self.active = false
    self.index = -1
    refresh
  end
  #--------------------------------------------------------------------------
  # * create_arrow_sprites
  #--------------------------------------------------------------------------
  def create_arrow_sprites 
    @arrow_sprites = []
    for i in 0..3
      @arrow_sprites << Sprite.new
      @arrow_sprites[i].bitmap = Bitmap.new(@arrow_image.width + 7, @arrow_image.height)
      @arrow_sprites[i].x = self.x
      @arrow_sprites[i].y = (i * 80) + self.y + 40     
      @arrow_sprites[i].z = 999       
    end
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.members.size
    draw_background_windows if FF9_Config::DRAW_FOR_ALL
    for actor in $game_party.members
      x = 104
      y = actor.index * 80     
      y_offset = 6     
      draw_background_window(0, y) unless FF9_Config::DRAW_FOR_ALL
      draw_actor_face(actor, 19, y + 4, 73)
      draw_actor_name(actor, x, y + y_offset)
      draw_actor_class(actor, x + 125, y + y_offset) if actor.states.empty?
      draw_actor_level(actor, x, y + WLH * 1)     
      draw_actor_state(actor, x + 125, y + y_offset)
      draw_actor_hp(actor, x, ((y) + (WLH * 2) - 5))
      draw_actor_mp(actor, x + 125, ((y) + (WLH * 2) - 5))
    end
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def update_cursor             
    if @index < 0             
      #refactor into update arrow method
      @arrow_sprites.each { |sprite| sprite.bitmap.clear }
      return
    end
    @intern_frame_count += 1
    return unless (@intern_frame_count % 5) == 0
    if @sprite_last_draw_x >= 7     
      @sprite_inc_x = -1
    elsif @sprite_last_draw_x <= 0
      @sprite_inc_x = 1
    end
    update_arrow_sprites
  end
  #--------------------------------------------------------------------------
  # * update_arrow_sprites
  #--------------------------------------------------------------------------
  def update_arrow_sprites   
    @arrow_sprites.each { |sprite| sprite.bitmap.clear }   
    if @index == 99   # all selected       
      return unless (@intern_frame_count % 10) == 0
      draw_arrow_sprites(@arrow_sprites, false)     
    else
      draw_arrow_sprites([@arrow_sprites[@index]], FF9_Config::ANIMATE_CURSOR)     
    end
  end
  #--------------------------------------------------------------------------
  # * draw_arrow_sprites
  #--------------------------------------------------------------------------
  def draw_arrow_sprites(sprites, animated=true)
    for sprite in sprites         
      image_x = animated ? @sprite_last_draw_x + @sprite_inc_x : 0
      @sprite_last_draw_x = image_x           
      sprite.bitmap.blt(image_x, 0, @arrow_image, @arrow_image.rect)
    end
  end
  #--------------------------------------------------------------------------
  # * y=
  #--------------------------------------------------------------------------
  def y=(value)
    super
    unless @arrow_sprites.nil?
      for i in 0..3
        @arrow_sprites[i].y = (i * 80) + value + 40
      end
    end
  end
  #--------------------------------------------------------------------------
  # * x=
  #--------------------------------------------------------------------------
  def x=(value)
    super
    unless @arrow_sprites.nil?
      @arrow_sprites.each { |sprite| sprite.x = value }
    end
  end
  #--------------------------------------------------------------------------
  # * draw_background_windows
  #--------------------------------------------------------------------------
  def draw_background_windows 
    self.contents.blt(0, 0, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 80, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 160, @bg_image, @bg_image.rect)   
    self.contents.blt(0, 240, @bg_image, @bg_image.rect)   
  end 
  #--------------------------------------------------------------------------
  # * draw_background_window (single)
  #--------------------------------------------------------------------------
  def draw_background_window(x, y)
    self.contents.blt(x, y, @bg_image, @bg_image.rect)   
  end
  #--------------------------------------------------------------------------
  # * visible
  #--------------------------------------------------------------------------
  def visible=(value)
    super
    @arrow_sprites.each { |sprite| sprite.visible = value }
  end
  #--------------------------------------------------------------------------
  # * dispose
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_win_stat_dispose :dispose
  def dispose
    eds_pre_ff9_win_stat_dispose
    @arrow_sprites.each { |sprite| sprite.dispose }
  end
 
  def enable_cursor?(rect=nil)
    # for compatibility with the improved command window
    return false
  end   
 
end

class Scene_Menu
     
  #--------------------------------------------------------------------------
  # * create_menu_background (only if USE_CUSTOM_BACK == true)
  #--------------------------------------------------------------------------
  if FF9_Config::USE_CUSTOM_BACK
   
    def create_menu_background
      @menuback_sprite = Sprite.new
      @menuback_sprite.bitmap = Cache.picture(FF9_Config::BACK_NAME)
      @menuback_sprite.color.set(16, 16, 16, 128)
      update_menu_background
    end
   
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------   
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = N02::ATB_CUSTOMIZE_NAME
    s6 = Vocab::game_end
    # just changed the width of the window here
    @command_window = Window_Command.new(132, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    @command_window.stretch = false if FF9_Config::USE_TILED_WINDOW
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end 
    # new stuff here   
    @command_window.font_name = FF9_Config::DEFAULT_FONT
    @command_window.x = 528 - @command_window.width
    @command_window.y = 16
    @command_window.back_opacity = 255
  end
  #--------------------------------------------------------------------------
  # * This method is intended to fix some compatibility problems
  #   that scripts run into when they change the command window
  #   in some way.  So, we let them override "create_command_window"
  #   and we simply don't call it from the "start" method.
  #   Instead, we call this method which does some extra checking.
  #--------------------------------------------------------------------------
  def eds_create_command_window
    create_command_window
    old_commands = @command_window.commands
    return if old_commands == [ Vocab::item,
                                Vocab::skill,
                                Vocab::equip,
                                Vocab::status,
                                Vocab::game_end ]

    # so we know that the default command window is not being used
    # we don't want to create another window, so we manually resize it
    # before the player can see. 
    long = ''
    # dynamically size the width based on the longest command
    old_commands.each { |command| long = command if command.length > long.length }
    # set the index to -1 so that the rectangle disappears.
    # if we don't do this, you can see the selection rectangle resize.
    @command_window.index = -1
    @command_window.width = @command_window.contents.text_size(long).width + 42
    @command_window.contents = Bitmap.new( @command_window.width - 32,
                                           @command_window.height - 32 )   
    @command_window.font_name = FF9_Config::DEFAULT_FONT
    @command_window.x = 528 - @command_window.width
    @command_window.y = 16
    @command_window.back_opacity = 255       
    @command_window.refresh
    @command_window.index = @menu_index
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    #call this method for compatibility
    eds_create_command_window
    @gold_window = Window_TimeGold.new(372, 342)
    @gold_window.y -= @gold_window.height
    @gold_window.x = 528 - @gold_window.width
    @status_window = Window_MenuStatus.new(0, 12)
    @location_window = Window_MenuLocation.new(0, 0)
    @location_window.x = 528 - @location_window.width 
    @location_window.y = 398 - @location_window.height
  end
 
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_menu_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_menu_terminate
    @location_window.dispose
  end
 
end

class Scene_Item < Scene_Base
 
  #--------------------------------------------------------------------------
  # * start
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_start :start
  def start       
    eds_pre_ff9_menu_scene_item_start
    @target_window.y = 58   
    @uses_window = Window_Uses.new(true, @help_window.height, nil)
    @uses_window.visible = false
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #   - right-align flag ignored
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_win_stat_show_target_window :show_target_window
  def show_target_window(right) 
    @uses_window.item = @item_window.item
    @uses_window.visible = true   
    @item_window.visible = false   
    @item_window.active = false   
    @target_window.visible = true
    @target_window.active = true 
    @viewport.rect.set(0, 0, 544, 416)
    @viewport.ox = 0
  end
  #--------------------------------------------------------------------------
  # * hide_target_window
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_hide_target_window :hide_target_window
  def hide_target_window
    eds_pre_ff9_menu_scene_item_hide_target_window 
    @uses_window.visible = false unless @uses_window.nil?
    @item_window.visible = true       
  end
  #--------------------------------------------------------------------------
  # * determine_target
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_determine_target :determine_target
  def determine_target   
    eds_pre_ff9_menu_scene_item_determine_target
    @uses_window.item = @item_window.item
  end   
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_item_terminate
    @uses_window.dispose
  end
 
end

class Scene_Skill < Scene_Base
 
  #--------------------------------------------------------------------------
  # * start
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_start :start
  def start       
    eds_pre_ff9_menu_scene_skill_start
    @target_window.y = 58         
    @uses_window = Window_SkillUses.new(true, @help_window.height, nil, nil)
    @uses_window.visible = false
  end 
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #   - right-align flag ignored
  #--------------------------------------------------------------------------
  def show_target_window(right)
    @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill)
    @uses_window.visible = true
    @status_window.visible = false
    @skill_window.visible = false
    @skill_window.active = false   
    @target_window.visible = true
    @target_window.active = true 
    @viewport.rect.set(0, 0, 544, 416)
    @viewport.ox = 0
  end
  #--------------------------------------------------------------------------
  # * hide_target_window
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_hide_target_window :hide_target_window
  def hide_target_window
    eds_pre_ff9_menu_scene_skill_hide_target_window 
    @uses_window.visible = false unless @uses_window.nil?
    @skill_window.visible = true
    @status_window.visible = true
  end
  #--------------------------------------------------------------------------
  # * determine_target
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_determine_target :determine_target
  def determine_target   
    eds_pre_ff9_menu_scene_skill_determine_target
    @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill)
  end   
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_item_terminate
    @uses_window.dispose
  end
 
end

MfG

Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Seph am Februar 27, 2009, 14:24:56
Thx, funktioniert. Gute Arbeit :D
Titel: Re: Hilfe zu Skripten.
Beitrag von: N0rtekCriss am März 07, 2009, 17:07:12
hey leutz bin neu hier und weis jetzt nicht so recht ob das was ich fragen willl hier rein gehört xD

allsoooo
ich suche ein script was es mir erlaubt mehr sachen an mein cahr zu binden wie ringe amulet und so weiter
allso normal kann man 5 sachen an einem char binden  aber ich hätte gern noch 5 weiterre slots für ringe ohrringe und amulet
ich hoffe ihr wisst was ich meine  allso wenn jemand weiss wie es geht bitte schreiben  wenn möglich gleich mit script ^^
und anleitung wie ich es einbaun kann

danke schön

mfg N0rtekcriss
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 07, 2009, 22:25:53
Könnte sein, dass das doch zu Requests gehört aber trotzdem hier die Antwort.
Dieser Script ist meiner Meinung nach, genau das richtige solange du ein bischen Englisch kannst.
KGC EquipExtension erlaubt es dir weitere Plätze im Equipment bereich zu erschaffen. Der hacken ist, dass du durch eine Abfrage nichtmehr auf ein Equipment zurückgreifen kannst. Das heisst du kannst nicht abfragen ob "Player 1" ein "Long Sword" an hat.
Ich erlaube es mir mal das Script direkt zu posten.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/   ?                Skill CP System - KGC_SkillCPSystem               ? VX ?
#_/   ?                      Last Update: 2008/09/06                          ?
#_/   ?            Translated and Extended Updates by Mr. Anonymous           ?
#_/   ? KGC Site:                                                             ?
#_/   ? http://f44.aaa.livedoor.jp/~ytomy/                                    ?
#_/   ? Translator's Blog:                                                    ?
#_/   ? http://mraprojects.wordpress.com                                      ?
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/         This script has two functions equipment-related functions.
#_/   The first function is the ability to create moire 'slots' for equipment,
#_/  such as separating Boots and Gauntlets from mere 'accessories'.
#_/  It is possible to also create additional equipment slots. See the customize
#_/  block for more details.
#_/ 
#_/   The second function is an "EP" (Equipment Point) System, which allows you
#_/  to designate how many 'points' an item costs to successfully equip. A
#_/  character's total EP expenditure is increased upon leveling up.
#_/  This introduces more strategy-oriented character customization.
#_/----------------------------------------------------------------------------
#_/                        ? Instructions For Usage ?
#_/  To make use of these functions, you must insert the tag into the desired
#_/   item's "Notes" box located in the Armor tab of the database. For example,
#_/   you want the Leather Boots to be bound to the "Legs" slot and cost
#_/   2 EP to equip. Insert <equipkind Legs>, press enter, then add <EP 2>
#_/ 
#_/                                ? Tags ?
#_/  <equipkind EquipType>
#_/   Where EquipType = The name of the type of equipment. See EXTRA_EQUIP_KIND
#_/                                                        below.
#_/  <EP Amount>
#_/   Where Amount = The desired amount of EP the item requires to equip.
#_/
#_/
#_/                           ? Script Commands ?
#_/  These commands are used in "Script" function in the third page of event
#_/   commands under "Advanced".
#_/
#_/  * set_actor_equip_type(ActorID, [EquipType])
#_/     Allows you to manually specify an actor's equipment slots. a
#_/      Ex. set_actor_equip_type(2, [0, 2, 3, 3, 3])
#_/      If "nil"(without quotations) is appointed to EquipType, the default
#_/      EQUIP_TYPE (see below) is used. Trust me, it's useful!
#_/
#_/  * change_actor_equipment(ActorID, equipslot_index, ItemID)
#_/     Allows you to change the equipment of a specified actor.
#_/      equipslot_index works by finding the equipment slot number, which is
#_/      different from EQUIP_TYPE. Setting ItemID to 0 will remove the item.
#_/                   With the default setup, we see:
#_/      0=Weapon 1=Shield 2=Headgear 3=Armor 4=Accessory 5=Legs 6=Arms
#_/
#_/                         So, for an example:
#_/                  change_actor_equipment(1, 3, 15)
#_/ Would change Ralph's(Actor01 in the database) armor to Chainmail(By default)
#_/                                           
#_/     
#_/============================================================================
#_/ Installation: This script must be inserted below KCG_ExtendedEquipScene
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#=============================================================================#
#                           ? Customization ?                                 #
#=============================================================================#

module KGC
  module EquipExtension
  #           ? Extended Equipment Classification Names ?
  #  You may designate the names of additional equipment slots here.
  #   Each time you designate a new equipment slot, it is assigned a number.
  #   The first four equipment types (Shield, Helmet, Armor, and Accessory) are
  #   given as 1, 2, 3, 4, respectively. Then the values below are assigned in
  #   order. By default "Legs" and "Arms" would be 4 and 5. It is possible
  #   to add additional slots.
  #  Example: EXTRA_EQUIP_KIND = ["Legs", "Arms", "Skill Book"]
  EXTRA_EQUIP_KIND = ["Legs", "Arms"]

  #                     ? Equipment Placement ?
  #  This allows you to arrange the equip slots as you see fit on the equipment
  #   menu. Note the order listed below.
  #                  ** Equipment Classification Summary **
  # 0.Shield  1.Headgear  2.Armor  3.Accessory  4. "Legs"  5."Arms"
  #  Note that these can be changed as desired. By default, we've enabled two
  #   accessory slots at the end, instead of one. If you plan on adding extra
  #   equip slots, the category's cooresponding number must be inserted in the
  #   brackets [] below.
  EQUIP_TYPE = [0, 1, 2, 5, 4, 3, 3]

  #                       ? EP (Equip Point) System ?
  #  These settings are for the Equipment Point Limit System.
  #   This toggle allows you to use the EP system if set to true.
  #   If set to false, the EP system will be disabled.
  USE_EP_SYSTEM = true
  # VOCAB_EP appears once a character gains EP from battle. (Not Tested)
  VOCAB_EP   = "EP"
  # VOCAB_EP_A appears above the EP gauge.
  VOCAB_EP_A = "EP"
  # This toggle allows you to display the EP gauge in the actor status window.
  SHOW_STATUS_EP = true

  #                          ? Default EP Cost ?
  #  Allows you to change the default amount an item costs to equip in EP.
  #   (When not otherwise specified.)
  DEFAULT_EP_COST   = 1
  #  This toggle allows you to hide the EP cost of an item if its cost is 0.
  #   true = hide
  #   false = show
  HIDE_ZERO_EP_COST = true

  #                        ? EP Values & Level Gain ?
  #  Maximum EP that can be spent equipping items.
  EP_MAX = 20
  # Characters begin with this amount of EP.
  EP_MIN = 5
  # ? EP Level Gain
  #  This is the formula for the amount of EP gained upon leveling up.
  #  The result of this formula is automatically converted to an integer.
  EP_CALC_EXP = "level * 0.3 + 4"
  # ? Individual Actor EP Level Gain
  PERSONAL_EP_CALC_EXP = [] # <- Do not alter or remove!
  #  Below here, you may specify formulas for individual actors that dictates
  #   the amount of EP they recieve upon leveling up. Like EP_CALC_EXP, the
  #   result is converted to an integer.
  #  Format: PERSONAL_EP_CALC_EXP[ActorID] = "Formula"
  #  The format is just like EP_CALC_EXP, except each actor is defined after
  #   PERSONAL_EP_CALC_EXP in brackets [].
  #  Any actor not specified uses the EP_CALC_EXP formula.
  #  Example:
  # PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
  #                 ? Insert Personal EP Calculations Below Here ?
  PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
 
 
 
  #                 ? Insert Personal EP Calculations Above Here ?
 
  #                        ? EP Gauge Colorization ?
  #  Allows you to change the color of the EP gauges.
  #  The color can also be determined by a red, green, and blue values.
  #  Example: GAUGE_NORMAL_START_COLOR = Color.new(255, 0, 0)  <- This is red.
  #   This method of color assignment is much like Tint Screen event command.
  #
  #  This affects the color of number that represents EP cost.
  EP_COST_COLOR        = 23
  #  This is the fill color for the early phase of the guage.
  EP_GAUGE_START_COLOR = 28
  #  This is the fill color for the late phase of the guage. (When full)
  EP_GAUGE_END_COLOR   = 29
  end
end

#=============================================================================#
#                          ? End Customization ?                              #
#=============================================================================#

#=================================================#
#                    IMPORT                       #
#=================================================#

$imported = {} if $imported == nil
$imported["EquipExtension"] = true

#=================================================#

module KGC::EquipExtension
  # Unless the EP system is used...
  unless USE_EP_SYSTEM
    SHOW_STATUS_EP = false
    HIDE_ZERO_EP_COST = true
  end

#==============================================================================
# ? KGC::EquipExtension::Regexp
#==============================================================================
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#                          Note Field Tag Strings                             #
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#  Whatever word(s) are after the separator ( | ) in the following lines are
#   what are used to determine what is searched for in the "Note" section of
#   an item or armor.

  #  Regular expressions defined
  module Regexp
    # Base Item Module
    module BaseItem
      #  EP Tag String
      EP_COST = /<EP\s*(\d+)>/i
      #  Item Type Tag String
      # Special note: I cannot get this tag to work right. If anyone knows how
      # this works or if it's bugged, please let me know.
      EQUIP_TYPE = /<(?:EQUIP_TYPE|equiptype)\s*(\d+(?:\s*,\s*\d+)*)>/
    end

    #  Base Armor Module
    module Armor
      #  Armor Type Tag String
      EQUIP_KIND = /<(?:EQUIP_KIND|equipkind)\s*(.+)>/i
    end
   
  end
end

#=================================================#

#==============================================================================
# ? KGC::Commands
#==============================================================================

module KGC
module Commands
  module_function
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def restore_equip
    (1...$data_actors.size).each { |i|
      actor = $game_actors[i]
      actor.restore_equip
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     actor_id   : ???? ID
  #     equip_type : ?????
  #--------------------------------------------------------------------------
  def set_actor_equip_type(actor_id, equip_type = nil)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.equip_type = equip_type
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #     actor_id   : ???? ID
  #     index      : ???? (0~)
  #     item_id    : ?? or ?? ID (0 ???)
  #--------------------------------------------------------------------------
  def change_actor_equipment(actor_id, index, item_id)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.change_equip_by_id(index, item_id)
  end
end
end

class Game_Interpreter
  include KGC::Commands
end

#=================================================#

#==============================================================================
# ¦ Vocab
#==============================================================================

module Vocab
  # EP
  def self.ep
    return KGC::EquipExtension::VOCAB_EP
  end

  # EP (?)
  def self.ep_a
    return KGC::EquipExtension::VOCAB_EP_A
  end

  # ?????
  def self.extra_armor(index)
    return KGC::EquipExtension::EXTRA_EQUIP_KIND[index]
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::BaseItem
#==============================================================================

class RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    @__ep_cost = KGC::EquipExtension::DEFAULT_EP_COST
    @__equip_type = []

    self.note.split(/[\r\n]+/).each { |line|
      case line
      when KGC::EquipExtension::Regexp::BaseItem::EP_COST
        # ?? EP
        @__ep_cost = $1.to_i
      when KGC::EquipExtension::Regexp::BaseItem::EQUIP_TYPE
        # ?????
        @__equip_type = []
        $1.scan(/\d+/) { |num|
          @__equip_type << num.to_i
        }
      end
    }

    # EP ???????????? EP = 0
    @__ep_cost = 0 unless KGC::EquipExtension::USE_EP_SYSTEM
  end
  #--------------------------------------------------------------------------
  # ? ?? EP
  #--------------------------------------------------------------------------
  def ep_cost
    create_equip_extension_cache if @__ep_cost == nil
    return @__ep_cost
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def equip_type
    create_equip_extension_cache if @__equip_type == nil
    return @__equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::Armor
#==============================================================================

class RPG::Armor < RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    super
    @__kind = -1

    self.note.split(/[\r\n]+/).each { |line|
      if line =~ KGC::EquipExtension::Regexp::Armor::EQUIP_KIND
        # ????
        e_index = KGC::EquipExtension::EXTRA_EQUIP_KIND.index($1)
        next if e_index == nil
        @__kind = e_index + 4
      end
    }
  end

unless $@
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  alias kind_KGC_EquipExtension kind
  def kind
    create_equip_extension_cache if @__kind == nil
    return (@__kind == -1 ? kind_KGC_EquipExtension : @__kind)
  end
end

end

#=================================================#

#==============================================================================
# ¦ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  attr_writer   :equip_type               # ?????
  #--------------------------------------------------------------------------
  # ? ??????
  #     actor_id : ???? ID
  #--------------------------------------------------------------------------
  alias setup_KGC_EquipExtension setup
  def setup(actor_id)
    actor = $data_actors[actor_id]
    @extra_armor_id = []

    setup_KGC_EquipExtension(actor_id)

    restore_equip
  end
  #--------------------------------------------------------------------------
  # ? MaxEP ??
  #--------------------------------------------------------------------------
  def maxep
    calc_exp = KGC::EquipExtension::PERSONAL_EP_CALC_EXP[self.id]
    if calc_exp == nil
      calc_exp = KGC::EquipExtension::EP_CALC_EXP
    end
    n = Integer(eval(calc_exp))
    return [[n, ep_limit].min, KGC::EquipExtension::EP_MIN].max
  end
  #--------------------------------------------------------------------------
  # ? EP ??
  #--------------------------------------------------------------------------
  def ep
    n = 0
    equips.compact.each { |item| n += item.ep_cost }
    return [maxep - n, 0].max
  end
  #--------------------------------------------------------------------------
  # ? EP ????
  #--------------------------------------------------------------------------
  def ep_limit
    return KGC::EquipExtension::EP_MAX
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def equip_type
    if @equip_type.is_a?(Array)
      return @equip_type
    else
      return KGC::EquipExtension::EQUIP_TYPE
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def armor_number
    return equip_type.size
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def extra_armor_number
    return [armor_number - 4, 0].max
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ??????
  #--------------------------------------------------------------------------
  def extra_armor_id
    @extra_armor_id = [] if @extra_armor_id == nil
    return @extra_armor_id
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  alias armors_KGC_EquipExtension armors
  def armors
    result = armors_KGC_EquipExtension

    # 5??????????
    extra_armor_number.times { |i|
      armor_id = extra_armor_id[i]
      result << (armor_id == nil ? nil : $data_armors[armor_id])
    }
    return result
  end
  #--------------------------------------------------------------------------
  # ? ????? (?????????)
  #     equip_type : ????
  #     item       : ?? or ?? (nil ??????)
  #     test       : ?????? (???????????????????)
  #--------------------------------------------------------------------------
  alias change_equip_KGC_EquipExtension change_equip
  def change_equip(equip_type, item, test = false)
    change_equip_KGC_EquipExtension(equip_type, item, test)

    # ????????????
    if extra_armor_number > 0
      item_id = item == nil ? 0 : item.id
      case equip_type
      when 5..armor_number  # ?????
        @extra_armor_id = [] if @extra_armor_id == nil
        @extra_armor_id[equip_type - 5] = item_id
      end
    end

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     item : ?????? or ??
  #    ??/???????????????????????
  #--------------------------------------------------------------------------
  alias discard_equip_KGC_EquipExtension discard_equip
  def discard_equip(item)
    last_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]

    discard_equip_KGC_EquipExtension(item)

    curr_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
    return unless item.is_a?(RPG::Armor)  # ?????
    return if last_armors != curr_armors  # ???????

    # ????????
    extra_armor_number.times { |i|
      if extra_armor_id[i] == item.id
        @extra_armor_id[i] = 0
        break
      end
    }

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ???
  #     class_id : ????? ID
  #--------------------------------------------------------------------------
  alias class_id_equal_KGC_EquipExtension class_id=
  def class_id=(class_id)
    class_id_equal_KGC_EquipExtension(class_id)

    return if extra_armor_number == 0  # ????????

    # ?????????????
    for i in 5..armor_number
      change_equip(i, nil) unless equippable?(equips[i])
    end
  end
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     equip_type : ????
  #     item       : ?? or ??
  #--------------------------------------------------------------------------
  def ep_condition_clear?(equip_type, item)
    return true if item == nil  # nil ?????? OK

    curr_item = equips[equip_type]
    offset = (curr_item != nil ? curr_item.ep_cost : 0)
    return false if self.ep < (item.ep_cost - offset)   # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def restore_equip
    return if @__last_equip_type == equip_type

    # ??????·????????
    last_equips = equips
    last_hp = self.hp
    last_mp = self.mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids = battle_skill_ids.clone
    end

    # ?????
    last_equips.each_index { |i| change_equip(i, nil) }

    # ???·????????
    last_equips.compact.each { |item| equip_legal_slot(item) }
    self.hp = last_hp
    self.mp = last_mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids.each_with_index { |s, i| set_battle_skill(i, s) }
    end
    @__last_equip_type = equip_type.clone
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     item : ?? or ??
  #--------------------------------------------------------------------------
  def equip_legal_slot(item)
    if item.is_a?(RPG::Weapon)
      if @weapon_id == 0
        # ?? 1
        change_equip(0, item)
      elsif two_swords_style && @armor1_id == 0
        # ?? 2 (??????)
        change_equip(1, item)
      end
    elsif item.is_a?(RPG::Armor)
      if !two_swords_style && item.kind == equip_type[0] && @armor1_id == 0
        # ????? (????????)
        change_equip(1, item)
      else
        # ??????????
        list = [-1, @armor2_id, @armor3_id, @armor4_id]
        list += extra_armor_id
        # ?????????????????
        equip_type.each_with_index { |kind, i|
          if kind == item.kind && list[i] == 0
            change_equip(i + 1, item)
            break
          end
        }
      end
    end
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Base
#==============================================================================

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     actor : ????
  #--------------------------------------------------------------------------
  def ep_color(actor)
    return knockout_color if actor.maxep > 0 && actor.ep == 0
    return normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 1 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color1
    color = KGC::EquipExtension::EP_GAUGE_START_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 2 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color2
    color = KGC::EquipExtension::EP_GAUGE_END_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ???
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep(actor, x, y, width = 120)
    draw_actor_ep_gauge(actor, x, y, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 30, WLH, Vocab::ep_a)
    self.contents.font.color = ep_color(actor)
    xr = x + width
    if width < 120
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.ep, 2)
    else
      self.contents.draw_text(xr - 90, y, 40, WLH, actor.ep, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxep, 2)
    end
    self.contents.font.color = normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ??????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep_gauge(actor, x, y, width = 120)
    gw = width * actor.ep / [actor.maxep, 1].max
    gc1 = ep_gauge_color1
    gc2 = ep_gauge_color2
    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end
  #--------------------------------------------------------------------------
  # ? ?? EP ???
  #     item    : ?? or ??
  #     rect    : ??????
  #     enabled : ????
  #--------------------------------------------------------------------------
  def draw_equipment_ep_cost(item, rect, enabled = true)
    return if item == nil
    # ?? EP 0 ????????
    return if KGC::EquipExtension::HIDE_ZERO_EP_COST && item.ep_cost == 0

    color = KGC::EquipExtension::EP_COST_COLOR
    self.contents.font.color = (color.is_a?(Integer) ?
      text_color(color) : color)
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(rect, item.ep_cost, 2)
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Equip
#==============================================================================

class Window_Equip < Window_Selectable
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @data = @actor.equips.clone
    @item_max = [@data.size, @actor.armor_number + 1].min
    create_contents

    # ???????
    self.contents.font.color = system_color
    if @actor.two_swords_style
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)
      self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
    else
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
      name = armor_slot_name(@actor.equip_type[0])
      self.contents.draw_text(4, WLH * 1, 92, WLH, name)
    end
    for i in 1...@actor.armor_number
      name = armor_slot_name(@actor.equip_type[i])
      self.contents.draw_text(4, WLH * (i + 1), 92, WLH, name)
    end

    # ??????
    rect = Rect.new(92, 0, self.width - 128, WLH)
    @item_max.times { |i|
      rect.y = WLH * i
      draw_item_name(@data[i], rect.x, rect.y)
      draw_equipment_ep_cost(@data[i], rect)
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     kind : ??
  #--------------------------------------------------------------------------
  def armor_slot_name(kind)
    case kind
    when 0..3
      return eval("Vocab.armor#{kind + 1}")
    else
      return Vocab.extra_armor(kind - 4)
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ????? 1 ????????
  #--------------------------------------------------------------------------
  def cursor_pagedown
    return if Input.repeat?(Input::R)
    super
  end
  #--------------------------------------------------------------------------
  # ? ????? 1 ???????
  #--------------------------------------------------------------------------
  def cursor_pageup
    return if Input.repeat?(Input::L)
    super
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    super
    return unless self.active

    if Input.repeat?(Input::RIGHT)
      cursor_pagedown
    elsif Input.repeat?(Input::LEFT)
      cursor_pageup
    end
  end
end

end

#=================================================#

#==============================================================================
# ¦ Window_EquipItem
#==============================================================================

class Window_EquipItem < Window_Item
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    @item_enabled = []
    super
    @data.each { |item| @item_enabled << enable?(item) }
  end
  #--------------------------------------------------------------------------
  # ? ????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def include?(item)
    return true if item == nil
    if @equip_type == 0
      return false unless item.is_a?(RPG::Weapon)
    else
      return false unless item.is_a?(RPG::Armor)
      return false unless item.kind == @equip_type - 1
    end
    return @actor.equippable?(item)
  end
  #--------------------------------------------------------------------------
  # ? ??????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def enable?(item)
    return false unless @actor.equippable?(item)                      # ????
    return false unless @actor.ep_condition_clear?(@equip_type, item)  # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     index : ????
  #--------------------------------------------------------------------------
  def draw_item(index)
    super(index)   
    rect = item_rect(index)
    item = @data[index]

    # ??????????
    cw = self.contents.text_size(sprintf(":%2d", 0)).width
    rect.width -= cw + 4
    draw_equipment_ep_cost(item, rect, enable?(item))
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #     equip_type : ????
  #--------------------------------------------------------------------------
  def simple_refresh(equip_type)
    # ???????????
    last_equip_type = @equip_type
    @equip_type = equip_type

    @data.each_with_index { |item, i|
      # ????????????????
      if enable?(item) != @item_enabled[i]
        draw_item(i)
        @item_enabled[i] = enable?(item)
      end
    }
    # ???????
    @equip_type = last_equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ Window_EquipStatus
#==============================================================================

class Window_EquipStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  alias refresh_KGC_EquipExtension refresh
  def refresh
    refresh_KGC_EquipExtension

    draw_actor_ep(@actor, 120, 0, 56) if KGC::EquipExtension::USE_EP_SYSTEM
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Status
#==============================================================================

class Window_Status < Window_Base

if KGC::EquipExtension::SHOW_STATUS_EP
  #--------------------------------------------------------------------------
  # ? ???????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  alias draw_basic_info_KGC_EquipExtension draw_basic_info
  def draw_basic_info(x, y)
    draw_basic_info_KGC_EquipExtension(x, y)

    draw_actor_ep(@actor, x + 160, y + WLH * 4)
  end
end

  #--------------------------------------------------------------------------
  # ? ??????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_equipments(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::equip)

    item_number = [@actor.equips.size, @actor.armor_number + 1].min
    item_number.times { |i|
      draw_item_name(@actor.equips[i], x + 16, y + WLH * (i + 1))
    }
  end
end

#=================================================#

#==============================================================================
# ¦ Window_ShopStatus
#==============================================================================

class Window_ShopStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ?????????????????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_parameter_change(actor, x, y)
    return if @item.is_a?(RPG::Item)
    enabled = actor.equippable?(@item)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(x, y, 200, WLH, actor.name)
    if @item.is_a?(RPG::Weapon)
      item1 = weaker_weapon(actor)
    elsif actor.two_swords_style and @item.kind == 0
      item1 = nil
    else
      index = actor.equip_type.index(@item.kind)
      item1 = (index != nil ? actor.equips[1 + index] : nil)
    end
    if enabled
      if @item.is_a?(RPG::Weapon)
        atk1 = item1 == nil ? 0 : item1.atk
        atk2 = @item == nil ? 0 : @item.atk
        change = atk2 - atk1
      else
        def1 = item1 == nil ? 0 : item1.def
        def2 = @item == nil ? 0 : @item.def
        change = def2 - def1
      end
      self.contents.draw_text(x, y, 200, WLH, sprintf("%+d", change), 2)
    end
    draw_item_name(item1, x, y + WLH, enabled)
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_Equip
#==============================================================================

class Scene_Equip < Scene_Base
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  EQUIP_TYPE_MAX = KGC::EquipExtension::EXTRA_EQUIP_KIND.size + 5
  #--------------------------------------------------------------------------
  # ? ?????????
  #     actor_index : ??????????
  #     equip_index : ????????
  #--------------------------------------------------------------------------
  alias initialize_KGC_EquipExtension initialize
  def initialize(actor_index = 0, equip_index = 0)
    initialize_KGC_EquipExtension(actor_index, equip_index)

    unit = ($imported["LargeParty"] ?
      $game_party.all_members : $game_party.members)
    actor = unit[actor_index]
    @equip_index = [@equip_index, actor.armor_number].min
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  alias create_item_windows_KGC_EquipExtension create_item_windows
  def create_item_windows
    create_item_windows_KGC_EquipExtension

    kind = equip_kind(@equip_index)
    EQUIP_TYPE_MAX.times { |i|
      @item_windows[i].visible = (kind == i)
    }
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def update_item_windows
    kind = equip_kind(@equip_window.index)
    for i in 0...EQUIP_TYPE_MAX
      @item_windows[i].visible = (kind == i)
      @item_windows[i].update
    end
    @item_window = @item_windows[kind]
    @item_window.simple_refresh(@equip_window.index)
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     index : ?????????
  #--------------------------------------------------------------------------
  def equip_kind(index)
    if index == 0
      return 0
    else
      return @actor.equip_type[index - 1] + 1
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def update_status_window
    if @equip_window.active
      @status_window.set_new_parameters(nil, nil, nil, nil)
    elsif @item_window.active
      temp_actor = Marshal.load(Marshal.dump(@actor))
      temp_actor.change_equip(@equip_window.index, @item_window.item, true)
      new_atk = temp_actor.atk
      new_def = temp_actor.def
      new_spi = temp_actor.spi
      new_agi = temp_actor.agi
      @status_window.set_new_parameters(new_atk, new_def, new_spi, new_agi)
    end
    @status_window.update
  end
end

  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  alias update_item_selection_KGC_EquipExtension update_item_selection
  def update_item_selection
    if Input.trigger?(Input::C)
      # ????????
      index = @equip_window.index
      item = @item_window.item
      unless item == nil ||
          (@actor.equippable?(item) && @actor.ep_condition_clear?(index, item))
        Sound.play_buzzer
        return
      end
    end

    update_item_selection_KGC_EquipExtension
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_File
#==============================================================================

class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  alias read_save_data_KGC_EquipExtension read_save_data
  def read_save_data(file)
    read_save_data_KGC_EquipExtension(file)

    KGC::Commands.restore_equip
    Graphics.frame_reset
  end
end

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Gilbse am März 09, 2009, 14:35:45
Kann mir jemand nen skript geben der macht das eine uhr im spiel ist?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kiige am März 09, 2009, 17:59:41
also für eine Interne SPielzeit Uhr haben
wir das das Simple Day and Night Script
von hellMinor
http://rpgvx.de/forum.php?topic=271.0


für eine Externe Uhr mit Lokalzeit wüsst ich jetzt nichts,
aber das gehört eher in die Script Request als hier.
Dieser Thread ist wohl eher wenn man Probleme mit Scripten hat
und nicht sucht.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am März 09, 2009, 18:12:46
@gilbse

Ich muss dich jetzt mal ganz direkt fragen was du eigentlich willst.
Im allgemeinen Schnelle-Hilfe-Threat hast du bereits nach einer Uhr gefragt wenn ich mich nicht irre,
und man hat dir ein Top-Skript zur verfügung gestellt.

Du hast nach einer erklärung gefragt, du hast sie bekommen.
Die wurde alles auf dem Presentierteller gereicht.

Also warum stellst du die selbe anfrage noch einmal in einem anderen Threat?!

Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: N0rtekCriss am März 10, 2009, 03:20:15
  brauche hilfe bei der 6ten zeile ich finmd da nix was nicht passt xD aber der bring mir immer nen PIMm ^^ wenn ich das spiel staten will  [ Script ´Input` 238: No MethodERROR occurred.undefined method ´[]` for nil:NilClass]
ich raff das echt nicht xDDDDD


  REG_KVALUES = {0=>32,1=>13,2=>27,3=>96,4=>16,5=>90,6=>88,7=>67,8=>86,9=>66,
                 10=>65,11=>83,12=>68,13=>81,14=>87}
  def convert_keys(key)
    keys = []
    reg_key = 'HKEY_CURRENT_USER\\Software\\Enterbrain\\RGSS'
    data = Registry.read_entry(reg_key, 'ButtonAssign')[10].scan(/./)
    15.times {|i| keys.push(REG_KVALUES) if key == data.unpack('C')[0]}
    keys
  end   
  module_function :convert_keys
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kiige am März 10, 2009, 03:32:14
soweit ich das verstehe,
versteht das Script folgende Zeile nicht
keys = []

ist auch logisch, da anscheinen nichts angegeben ist, versucht er vergeblich etwas
zu lesen das nicht existiert, in [] kommen meißten zahlen oder befehle wie auch namen
aber da nix drinne steht versucht er das[] selber zu analysieren, es macht halt für den Script keinen Sinn

da ich aber nicht weiß was das ganze bezwecken soll
kann ich jetzt nichts anderes sagen als es sinnvoll zu füllen
aber ich glaube, es ist besser wenn du das ganz Script einmal zeigst.
Damit auch ein paar Akzeptable Hilfen angeboten werden können
Titel: Re: Hilfe zu Skripten.
Beitrag von: N0rtekCriss am März 10, 2009, 03:55:04
ok hier ist das ganze script

#=============================================================================
# *** AWorks Input Module(AIM)
#=============================================================================
# Created by AWorks
# Version: 3.00 BETA
# Last Modification: 30/11/2008 (day/month/year)
#=============================================================================
#==== Special Thanks ====
# * Poccil(Peter O.)
#   - For his researchs on modifing ruby objects with C
# * ERZENGEL
#   - For his help in editing ruby strings with C
#=============================================================================
#==== Description ====
# This script simulates the RGSS module "Input". It is not the original module,
# but it has all the original module functions and some new.
#=============================================================================
#==== Requeriments ====
# * AWorks DLL BETA
#=============================================================================
#==== Version History ====
# * Version 1.00
#   - New methods: Input.reiterate?; Input.activated?; Input.press_all;
#     Input.trigger_all; Input.repeat_all; Input.reiterate_all
#   - New Keys: LOWER_LEFT; LOWER_RIGHT; UPPER_LEFT; UPPER_RIGHT
# * Version 1.10
#   - New methods: Input.event; Input.free_key; Input.free_all_keys
# * Version 1.11
#   - Changed the variables: @repeat_time, @reiterate_time, @reiterate and
#     @update_keys to constants variables for easy editing.
# * Version 1.12(Now in Aleworks Input Module Compability Patch 1)
#   - Compability with the event commands: Asing Key and Condition Branch
# * Version 1.20
#   - Little lag reduction
#   - New methods: Input.release?; Input.release_all
# * Version 1.21
#   - Major bug fixed, when using arrays in Input.press?, Input.trigger?,
#     Input.reiterate? and Input.release?
#   - Removed UPDATE_KEYS and REITERATE
# * Version 2.00
#   - Little lag reduction
#   - Rewrited some code
#   - No more need of Win32::Registry, but need Aleworks Library
#   - Key Combos
#     - New Class: Input::Key_Combo
#     - New Methods: Input.add_combo; Input.combo; Input.combos; Input.combos;
#       Input.delete_combo; Input.delete_ended_combos
#   - Mouse Input
#     - New Methods: Input.mouse_double_click?; Input.mouse_x?; Input.mouse_y?;
#       Input.mouse_dragging?; Input.mouse_drag_rect?; Input.mouse_drag_coor?
#     - New Constants: MOUSE_INPUT; MOUSE_DOUBLE_CLICK_TIME;
#       MOUSE_DOUBLE_CLICK_PIX; MOUSE_DRAG_PIX; MOUSE_PRIMARY; MOUSE_SECONDARY
# * Version 2.01
#   - Input.mouse_x? and Input.mouse_y? will now return nil if the mouse pointer
#     is out of the game screen.
# * Version 2.02
#   - Fixed error in Input.press?
# * Version 2.03
#   - Fixed error of the Array Input feature
#   - Updated Input.dir4 and Input.dir8
#   - New Constants: REAL_DIRS
# * Version 2.04
#   - Fixed error direction input error.
# * Version 3.00 BETA
#   - Complete rewrite of the script, now it uses AWorks.dll for input updating
#=============================================================================

#=============================================================================
# ** Module Input
#=============================================================================
module Input
      @keys = []
    @pressed = []
    Mouse_Left = 1
    MOUSE_PRIMARY = 1
    Mouse_Right = 2
    MOUSE_SECONDARY = 2
    Mouse_Middle = 4
    Back= 8
    Tab = 9
    Enter = 13
    Shift = 16
    Ctrl = 17
    Alt = 18
    Esc = 0x1B
    LEFT=0x25
    UP=0x26
    RIGHT=0X27
    DOWN=0x28
    LT = 0x25
    UPs = 0x26 
    RT = 0x27
    DN = 0x28
    Space = 32
    Numberkeys = {}
    Numberkeys[0] = 48        # => 0
    Numberkeys[1] = 49        # => 1
    Numberkeys[2] = 50        # => 2
    Numberkeys[3] = 51        # => 3
    Numberkeys[4] = 52        # => 4
    Numberkeys[5] = 53        # => 5
    Numberkeys[6] = 54        # => 6
    Numberkeys[7] = 55        # => 7
    Numberkeys[8] = 56        # => 8
    Numberkeys[9] = 57        # => 9
    Numberpad = {}
    Numberpad[0] = 45
    Numberpad[1] = 35
    Numberpad[2] = 40
    Numberpad[3] = 34
    Numberpad[4] = 37
    Numberpad[5] = 12
    Numberpad[6] = 39
    Numberpad[7] = 36
    Numberpad[8] = 38
    Numberpad[9] = 33
    Letters = {}
    Letters["A"] = 65
    Letters["B"] = 66
    Letters["C"] = 67
    Letters["D"] = 68
    Letters["E"] = 69
    Letters["F"] = 70
    Letters["G"] = 71
    Letters["H"] = 72
    Letters["I"] = 73
    Letters["J"] = 74
    Letters["K"] = 75
    Letters["L"] = 76
    Letters["M"] = 77
    Letters["N"] = 78
    Letters["O"] = 79
    Letters["P"] = 80
    Letters["Q"] = 81
    Letters["R"] = 82
    Letters["S"] = 83
    Letters["T"] = 84
    Letters["U"] = 85
    Letters["V"] = 86
    Letters["W"] = 87
    Letters["X"] = 88
    Letters["Y"] = 89
    Letters["Z"] = 90
    Fkeys = {}
    Fkeys[1] = 112
    Fkeys[2] = 113
    Fkeys[3] = 114
    Fkeys[4] = 115
    Fkeys[5] = 116
    Fkeys[6] = 117
    Fkeys[7] = 118
    Fkeys[8] = 119
    Fkeys[9] = 120
    Fkeys[10] = 121
    Fkeys[11] = 122
    Fkeys[12] = 123
    Collon = 186        # => \ |
    Equal = 187         # => = +
    Comma = 188         # => , <
    Underscore = 189    # => - _
    Dot = 190           # => . >
    Backslash = 191     # => / ?
    Lb = 219
    Rb = 221
    Quote = 222         # => '"
  #===========================================================================
  # ** Module Registry
  #===========================================================================
  module Registry
    module_function
    RegCloseKey = Win32API.new('advapi32', 'RegCloseKey', 'L', 'L')
    RegOpenKeyExA = Win32API.new('advapi32', 'RegOpenKeyExA', 'LPLLP', 'L')
    RegQueryValueExA = Win32API.new('advapi32', 'RegQueryValueExA','LPLPPP','L')
    HKEYS = {'HKEY_CLASSES_ROOT' => 0x80000000,'HKEY_CURRENT_USER' =>0x80000001,
      'HKEY_LOCAL_MACHINE' => 0x80000002, 'HKEY_USERS' => 0x80000003,
      'HKEY_CURRENT_CONFIG' => 0x80000005}
    #-------------------------------------------------------------------------
    # * Read an Entry
    #-------------------------------------------------------------------------
    def read_entry(key, entry)
      key.sub!(/(.*?)\\/, '')
      if HKEYS[$1] != nil
        hkey = HKEYS[$1]
      else
        return nil
      end
      opened, type, size = [0].pack('V'), [0].pack('V'), [0].pack('V')
      RegOpenKeyExA.call(hkey, key, 0, 131097, opened)
      opened = (opened + [0].pack('V')).unpack('V')[0]
      RegQueryValueExA.call(opened, entry, 0, type, 0, size)
      data = ' ' * (size + [0].pack('V')).unpack('V')[0]
      RegQueryValueExA.call(opened, entry, 0, type, data, size)
      RegCloseKey.call(opened)
      data = data[0, (size + [0].pack('V')).unpack('V')[0]]
      type = (type += [0].pack('V')).unpack('V')[0]
      case type
      when 1
        data.chop
      when 2
        data.chop.gsub(/%([^%]+)%/) { ENV[$1] || $& }
      when 3
        data
      when 4
        (data += [0].pack('V')).unpack('V')[0]
      when 5
        data.unpack('N')[0]
      when 7
        data.split(/\0/)
      when 11
        (data.unpack('VV')[1] << 32) | data[0]
      else
        nil
      end
    end
  end
  #---------------------------------------------------------------------------
  # * Variables definition
  #---------------------------------------------------------------------------
  @time = Array.new(256, 0)
  @press = Array.new(256, false)
  @trigger = Array.new(256, false)
  @repeat = Array.new(256, false)
  @release = Array.new(256, false)
  @dirs = [0, 0]
  #---------------------------------------------------------------------------
  # * API declaration
  #---------------------------------------------------------------------------
  InputInitialize = Win32API.new("Input", 'InputInitialize', 'LLLLLL', '')
  InputUpdate = Win32API.new("Input", 'InputUpdate', '', '')
  #---------------------------------------------------------------------------
  # * convert_keys (internal method)
  #---------------------------------------------------------------------------
  REG_KVALUES = {0=>32,1=>13,2=>27,3=>96,4=>16,5=>90,6=>88,7=>67,8=>86,9=>66,
                 10=>65,11=>83,12=>68,13=>81,14=>87}
  def convert_keys(key)
    keys =
    reg_key = 'HKEY_CURRENT_USER\\Software\\Enterbrain\\RGSS'
    data = Registry.read_entry(reg_key, 'ButtonAssign')[10, 25].scan(/./)
    15.times {|i| keys.push(REG_KVALUES[i]) if key == data[i].unpack('C')[0]}
    keys
  end   
  module_function :convert_keys
  #---------------------------------------------------------------------------
  # * Keys Constants definitions
  #---------------------------------------------------------------------------
  LOWER_LEFT = 97
  LOWER_RIGHT = 99
  UPPER_LEFT = 103
  UPPER_RIGHT = 105
  DOWN = [98, 40]
  LEFT = [100, 37]
  RIGHT = [ 102, 39]
  UP = [104, 38]
  A = convert_keys(11)
  B = [45] + convert_keys(12)
  C = convert_keys(13)
  X = convert_keys(14)
  Y = convert_keys(15)
  Z = convert_keys(16)
  L = [33] + convert_keys(17)
  R = [34] + convert_keys(18)
  SHIFT = 16
  CTRL = 17
  ALT = 18
  F5 = 116
  F6 = 117
  F7 = 118
  F8 = 119
  F9 = 120
  #---------------------------------------------------------------------------
  # * Initialize Input DLL
  #---------------------------------------------------------------------------
  InputInitialize.call(@time.object_id, @press.object_id, @trigger.object_id,
  @repeat.object_id,  @release.object_id, @dirs.object_id)
  #---------------------------------------------------------------------------
  # * Keys input state update
  #---------------------------------------------------------------------------
  def Input.update
    InputUpdate.call
  end
  #---------------------------------------------------------------------------
  # * Press?
  #---------------------------------------------------------------------------
  def Input.press?(vk)
    @press.indexes(*vk.to_a).include?(true)
  end
  #---------------------------------------------------------------------------
  # * Pressed
  #---------------------------------------------------------------------------
  def Input.pressed
    array = Array.new
    @press.each_index {|i| array.push(i) if @press[i]}
    array
  end
  #---------------------------------------------------------------------------
  # * Trigger?
  #---------------------------------------------------------------------------
  def Input.trigger?(vk)
    @trigger.indexes(*vk.to_a).include?(true)
  end
  #---------------------------------------------------------------------------
  # * Triggered
  #---------------------------------------------------------------------------
  def Input.triggered
    array = Array.new
    @trigger.each_index {|i| array.push(i) if @trigger[i]}
    array
  end
 
  def Input.triggerd?(what)
    if triggered.include?(what)
      return true
    end
  end
 
  def Input.pressed?(what)
    if pressed.include?(what)
      return true
    end
  end
 
 
  #---------------------------------------------------------------------------
  # * Repeat?
  #---------------------------------------------------------------------------
  def Input.repeat?(vk)
    @repeat.indexes(*vk.to_a).include?(true)
  end
  #---------------------------------------------------------------------------
  # * Repeated
  #---------------------------------------------------------------------------
  def Input.repeated
    array = Array.new
    @repeat.each_index {|i| array.push(i) if @repeat[i]}
    array
  end
  #---------------------------------------------------------------------------
  # * Release?
  #---------------------------------------------------------------------------
  def Input.release?(vk)
    @release.indexes(*vk.to_a).include?(true)
  end
  #---------------------------------------------------------------------------
  # * Released
  #---------------------------------------------------------------------------
  def Input.released
    array = Array.new
    @release.each_index {|i| array.push(i) if @release[i]}
    array
  end
  #---------------------------------------------------------------------------
  # * 4 Directions
  #---------------------------------------------------------------------------
  def Input.dir4
    @dirs[0]
  end
  #---------------------------------------------------------------------------
  # * 8 Directions
  #---------------------------------------------------------------------------
  def Input.dir8
    @dirs[1]
  end
end
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am März 10, 2009, 05:10:44
So wie ich das sehe, und ich habe wenig bzw. keine ahnung von Skripten,
versucht er eine Taste abzufragen und danach eine Taster die man drücken muss
um ein Event auszulösen.

Dar keine Taste definiert ist, fährt er sich fest.

Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: N0rtekCriss am März 10, 2009, 10:51:28
Freunde ich brauch mal wieder hilfe XD

Bin auch der suche nach einen script was es mir erlaubt
größere charsets zu benutzen ich meine für den spiel verlauf allso zum laufen und so weiter

was ich genau meine ist das
(http://www11.file-upload.net/thumb/10.03.09/gyxohk.jpg)

ich hoffe ihr könnt mir helfen ^^

MFG N0rtekCriss
Titel: Re: Hilfe zu Skripten.
Beitrag von: Darv am März 10, 2009, 11:31:51
Schneid dein Charset doch zusammen und pack das "abgeschnitene" in ein neues Charset ??
Titel: Re: Hilfe zu Skripten.
Beitrag von: N0rtekCriss am März 10, 2009, 11:38:54
geht eben nicht weil die vorlagen bissel zu gross sind und wenn ich die anpasse mit gimp dan verschwimmen die farben schaut einfach nur scheisse aus
Titel: Re: Hilfe zu Skripten.
Beitrag von: Darv am März 10, 2009, 11:58:52
-.- gib mal her das Charset ich schneid es zu.

Leute wir sind hier im Skript-Threat.
Was hat das zuschneiden von Grafiken mit Skripten zu tun?
Bleibt bitte beim Thema.

~Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: Amsel am März 11, 2009, 17:10:40
Ich würde gerne in einem Common Event die aktuellen MP eines Actors in eine Variable ablegen.
Leider Funktioniert:

@>Control Variables[0008:] = [Actor]'s MP
nicht

Wie kann ich in diesem Fall die aktuellen MP des Actors an eine Variable weitergeben?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 11, 2009, 17:20:05
Ich glaube der fehler tritt auf, weil Game Interpreter einen fehler hat.
Versuch es mit diesem Script und dann sollte es eigenlich einwandfrei funktionieren.
Game Intepreter (http://rpgvx.de/forum.php?topic=2507.0)
MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Amsel am März 11, 2009, 17:28:53
Viele Dank, jetzt funktioniert es!
Titel: Re: Hilfe zu Skripten.
Beitrag von: N0rtekCriss am März 13, 2009, 07:37:34
moin leutz
ich such mal wieder was ^

ich such nen script was maps nach den kammpf auf der karte verschwinden lest
aber nach einerger zeit wieder kommen und man kann wieder gegen den  mop kämpfen gibnt es so was am besten noch verbunden mit den RPG Tankentai system oder so in art halt nen rewsporn script für mops

wer es hat bitte posten oder schicken ^^ und wenn es über event geht bitte genaue anleitung  genaue anleitung zum script dann auch bitte


Mfg N0rtekCriss
Titel: Re: Hilfe zu Skripten.
Beitrag von: Bahamut am März 13, 2009, 07:42:37
ich such nen script was maps nach den kammpf auf der karte verschwinden lest

Ich denke du meinst da nich Maps sondern Mobs^^ (wär auch komisch wenn nach nem Fight die ganze Map weg is xD)
Nun spontan hätte ich jetzt gesagt, per Switch Mob nach dem Battle despawnen lassen und per Common Event nen Parallel Process samt Timer laufen lassen der nach wielange auch immer den Mob switch wieder enabled. Zumindest erscheint mir das jetz logisch aber ich werd das gleich ma antesten^^
Glaub aber nich dass du extra n script dafür brauchst

EDIT: lol vergiss was ich gesagt hab, kann ja nich gehn, hast ja in sofern nur eine Instanz vom timer, d.h. mehr als ein Mob dürfte net auf der Map sein :S also doch n script^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 13, 2009, 17:35:17
moin leutz
ich such mal wieder was ^

ich such nen script was maps nach den kammpf auf der karte verschwinden lest
aber nach einerger zeit wieder kommen und man kann wieder gegen den  mop kämpfen gibnt es so was am besten noch verbunden mit den RPG Tankentai system oder so in art halt nen rewsporn script für mops

wer es hat bitte posten oder schicken ^^ und wenn es über event geht bitte genaue anleitung  genaue anleitung zum script dann auch bitte


Mfg N0rtekCriss

@N0rtekCriss
Abgesehen davon, dass wir uns im falschen Thread unterhalten ^^
Wenn du auf kein Script warten willst, hätte ich da eine kleine Lösung.
Du benutzt theoretisch nur 1 Event und es ist ziemmlich simpel, allerdings, musst du das für jeden Gegner "neu" machen. Das "neu" ist in diesem Sinne in Klammern, weil man eigentlich nur die Respawnzeit verändern muss. Also;
Seite 1
1.Aussehen des gegners bestimmen
2.Route so wählen, dass der Gegner z.B. zum Spieler läuft.
3.Trigger auf Event berühren stellen
4.Event Comand: Kampf Starten
                          Wenn gewonnen, Self Switch A = ON
Seite 2
1.Keine Grafik für das Event
2.Trigger auf Parallelen Prozess umstellen
3.Waitbefehl setzen ( Respawnzeit )
4.Self Switch A = OFF
Hier habe ich nichmal eine kleine Demo.
Demo (http://www.yfw24.de/userdaten/51331798/download/yay/enemyvanish.rar)

MfG

Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Bahamut am März 13, 2009, 17:44:42
Hm, na gut, dass das mit dem Wait Befehl funzen könnte, hätte ich nich gedacht^^

Aber deine Demo bugt ein wenig, denn wenn man aus dem Kampf flüchtet beginnt auf der Map gleich n neuer Kampf :S
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 13, 2009, 17:52:17
Ya das Einfachste ist meistens auch das Beste. Simply the best^^
Zu meiner Verteidigung ^^ das ist kein Bug, es ist weil ich das Monster ein bischen zu schnell eingestellt habe. Und da sich der Self Switch nur bei einem Sieg aktiviert agiert das Monster direkt nach dem Kampf. Setz ihn langsammer und es wird klappen.
P.S. Der Gegner oben Rechts ist etwas schöner beziehungsweise er verschwindet viel schöner.

MfG

Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: N0rtekCriss am März 14, 2009, 08:08:42
@ Deity
danke danke ^^ geht alles
ich danke dir ^^

Mfg N0rtekCriss
Titel: Re: Hilfe zu Skripten.
Beitrag von: Prince am März 15, 2009, 12:36:24
Könntet ihr mir mit dem Tankenkai Battle Skript helfen??? Ich will Minkoffs Animated Battler verwenden (für Chars und Gegner), hab auch brav alle Skripte rüber getan und verändert, Gegner ID eingegeben und so. Wenn ich dann den Kampf starte kommt schon meine erste Frage:
1)Wie kann ich bestimmen wie die Figuren heißen sollen die ich als Chars verwenden will???
Dann habe ich für probegründe einfach mal den Char Actor1_1 (weils so verlangt war) benannt. Dann gestartet und dann kam das zweite Problem:
2)Wieso muss man 2 mal den gleichen Gegner mit verschiedenen Namen haben??? Ich musste einen mit normalen Namen und einen mit _1 am Ende haben.
Nachdem das dann auch für die besagte Probe gemacht wurde kommt das nächste Problem:
3)Der Char ist falsch positioniert (also man sieht nur die Hälfte vom stehenden und dann ein STück von ner anderen Reihe) außerdem ist der Gegner, obwohl ich ihn soweit es ging nach unten getan habe zu hoch und ich seh ihn nicht.
So, außerdem scheint er nicht die richtigen Reihen zu verwenden wo ich also gleich zu den letzten 2 Problemen komme:
4)Wieso verwendet er die falschen Reihen (wenn er zaubert ist er z.B. in der tot Anzeige, also liegt am Boden)???
5)Kann mir einer erklären welche Reihe was genau macht??? Da ist ein Bild im Anhang. Die mit dem Schwertkämpfer sind die, die ich noch nicht herausgefunden habe.

[gelöscht durch Administrator]
Titel: Re: Hilfe zu Skripten.
Beitrag von: Colonios am März 16, 2009, 19:09:08
Ich benutze Nightlights Isolated von hellMinor und will jetzt noch zusätzlich DeadlyDan Image Title V1.00

Jedoch bekomme ich folgende Fehlermeldung:

(http://img3.imagebanana.com/img/ysrn68mc/hilfe.png)

In zeile 167 im Nightlights Script steht folgendes:"     $data_mapinfos[@map_id]"

Danke im vorraus für jegliche Hilfe!
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am März 16, 2009, 20:20:51
@Prince, wenn es mit dem Minkoffs net klappt, such ein anderes KS. Es gibt ein RTAB für den VX, welches für diese Battler gemacht wurde, nimm das doch einfach. Das SKS von Enu ist kopliziert, und nur die wenigsten verstehen es. Wenn du trozdem dabei bleiben wills, frag mal bei RPG Revolution nach, vielleicht kann dir dort jemand weiterhelfen.

mfg. eugene

@Colonios
Wenn du das Nighlight Skript über dem Title Skript hast, setzt es dadrunter, fals du es schon drunter hast setz es dadrüber. Vielleicht klappt es dann.

mfg. eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: Prince am März 16, 2009, 20:39:50
Es gibt ein RTAB für den VX, welches für diese Battler gemacht wurde, nimm das doch einfach.
Wo gibt es das???
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am März 16, 2009, 20:48:38
Warte, gleich hast du ein Link.

Wie gesagt. ein bissl google hät geholfen:
http://www.creationasylum.net/index.php?showtopic=21781
Titel: Re: Hilfe zu Skripten.
Beitrag von: Prince am März 16, 2009, 21:43:42
Danke eugene222 Ich werds gleich mal anschaun und poste dann das Ergebnis als Edit.

MfG
Habs ma angeschaut und ich liebe es xD
Titel: Re: Hilfe zu Skripten.
Beitrag von: Colonios am März 16, 2009, 22:23:34
@Colonios
Wenn du das Nighlight Skript über dem Title Skript hast, setzt es dadrunter, fals du es schon drunter hast setz es dadrüber. Vielleicht klappt es dann.

mfg. eugene

Hat geklappt, hammer!

Danke!!!
Titel: Re: Hilfe zu Skripten.
Beitrag von: Bahamut am März 16, 2009, 23:43:45
Hoi Leute!
Nun, ich hoffe meine Anfrage erweist sich nicht als zu kompliziert. Es geht um Tankentai's SideView KS, welcher ja mittlerweile jeder hier kennen dürfte.
-> http://rpgvx.de/forum.php?topic=1626.140 (http://rpgvx.de/forum.php?topic=1626.140)

Das KS benutzt unter anderem ein Script-AddOn namens "Enemy Gauge AddOn" welches, wenn ich mich nicht irre, dazu dient oben am Schirm ein Window mit HP des Gegners anzuzeigen, sowie einen Cursor auf das momentan ausgewählte Monster zu platzieren.
Nun wollte ich wissen, ob man das AddOn fürs Standard KS solo isolieren könnte, da ich das KS an sich ganz brauchbar finde. Meiner Meinung nach fehlen nur ein paar essenzielle Dinge, darunt halt eben auch das Fehlen eines Gegner-HP Fensters (das bei Tankentai find ich optimal) und eines Cursors welchem einem zeigt, welchen Mob man gerade gewählt hat.
Da ich nicht genügend Ahnung von scripten habe um mir das Enemy Gauge AddOn Script passend zu zerlegen, wäre es nett wenn mir da einer weiterhelfen könnte. Würden sicherlich auch noch andere in der Community verwenden können.

Recht nette Grüße,

- Baha

P.S.: Hier noch mal der Script Teil den ich meine:
#==============================================================================
# ¦ module n01
#------------------------------------------------------------------------------
#  ???????????????????? Ver1.1
#==============================================================================
module N01
 
 # Display the state of the battler.
  WORD_STATE_DISPLAY = true
 
 # Name to display when there is no abnormal state.
  WORD_NORMAL_STATE = "Normal"
 
 # Displays the HP gauge.
  HP_DISPLAY = true
 
 # Displays the HP gauge for actors.
  ACTOR_DISPLAY = true
 
 # Do not display the HP gauge and states for the following enemies. ex.[1,2,3]
  ENEMY_NON_DISPLAY = []
 
 # Do not display the following states as abnormal. ex.[1,2,3]
  STATE_NON_DISPLAY = []
 
 
end
#-------------------------------??????-----------------------------------

#==============================================================================
# ¦ Window_Help
#------------------------------------------------------------------------------
#  ?????????????????????????????????????
#==============================================================================

class Window_Help < Window_Base
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def set_text_n01add(member)
    self.contents.clear
    self.contents.font.color = normal_color
    if !member.actor? && N01::ENEMY_NON_DISPLAY.include?(member.enemy_id)
      return self.contents.draw_text(4, 0, self.width - 40, WLH, member.name, 1)
    elsif member.actor? && !N01::ACTOR_DISPLAY
      return self.contents.draw_text(4, 0, self.width - 40, WLH, member.name, 1)
    end
    if N01::WORD_STATE_DISPLAY && N01::HP_DISPLAY
      self.contents.draw_text(0, 0, 180, WLH, member.name, 1)
      draw_actor_hp(member, 182, 0, 120)
      text = "["
      for state in member.states
        next if N01::STATE_NON_DISPLAY.include?(state.id)
        text += " " if text != "["
        text += state.name
      end
      text += N01::WORD_NORMAL_STATE if text == "["
      text += "]"
      text = "" if text == "[]"
      self.contents.draw_text(315, 0, 195, WLH, text, 0)
    elsif N01::WORD_STATE_DISPLAY
      text = member.name + "  ["
      for state in member.states
        next if N01::STATE_NON_DISPLAY.include?(state.id)
        text += " " if text != member.name + "  ["
        text += state.name
      end
      text += N01::WORD_NORMAL_STATE if text == member.name + "  ["
      text += "]"
      text = "" if text == "[]"
      self.contents.draw_text(4, 0, self.width - 40, WLH, text, 1)
    elsif N01::HP_DISPLAY
      self.contents.draw_text(4, 0, 240, WLH, member.name, 1)
      draw_actor_hp(member, 262, 0, 120)
    end
  end
end

#==============================================================================
# ¦ Scene_Battle
#------------------------------------------------------------------------------
#  ?????????????????
#==============================================================================
class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def start_target_selection(actor = false)
    members = $game_party.members if actor
    members = $game_troop.members unless actor
    # ????????????
    @cursor = Sprite.new
    @cursor.bitmap = Cache.character("cursor")
    @cursor.src_rect.set(0, 0, 32, 32)
    @cursor_flame = 0
    @cursor.x = -200
    @cursor.y = -200
    @cursor.ox = @cursor.width
    @cursor.oy = @cursor.height
    # ??????????????????????
    @help_window.visible = false if @help_window != nil
    @help_window2 = Window_Help.new if @help_window2 == nil
    # ???????????
    @actor_command_window.active = false
    @skill_window.visible = false if @skill_window != nil
    @item_window.visible = false if @item_window != nil
    # ??????????????????????????????
    @index = 0
    @max_index = members.size - 1
    # ??????????????????????????????
    unless actor
      members.size.times do
        break if members[@index].exist?
        @index += 1
      end
    end 
    @help_window2.set_text_n01add(members[@index])
    select_member(actor)
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def cursor_up(members, actor)
    Sound.play_cursor
    members.size.times do
      @index += members.size - 1
      @index %= members.size
      break if actor
      break if members[@index].exist?
    end
    @help_window2.set_text_n01add(members[@index])
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def cursor_down(members, actor)
    Sound.play_cursor
    members.size.times do
      @index += 1
      @index %= members.size
      break if actor
      break if members[@index].exist? && !actor
    end
    @help_window2.set_text_n01add(members[@index])
  end
end 
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am März 17, 2009, 15:45:04
Hallo Bahamut, ich habe in Erinnerung, dass es solch ein Skript schon gibt. Ich glaube es war von Star oder wie der heißt. Ich werd versuchen, dieses ausfindig zu machen, wenn ich mich täusche, und es solch ein Skript nicht gibt, werd ich versuchen das von Enu für das Standart KS umzuschreiben.

mfg. eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: Bahamut am März 18, 2009, 10:10:50
Holla Eugene!
In Ordnung, dann werde ich auch nochmal danach googeln :D Echt nett von dir! *embrace*

Gruß,

- Baha
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am März 18, 2009, 14:44:15
Hier auf der Seite hab ich das mal gesehn. Ist leider Japanisch.

http://strrgssvx.blog.shinobi.jp
Titel: Re: Hilfe zu Skripten.
Beitrag von: Bahamut am März 18, 2009, 19:14:53
Das sollte an sich kein problem sein ;D Werde ich mir gleich ansehen, vielen Dank für die Hilfestellung!

Recht netten Gruß,

- Baha

EDIT:

Irgendwie geht mir das Standard-KS trotz der Verbesserungen mit der Zeit gehörig aufn Senkel^^ Glaub' ich werd evtl. doch die ganze Version von Tankentai nehmen, so schlecht isses ja nich ;D
Titel: Re: Hilfe zu Skripten.
Beitrag von: Coin am März 20, 2009, 17:42:00
Hi @ all,
meine Frage : Was ist ein Call Skript und was kann ich damit alles tun?
ich würde nämlich gerne den 2 player skript nutzen aber weiss nicht wie ich ein call skript erstelle...

PS. nutze den deutsch patch

lg - philotheking
Titel: Re: Hilfe zu Skripten.
Beitrag von: papilion am März 20, 2009, 20:13:44
@philotheking :

Hey Hey

sry für die dämliche Frage aber...du kannst doch englisch oder?:D
call script = rufe Script
Schlussfolgerung, du rufst damit ein Script auf,
normaler Weise steht in dem eingebauten Script irgendwo,
was du bei einem Event in "call script" ("Script ausführen" beim deutsch patch) hineinschreiben musst, damit es aufgerufen wird.
Nu musst du beim Event nur noch die Bedingungen einstellen,
wann das Script gerufen werden soll und *tada* es funzt. (im Besten Fall)

Ich hoffe ich konnte dir helfen
(ansonsten erklär ichs nochmal "langsam" ^^*)

mfG. Papilion
Titel: Re: Hilfe zu Skripten.
Beitrag von: Darv am März 20, 2009, 22:42:50
Was er sagen wollte:
In deiner Eventliste ist ein Befehl: Script/Skript.
Wenn du das anklickst, dann erscheint eine Box in der du alles mögliche eingeben kannst.
Da schreibst du das Callscript rein. Das sind meist befehle die IN dem Skript selbst stehen (In grün, einfach durchlesen)
Meist steht da etwas wie:
Call the Alchemy Pot with:
#      $scene = Scene_AlchemyPot.new

In diesem Fall müsstest du in dieser Box: $scene = Scene_AlchemyPot.new    eintippen.
Wenn dann das Event aktiviert wird, wird der Skript ausgeführt.
Les dir einfach mal durch was in Grün (meist ganz oben) im Skript steht.
lg
DaRv
Titel: Re: Hilfe zu Skripten.
Beitrag von: Tobii09 am März 21, 2009, 12:04:16
hey leute.
also kennst jemand vllt ein savesystem script wie bei breath of fire 3.?
also für di dies nicht kennen.
man kann nur auf einer worldmap speciher in keinem dungeon oder dorf/stadt.
und man kann auf der world map auf soetwas wie rasten drücken also man kann dann zelten un speicher.
so etwas in der art suche ich.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 21, 2009, 12:09:48
@Tobii09
Für diese funktionen braucht man kein Script. Dafür genügen die Event befehle probier es aus und wenn du nicht weiter kommst kann ich dir gerne helfen.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Tobii09 am März 23, 2009, 18:03:42
hey leute.
kann mir jemand vielleicht den link zu nem partychange skript geben oder das skript gleich hier geben?
dankee.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kyoshiro am März 23, 2009, 18:15:32
Meiner Meinung nach eines der Besten. Das LargeParty-Script von KGC.

Script (http://paste-it.net/public/pbc899c/)

Kyoshiro
Titel: Re: Hilfe zu Skripten.
Beitrag von: Tobii09 am März 23, 2009, 18:32:53
hast du das vllt auch als demo??
Titel: Re: Hilfe zu Skripten.
Beitrag von: OceanBlue am März 23, 2009, 18:48:57
Wenn du englisch verstehst und ein wenig Zeit investierst, wirst du es auch ohne schaffen ;) Einfach ausprobieren, und wenn was nicht geht, sind wir ja da.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Afenishakur am März 23, 2009, 21:25:59
Kann mir jemand sagen, ob man das Sidetext Script ( http://rpgvx.de/forum.php?topic=609.0 ), so umschreiben kann, das die Schrift nicht mehr verschwindet sondern an dem Ort wo es auftaucht dann bleibt?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Tobii09 am März 24, 2009, 15:09:20
okee ich habs jetzt aba noch ne frage ::

(http://img3.imagebanana.com/img/tje97j9/thumb/help.bmp.png) (http://img3.imagebanana.com/view/tje97j9/help.bmp.png)


was soll'n das A::  B:: un sowas darstellen / bedeuten?
Titel: Re: Hilfe zu Skripten.
Beitrag von: OceanBlue am März 24, 2009, 16:16:58
Soweit ich weiß sind das Tasten, die etwas bewirken, wenn man sie drückt - also entsprechendes Partymitlgied hinzufügen, entfernen etc. Ich hatte mal ne englische Demo davon gesehen, weiß aber nicht mehr, wo. Du kannst ja mal nach KGC Scripts Demo oder so googlen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Tobii09 am März 24, 2009, 18:36:11
ok ok.
aba nochwas:D..
hier steht Party anch spiel beenden aba ich wills woanders und das gleiche auch im battle da steht das nach Fliehen hier n beispiel kann mir jemand helfen? ::

(http://img3.imagebanana.com/img/oab9hmuc/thumb/Unbenannt.bmp.png) (http://img3.imagebanana.com/view/oab9hmuc/Unbenannt.bmp.png)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 24, 2009, 19:30:02
@Tobi09
Falls du andere Scripts, verwendest die auf das Menü zgreifen musst du es dort verändern ansonsten würde ich dir empfehlen , einfach dieses verändere Menü Script unter dem Party Script einzufügen.
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================

class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Gold.new(0, 360)
    @status_window = Window_MenuStatus.new(160, 0)
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    s7=  "Partychange"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s7, s6])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4      # Save
        $scene = Scene_File.new(true, false, false)
      when 5      # End Game
        $scene = Scene_PartyForm.new
      when 6      # Sphärobrett
        $scene = Scene_End.new
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Start Actor Selection
  #--------------------------------------------------------------------------
  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end
  #--------------------------------------------------------------------------
  # * End Actor Selection
  #--------------------------------------------------------------------------
  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
  end
  #--------------------------------------------------------------------------
  # * Update Actor Selection
  #--------------------------------------------------------------------------
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1  # skill
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # equipment
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # status
        $scene = Scene_Status.new(@status_window.index)
      end
    end
  end
end
MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Tobii09 am März 24, 2009, 19:50:41
okay.ehm das skript is so perfect aba jetzt hab ich das selbe problem immernoch im battle:DD



(http://img3.imagebanana.com/img/8lmkvkut/thumb/Unbenannt.bmp.png) (http://img3.imagebanana.com/view/8lmkvkut/Unbenannt.bmp.png)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Gilbse am März 25, 2009, 16:23:48
hallo.Ich kapier das mit den skripten nich imma wenn ich einen einfüge
dann steht da wenn ich das spiel starte error.
Könnte mir das jemand villeicht erklären?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am März 25, 2009, 17:40:49
1. Was für ein Skript?
2. Wo fügst du es ein?
3. Konfigurierst du das Skript anständig?

Leute Beschreibt eure Probleme doch mal was genauer.
Hier kann keiner Gedanken lesen x.x

Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: Gilbse am März 25, 2009, 19:11:45
Es geht bei keinem Skript.
Natürlich bei den anderen Skripten.
Konfigurieren?Wie macht man das?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am März 25, 2009, 19:22:04
Nimm mir das jetzt wirklich nicht übel aber ich habe damit gebeten einen
TEXT zu schreiben. WELCHES Skript hast du versucht einzufügen und WO?

Ich weiß nicht ob es dir klar ist aber die Script-Base besteht aus ca. 50 Einträgen zwischen
welche du es auch immer geschmissen haben kannst. das ist eine Chance von über 500% das du
schon alleine durch das einfügen Mist baust.

Wenn du also doch bitte eine fernünftige Antwort haben willst, dann schreibe auch etwas, woraus man auf
eine Antwort schließen kann und imitier nicht das überdrehte Anti-Ferhalten mit dem ich demonstrieren wollte
wie dumm sowas ist x.x Bitte.

Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: Gilbse am März 25, 2009, 20:15:28
Also ich hab versucht Kylocks Time system in den Skript
Editor einzufügen.Dann hab ich das Spiel gestartet aber es kam Error.
Wie konfiguriert man Skripts?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am März 25, 2009, 20:52:53
Och mensch, ich dachte ich schaffe es ohne ein Bild aber ihr Jungs macht es euch
selbst schwer.

So hier bitte sehr. DAS ist die Script Base.

(http://www1.picfront.org/picture/l5U9nKwlo30/img/ScriptBase.png) (http://picfront.de/d/l5U9nKwlo30/ScriptBase.png)

97 Zeilen, in denen man ein Skript eintragen kann.
Und jetzt beantworte mir doch bitte die Frage, WO du es dort eingefügt hast.

Das würde das ganze echt einfach ein wenig einfacher machen.
Bevor das nicht geklärt ist, bringt es auch nichts dir zu sagen wie du ein Skript individuell
konfigurierst

Titel: Re: Hilfe zu Skripten.
Beitrag von: Gilbse am März 25, 2009, 20:58:55
In dem freien kästchen unter main.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am März 25, 2009, 21:31:20
Ah, jetzt kommen wir doch weiter^^

Also ich weiß nicht wirklich ob es unter Main eingefügt wird.
Ich hötte es über Main/Unter MAterials eingefügt.

Dort sind generell die Skripte abgelegt, auf die nicht permanent zugegriffen wird.
Haste mal versucht es dorthin zu packen?

Zur konfiguration des Skriptes.
Die meisten Skripte müssen erst den Einstellungen des Benutzers angepasst werde, es ist selten, kann aber vorkommen.
Je nach Skript werden evntl. Bestimmte Werte oder auch Namen abgefragt die einfach Leer sind im Skript
Ein Skript versucht diese Zu lesen, findet keinen Wert, mit dem weiter gearbeitet werden kann, und Zeigt einen Fehler an.

Die Konfiguration eines Skriptes erkennt man meistens an den Info Daten (In Grün geschrieben) oder
veränderbaren werden, welche in so nem Violett hervorgehoben sind.
Oder man hält sich an die F.A.Q welche ebenfalls in Grün (meist) übder dem Skript abgebildet ist.

Sk!p

P.S ein paar längere Beiträge schaden nicht ;) Denk drüber nach
Titel: Re: Hilfe zu Skripten.
Beitrag von: Gilbse am März 27, 2009, 12:24:52
Ich hät noch ne frage, ich krieg nich hin, das kylocks time system und day night system zusammen laufen und das an
einer genauen Uhrzeit dunkel wird.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Tobii09 am März 27, 2009, 15:40:53
noch ne neue frage .
ich hab jetzt bei den kaduki charas diagonal sets gefunden.
also für alle acht richtungen .
kann mir jemand das richtige skript geben wo ich acuh diese charas benutzten kann?
Titel: Re: Hilfe zu Skripten.
Beitrag von: InCome am März 29, 2009, 16:34:45
Ich suche ein KGC script aber da ich kein Japanisch kann, frage ich, ob jemand bitte den Tiles script raussuchen kann?
Link:http://f44.aaa.livedoor.jp/~ytomy/tkool/rpgtech/techlist_vx.html (http://f44.aaa.livedoor.jp/~ytomy/tkool/rpgtech/techlist_vx.html)
Der script bewirkt das man mehr als nur die Tiles von A-E hat.
lg
InCome
Titel: Re: Hilfe zu Skripten.
Beitrag von: Tobii09 am März 30, 2009, 18:27:02
Ehm ich hab iwie bei Cache n problem :


(http://img3.imagebanana.com/img/0ob034l/thumb/Unbenannt.bmp.png) (http://img3.imagebanana.com/view/0ob034l/Unbenannt.bmp.png)
Titel: Re: Hilfe zu Skripten.
Beitrag von: OceanBlue am März 30, 2009, 18:49:58
*seufz* Kann das nicht etwas genauer erklärt werden? Welche Scripts hast du in deinem Projekt? Was steht in dem Abschnitt des Skripts, in dem der Fehler auftritt?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Hanmac am März 30, 2009, 18:51:20
@Tobii: was hast du getan bevor der Fehler auftrat?
da hat das sript versucht nil (was ja nichts ist) in einen string umzuwandeln (was nur bedingt geht)

und zu den 8 richtungen: http://f44.aaa.livedoor.jp/~ytomy/tkool/rpgtech/php/tech.php?tool=VX&cat=tech_vx/map&tech=dash_8dir_move

@InCome: die links unten in der status sind englisch genau so wie die gruppe
aber das ist der link: http://f44.aaa.livedoor.jp/~ytomy/tkool/rpgtech/php/tech.php?tool=VX&cat=tech_vx/map&tech=tileset_extension
Titel: Re: Hilfe zu Skripten.
Beitrag von: InCome am April 01, 2009, 19:47:58
Ich verstehe den skript nicht so wirklich:
Skript:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/    ? ???????? - KGC_TilesetExtension ? VX ?
#_/    ? Last update : 2008/07/13 ?
#_/----------------------------------------------------------------------------
#_/  ????????4?????????????????????
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ? ???????? - Customize ?
#==============================================================================

module KGC
module TilesetExtension
  # ? ??????????????????
  #  ?????????????????????
  TILE_IMAGE_PREFIX = "Tile"

  # ? ???????????
  #  [SET <????>] ??????
  TILE_PRESET = {}  # ? ?????????!
  # ????????????????
  # ?????
  TILE_PRESET["????"] = {
    "A1"=>"A1-Maou",
    "A2"=>"A2-Maou",
    "B"=>"B-Maou",
    "D"=>"D-Maou",
  }
  # ??????????? [SET ????] ?????

  # ? 4????·????????? (?????)
  #  ????????????????????????4???????
  #  ?????????????????
  #  nil ??????????????????
  #   ? ??????????????????????
  DEBUG_INFO_BUTTON = Input::F7
end
end

#???????????????????????????????????????

$imported = {} if $imported == nil
$imported["TilesetExtension"] = true

if $data_mapinfos == nil
  $data_mapinfos = load_data("Data/MapInfos.rvdata")
end

# ????? (4?????????)
module DirectionFlag
  DOWN  = 0x01
  LEFT  = 0x02
  RIGHT = 0x04
  UP    = 0x08
end

module KGC::TilesetExtension
  # ??????????????
  EX_RVDATA = "TilesetEx.rvdata"

  # ????
  module Regexp
    # ??
    INHERIT = /\[INHERIT\]/i
    # ?????
    PRESET = /\[SET ([\w\-]+)\]/i
  end

  # ????????????????
  DEFAULT_FILENAME = {
    "A1"=>"TileA1",
    "A2"=>"TileA2",
    "A3"=>"TileA3",
    "A4"=>"TileA4",
    "A5"=>"TileA5",
    "B"=>"TileB",
    "C"=>"TileC",
    "D"=>"TileD",
    "E"=>"TileE"
  }
  @@__filename = DEFAULT_FILENAME.dup

  module_function
  #--------------------------------------------------------------------------
  # ? ???????????????????
  #     map_id : ??? ID
  #--------------------------------------------------------------------------
  def init_tileset_filename(map_id)
    @@__filename = get_converted_tileset_filename(map_id)
  end
  #--------------------------------------------------------------------------
  # ? ?????????????????
  #     map_id : ??? ID
  #--------------------------------------------------------------------------
  def get_converted_tileset_filename(map_id)
    info = $data_mapinfos[map_id]
    name = info.original_name
    filename = DEFAULT_FILENAME.dup
    if name =~ Regexp::INHERIT
      # ????????????
      parent_id = $data_mapinfos[map_id].parent_id
      if parent_id > 0
        filename = get_converted_tileset_filename(parent_id)
      end
    end
    # ????????????
    return convert_tileset_filename(filename, name)
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #     filename : ????? (Hash)
  #     map_name : ????
  #--------------------------------------------------------------------------
  def convert_tileset_filename(filename, map_name)
    name_buf = filename.dup
    # ???????
    presets = map_name.scan(Regexp::PRESET)
    presets.each { |s|
      if TILE_PRESET.has_key?(s[0])
        TILE_PRESET[s[0]].each { |k, v|
          name_buf[k] = TILE_IMAGE_PREFIX + v
        }
      end
    }
    # ??
    DEFAULT_FILENAME.keys.each { |key|
      if map_name =~ /\[#{key} ([\w\-]+)\]/
        name_buf[key] = TILE_IMAGE_PREFIX + $1
      end
    }
    return name_buf
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def get_tileset_filename
    return @@__filename
  end
end

#???????????????????????????????????????

#==============================================================================
# ? KGC::Commands
#==============================================================================

module KGC
module Commands
  module_function
  #--------------------------------------------------------------------------
  # ? ???????????
  #     x : ???? X ??
  #     y : ???? Y ??
  #     variable_id : ???????????????? ID
  #--------------------------------------------------------------------------
  def get_terrain_tag(x, y, variable_id = 0)
    tag = $game_map.terrain_tag(x, y)       # ??????????
    if variable_id > 0
      $game_variables[variable_id] = tag    # ??????????
    end
    return tag
  end
  #--------------------------------------------------------------------------
  # ? ?????? ID ??????????
  #     event_id : ???? ID
  #     variable_id : ???????????????? ID
  #--------------------------------------------------------------------------
  def get_event_terrain_tag(event_id, variable_id = 0)
    event = $game_map.events.values.find { |e| e.id == event_id }
    if event == nil
      # ????????????? 0
      tag = 0
    else
      tag = $game_map.terrain_tag(event.x, event.y)
    end

    # ??????????
    if variable_id > 0
      $game_variables[variable_id] = tag
    end
    return tag
  end
  #--------------------------------------------------------------------------
  # ? ???????????????
  #     variable_id : ???????????????? ID
  #--------------------------------------------------------------------------
  def get_player_terrain_tag(variable_id = 0)
    tag = $game_map.terrain_tag($game_player.x, $game_player.y)

    # ??????????
    if variable_id > 0
      $game_variables[variable_id] = tag
    end
    return tag
  end
end
end

class Game_Interpreter
  include KGC::Commands
end

#???????????????????????????????????????

#==============================================================================
# ¦ RPG::MapInfo
#==============================================================================

class RPG::MapInfo
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def name
    return @name.gsub(/\[.*\]/) { "" }
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #--------------------------------------------------------------------------
  def original_name
    return @name
  end
end

#???????????????????????????????????????

#==============================================================================
# ? RPG::Tileset
#------------------------------------------------------------------------------
#   ?????????????????????
#==============================================================================

class RPG::Tileset
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  TABLE_SIZE = 8192                       # ??·????????????
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  attr_accessor :version                  # ???????
  attr_accessor :passages                 # 4 ???????
  attr_accessor :terrain_tags             # ????
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def initialize
    @version = 1
    @passages = Table.new(TABLE_SIZE)
    @terrain_tags = Table.new(TABLE_SIZE)
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Game_Map
#==============================================================================

class Game_Map
  LAYERS = [2, 1, 0]
  #--------------------------------------------------------------------------
  # ? ??????
  #     map_id : ??? ID
  #--------------------------------------------------------------------------
  alias setup_KGC_TilesetExtension setup
  def setup(map_id)
    @map_id = map_id
    init_tileset_filename

    setup_KGC_TilesetExtension(map_id)
  end
  #--------------------------------------------------------------------------
  # ? ?????????????????
  #--------------------------------------------------------------------------
  def init_tileset_filename
    KGC::TilesetExtension.init_tileset_filename(@map_id)
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #     x : X ??
  #     y : Y ??
  #--------------------------------------------------------------------------
  def passage(x, y)
    LAYERS.each { |i|
      tile_id = @map.data[x, y, i]
      return 0 if tile_id == nil
      return $data_tileset.passages[tile_id]
    }
    return 0
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #     x : X ??
  #     y : Y ??
  #--------------------------------------------------------------------------
  def terrain_tag(x, y)
    LAYERS.each { |i|
      tile_id = @map.data[x, y, i]               # ??? ID ???
      return 0 if tile_id == nil                 # ??? ID ???? : ????
      tag = $data_tileset.terrain_tags[tile_id]  # ???????
      return tag if tag > 0                      # ????????????
    }
    return 0
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #     x : X ??
  #     y : Y ??
  #     d : ????
  #--------------------------------------------------------------------------
  def passable_dir?(x, y, d)
    # ?? (0,2,4,6,8,10) ?? ????? (0,1,2,4,8,0) ???
    flag = (1 << (d / 2 - 1)) & 0x0F

    LAYERS.each { |i|                         # ?????????????
      tile_id = @map.data[x, y, i]            # ??? ID ???
      return false if tile_id == nil          # ??? ID ???? : ????
      pass = $data_tileset.passages[tile_id]  # ??????????????
      return false if pass & flag != 0x00     # ??????????????
    }
    return true
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Game_Character
#==============================================================================

class Game_Character
  #--------------------------------------------------------------------------
  # ? ??????
  #     x : X ??
  #     y : Y ??
  #     d : ???? (???: 10)
  #--------------------------------------------------------------------------
  def passable?(x, y, d = 10)
    nx = moved_x(x, d)
    ny = moved_y(y, d)
    nx = $game_map.round_x(nx)                         # ????????
    ny = $game_map.round_y(ny)                         # ????????
    return false unless $game_map.valid?(nx, ny)       # ?????
    return true if @through or debug_through?          # ???? ON?
    return false unless map_passable?(x, y, d)         # ??????????
    return false unless map_passable?(nx, ny, 10 - d)  # ?????????
    return false if collide_with_characters?(nx, ny)   # ??????????
    return true                                        # ???
  end
  #--------------------------------------------------------------------------
  # ? ???? X ????
  #     x : X ??
  #     d : ????
  #    ???? X ????????
  #--------------------------------------------------------------------------
  def moved_x(x, d)
    return x + (d == 6 ? 1 : d == 4 ? -1 : 0)
  end
  #--------------------------------------------------------------------------
  # ? ???? Y ????
  #     y : Y ??
  #     d : ????
  #    ???? Y ????????
  #--------------------------------------------------------------------------
  def moved_y(y, d)
    return y + (d == 2 ? 1 : d == 8 ? -1 : 0)
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     x : X ??
  #     y : Y ??
  #     d : ????
  #    ???????????????????????
  #--------------------------------------------------------------------------
  def map_passable?(x, y, d)
    return $game_map.passable?(x, y) && $game_map.passable_dir?(x, y, d)
  end
  #--------------------------------------------------------------------------
  # ? ????
  #     turn_ok : ????????????
  #--------------------------------------------------------------------------
  def move_down(turn_ok = true)
    if passable?(@x, @y, 2)                 # ????
      turn_down
      @y = $game_map.round_y(@y+1)
      @real_y = (@y-1)*256
      increase_steps
      @move_failed = false
    else                                    # ?????
      turn_down if turn_ok
      check_event_trigger_touch(@x, @y+1)   # ???????????
      @move_failed = true
    end
  end
  #--------------------------------------------------------------------------
  # ? ????
  #     turn_ok : ????????????
  #--------------------------------------------------------------------------
  def move_left(turn_ok = true)
    if passable?(@x, @y, 4)                 # ????
      turn_left
      @x = $game_map.round_x(@x-1)
      @real_x = (@x+1)*256
      increase_steps
      @move_failed = false
    else                                    # ?????
      turn_left if turn_ok
      check_event_trigger_touch(@x-1, @y)   # ???????????
      @move_failed = true
    end
  end
  #--------------------------------------------------------------------------
  # ? ????
  #     turn_ok : ????????????
  #--------------------------------------------------------------------------
  def move_right(turn_ok = true)
    if passable?(@x, @y, 6)                 # ????
      turn_right
      @x = $game_map.round_x(@x+1)
      @real_x = (@x-1)*256
      increase_steps
      @move_failed = false
    else                                    # ?????
      turn_right if turn_ok
      check_event_trigger_touch(@x+1, @y)   # ???????????
      @move_failed = true
    end
  end
  #--------------------------------------------------------------------------
  # ? ????
  #     turn_ok : ????????????
  #--------------------------------------------------------------------------
  def move_up(turn_ok = true)
    if passable?(@x, @y, 8)                 # ????
      turn_up
      @y = $game_map.round_y(@y-1)
      @real_y = (@y+1)*256
      increase_steps
      @move_failed = false
    else                                    # ?????
      turn_up if turn_ok
      check_event_trigger_touch(@x, @y-1)   # ???????????
      @move_failed = true
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def move_lower_left
    unless @direction_fix
      @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
    end
    if (passable?(@x, @y, 2) && passable?(@x, @y+1, 4)) ||
       (passable?(@x, @y, 4) && passable?(@x-1, @y, 2))
      @x -= 1
      @y += 1
      increase_steps
      @move_failed = false
    else
      @move_failed = true
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def move_lower_right
    unless @direction_fix
      @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
    end
    if (passable?(@x, @y, 2) && passable?(@x, @y+1, 6)) ||
       (passable?(@x, @y, 6) && passable?(@x+1, @y, 2))
      @x += 1
      @y += 1
      increase_steps
      @move_failed = false
    else
      @move_failed = true
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def move_upper_left
    unless @direction_fix
      @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
    end
    if (passable?(@x, @y, 8) && passable?(@x, @y-1, 4)) ||
       (passable?(@x, @y, 4) && passable?(@x-1, @y, 8))
      @x -= 1
      @y -= 1
      increase_steps
      @move_failed = false
    else
      @move_failed = true
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def move_upper_right
    unless @direction_fix
      @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
    end
    if (passable?(@x, @y, 8) && passable?(@x, @y-1, 6)) ||
       (passable?(@x, @y, 6) && passable?(@x+1, @y, 8))
      @x += 1
      @y -= 1
      increase_steps
      @move_failed = false
    else
      @move_failed = true
    end
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Game_Player
#==============================================================================

class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # ? ?????????
  #     x : X ??
  #     y : Y ??
  #     d : ????
  #    ???????????????????????
  #--------------------------------------------------------------------------
  alias map_passable_KGC_TilesetExtension? map_passable?
  def map_passable?(x, y, d)
    return false unless map_passable_KGC_TilesetExtension?(x, y)

    return $game_map.passable_dir?(x, y, d)
  end

  if $TEST && KGC::TilesetExtension::DEBUG_INFO_BUTTON != nil
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  alias update_KGC_TilesetExtension update
  def update
    update_KGC_TilesetExtension

    if Input.trigger?(KGC::TilesetExtension::DEBUG_INFO_BUTTON)
      show_passage_and_terrain_tag
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????????????·???????
  #--------------------------------------------------------------------------
  def show_passage_and_terrain_tag
    passage = $game_map.passage(x, y)
    tag = $game_map.terrain_tag(x, y)

    # ????????
    s = "????: "
    s += "?" if passage & DirectionFlag::DOWN  == 0x00
    s += "?" if passage & DirectionFlag::LEFT  == 0x00
    s += "?" if passage & DirectionFlag::RIGHT == 0x00
    s += "?" if passage & DirectionFlag::UP    == 0x00
    s += "  ????: #{tag}"

    p s
  end
  end

end

#???????????????????????????????????????

#==============================================================================
# ¦ Sprite_Character
#==============================================================================

class Sprite_Character < Sprite_Base
  #--------------------------------------------------------------------------
  # ? ????????????????????????
  #     tile_id : ??? ID
  #--------------------------------------------------------------------------
  def tileset_bitmap(tile_id)
    filename = KGC::TilesetExtension.get_tileset_filename
    set_number = tile_id / 256
    return Cache.system(filename["B"]) if set_number == 0
    return Cache.system(filename["C"]) if set_number == 1
    return Cache.system(filename["D"]) if set_number == 2
    return Cache.system(filename["E"]) if set_number == 3
    return nil
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Spriteset_Map
#==============================================================================

class Spriteset_Map
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def create_tilemap
    filename = KGC::TilesetExtension.get_tileset_filename
    @tilemap = Tilemap.new(@viewport1)
    @tilemap.bitmaps[0] = Cache.system(filename["A1"])
    @tilemap.bitmaps[1] = Cache.system(filename["A2"])
    @tilemap.bitmaps[2] = Cache.system(filename["A3"])
    @tilemap.bitmaps[3] = Cache.system(filename["A4"])
    @tilemap.bitmaps[4] = Cache.system(filename["A5"])
    @tilemap.bitmaps[5] = Cache.system(filename["B"])
    @tilemap.bitmaps[6] = Cache.system(filename["C"])
    @tilemap.bitmaps[7] = Cache.system(filename["D"])
    @tilemap.bitmaps[8] = Cache.system(filename["E"])
    @tilemap.map_data = $game_map.data
    @tilemap.passages = $game_map.passages
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Scene_Title
#==============================================================================

class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  alias load_database_KGC_TilesetExtension load_database
  def load_database
    load_database_KGC_TilesetExtension

    load_tileset
  end
  #--------------------------------------------------------------------------
  # ? ??????????????
  #--------------------------------------------------------------------------
  def load_tileset
    begin
      $data_tileset = load_data("Data/#{KGC::TilesetExtension::EX_RVDATA}")
    rescue
      $data_tileset = RPG::Tileset.new
    end
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Scene_File
#==============================================================================

class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  alias read_save_data_KGC_TilesetExtension read_save_data
  def read_save_data(file)
    read_save_data_KGC_TilesetExtension(file)

    $game_map.init_tileset_filename
    Graphics.frame_reset
  end
end

Ich hab schon vieles versucht aber nie kommt dann das andere Tile?!
Die Fragen:
-Wie muss ich also die neuen Tiles nennen???
-Wie und wo muss ich sie überall einfügen???
-Was muss ich am Skript ändern???
-Sehe ich das neue Tile im Editor (jeweilige Karte)???
-Muss ich meine Karte umbennenen???
-Also im Grund genommen wie funktioniert das ganze???
Googletranslate übersetztung:
http://translate.google.de/translate?prev=hp&hl=de&js=n&u=http%3A%2F%2Ff44.aaa.livedoor.jp%2F~ytomy%2Ftkool%2Frpgtech%2Fphp%2Ftech.php%3Ftool%3DVX%26cat%3Dtech_vx%2Fmap%26tech%3Dtileset_extension%0D%0A&sl=ja&tl=de (http://translate.google.de/translate?prev=hp&hl=de&js=n&u=http%3A%2F%2Ff44.aaa.livedoor.jp%2F~ytomy%2Ftkool%2Frpgtech%2Fphp%2Ftech.php%3Ftool%3DVX%26cat%3Dtech_vx%2Fmap%26tech%3Dtileset_extension%0D%0A&sl=ja&tl=de)
Titel: Re: Hilfe zu Skripten.
Beitrag von: papilion am April 01, 2009, 20:22:03
Hey,

Ich bin gerade auf der Suche nach etwas
in der Datenbank habe ich so etwas nicht finden können
und wüsste leider auch nicht selbst, wie man so etwas machen könnte
also schlagt mich, wenn sowas doch hier irgendwo schon ist^^

Ich brauche eine Art Tauschbasar, statt des Shops.
Also eine Person bietet mir "Item-A" Im Tausch gegen "Ressource-C, Ressource-D und Edelstein-F"
Wenn ich ihm aber Ress-A und Ress-B Gebe, gibt er mir Item-B und so weiter.

Als Beispiel:
ich gehe in eine Bäckerei und möchte ein Brötchen, dafür will er aber Teig und Ei, will ich Kuchen, dann verlangt er aber 2 mal Teig 3 Eier und ne Pflaume.
Okay ein Bäcker ist ein doofes Beispiel aber ihr versteht hoffentlich wie ich das meine^^

Gibt es so etwas?
Wenn nicht, habt ihr eine Idee, wie man so etwas machen könnte?

Ich hoffe ihr könnt mir helfen
und meine Frage ist nicht allzu blöd -.-

mfG. Papilion
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am April 01, 2009, 20:36:01
Deine Frage ist nicht blöd aber sie past nicht in Hilfe zu Scripts =)
Als erstes erstellst du halt den Bäcker der die Zutaten in Form von 2-3Abfragen überprüft.
Hast du die benötigten "Zutaten", so gibt es eine Frage ob man dir ein "Brötchen" backen soll.
Reintheoretisch kannst du so viele "Rezepte" auf nur eienr Eventseite abfragen wie du möchtest.
So kannst du auch die Anderen Probleme lösen wie z.B. Quests mit varierbaren Ausgängen, also jenachdem welche Items man einer Person bringt etc.
Ich hoffe ich hab das Problem richtig verstanden und konnte dir helfen
MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: papilion am April 01, 2009, 20:58:15
Naja ich hab es zu Scripts getan, weil ich es mir in Form eines Menüs vorgestellt hatte
und ich nicht weiß, ob und wenn ja wie man es mit Events machen kann^^

Aber so sollte es glaube ich auch gehen.
Hmpf klingt irgendwie ganz simpel,
ich werde es einfach mal so ausprobieren!

Aber falls doch noch jemand Ein Script dafür findet
oder eine andere idee hat, würde ich mich aber trotzdem noch darüber freuen^^
Weil das mit dem abfragen natürlich auch ne Idee ist
aber irgendwie stell ich mir das noch etwas umständlich vor
na ja wie gesagt, ich probiere es einfach mal aus!

danke dir!
Papilion
Titel: Re: Hilfe zu Skripten.
Beitrag von: InCome am April 03, 2009, 16:22:30
Ich hab noch ne Frage: Wie mache ich eine MessageBack nur bei einem mit dem ich reden will???
Ist ein Kaiser...

edit:
Ich will das der Hauptheld nicht nur Level 99 werden kann sondern 1.000 und der endgegner sogar 10.000. Geht das ürgentwie????

lg
InCome
Titel: Re: Hilfe zu Skripten.
Beitrag von: OceanBlue am April 04, 2009, 09:44:22
Zu Frage 1: Importiere statt dem Standard-Textboxhintergrund (dieses graue Teil) ein eigenes (unter gleichem Namen, also "MessageBack") unter System. Dann beim Dialog statt nromaler Textbox mit "grauem" Hintergrund anzeigen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am April 05, 2009, 22:34:03
Ich brauch bei diesem Script bitte ne genaue Erklärung:
http://www.rpgrevolution.com/forums/index.php?showtopic=11744
Danke im Voraus
Titel: Re: Hilfe zu Skripten.
Beitrag von: InCome am April 06, 2009, 14:21:02
Ist das nicht der script von KGC???
Wenn ja dann hab ich den oben schon gpostet
Dafür brauch ich auch noch ne Erklärung...
...sorry ich schreib grad mit iPot touch ist nich so einfach
Auch sorry wenn spammen ist/wollt nur Fragen obs der ist.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Phi am April 06, 2009, 14:41:08
oh mann...
sorry aber...

das hauptscript einfach über main im scripteditor einfügen (nicht im Main-script sondern schon als eigenes)
immer wenn ihr nun das tileset ändern woll müsst ihr den jeweiligen befehl ausführen

$game_map.tile_a1 = 'Name des neuen Tile A1'
$game_map.tile_a2 = 'Name des neuen Tile A2'
$game_map.tile_a3 = 'Name des neuen Tile A3'
$game_map.tile_a4 = 'Name des neuen Tile A4'
$game_map.tile_a5 = 'Name des neuen Tile A5'
$game_map.tile_b = 'Name des neuen Tile B'
$game_map.tile_c = 'Name des neuen Tile C'
$game_map.tile_d = 'Name des neuen Tile D'
$game_map.tile_e = 'Name des neuen Tile E'

solche kleinen scriptbefehle kann man auf der 3ten eventseite ganz unten benutzen/eingeben
am besten ihr benutzt diese befehle während eines teleports

und nein das script ist von ERZENGEL

es gibt ein TilesetExpansion-Script von KGC und man kann die beiden nicht miteinander verwenden
Titel: Re: Hilfe zu Skripten.
Beitrag von: InCome am April 06, 2009, 16:17:09
Kann mir jemand den script von KGC erklären???
lg
InCome
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am April 06, 2009, 16:34:17
cool danke^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Tobii09 am April 10, 2009, 14:18:12
okay ich hab meinen fehler schon gefunden^^
aber jetzt hab ich n video gefunden  und ehm weiß jemand welches skript hier für die animierten gegner benutzt wurde?
und wenn ja kann mir das jemand geben?
http://www.youtube.com/watch?v=01JjfFaGob8 (http://www.youtube.com/watch?v=01JjfFaGob8)
Titel: Re: Hilfe zu Skripten.
Beitrag von: OceanBlue am April 10, 2009, 14:25:12
Das einzige Animated-Battlers-Script, das ich kenne, ist Minkoff's Animated Battlers. Der Thread auf RPG-Revolution.com ist aber wegen urheberrechtlichen Fragen...weg. Du müsstest Google bemühen, Stichwort "Animated Battlers VX".
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am April 10, 2009, 14:33:33
@InCome


Nein, wenn du nicht weißt wie es funktioniert, dann lass es.  Hast du gelernt, auch mal alleine
ein bisschen zu lesen und nicht immer andere Leute deine Arbeit machen lassen? Ich sag dir jetzt
schon, dass wenn du nicht weißt wie es funktioniert, du es auch nicht benutzen solltest. Sowieso
ist das eh nur Müll, und solche Skripts brauch keiner, da diese zu kompliziert sind (Ausnahme das
von Erzengel). Das was EB zur Verfügung gestellt hat (A-E) sollte auch reichen, da man die Standart
Sachen einfach wegmachen kann, so wie z.B die von Mack. Naja ich werds dir nicht erklären,
aber vielleicht macht es jemand anderes für dich.

mfg. eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: Tobii09 am April 10, 2009, 14:47:51
das kenn ich auch abaer meine frage war nach dem in dem video:DD
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am April 10, 2009, 14:52:26
@Tobii09
Also, er benutzt, wie es aussieht das Takentei SKS von Enu, er hat dabei das Enemy-Animation Addon, d.h. mit dem Addon, brauch man für die Gegner auch so eine Chargrafik, wie für den Helden, und es wird animiert. Dieses Addon hab ich, und kann ich dir geben wenn du es brauchst

mfg, eugene

*edit*

#==============================================================================
# ¦ Enemy Animated Battlers for RPG Tankentai Sideview Battle System
#     1.17.09
#------------------------------------------------------------------------------
#  Script by Kylock
#  Updated by Mr. Bubble
#  Visual Guide at:
#  http://www.rpgrevolution.com/forums/index.php?s=&showtopic=18304&view=findpost&p=212499
#==============================================================================
#   Easy to implement interface to specify animated battlers for enemies.  Note
# enemy batters must be formatted THE SAME as your character battlers.  Also,
# you must have 2 copies of your enemy battler:

#   <game folder>\Graphics\Battlers\$<enemy name>.png
#   <game folder>\Graphics\Characters\$<enemy name>.png
#
#   If you are using this script with the Kaduki's Battlers setup, enemies must
# have "_1", "_2" and "_3" files in the Characters folder similar to the
# Kaduki actors.  See inside Kaduki demo's Characters folder for an example.
#
#   If used with IAB, enemies must have a 4x11 "_1" file in the Characters
# folder. See inside IAB demo's Characters folder for an example.

#   When you set up your "troops" for the encounter, you may need to tweak the
# positioning of the enemy as the sprites look funny and the actual placement
# may be slightly off.  A few battle tests should be sufficient.
#   Enemy shadows may also look odd.  You may adjust or change the shadow using
# the respective settings within this script.
#
#  All settings in this add-on can also be done within the Configuration script.
#==============================================================================

module K_ENEMY_BATTLERS
  ENEMY_ID = [31,32,33] # list of enemies with batter sprites(ex. [1,24])
end

class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ? Enemy Screen Positioning Adjustment
  #--------------------------------------------------------------------------
  # Postive Y-values move the battler down. Negatives move the shadow up.
  # If the battler is offscreen, it is suggested to use this to function.
  #
  # return [ 0, 0]  <- [X-coordinate?Y-coordinate]
  alias bubs_eab_position_plus position_plus
  def position_plus
    case @enemy_id
    when 33 # Animated Slime
      return [0, 0]
    end
    bubs_eab_position_plus
  end
  #--------------------------------------------------------------------------
  # ? Enemy Shadow
  #--------------------------------------------------------------------------
  # Define a separate shadow image file for an enemy battler.
  #
  # return "shadow01" <- Image file name in .Graphics/Characters
  # return "" <- No shadow used.
  alias bubs_eab_shadow shadow
  def shadow
    case @enemy_id
    when 31, 32, 33 # Ralph, Mercenary, Animated Slime
      return "shadow00"
    end
    bubs_eab_shadow
  end
  #--------------------------------------------------------------------------
  # ? Enemy Shadow Adjustment
  #--------------------------------------------------------------------------
  # Postive Y-values move the shadow down. Negatives move the shadow up.
  #
  # return [ X-Coordinate, Y-Coordinate]
  alias bubs_eab_shadow_plus shadow_plus
  def shadow_plus
    case @enemy_id
    when 33 # Animated Slime
      return [ 0, 1]
    when 31, 32 # Ralph, Mercenary
      return [ 0, 5]
    end
    bubs_eab_shadow_plus
  end
  #--------------------------------------------------------------------------
  # ? Enemy Animated Battler Settings
  #--------------------------------------------------------------------------
  alias keb_anime_on anime_on
  def anime_on
    for x in K_ENEMY_BATTLERS::ENEMY_ID
      return true if @enemy_id == x
    end
    keb_anime_on
  end
  #--------------------------------------------------------------------------
  # ? Enemy Invert Settings
  #--------------------------------------------------------------------------
  alias keb_action_mirror action_mirror
  def action_mirror
    for x in K_ENEMY_BATTLERS::ENEMY_ID
      return true if @enemy_id == x
    end
    keb_action_mirror
  end
end
Titel: Re: Hilfe zu Skripten.
Beitrag von: Klex am April 24, 2009, 15:16:37
Hallo Leute,

Werde wohl in nächster Zeit ein paar mehr spezielle Anfragen habe, doch im Moment würde
ich gerne wissen, wie man es per skript machen kann, nur das Charakterbild der Hauptperson
zu ändern. Das Problem ist, per Event ändert es auch die Grafik, da ich aber zu viele
Grafiken zu diesem Zeitpunkt zur auswahl habe, die der Spieler besitzen kann, brauche ich
nur das Faceset geändert (am besten, dass er gar keines mehr hat)

Tippe ja im Game_Actor auf    @face_name = face_name / @face_index = face_index
bin mir da aber nicht sicher.

Grüße Klex
Titel: Re: Hilfe zu Skripten.
Beitrag von: Yojiri am April 24, 2009, 20:23:51
Hallo Zusammen,
ich möchte mein komplettes kampfsystem ändern kann mir da evtl einer bei helfen
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am April 24, 2009, 23:15:09
Das ist eine sehr wage Ausdrucksweise 'Alles ändern'
Ein paar mehr Details was genau du machen möchtest, müsstest du uns
schon geben.

Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: Yojiri am April 25, 2009, 01:59:58
Hallo,
@ Skip ich meine damit das ich nicht so zufallskämpfe habe sondern ich weiss nicht wenn einer Terranigma kennt so ein battle system würde ich gern skripten nur weiss ich nicht wie :(
Und noch ne andere Frage wie kann ich Die Hp und mp leisten verändern weiss nich ob das zu Battle system gehört auf jedenfall schon einmal danke im vorraus
LG Yojiri
Titel: Re: Hilfe zu Skripten.
Beitrag von: RPGSasuke am April 27, 2009, 23:39:15
Hallo,
@ Skip ich meine damit das ich nicht so zufallskämpfe habe sondern ich weiss nicht wenn einer Terranigma kennt so ein battle system würde ich gern skripten nur weiss ich nicht wie :(
Und noch ne andere Frage wie kann ich Die Hp und mp leisten verändern weiss nich ob das zu Battle system gehört auf jedenfall schon einmal danke im vorraus
LG Yojiri
´

Hmm, da kann ich nur sagen du könntest probieren, das Requiem ABS 5.0 zu benutzen
Ja, das Battlesystem von Terranigma ist schon bisschen ZU anders als im VX(Ohne Skripts) aber mit ein Bisschen rumprobieren mit dem Action Battle System von den Requiem Scripts könnte man schon ein bisschen mehr actionreicheres machen. Ich meine ja, du könntest mit den Switches so rummachen, dass zum beispiel der Spieler erst so paar Gegner tötet und wenn alle getötet sind, wird der Boss dann halt angreifbar, sonst kann nur ER dich angreifen. So hab das zumindest ich bei meinem letzten Projekt gemacht ;) Das sollte mit solchen befehlen funktionieren: Der Gegner ist ein Boss und gleichzeitig Objekt. Bei den Nebengegnern kannst du dann von mir aus den ''Die Switch X'' befehl machen wobei du dann X mit Switch ersetzt blablabla und machst das beim Boss nach den Comments Conditional Branches. Lässt den einfach auf Autorun das die ganze Zeit checken  und wenn du fertig bist, sollte beim ergebnis der Folge-Conditional Branches ein Switch anschalten, der auf der zweiten Seite gleiche Befehle hat, halt nur nich ''Object'', stattdessen würde ich ''Die Erase'' oder so machen naja wenn du wissen willst wovon ich rede: ^^ Naja hier der Link zum Requiem ABS 5.0 Thread: http://rpgvx.de/forum.php?topic=3193.0 (http://rpgvx.de/forum.php?topic=3193.0)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Colonios am April 28, 2009, 00:24:26
Hallo Leute,

Werde wohl in nächster Zeit ein paar mehr spezielle Anfragen habe, doch im Moment würde
ich gerne wissen, wie man es per skript machen kann, nur das Charakterbild der Hauptperson
zu ändern. Das Problem ist, per Event ändert es auch die Grafik, da ich aber zu viele
Grafiken zu diesem Zeitpunkt zur auswahl habe, die der Spieler besitzen kann, brauche ich
nur das Faceset geändert (am besten, dass er gar keines mehr hat)

Tippe ja im Game_Actor auf    @face_name = face_name / @face_index = face_index
bin mir da aber nicht sicher.

Grüße Klex

Du kannst per Event auch nur das Faceset ändern... Dritter reiter, "Change Actor Graphic" und dann nur auf das "Face" doppelklicken, neues Gesicht auswählen, fertig! Ganz ohne Script ;)

Oder was meintest du sonst?

MfG
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am April 28, 2009, 12:30:19
Hallo Leute,

Werde wohl in nächster Zeit ein paar mehr spezielle Anfragen habe, doch im Moment würde
ich gerne wissen, wie man es per skript machen kann, nur das Charakterbild der Hauptperson
zu ändern. Das Problem ist, per Event ändert es auch die Grafik, da ich aber zu viele
Grafiken zu diesem Zeitpunkt zur auswahl habe, die der Spieler besitzen kann, brauche ich
nur das Faceset geändert (am besten, dass er gar keines mehr hat)
Tippe ja im Game_Actor auf    @face_name = face_name / @face_index = face_index
bin mir da aber nicht sicher.

Grüße Klex
Wenn du garkein Faceset haben willst kannst du es doch in der Database einfach ausmachen bzw nichts auswählen. Dazu braucht man eigenlich auch kein Script.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Klex am April 28, 2009, 16:42:18

Das Problem ist, das wie ich schon sagte der Charakter zu dem Zeitpunkt, wo
er "kein" Faceset mehr haben soll, bzw ich es wechsle, ca 50 verschiedene Möglichkeiten des Aussehens hat.
(Ganz danach was der Spieler an Equip findet). Wenn ich jetzt
"Change Actor Graphic" klicke, ändert es meines wissen nach auch die Grafik mit.
Hab nähmlich keine Lust 50 mal "Wenn Held equipt = Equip 1" Dann Grafik 1.

Und in der DB geht das auch nicht, da der Held am Anfang ein Faceset hat
Titel: Re: Hilfe zu Skripten.
Beitrag von: Colonios am April 28, 2009, 19:29:33
Das verstehe ich jetzt nur so halb...

Wenn du über den Befehl im Eventdas Face änderst, dann bleibt das Charset 100% beim alten. Dass musst du in der linken Box seperat ändern ;) Und wenn du 50 verschiedene gesichter hast und pro Waffe ein Gesicht machen willst, dann musst du das wohl über 50 Conditional Branches machen... ^^ Ist ne menge Arbeit, wäre aber die genausoviel aufwand mit dem Script, nur dass es ja dann wer anders macht :P


MfG
Titel: Re: Hilfe zu Skripten.
Beitrag von: Klex am April 28, 2009, 20:56:32
Ich will ja nicht 50 verschiede faces, ich möchte nur 1 Faces, welches ich im nachhinein einstellen kann ohne
das sich das Charset ändert. Das Problem ist, hab schon die 150 conditional branche für das charste per event,
habe aber das face vergessen und keine Lust in jedes reinzugehen und das Face auf aus zu stellen.

Grüße Klex
Titel: Re: Hilfe zu Skripten.
Beitrag von: Colonios am April 28, 2009, 21:41:46
Jetzt habe ich verstanen, was du meinst ^^

Ok... Ich bin mir nicht sicher, ob man das mit nem Script lösen kann... Ich würde an deiner stelle schonmal anfangen, das manuell zu machen... ^^ sry

MfG
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 12, 2009, 16:46:59
Ich hab ein Problem mit dem Tactical Battle System:
Wenn ich im Kampf angreife kommt diese Fehlermeldung:
(http://www.abload.de/img/unbenannt6d9l.jpg) (http://www.abload.de/image.php?img=unbenannt6d9l.jpg)

Was mach ich Falsch???^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: OceanBlue am Mai 12, 2009, 17:30:03
Hast du irgendwo das Wort "turn" übersetzt oder verändert? Wenn ja, müsste das der Auslöser sein.
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 13, 2009, 15:34:24
hab das problem hinbekommen^^
hab aber ein neues Problem:   :-(
Die Gegner bewegen sich nicht  xD

Titel: Battle
Beitrag von: Azariel am Mai 14, 2009, 10:29:21
Hallo Commix,

ich bin neu und hab ne Frage ^^.
Weiss nicht ob ich jetzt hier richtig bin, wenn nicht bitte verschieben ;).

Also folgendes.
Ich möchte in meinem VX bei Battles gern andere Aussagen anzeigen lassen!
Zu Erklärung:
Wenn ich einen Zufallskampf habe erscheint immer die englische Meldung das das Monster erscheint!
Ich möchte es aber gern so verändern das dann dortsteht: "Monster1" erscheint!
oder "monster1" greift an!

Wo stell ich das im VX ein??? oO

Liebe Grüße
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kisuke Urahara am Mai 14, 2009, 10:53:23
Muss den Skipreditor öffnen, und links oben hast du ein Script, dass nennt sich Vocab oder so, und dort kannst du alle Meldungen einstellen.

mfg Urahara-sama
Titel: Re: Hilfe zu Skripten.
Beitrag von: Azariel am Mai 14, 2009, 10:59:56
AHHHH ^^
Es funktioniert!
Vielen Dank!!!!!

LG
Titel: Re: Hilfe zu Skripten.
Beitrag von: Klex am Mai 14, 2009, 20:08:28
Hallo Leute,

Ich würde gerne wissen, wie man es per skript machen kann, nur das Charakterbild der Hauptperson
zu ändern. Das Problem ist, per Event ändert es auch die Grafik, da ich aber zu viele
Grafiken zu diesem Zeitpunkt zur auswahl habe, die der Spieler besitzen kann, brauche ich
nur das Faceset geändert (am besten, dass er gar keines mehr hat). (Und nein, es ist für
mich keine Lösung einfach in der Datenbank keines einzustellen.

Tippe ja im Game_Actor auf    @face_name = face_name / @face_index = face_index
bin mir da aber nicht sicher.

Grüße Klex

Brauch da immernoch Hilfe^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: AlphaCentauri am Mai 16, 2009, 00:52:23
Hallo, mein erster Beitrag hier und schon ein Problem^^

Also, ich hab mir mal das Mog Menü Yui gezogen, finds auch ganz gut und wills in mein spiel einbauen. Hab das Skript in mein RPG kopiert und die Grafiken kopiert und habe nun folgendes Problem:

(http://img41.imageshack.us/my.php?image=mogmenu.png)

Ich benutz zusätzlich Tankentai SKS Script und das Script mit dem EXP-Balken nach jedem Kampf. Ich hab die Menüeinträge dieser beiden Scripts entfernt, weil ich die zusätzlichen Grafiken für das Mogmenü erst später machen werd (wenn ichs überhaupt hinkriege, das Menü entsprechend zu erweitern^^). Hmm, OnScreenShop und BGM-Unchange-Script können damit eigentlich nix zu tun haben. Jemand eine Idee? Bin mir sicher die Lösung ist einfach, aber sowas seh ich meist nicht^^

http://img41.imageshack.us/my.php?image=mogmenu.png (http://img41.imageshack.us/my.php?image=mogmenu.png)
hier ist der link zum bild, das bild wird in der vorschau nich angezeigt, weiß nich ob das normal ist, deswegen geh ich auf nummer sicher^^

Oh Moment, mir fällt gerade ein, dass ich das Mog Menü Aya status Fenster benutze, aber diese beiden Scripts ergänzen sich doch nur, oder?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sk!p am Mai 16, 2009, 13:11:03
WAS genau ist jetzt dein Problem? xD

Ich entnehme diesem Post nur dass du Einträge aus dem Menü entfernt hast und sie
Später wieder einfügen wolltest wenn du es hinbekommst.
Aber ich vermisse irgendwo das Problem an der ganzen Sache ^^

Sk!p
Titel: Re: Hilfe zu Skripten.
Beitrag von: AlphaCentauri am Mai 16, 2009, 14:20:41
WAS genau ist jetzt dein Problem? xD

Ich entnehme diesem Post nur dass du Einträge aus dem Menü entfernt hast und sie
Später wieder einfügen wolltest wenn du es hinbekommst.
Aber ich vermisse irgendwo das Problem an der ganzen Sache ^^

Sk!p

Also wie ich sehe wird das Bild nicht angezeigt, aber wenigstens der link ist da^^. Also mein Problem ist, dass beim Öffnen des Menüs (mogmenü) zusätzlich dieses normale menüfenster angezeigt wird, wo man die Menüpunkte Item, Status, Ausrüstung und all sowas hat. das mit den Menüpunkten der anderen Scripts hab ich geschrieben, da diese Scripte ja auch das Menü beeinflussen, indem sie ihre eigenen Unterpunkte (wie z.b. ATB-Optionen) mit reinsetzen. Das hab ich aber deaktiviert, soweit ich weiß. Deswegen versteh ich nicht, warum das Mogmenü zwar richtig angezeigt, das normale Menü aber mit drübergelegt wird.

Ich schwafel gern rum, hoffe diesmal wars verständlich^^

Danke schonmal für jeden Lösungsvorschlag,

MfG,
Alpha

EDIT:
Hab das Script mit der anzeige der EXP nach jedem Kampf gelöscht, jetzt funktioniert das Mogmenü korrekt. Naja, allerdings ist mir jetzt ein anderes Problem aufgefallen: Wenn ich im Mogmenü im Equip-Untermenü war und dann das Menü verlasse, wird beim nächsten kampf das Hintergrundbild und der "Equip" Schriftzug eingeblendet. Sie verschwinden zwar nach kurzer Zeit von allein, aber ärgerlich ist es trotzdem.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Otoma am Mai 16, 2009, 15:11:26
Hey,

ich suche 2 scripts.

Einmal ein Menü dass mehr als 4 chars unterstützt (werden warscheinlich 12)

Und dann ein script mit dem ich mehrere Rüstitems nutzen kann (nichtnur helm/rüstung sondern auch schuhe, handschuhe, schulterblätter. Und statt nur schmuck: kette, 2 mal ringe und schmuck)


Ich bezweifle dass es ein script gibt dass genau meine Wünsche erfüllt, aber gibt bestimmt eins das nah drannkommt.

Die Suche konnte mir leider nicht helfen, ich hoffe einer von euch kennt da was O.o



mfg
Titel: Re: Hilfe zu Skripten.
Beitrag von: Klex am Mai 16, 2009, 15:24:33

Für deine zweite Frage, habe ich hier etwas.

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/   ?                Skill CP System - KGC_SkillCPSystem               ? VX ?
#_/   ?                      Last Update: 2008/09/06                          ?
#_/   ?            Translated and Extended Updates by Mr. Anonymous           ?
#_/   ? KGC Site:                                                             ?
#_/   ? http://f44.aaa.livedoor.jp/~ytomy/                                    ?
#_/   ? Translator's Blog:                                                    ?
#_/   ? http://mraprojects.wordpress.com                                      ?
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/         This script has two functions equipment-related functions.
#_/   The first function is the ability to create moire 'slots' for equipment,
#_/  such as separating Boots and Gauntlets from mere 'accessories'.
#_/  It is possible to also create additional equipment slots. See the customize
#_/  block for more details.
#_/ 
#_/   The second function is an "EP" (Equipment Point) System, which allows you
#_/  to designate how many 'points' an item costs to successfully equip. A
#_/  character's total EP expenditure is increased upon leveling up.
#_/  This introduces more strategy-oriented character customization.
#_/----------------------------------------------------------------------------
#_/                        ? Instructions For Usage ?
#_/  To make use of these functions, you must insert the tag into the desired
#_/   item's "Notes" box located in the Armor tab of the database. For example,
#_/   you want the Leather Boots to be bound to the "Legs" slot and cost
#_/   2 EP to equip. Insert <equipkind Legs>, press enter, then add <EP 2>
#_/ 
#_/                                ? Tags ?
#_/  <equipkind EquipType>
#_/   Where EquipType = The name of the type of equipment. See EXTRA_EQUIP_KIND
#_/                                                        below.
#_/  <EP Amount>
#_/   Where Amount = The desired amount of EP the item requires to equip.
#_/
#_/
#_/                           ? Script Commands ?
#_/  These commands are used in "Script" function in the third page of event
#_/   commands under "Advanced".
#_/
#_/  * set_actor_equip_type(ActorID, [EquipType])
#_/     Allows you to manually specify an actor's equipment slots. a
#_/      Ex. set_actor_equip_type(2, [0, 2, 3, 3, 3])
#_/      If "nil"(without quotations) is appointed to EquipType, the default
#_/      EQUIP_TYPE (see below) is used. Trust me, it's useful!
#_/
#_/  * change_actor_equipment(ActorID, equipslot_index, ItemID)
#_/     Allows you to change the equipment of a specified actor.
#_/      equipslot_index works by finding the equipment slot number, which is
#_/      different from EQUIP_TYPE. Setting ItemID to 0 will remove the item.
#_/                   With the default setup, we see:
#_/      0=Weapon 1=Shield 2=Headgear 3=Armor 4=Accessory 5=Legs 6=Arms
#_/
#_/                         So, for an example:
#_/                  change_actor_equipment(1, 3, 15)
#_/ Would change Ralph's(Actor01 in the database) armor to Chainmail(By default)
#_/                                           
#_/     
#_/============================================================================
#_/ Installation: This script must be inserted below KCG_ExtendedEquipScene
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#=============================================================================#
#                           ? Customization ?                                 #
#=============================================================================#

module KGC
  module EquipExtension
  #           ? Extended Equipment Classification Names ?
  #  You may designate the names of additional equipment slots here.
  #   Each time you designate a new equipment slot, it is assigned a number.
  #   The first four equipment types (Shield, Helmet, Armor, and Accessory) are
  #   given as 1, 2, 3, 4, respectively. Then the values below are assigned in
  #   order. By default "Legs" and "Arms" would be 4 and 5. It is possible
  #   to add additional slots.
  #  Example: EXTRA_EQUIP_KIND = ["Legs", "Arms", "Skill Book"]
  EXTRA_EQUIP_KIND = ["Rücken", "Füße"]

  #                     ? Equipment Placement ?
  #  This allows you to arrange the equip slots as you see fit on the equipment
  #   menu. Note the order listed below.
  #                  ** Equipment Classification Summary **
  # 0.Shield  1.Headgear  2.Armor  3.Accessory  4. "Legs"  5."Arms"
  #  Note that these can be changed as desired. By default, we've enabled two
  #   accessory slots at the end, instead of one. If you plan on adding extra
  #   equip slots, the category's cooresponding number must be inserted in the
  #   brackets [] below.
  EQUIP_TYPE = [0, 1, 2, 5, 4, 3]

  #                       ? EP (Equip Point) System ?
  #  These settings are for the Equipment Point Limit System.
  #   This toggle allows you to use the EP system if set to true.
  #   If set to false, the EP system will be disabled.
  USE_EP_SYSTEM = false
  # VOCAB_EP appears once a character gains EP from battle. (Not Tested)
  VOCAB_EP   = "EP"
  # VOCAB_EP_A appears above the EP gauge.
  VOCAB_EP_A = "EP"
  # This toggle allows you to display the EP gauge in the actor status window.
  SHOW_STATUS_EP = true

  #                          ? Default EP Cost ?
  #  Allows you to change the default amount an item costs to equip in EP.
  #   (When not otherwise specified.)
  DEFAULT_EP_COST   = 1
  #  This toggle allows you to hide the EP cost of an item if its cost is 0.
  #   true = hide
  #   false = show
  HIDE_ZERO_EP_COST = true

  #                        ? EP Values & Level Gain ?
  #  Maximum EP that can be spent equipping items.
  EP_MAX = 20
  # Characters begin with this amount of EP.
  EP_MIN = 5
  # ? EP Level Gain
  #  This is the formula for the amount of EP gained upon leveling up.
  #  The result of this formula is automatically converted to an integer.
  EP_CALC_EXP = "level * 0.3 + 4"
  # ? Individual Actor EP Level Gain
  PERSONAL_EP_CALC_EXP = [] # <- Do not alter or remove!
  #  Below here, you may specify formulas for individual actors that dictates
  #   the amount of EP they recieve upon leveling up. Like EP_CALC_EXP, the
  #   result is converted to an integer.
  #  Format: PERSONAL_EP_CALC_EXP[ActorID] = "Formula"
  #  The format is just like EP_CALC_EXP, except each actor is defined after
  #   PERSONAL_EP_CALC_EXP in brackets [].
  #  Any actor not specified uses the EP_CALC_EXP formula.
  #  Example:
  # PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
  #                 ? Insert Personal EP Calculations Below Here ?
  PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
 
 
 
  #                 ? Insert Personal EP Calculations Above Here ?
 
  #                        ? EP Gauge Colorization ?
  #  Allows you to change the color of the EP gauges.
  #  The color can also be determined by a red, green, and blue values.
  #  Example: GAUGE_NORMAL_START_COLOR = Color.new(255, 0, 0)  <- This is red.
  #   This method of color assignment is much like Tint Screen event command.
  #
  #  This affects the color of number that represents EP cost.
  EP_COST_COLOR        = 23
  #  This is the fill color for the early phase of the guage.
  EP_GAUGE_START_COLOR = 28
  #  This is the fill color for the late phase of the guage. (When full)
  EP_GAUGE_END_COLOR   = 29
  end
end

#=============================================================================#
#                          ? End Customization ?                              #
#=============================================================================#

#=================================================#
#                    IMPORT                       #
#=================================================#

$imported = {} if $imported == nil
$imported["EquipExtension"] = true

#=================================================#

module KGC::EquipExtension
  # Unless the EP system is used...
  unless USE_EP_SYSTEM
    SHOW_STATUS_EP = false
    HIDE_ZERO_EP_COST = true
  end

#==============================================================================
# ? KGC::EquipExtension::Regexp
#==============================================================================
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#                          Note Field Tag Strings                             #
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#  Whatever word(s) are after the separator ( | ) in the following lines are
#   what are used to determine what is searched for in the "Note" section of
#   an item or armor.

  #  Regular expressions defined
  module Regexp
    # Base Item Module
    module BaseItem
      #  EP Tag String
      EP_COST = /<EP\s*(\d+)>/i
      #  Item Type Tag String
      # Special note: I cannot get this tag to work right. If anyone knows how
      # this works or if it's bugged, please let me know.
      EQUIP_TYPE = /<(?:EQUIP_TYPE|equiptype)\s*(\d+(?:\s*,\s*\d+)*)>/
    end

    #  Base Armor Module
    module Armor
      #  Armor Type Tag String
      EQUIP_KIND = /<(?:EQUIP_KIND|equipkind)\s*(.+)>/i
    end
   
  end
end

#=================================================#

#==============================================================================
# ? KGC::Commands
#==============================================================================

module KGC
module Commands
  module_function
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def restore_equip
    (1...$data_actors.size).each { |i|
      actor = $game_actors[i]
      actor.restore_equip
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     actor_id   : ???? ID
  #     equip_type : ?????
  #--------------------------------------------------------------------------
  def set_actor_equip_type(actor_id, equip_type = nil)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.equip_type = equip_type
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #     actor_id   : ???? ID
  #     index      : ???? (0~)
  #     item_id    : ?? or ?? ID (0 ???)
  #--------------------------------------------------------------------------
  def change_actor_equipment(actor_id, index, item_id)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.change_equip_by_id(index, item_id)
  end
end
end

class Game_Interpreter
  include KGC::Commands
end

#=================================================#

#==============================================================================
# ¦ Vocab
#==============================================================================

module Vocab
  # EP
  def self.ep
    return KGC::EquipExtension::VOCAB_EP
  end

  # EP (?)
  def self.ep_a
    return KGC::EquipExtension::VOCAB_EP_A
  end

  # ?????
  def self.extra_armor(index)
    return KGC::EquipExtension::EXTRA_EQUIP_KIND[index]
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::BaseItem
#==============================================================================

class RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    @__ep_cost = KGC::EquipExtension::DEFAULT_EP_COST
    @__equip_type = []

    self.note.split(/[\r\n]+/).each { |line|
      case line
      when KGC::EquipExtension::Regexp::BaseItem::EP_COST
        # ?? EP
        @__ep_cost = $1.to_i
      when KGC::EquipExtension::Regexp::BaseItem::EQUIP_TYPE
        # ?????
        @__equip_type = []
        $1.scan(/\d+/) { |num|
          @__equip_type << num.to_i
        }
      end
    }

    # EP ???????????? EP = 0
    @__ep_cost = 0 unless KGC::EquipExtension::USE_EP_SYSTEM
  end
  #--------------------------------------------------------------------------
  # ? ?? EP
  #--------------------------------------------------------------------------
  def ep_cost
    create_equip_extension_cache if @__ep_cost == nil
    return @__ep_cost
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def equip_type
    create_equip_extension_cache if @__equip_type == nil
    return @__equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::Armor
#==============================================================================

class RPG::Armor < RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    super
    @__kind = -1

    self.note.split(/[\r\n]+/).each { |line|
      if line =~ KGC::EquipExtension::Regexp::Armor::EQUIP_KIND
        # ????
        e_index = KGC::EquipExtension::EXTRA_EQUIP_KIND.index($1)
        next if e_index == nil
        @__kind = e_index + 4
      end
    }
  end

unless $@
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  alias kind_KGC_EquipExtension kind
  def kind
    create_equip_extension_cache if @__kind == nil
    return (@__kind == -1 ? kind_KGC_EquipExtension : @__kind)
  end
end

end

#=================================================#

#==============================================================================
# ¦ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  attr_writer   :equip_type               # ?????
  #--------------------------------------------------------------------------
  # ? ??????
  #     actor_id : ???? ID
  #--------------------------------------------------------------------------
  alias setup_KGC_EquipExtension setup
  def setup(actor_id)
    actor = $data_actors[actor_id]
    @extra_armor_id = []

    setup_KGC_EquipExtension(actor_id)

    restore_equip
  end
  #--------------------------------------------------------------------------
  # ? MaxEP ??
  #--------------------------------------------------------------------------
  def maxep
    calc_exp = KGC::EquipExtension::PERSONAL_EP_CALC_EXP[self.id]
    if calc_exp == nil
      calc_exp = KGC::EquipExtension::EP_CALC_EXP
    end
    n = Integer(eval(calc_exp))
    return [[n, ep_limit].min, KGC::EquipExtension::EP_MIN].max
  end
  #--------------------------------------------------------------------------
  # ? EP ??
  #--------------------------------------------------------------------------
  def ep
    n = 0
    equips.compact.each { |item| n += item.ep_cost }
    return [maxep - n, 0].max
  end
  #--------------------------------------------------------------------------
  # ? EP ????
  #--------------------------------------------------------------------------
  def ep_limit
    return KGC::EquipExtension::EP_MAX
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def equip_type
    if @equip_type.is_a?(Array)
      return @equip_type
    else
      return KGC::EquipExtension::EQUIP_TYPE
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def armor_number
    return equip_type.size
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def extra_armor_number
    return [armor_number - 4, 0].max
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ??????
  #--------------------------------------------------------------------------
  def extra_armor_id
    @extra_armor_id = [] if @extra_armor_id == nil
    return @extra_armor_id
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  alias armors_KGC_EquipExtension armors
  def armors
    result = armors_KGC_EquipExtension

    # 5??????????
    extra_armor_number.times { |i|
      armor_id = extra_armor_id[i]
      result << (armor_id == nil ? nil : $data_armors[armor_id])
    }
    return result
  end
  #--------------------------------------------------------------------------
  # ? ????? (?????????)
  #     equip_type : ????
  #     item       : ?? or ?? (nil ??????)
  #     test       : ?????? (???????????????????)
  #--------------------------------------------------------------------------
  alias change_equip_KGC_EquipExtension change_equip
  def change_equip(equip_type, item, test = false)
    change_equip_KGC_EquipExtension(equip_type, item, test)

    # ????????????
    if extra_armor_number > 0
      item_id = item == nil ? 0 : item.id
      case equip_type
      when 5..armor_number  # ?????
        @extra_armor_id = [] if @extra_armor_id == nil
        @extra_armor_id[equip_type - 5] = item_id
      end
    end

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     item : ?????? or ??
  #    ??/???????????????????????
  #--------------------------------------------------------------------------
  alias discard_equip_KGC_EquipExtension discard_equip
  def discard_equip(item)
    last_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]

    discard_equip_KGC_EquipExtension(item)

    curr_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
    return unless item.is_a?(RPG::Armor)  # ?????
    return if last_armors != curr_armors  # ???????

    # ????????
    extra_armor_number.times { |i|
      if extra_armor_id[i] == item.id
        @extra_armor_id[i] = 0
        break
      end
    }

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ???
  #     class_id : ????? ID
  #--------------------------------------------------------------------------
  alias class_id_equal_KGC_EquipExtension class_id=
  def class_id=(class_id)
    class_id_equal_KGC_EquipExtension(class_id)

    return if extra_armor_number == 0  # ????????

    # ?????????????
    for i in 5..armor_number
      change_equip(i, nil) unless equippable?(equips[i])
    end
  end
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     equip_type : ????
  #     item       : ?? or ??
  #--------------------------------------------------------------------------
  def ep_condition_clear?(equip_type, item)
    return true if item == nil  # nil ?????? OK

    curr_item = equips[equip_type]
    offset = (curr_item != nil ? curr_item.ep_cost : 0)
    return false if self.ep < (item.ep_cost - offset)   # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def restore_equip
    return if @__last_equip_type == equip_type

    # ??????·????????
    last_equips = equips
    last_hp = self.hp
    last_mp = self.mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids = battle_skill_ids.clone
    end

    # ?????
    last_equips.each_index { |i| change_equip(i, nil) }

    # ???·????????
    last_equips.compact.each { |item| equip_legal_slot(item) }
    self.hp = last_hp
    self.mp = last_mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids.each_with_index { |s, i| set_battle_skill(i, s) }
    end
    @__last_equip_type = equip_type.clone
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     item : ?? or ??
  #--------------------------------------------------------------------------
  def equip_legal_slot(item)
    if item.is_a?(RPG::Weapon)
      if @weapon_id == 0
        # ?? 1
        change_equip(0, item)
      elsif two_swords_style && @armor1_id == 0
        # ?? 2 (??????)
        change_equip(1, item)
      end
    elsif item.is_a?(RPG::Armor)
      if !two_swords_style && item.kind == equip_type[0] && @armor1_id == 0
        # ????? (????????)
        change_equip(1, item)
      else
        # ??????????
        list = [-1, @armor2_id, @armor3_id, @armor4_id]
        list += extra_armor_id
        # ?????????????????
        equip_type.each_with_index { |kind, i|
          if kind == item.kind && list[i] == 0
            change_equip(i + 1, item)
            break
          end
        }
      end
    end
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Base
#==============================================================================

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     actor : ????
  #--------------------------------------------------------------------------
  def ep_color(actor)
    return knockout_color if actor.maxep > 0 && actor.ep == 0
    return normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 1 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color1
    color = KGC::EquipExtension::EP_GAUGE_START_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 2 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color2
    color = KGC::EquipExtension::EP_GAUGE_END_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ???
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep(actor, x, y, width = 120)
    draw_actor_ep_gauge(actor, x, y, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 30, WLH, Vocab::ep_a)
    self.contents.font.color = ep_color(actor)
    xr = x + width
    if width < 120
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.ep, 2)
    else
      self.contents.draw_text(xr - 90, y, 40, WLH, actor.ep, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxep, 2)
    end
    self.contents.font.color = normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ??????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep_gauge(actor, x, y, width = 120)
    gw = width * actor.ep / [actor.maxep, 1].max
    gc1 = ep_gauge_color1
    gc2 = ep_gauge_color2
    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end
  #--------------------------------------------------------------------------
  # ? ?? EP ???
  #     item    : ?? or ??
  #     rect    : ??????
  #     enabled : ????
  #--------------------------------------------------------------------------
  def draw_equipment_ep_cost(item, rect, enabled = true)
    return if item == nil
    # ?? EP 0 ????????
    return if KGC::EquipExtension::HIDE_ZERO_EP_COST && item.ep_cost == 0

    color = KGC::EquipExtension::EP_COST_COLOR
    self.contents.font.color = (color.is_a?(Integer) ?
      text_color(color) : color)
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(rect, item.ep_cost, 2)
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Equip
#==============================================================================

class Window_Equip < Window_Selectable
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @data = @actor.equips.clone
    @item_max = [@data.size, @actor.armor_number + 1].min
    create_contents

    # ???????
    self.contents.font.color = system_color
    if @actor.two_swords_style
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)
      self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
    else
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
      name = armor_slot_name(@actor.equip_type[0])
      self.contents.draw_text(4, WLH * 1, 92, WLH, name)
    end
    for i in 1...@actor.armor_number
      name = armor_slot_name(@actor.equip_type[i])
      self.contents.draw_text(4, WLH * (i + 1), 92, WLH, name)
    end

    # ??????
    rect = Rect.new(92, 0, self.width - 128, WLH)
    @item_max.times { |i|
      rect.y = WLH * i
      draw_item_name(@data[i], rect.x, rect.y)
      draw_equipment_ep_cost(@data[i], rect)
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     kind : ??
  #--------------------------------------------------------------------------
  def armor_slot_name(kind)
    case kind
    when 0..3
      return eval("Vocab.armor#{kind + 1}")
    else
      return Vocab.extra_armor(kind - 4)
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ????? 1 ????????
  #--------------------------------------------------------------------------
  def cursor_pagedown
    return if Input.repeat?(Input::R)
    super
  end
  #--------------------------------------------------------------------------
  # ? ????? 1 ???????
  #--------------------------------------------------------------------------
  def cursor_pageup
    return if Input.repeat?(Input::L)
    super
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    super
    return unless self.active

    if Input.repeat?(Input::RIGHT)
      cursor_pagedown
    elsif Input.repeat?(Input::LEFT)
      cursor_pageup
    end
  end
end

end

#=================================================#

#==============================================================================
# ¦ Window_EquipItem
#==============================================================================

class Window_EquipItem < Window_Item
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    @item_enabled = []
    super
    @data.each { |item| @item_enabled << enable?(item) }
  end
  #--------------------------------------------------------------------------
  # ? ????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def include?(item)
    return true if item == nil
    if @equip_type == 0
      return false unless item.is_a?(RPG::Weapon)
    else
      return false unless item.is_a?(RPG::Armor)
      return false unless item.kind == @equip_type - 1
    end
    return @actor.equippable?(item)
  end
  #--------------------------------------------------------------------------
  # ? ??????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def enable?(item)
    return false unless @actor.equippable?(item)                      # ????
    return false unless @actor.ep_condition_clear?(@equip_type, item)  # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     index : ????
  #--------------------------------------------------------------------------
  def draw_item(index)
    super(index)   
    rect = item_rect(index)
    item = @data[index]

    # ??????????
    cw = self.contents.text_size(sprintf(":%2d", 0)).width
    rect.width -= cw + 4
    draw_equipment_ep_cost(item, rect, enable?(item))
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #     equip_type : ????
  #--------------------------------------------------------------------------
  def simple_refresh(equip_type)
    # ???????????
    last_equip_type = @equip_type
    @equip_type = equip_type

    @data.each_with_index { |item, i|
      # ????????????????
      if enable?(item) != @item_enabled[i]
        draw_item(i)
        @item_enabled[i] = enable?(item)
      end
    }
    # ???????
    @equip_type = last_equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ Window_EquipStatus
#==============================================================================

class Window_EquipStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  alias refresh_KGC_EquipExtension refresh
  def refresh
    refresh_KGC_EquipExtension

    draw_actor_ep(@actor, 120, 0, 56) if KGC::EquipExtension::USE_EP_SYSTEM
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Status
#==============================================================================

class Window_Status < Window_Base

if KGC::EquipExtension::SHOW_STATUS_EP
  #--------------------------------------------------------------------------
  # ? ???????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  alias draw_basic_info_KGC_EquipExtension draw_basic_info
  def draw_basic_info(x, y)
    draw_basic_info_KGC_EquipExtension(x, y)

    draw_actor_ep(@actor, x + 160, y + WLH * 4)
  end
end

  #--------------------------------------------------------------------------
  # ? ??????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_equipments(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::equip)

    item_number = [@actor.equips.size, @actor.armor_number + 1].min
    item_number.times { |i|
      draw_item_name(@actor.equips[i], x + 16, y + WLH * (i + 1))
    }
  end
end

#=================================================#

#==============================================================================
# ¦ Window_ShopStatus
#==============================================================================

class Window_ShopStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ?????????????????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_parameter_change(actor, x, y)
    return if @item.is_a?(RPG::Item)
    enabled = actor.equippable?(@item)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(x, y, 200, WLH, actor.name)
    if @item.is_a?(RPG::Weapon)
      item1 = weaker_weapon(actor)
    elsif actor.two_swords_style and @item.kind == 0
      item1 = nil
    else
      index = actor.equip_type.index(@item.kind)
      item1 = (index != nil ? actor.equips[1 + index] : nil)
    end
    if enabled
      if @item.is_a?(RPG::Weapon)
        atk1 = item1 == nil ? 0 : item1.atk
        atk2 = @item == nil ? 0 : @item.atk
        change = atk2 - atk1
      else
        def1 = item1 == nil ? 0 : item1.def
        def2 = @item == nil ? 0 : @item.def
        change = def2 - def1
      end
      self.contents.draw_text(x, y, 200, WLH, sprintf("%+d", change), 2)
    end
    draw_item_name(item1, x, y + WLH, enabled)
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_Equip
#==============================================================================

class Scene_Equip < Scene_Base
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  EQUIP_TYPE_MAX = KGC::EquipExtension::EXTRA_EQUIP_KIND.size + 5
  #--------------------------------------------------------------------------
  # ? ?????????
  #     actor_index : ??????????
  #     equip_index : ????????
  #--------------------------------------------------------------------------
  alias initialize_KGC_EquipExtension initialize
  def initialize(actor_index = 0, equip_index = 0)
    initialize_KGC_EquipExtension(actor_index, equip_index)

    unit = ($imported["LargeParty"] ?
      $game_party.all_members : $game_party.members)
    actor = unit[actor_index]
    @equip_index = [@equip_index, actor.armor_number].min
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  alias create_item_windows_KGC_EquipExtension create_item_windows
  def create_item_windows
    create_item_windows_KGC_EquipExtension

    kind = equip_kind(@equip_index)
    EQUIP_TYPE_MAX.times { |i|
      @item_windows[i].visible = (kind == i)
    }
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def update_item_windows
    kind = equip_kind(@equip_window.index)
    for i in 0...EQUIP_TYPE_MAX
      @item_windows[i].visible = (kind == i)
      @item_windows[i].update
    end
    @item_window = @item_windows[kind]
    @item_window.simple_refresh(@equip_window.index)
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     index : ?????????
  #--------------------------------------------------------------------------
  def equip_kind(index)
    if index == 0
      return 0
    else
      return @actor.equip_type[index - 1] + 1
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def update_status_window
    if @equip_window.active
      @status_window.set_new_parameters(nil, nil, nil, nil)
    elsif @item_window.active
      temp_actor = Marshal.load(Marshal.dump(@actor))
      temp_actor.change_equip(@equip_window.index, @item_window.item, true)
      new_atk = temp_actor.atk
      new_def = temp_actor.def
      new_spi = temp_actor.spi
      new_agi = temp_actor.agi
      @status_window.set_new_parameters(new_atk, new_def, new_spi, new_agi)
    end
    @status_window.update
  end
end

  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  alias update_item_selection_KGC_EquipExtension update_item_selection
  def update_item_selection
    if Input.trigger?(Input::C)
      # ????????
      index = @equip_window.index
      item = @item_window.item
      unless item == nil ||
          (@actor.equippable?(item) && @actor.ep_condition_clear?(index, item))
        Sound.play_buzzer
        return
      end
    end

    update_item_selection_KGC_EquipExtension
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_File
#==============================================================================

class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  alias read_save_data_KGC_EquipExtension read_save_data
  def read_save_data(file)
    read_save_data_KGC_EquipExtension(file)

    KGC::Commands.restore_equip
    Graphics.frame_reset
  end
end

Grüße Klex
Titel: Re: Hilfe zu Skripten.
Beitrag von: Otoma am Mai 16, 2009, 15:44:20

Für deine zweite Frage, habe ich hier etwas.

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/   ?                Skill CP System - KGC_SkillCPSystem               ? VX ?
#_/   ?                      Last Update: 2008/09/06                          ?
#_/   ?            Translated and Extended Updates by Mr. Anonymous           ?
#_/   ? KGC Site:                                                             ?
#_/   ? [url]http://f44.aaa.livedoor.jp/~ytomy/ [/url]                                   ?
#_/   ? Translator's Blog:                                                    ?
#_/   ? [url]http://mraprojects.wordpress.com[/url]                                      ?
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/         This script has two functions equipment-related functions.
#_/   The first function is the ability to create moire 'slots' for equipment,
#_/  such as separating Boots and Gauntlets from mere 'accessories'.
#_/  It is possible to also create additional equipment slots. See the customize
#_/  block for more details.
#_/ 
#_/   The second function is an "EP" (Equipment Point) System, which allows you
#_/  to designate how many 'points' an item costs to successfully equip. A
#_/  character's total EP expenditure is increased upon leveling up.
#_/  This introduces more strategy-oriented character customization.
#_/----------------------------------------------------------------------------
#_/                        ? Instructions For Usage ?
#_/  To make use of these functions, you must insert the tag into the desired
#_/   item's "Notes" box located in the Armor tab of the database. For example,
#_/   you want the Leather Boots to be bound to the "Legs" slot and cost
#_/   2 EP to equip. Insert <equipkind Legs>, press enter, then add <EP 2>
#_/ 
#_/                                ? Tags ?
#_/  <equipkind EquipType>
#_/   Where EquipType = The name of the type of equipment. See EXTRA_EQUIP_KIND
#_/                                                        below.
#_/  <EP Amount>
#_/   Where Amount = The desired amount of EP the item requires to equip.
#_/
#_/
#_/                           ? Script Commands ?
#_/  These commands are used in "Script" function in the third page of event
#_/   commands under "Advanced".
#_/
#_/  * set_actor_equip_type(ActorID, [EquipType])
#_/     Allows you to manually specify an actor's equipment slots. a
#_/      Ex. set_actor_equip_type(2, [0, 2, 3, 3, 3])
#_/      If "nil"(without quotations) is appointed to EquipType, the default
#_/      EQUIP_TYPE (see below) is used. Trust me, it's useful!
#_/
#_/  * change_actor_equipment(ActorID, equipslot_index, ItemID)
#_/     Allows you to change the equipment of a specified actor.
#_/      equipslot_index works by finding the equipment slot number, which is
#_/      different from EQUIP_TYPE. Setting ItemID to 0 will remove the item.
#_/                   With the default setup, we see:
#_/      0=Weapon 1=Shield 2=Headgear 3=Armor 4=Accessory 5=Legs 6=Arms
#_/
#_/                         So, for an example:
#_/                  change_actor_equipment(1, 3, 15)
#_/ Would change Ralph's(Actor01 in the database) armor to Chainmail(By default)
#_/                                           
#_/     
#_/============================================================================
#_/ Installation: This script must be inserted below KCG_ExtendedEquipScene
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#=============================================================================#
#                           ? Customization ?                                 #
#=============================================================================#

module KGC
  module EquipExtension
  #           ? Extended Equipment Classification Names ?
  #  You may designate the names of additional equipment slots here.
  #   Each time you designate a new equipment slot, it is assigned a number.
  #   The first four equipment types (Shield, Helmet, Armor, and Accessory) are
  #   given as 1, 2, 3, 4, respectively. Then the values below are assigned in
  #   order. By default "Legs" and "Arms" would be 4 and 5. It is possible
  #   to add additional slots.
  #  Example: EXTRA_EQUIP_KIND = ["Legs", "Arms", "Skill Book"]
  EXTRA_EQUIP_KIND = ["Rücken", "Füße"]

  #                     ? Equipment Placement ?
  #  This allows you to arrange the equip slots as you see fit on the equipment
  #   menu. Note the order listed below.
  #                  ** Equipment Classification Summary **
  # 0.Shield  1.Headgear  2.Armor  3.Accessory  4. "Legs"  5."Arms"
  #  Note that these can be changed as desired. By default, we've enabled two
  #   accessory slots at the end, instead of one. If you plan on adding extra
  #   equip slots, the category's cooresponding number must be inserted in the
  #   brackets [] below.
  EQUIP_TYPE = [0, 1, 2, 5, 4, 3]

  #                       ? EP (Equip Point) System ?
  #  These settings are for the Equipment Point Limit System.
  #   This toggle allows you to use the EP system if set to true.
  #   If set to false, the EP system will be disabled.
  USE_EP_SYSTEM = false
  # VOCAB_EP appears once a character gains EP from battle. (Not Tested)
  VOCAB_EP   = "EP"
  # VOCAB_EP_A appears above the EP gauge.
  VOCAB_EP_A = "EP"
  # This toggle allows you to display the EP gauge in the actor status window.
  SHOW_STATUS_EP = true

  #                          ? Default EP Cost ?
  #  Allows you to change the default amount an item costs to equip in EP.
  #   (When not otherwise specified.)
  DEFAULT_EP_COST   = 1
  #  This toggle allows you to hide the EP cost of an item if its cost is 0.
  #   true = hide
  #   false = show
  HIDE_ZERO_EP_COST = true

  #                        ? EP Values & Level Gain ?
  #  Maximum EP that can be spent equipping items.
  EP_MAX = 20
  # Characters begin with this amount of EP.
  EP_MIN = 5
  # ? EP Level Gain
  #  This is the formula for the amount of EP gained upon leveling up.
  #  The result of this formula is automatically converted to an integer.
  EP_CALC_EXP = "level * 0.3 + 4"
  # ? Individual Actor EP Level Gain
  PERSONAL_EP_CALC_EXP = [] # <- Do not alter or remove!
  #  Below here, you may specify formulas for individual actors that dictates
  #   the amount of EP they recieve upon leveling up. Like EP_CALC_EXP, the
  #   result is converted to an integer.
  #  Format: PERSONAL_EP_CALC_EXP[ActorID] = "Formula"
  #  The format is just like EP_CALC_EXP, except each actor is defined after
  #   PERSONAL_EP_CALC_EXP in brackets [].
  #  Any actor not specified uses the EP_CALC_EXP formula.
  #  Example:
  # PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
  #                 ? Insert Personal EP Calculations Below Here ?
  PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
 
 
 
  #                 ? Insert Personal EP Calculations Above Here ?
 
  #                        ? EP Gauge Colorization ?
  #  Allows you to change the color of the EP gauges.
  #  The color can also be determined by a red, green, and blue values.
  #  Example: GAUGE_NORMAL_START_COLOR = Color.new(255, 0, 0)  <- This is red.
  #   This method of color assignment is much like Tint Screen event command.
  #
  #  This affects the color of number that represents EP cost.
  EP_COST_COLOR        = 23
  #  This is the fill color for the early phase of the guage.
  EP_GAUGE_START_COLOR = 28
  #  This is the fill color for the late phase of the guage. (When full)
  EP_GAUGE_END_COLOR   = 29
  end
end

#=============================================================================#
#                          ? End Customization ?                              #
#=============================================================================#

#=================================================#
#                    IMPORT                       #
#=================================================#

$imported = {} if $imported == nil
$imported["EquipExtension"] = true

#=================================================#

module KGC::EquipExtension
  # Unless the EP system is used...
  unless USE_EP_SYSTEM
    SHOW_STATUS_EP = false
    HIDE_ZERO_EP_COST = true
  end

#==============================================================================
# ? KGC::EquipExtension::Regexp
#==============================================================================
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#                          Note Field Tag Strings                             #
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#  Whatever word(s) are after the separator ( | ) in the following lines are
#   what are used to determine what is searched for in the "Note" section of
#   an item or armor.

  #  Regular expressions defined
  module Regexp
    # Base Item Module
    module BaseItem
      #  EP Tag String
      EP_COST = /<EP\s*(\d+)>/i
      #  Item Type Tag String
      # Special note: I cannot get this tag to work right. If anyone knows how
      # this works or if it's bugged, please let me know.
      EQUIP_TYPE = /<(?:EQUIP_TYPE|equiptype)\s*(\d+(?:\s*,\s*\d+)*)>/
    end

    #  Base Armor Module
    module Armor
      #  Armor Type Tag String
      EQUIP_KIND = /<(?:EQUIP_KIND|equipkind)\s*(.+)>/i
    end
   
  end
end

#=================================================#

#==============================================================================
# ? KGC::Commands
#==============================================================================

module KGC
module Commands
  module_function
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def restore_equip
    (1...$data_actors.size).each { |i|
      actor = $game_actors[i]
      actor.restore_equip
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     actor_id   : ???? ID
  #     equip_type : ?????
  #--------------------------------------------------------------------------
  def set_actor_equip_type(actor_id, equip_type = nil)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.equip_type = equip_type
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #     actor_id   : ???? ID
  #     index      : ???? (0~)
  #     item_id    : ?? or ?? ID (0 ???)
  #--------------------------------------------------------------------------
  def change_actor_equipment(actor_id, index, item_id)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.change_equip_by_id(index, item_id)
  end
end
end

class Game_Interpreter
  include KGC::Commands
end

#=================================================#

#==============================================================================
# ¦ Vocab
#==============================================================================

module Vocab
  # EP
  def self.ep
    return KGC::EquipExtension::VOCAB_EP
  end

  # EP (?)
  def self.ep_a
    return KGC::EquipExtension::VOCAB_EP_A
  end

  # ?????
  def self.extra_armor(index)
    return KGC::EquipExtension::EXTRA_EQUIP_KIND[index]
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::BaseItem
#==============================================================================

class RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    @__ep_cost = KGC::EquipExtension::DEFAULT_EP_COST
    @__equip_type = []

    self.note.split(/[\r\n]+/).each { |line|
      case line
      when KGC::EquipExtension::Regexp::BaseItem::EP_COST
        # ?? EP
        @__ep_cost = $1.to_i
      when KGC::EquipExtension::Regexp::BaseItem::EQUIP_TYPE
        # ?????
        @__equip_type = []
        $1.scan(/\d+/) { |num|
          @__equip_type << num.to_i
        }
      end
    }

    # EP ???????????? EP = 0
    @__ep_cost = 0 unless KGC::EquipExtension::USE_EP_SYSTEM
  end
  #--------------------------------------------------------------------------
  # ? ?? EP
  #--------------------------------------------------------------------------
  def ep_cost
    create_equip_extension_cache if @__ep_cost == nil
    return @__ep_cost
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def equip_type
    create_equip_extension_cache if @__equip_type == nil
    return @__equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::Armor
#==============================================================================

class RPG::Armor < RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    super
    @__kind = -1

    self.note.split(/[\r\n]+/).each { |line|
      if line =~ KGC::EquipExtension::Regexp::Armor::EQUIP_KIND
        # ????
        e_index = KGC::EquipExtension::EXTRA_EQUIP_KIND.index($1)
        next if e_index == nil
        @__kind = e_index + 4
      end
    }
  end

unless $@
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  alias kind_KGC_EquipExtension kind
  def kind
    create_equip_extension_cache if @__kind == nil
    return (@__kind == -1 ? kind_KGC_EquipExtension : @__kind)
  end
end

end

#=================================================#

#==============================================================================
# ¦ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  attr_writer   :equip_type               # ?????
  #--------------------------------------------------------------------------
  # ? ??????
  #     actor_id : ???? ID
  #--------------------------------------------------------------------------
  alias setup_KGC_EquipExtension setup
  def setup(actor_id)
    actor = $data_actors[actor_id]
    @extra_armor_id = []

    setup_KGC_EquipExtension(actor_id)

    restore_equip
  end
  #--------------------------------------------------------------------------
  # ? MaxEP ??
  #--------------------------------------------------------------------------
  def maxep
    calc_exp = KGC::EquipExtension::PERSONAL_EP_CALC_EXP[self.id]
    if calc_exp == nil
      calc_exp = KGC::EquipExtension::EP_CALC_EXP
    end
    n = Integer(eval(calc_exp))
    return [[n, ep_limit].min, KGC::EquipExtension::EP_MIN].max
  end
  #--------------------------------------------------------------------------
  # ? EP ??
  #--------------------------------------------------------------------------
  def ep
    n = 0
    equips.compact.each { |item| n += item.ep_cost }
    return [maxep - n, 0].max
  end
  #--------------------------------------------------------------------------
  # ? EP ????
  #--------------------------------------------------------------------------
  def ep_limit
    return KGC::EquipExtension::EP_MAX
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def equip_type
    if @equip_type.is_a?(Array)
      return @equip_type
    else
      return KGC::EquipExtension::EQUIP_TYPE
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def armor_number
    return equip_type.size
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def extra_armor_number
    return [armor_number - 4, 0].max
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ??????
  #--------------------------------------------------------------------------
  def extra_armor_id
    @extra_armor_id = [] if @extra_armor_id == nil
    return @extra_armor_id
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  alias armors_KGC_EquipExtension armors
  def armors
    result = armors_KGC_EquipExtension

    # 5??????????
    extra_armor_number.times { |i|
      armor_id = extra_armor_id[i]
      result << (armor_id == nil ? nil : $data_armors[armor_id])
    }
    return result
  end
  #--------------------------------------------------------------------------
  # ? ????? (?????????)
  #     equip_type : ????
  #     item       : ?? or ?? (nil ??????)
  #     test       : ?????? (???????????????????)
  #--------------------------------------------------------------------------
  alias change_equip_KGC_EquipExtension change_equip
  def change_equip(equip_type, item, test = false)
    change_equip_KGC_EquipExtension(equip_type, item, test)

    # ????????????
    if extra_armor_number > 0
      item_id = item == nil ? 0 : item.id
      case equip_type
      when 5..armor_number  # ?????
        @extra_armor_id = [] if @extra_armor_id == nil
        @extra_armor_id[equip_type - 5] = item_id
      end
    end

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     item : ?????? or ??
  #    ??/???????????????????????
  #--------------------------------------------------------------------------
  alias discard_equip_KGC_EquipExtension discard_equip
  def discard_equip(item)
    last_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]

    discard_equip_KGC_EquipExtension(item)

    curr_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
    return unless item.is_a?(RPG::Armor)  # ?????
    return if last_armors != curr_armors  # ???????

    # ????????
    extra_armor_number.times { |i|
      if extra_armor_id[i] == item.id
        @extra_armor_id[i] = 0
        break
      end
    }

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ???
  #     class_id : ????? ID
  #--------------------------------------------------------------------------
  alias class_id_equal_KGC_EquipExtension class_id=
  def class_id=(class_id)
    class_id_equal_KGC_EquipExtension(class_id)

    return if extra_armor_number == 0  # ????????

    # ?????????????
    for i in 5..armor_number
      change_equip(i, nil) unless equippable?(equips[i])
    end
  end
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     equip_type : ????
  #     item       : ?? or ??
  #--------------------------------------------------------------------------
  def ep_condition_clear?(equip_type, item)
    return true if item == nil  # nil ?????? OK

    curr_item = equips[equip_type]
    offset = (curr_item != nil ? curr_item.ep_cost : 0)
    return false if self.ep < (item.ep_cost - offset)   # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def restore_equip
    return if @__last_equip_type == equip_type

    # ??????·????????
    last_equips = equips
    last_hp = self.hp
    last_mp = self.mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids = battle_skill_ids.clone
    end

    # ?????
    last_equips.each_index { |i| change_equip(i, nil) }

    # ???·????????
    last_equips.compact.each { |item| equip_legal_slot(item) }
    self.hp = last_hp
    self.mp = last_mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids.each_with_index { |s, i| set_battle_skill(i, s) }
    end
    @__last_equip_type = equip_type.clone
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     item : ?? or ??
  #--------------------------------------------------------------------------
  def equip_legal_slot(item)
    if item.is_a?(RPG::Weapon)
      if @weapon_id == 0
        # ?? 1
        change_equip(0, item)
      elsif two_swords_style && @armor1_id == 0
        # ?? 2 (??????)
        change_equip(1, item)
      end
    elsif item.is_a?(RPG::Armor)
      if !two_swords_style && item.kind == equip_type[0] && @armor1_id == 0
        # ????? (????????)
        change_equip(1, item)
      else
        # ??????????
        list = [-1, @armor2_id, @armor3_id, @armor4_id]
        list += extra_armor_id
        # ?????????????????
        equip_type.each_with_index { |kind, i|
          if kind == item.kind && list[i] == 0
            change_equip(i + 1, item)
            break
          end
        }
      end
    end
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Base
#==============================================================================

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     actor : ????
  #--------------------------------------------------------------------------
  def ep_color(actor)
    return knockout_color if actor.maxep > 0 && actor.ep == 0
    return normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 1 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color1
    color = KGC::EquipExtension::EP_GAUGE_START_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 2 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color2
    color = KGC::EquipExtension::EP_GAUGE_END_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ???
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep(actor, x, y, width = 120)
    draw_actor_ep_gauge(actor, x, y, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 30, WLH, Vocab::ep_a)
    self.contents.font.color = ep_color(actor)
    xr = x + width
    if width < 120
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.ep, 2)
    else
      self.contents.draw_text(xr - 90, y, 40, WLH, actor.ep, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxep, 2)
    end
    self.contents.font.color = normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ??????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep_gauge(actor, x, y, width = 120)
    gw = width * actor.ep / [actor.maxep, 1].max
    gc1 = ep_gauge_color1
    gc2 = ep_gauge_color2
    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end
  #--------------------------------------------------------------------------
  # ? ?? EP ???
  #     item    : ?? or ??
  #     rect    : ??????
  #     enabled : ????
  #--------------------------------------------------------------------------
  def draw_equipment_ep_cost(item, rect, enabled = true)
    return if item == nil
    # ?? EP 0 ????????
    return if KGC::EquipExtension::HIDE_ZERO_EP_COST && item.ep_cost == 0

    color = KGC::EquipExtension::EP_COST_COLOR
    self.contents.font.color = (color.is_a?(Integer) ?
      text_color(color) : color)
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(rect, item.ep_cost, 2)
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Equip
#==============================================================================

class Window_Equip < Window_Selectable
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @data = @actor.equips.clone
    @item_max = [@data.size, @actor.armor_number + 1].min
    create_contents

    # ???????
    self.contents.font.color = system_color
    if @actor.two_swords_style
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)
      self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
    else
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
      name = armor_slot_name(@actor.equip_type[0])
      self.contents.draw_text(4, WLH * 1, 92, WLH, name)
    end
    for i in 1...@actor.armor_number
      name = armor_slot_name(@actor.equip_type[i])
      self.contents.draw_text(4, WLH * (i + 1), 92, WLH, name)
    end

    # ??????
    rect = Rect.new(92, 0, self.width - 128, WLH)
    @item_max.times { |i|
      rect.y = WLH * i
      draw_item_name(@data[i], rect.x, rect.y)
      draw_equipment_ep_cost(@data[i], rect)
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     kind : ??
  #--------------------------------------------------------------------------
  def armor_slot_name(kind)
    case kind
    when 0..3
      return eval("Vocab.armor#{kind + 1}")
    else
      return Vocab.extra_armor(kind - 4)
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ????? 1 ????????
  #--------------------------------------------------------------------------
  def cursor_pagedown
    return if Input.repeat?(Input::R)
    super
  end
  #--------------------------------------------------------------------------
  # ? ????? 1 ???????
  #--------------------------------------------------------------------------
  def cursor_pageup
    return if Input.repeat?(Input::L)
    super
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    super
    return unless self.active

    if Input.repeat?(Input::RIGHT)
      cursor_pagedown
    elsif Input.repeat?(Input::LEFT)
      cursor_pageup
    end
  end
end

end

#=================================================#

#==============================================================================
# ¦ Window_EquipItem
#==============================================================================

class Window_EquipItem < Window_Item
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    @item_enabled = []
    super
    @data.each { |item| @item_enabled << enable?(item) }
  end
  #--------------------------------------------------------------------------
  # ? ????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def include?(item)
    return true if item == nil
    if @equip_type == 0
      return false unless item.is_a?(RPG::Weapon)
    else
      return false unless item.is_a?(RPG::Armor)
      return false unless item.kind == @equip_type - 1
    end
    return @actor.equippable?(item)
  end
  #--------------------------------------------------------------------------
  # ? ??????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def enable?(item)
    return false unless @actor.equippable?(item)                      # ????
    return false unless @actor.ep_condition_clear?(@equip_type, item)  # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     index : ????
  #--------------------------------------------------------------------------
  def draw_item(index)
    super(index)   
    rect = item_rect(index)
    item = @data[index]

    # ??????????
    cw = self.contents.text_size(sprintf(":%2d", 0)).width
    rect.width -= cw + 4
    draw_equipment_ep_cost(item, rect, enable?(item))
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #     equip_type : ????
  #--------------------------------------------------------------------------
  def simple_refresh(equip_type)
    # ???????????
    last_equip_type = @equip_type
    @equip_type = equip_type

    @data.each_with_index { |item, i|
      # ????????????????
      if enable?(item) != @item_enabled[i]
        draw_item(i)
        @item_enabled[i] = enable?(item)
      end
    }
    # ???????
    @equip_type = last_equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ Window_EquipStatus
#==============================================================================

class Window_EquipStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  alias refresh_KGC_EquipExtension refresh
  def refresh
    refresh_KGC_EquipExtension

    draw_actor_ep(@actor, 120, 0, 56) if KGC::EquipExtension::USE_EP_SYSTEM
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Status
#==============================================================================

class Window_Status < Window_Base

if KGC::EquipExtension::SHOW_STATUS_EP
  #--------------------------------------------------------------------------
  # ? ???????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  alias draw_basic_info_KGC_EquipExtension draw_basic_info
  def draw_basic_info(x, y)
    draw_basic_info_KGC_EquipExtension(x, y)

    draw_actor_ep(@actor, x + 160, y + WLH * 4)
  end
end

  #--------------------------------------------------------------------------
  # ? ??????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_equipments(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::equip)

    item_number = [@actor.equips.size, @actor.armor_number + 1].min
    item_number.times { |i|
      draw_item_name(@actor.equips[i], x + 16, y + WLH * (i + 1))
    }
  end
end

#=================================================#

#==============================================================================
# ¦ Window_ShopStatus
#==============================================================================

class Window_ShopStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ?????????????????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_parameter_change(actor, x, y)
    return if @item.is_a?(RPG::Item)
    enabled = actor.equippable?(@item)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(x, y, 200, WLH, actor.name)
    if @item.is_a?(RPG::Weapon)
      item1 = weaker_weapon(actor)
    elsif actor.two_swords_style and @item.kind == 0
      item1 = nil
    else
      index = actor.equip_type.index(@item.kind)
      item1 = (index != nil ? actor.equips[1 + index] : nil)
    end
    if enabled
      if @item.is_a?(RPG::Weapon)
        atk1 = item1 == nil ? 0 : item1.atk
        atk2 = @item == nil ? 0 : @item.atk
        change = atk2 - atk1
      else
        def1 = item1 == nil ? 0 : item1.def
        def2 = @item == nil ? 0 : @item.def
        change = def2 - def1
      end
      self.contents.draw_text(x, y, 200, WLH, sprintf("%+d", change), 2)
    end
    draw_item_name(item1, x, y + WLH, enabled)
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_Equip
#==============================================================================

class Scene_Equip < Scene_Base
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  EQUIP_TYPE_MAX = KGC::EquipExtension::EXTRA_EQUIP_KIND.size + 5
  #--------------------------------------------------------------------------
  # ? ?????????
  #     actor_index : ??????????
  #     equip_index : ????????
  #--------------------------------------------------------------------------
  alias initialize_KGC_EquipExtension initialize
  def initialize(actor_index = 0, equip_index = 0)
    initialize_KGC_EquipExtension(actor_index, equip_index)

    unit = ($imported["LargeParty"] ?
      $game_party.all_members : $game_party.members)
    actor = unit[actor_index]
    @equip_index = [@equip_index, actor.armor_number].min
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  alias create_item_windows_KGC_EquipExtension create_item_windows
  def create_item_windows
    create_item_windows_KGC_EquipExtension

    kind = equip_kind(@equip_index)
    EQUIP_TYPE_MAX.times { |i|
      @item_windows[i].visible = (kind == i)
    }
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def update_item_windows
    kind = equip_kind(@equip_window.index)
    for i in 0...EQUIP_TYPE_MAX
      @item_windows[i].visible = (kind == i)
      @item_windows[i].update
    end
    @item_window = @item_windows[kind]
    @item_window.simple_refresh(@equip_window.index)
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     index : ?????????
  #--------------------------------------------------------------------------
  def equip_kind(index)
    if index == 0
      return 0
    else
      return @actor.equip_type[index - 1] + 1
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def update_status_window
    if @equip_window.active
      @status_window.set_new_parameters(nil, nil, nil, nil)
    elsif @item_window.active
      temp_actor = Marshal.load(Marshal.dump(@actor))
      temp_actor.change_equip(@equip_window.index, @item_window.item, true)
      new_atk = temp_actor.atk
      new_def = temp_actor.def
      new_spi = temp_actor.spi
      new_agi = temp_actor.agi
      @status_window.set_new_parameters(new_atk, new_def, new_spi, new_agi)
    end
    @status_window.update
  end
end

  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  alias update_item_selection_KGC_EquipExtension update_item_selection
  def update_item_selection
    if Input.trigger?(Input::C)
      # ????????
      index = @equip_window.index
      item = @item_window.item
      unless item == nil ||
          (@actor.equippable?(item) && @actor.ep_condition_clear?(index, item))
        Sound.play_buzzer
        return
      end
    end

    update_item_selection_KGC_EquipExtension
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_File
#==============================================================================

class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  alias read_save_data_KGC_EquipExtension read_save_data
  def read_save_data(file)
    read_save_data_KGC_EquipExtension(file)

    KGC::Commands.restore_equip
    Graphics.frame_reset
  end
end

Grüße Klex


danke. Dazu hab ich aber noch ne Frage und zwar wie kann ich bestimmen dass ein Rüstitem z.B. schuhe sind?

In der Datenbank kann ich immernoch nur zwischen den 4 Standart Typen wählen (hab auch schon neugestartet)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Klex am Mai 16, 2009, 15:56:36
(http://f.imagehost.org/0198/Antwort.jpg) (http://f.imagehost.org/view/0198/Antwort)

Grüße Klex
Titel: Re: Hilfe zu Skripten.
Beitrag von: Otoma am Mai 16, 2009, 16:57:49
Danke Klex, klappt alles.


Einmal ein Menü dass mehr als 4 chars unterstützt (werden warscheinlich 12)


Frage besteht immernoch





EDIT:
Also 12 Leute kann ich jetzt im team haben (kann man unter Game_Party einstellen). Man sieht in dem menüfenster nur die ersten 4, man kann aber die anderen auswählen. (hier ist der 5. ausgesucht):
(http://img3.imagebanana.com/img/vijtz6af/Daaa.PNG)
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 18, 2009, 17:16:02
hab das problem hinbekommen^^
hab aber ein neues Problem:   :-(
Die Gegner bewegen sich nicht  xD



Das Problem hab ich immer noch :P
Titel: Re: Hilfe zu Skripten.
Beitrag von: Otoma am Mai 19, 2009, 15:53:21
Hab mal ein wenig durchgeguckt, hab aber auch kein Plan wieso das so ist. Aber ne Alternative wär. den Modus auf Team umzustellen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 19, 2009, 15:55:54
wie den modus ??? :P
Titel: Re: Hilfe zu Skripten.
Beitrag von: Otoma am Mai 19, 2009, 16:27:49
Wenn du das GTBS benutzt unter "Game_System"

  alias gtbs_GS_init initialize
  def initialize
    @cust_battle = "TEAM"   (Zeile 22)
    @tactics_actors = []
    @tactics_enemies = []
    @tactics_neutral = []
    @tactics_dead = []
    @battle_events = {}
    @acted = []
    @scroll_cursor = true
    @ai_level = 2
    @move_color = "BLUE"
    @help_skill_color = "GREEN"
    @attack_skill_color = "YELLOW"
    @attack_color = "RED"
    @tbs_enabled = true
    gtbs_GS_init
  end
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 19, 2009, 16:29:40
Ich werds mal ausprobieren :P

Danke^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Otoma am Mai 19, 2009, 16:39:24
Brauch immernoch Hilfe beim menü script ^^.

Ich will dass ich bei dem ESC Menü 12 Leute statt nur 4 sehen kann. Aber irgendwie will es nichtmal klappen die Face Grafiken kleiner anzuzeigen.

Zitat von: Window_Base Z. 170-179
  def draw_face(face_name, face_index, x, y, size = 96)
    bitmap = Cache.face(face_name)
    rect = Rect.new(0, 0, 0, 0)
    rect.x = face_index % 4 * 96 + (96 - size) / 2
    rect.y = face_index / 4 * 96 + (96 - size) / 2
    rect.width = size
    rect.height = size
    self.contents.blt(x, y, bitmap, rect)
    bitmap.dispose
  end

Bloß wenn ich size verändere passiert GARNICHTS. Warscheinlich bin ich da eh ganz falsch, hat wer ne Idee?
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 19, 2009, 19:07:15
Ich hab jetzt das Script eingedeutscht, aber bei der Auswahl erscheint immer Yes/No ???

Und ich finde die Zeile nicht, wo ich das Ändern kann :D
Titel: Re: Hilfe zu Skripten.
Beitrag von: Otoma am Mai 19, 2009, 21:28:33
Auswahl von was?
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 20, 2009, 14:20:44
zb. wenn ich mit dem setzen der  Charactäre fertig bin,
dann kommte ein Text: Bist du Fertig? und drunter kommt: Yes No

Und ich weiß nicht, wo ich das Yes/No in Ja/Nein umstellen kann ???
Titel: Re: Hilfe zu Skripten.
Beitrag von: Otoma am Mai 20, 2009, 16:45:03
Window_Battle
Z. 354/362

Das müssten die richtigen sein.
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 25, 2009, 20:20:07
Ich hätte noch eine Frage^^

Wo kann ich den Text im Startmenü ändern (dort wo wait und attack und so steht)

ICh finds nich :D
Titel: Re: Hilfe zu Skripten.
Beitrag von: Geoflare am Mai 25, 2009, 23:24:29
da musst du bei terms das ändern
Titel: Re: Hilfe zu Skripten.
Beitrag von: Emelie Rose am Mai 27, 2009, 01:45:44
kann mir jemand sagen wie man eine andere Script-Sprache in ruby einbetten kann?
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 27, 2009, 14:25:35
beim TBS gibts kein Terms^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Emelie Rose am Mai 27, 2009, 22:27:17
kennt jemand ein script welches html oder java im maker ermöglicht?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Mai 27, 2009, 23:08:02
Nach vielen Seiten im Internet und einem Selbstversuch mit unserem Informatikkurs haben wir es nicht geschafft ein Programm eine andere Scriptsprache zu verstehen. Ich hab ein bischen gegooglet und auch für RGSS gibt es bislang keine Möglichkeit dafür ausser für die Windowmessagebefehle wie z.B. woratan sie schon eingebaut hat.
(Forenbefehle /url] etc)
Vielleicht irre ich mich hoffe aber trotzdem, dass ich dir helfen konnte.
MfG
Deity (http://...)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Emelie Rose am Mai 27, 2009, 23:19:00
Naja mir gehts eigendlich um den befehl alert im java. Das macht das man wenn man z.B. darüber geht ein [desc=so wie hier ;)]Fenster[/desc]aufgeht in dem was steht.

Meine idee war (da ich ein event menü habe) und ich das mousescript benutze so ein befehl nem gegenstand gebe und ihn dann beschreibe.

Leide wess och net wie ich das ib ruby machen kann. Hastdu ne ahnung?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Mai 28, 2009, 11:47:48
Leider nicht, dazu sind meine RGSS Kenntnisse zu bescheiden. Aber ich denke es ist möglich.
MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 28, 2009, 15:54:45
Ich hab ne Frage zum Lighteffects script:
Wenn ich mein Spiel starte kommt diese Fehlermeldung:
(http://www.abload.de/thumb/unbenanntuyco.jpg) (http://www.abload.de/image.php?img=unbenanntuyco.jpg)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Emelie Rose am Mai 28, 2009, 16:33:00
So wies aussieht blockiert ein anderes script dein lichtscript.

Welche verwendest du noch?
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 28, 2009, 16:38:37
habs rausbekommen^^

Es war Tileset reloaded von Onkel Hell.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Emelie Rose am Mai 28, 2009, 21:58:29
Naja mir gehts eigendlich um den befehl alert im java. Das macht das man wenn man z.B. darüber geht ein [desc=so wie hier ;)]Fenster[/desc]aufgeht in dem was steht.

Meine idee war (da ich ein event menü habe) und ich das mousescript benutze so ein befehl nem gegenstand gebe und ihn dann beschreibe.

Leide wess och net wie ich das ib ruby machen kann. Hastdu ne ahnung?

brauche immernoch hilfe
Titel: Re: Hilfe zu Skripten.
Beitrag von: spitfire am Mai 29, 2009, 23:09:31
Ich hätte noch eine Frage^^

Wo kann ich den Text im Startmenü ändern (dort wo wait und attack und so steht)

ICh finds nich :D

Brauch immer noch Hilfe^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Colonios am Mai 29, 2009, 23:19:55
Script-Base: Vocab
Titel: Re: Hilfe zu Skripten.
Beitrag von: Domin0e am Mai 29, 2009, 23:21:53
Ich hätte noch eine Frage^^

Wo kann ich den Text im Startmenü ändern (dort wo wait und attack und so steht)

ICh finds nich :D

Brauch immer noch Hilfe^^

Window_Battle, Zeile 50-59, die ab Zeile 35 musst du mitändern! ;)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Emelie Rose am Mai 31, 2009, 23:09:53
Naja mir gehts eigendlich um den befehl alert im java. Das macht das man wenn man z.B. darüber geht ein [desc=so wie hier ;)]Fenster[/desc]aufgeht in dem was steht.

Meine idee war (da ich ein event menü habe) und ich das mousescript benutze so ein befehl nem gegenstand gebe und ihn dann beschreibe.

Leide wess och net wie ich das ib ruby machen kann. Hastdu ne ahnung?

brauche immernoch hilfe
Titel: Re: Hilfe zu Skripten.
Beitrag von: Domin0e am Juni 10, 2009, 13:57:29
Soviel wie ich das daraus sehen kann mit meinen fast nicht vorhandenen RGSS-Kenntnissen kannst du den Skript NICHT manuell ein/ausschalten, denn da scheint weder ein Switch zu sein der das (de)aktivieren kann, noch irgendwas anderes.. :X

btw, nach 13 std. musst du noch nicht pushen ;]
Titel: Re: Hilfe zu Skripten.
Beitrag von: Toria am Juni 21, 2009, 14:27:25
Hallo Leute,

hab mal ne Frage zum Scene_Battle Skript.
Ich möchte gern die Fluchtrate ändern, bin aber nicht sicher wie.
Ab der Zeile 549 wird doch die Fluchtwahrscheinlichkeit abgefragt, oder?

Irgendwie verstehe ich nicht wie die Wahrscheinlichkeit dort berechnet wird.
Hat sich damit schon einmal jemand auseinandergesetzt?

vorab Danke für eure Hilfe.
Titel: Re: Hilfe zu Skripten.
Beitrag von: RaZZoR am Juni 21, 2009, 14:48:19
Hi Toria,

also kp ob es bei deinem Skript eine Änderung an der Fluchtrate gibt, aber normal wird sie so berechnet:
(laut Maker:)
150 - 100 × den Durchschnitt der Initiative des Feindes ÷ den Durchschnitt der Initiative der Heldengruppe.
Außerdem steigt für jeden gescheiterten Fluchtversuch die Fluchtrate um 10%.
Bei einem Überraschungsangriff gelingt immer die Flucht.

Vielleicht hilft dir das ja schon ein wenig.

MfG RaZZoR
Titel: Re: Hilfe zu Skripten.
Beitrag von: Toria am Juni 21, 2009, 17:34:08
Ja,das hat schon geholfen.

Danke RaZZoR!
Titel: Re: Hilfe zu Skripten.
Beitrag von: MelekTaus am Juni 25, 2009, 23:51:48
Habidere^^

Ich habe auch mal eine Frage:
Warum spuckt er bei diesem Script eine "Nicht senden"-Meldung aus?
#==============================================================================
# Test mit Tilemap (Resize)
#==============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  alias melektaus_spriteset_map_initialize initialize
  def initialize
    melektaus_spriteset_map_initialize
    t = @tilemap.map_data
    p_tablesize(t)
    t.resize(t.xsize, t.ysize, t.zsize)
    p_tablesize(t)
    # "Nicht Senden"-Meldung
  end
  #--------------------------------------------------------------------------
  def p_tablesize(table)
    x = table.xsize
    y = table.ysize
    z = table.zsize
    p "#{x}, #{y}, #{z}"
  end
  #--------------------------------------------------------------------------
end
#==============================================================================

Auch wenn keine Änderungen (nur testweise) durch den [desc=Table.resize(xsize, ysize, zsize)
Change the size of the array. All data from before the size change is retained.

Table.xsize
Table.ysize
Table.zsize
Gets the sizes of each of the array's dimensions.]Resize[/desc]-Befehl vorgenommen werden, will es trotzdem nicht klappen -.-
Gibt es vielleicht eine Lösung, die Tilemap-Table-Größe zu verändern (bzw einfach nur den [desc=Table.resize(xsize, ysize, zsize)
Change the size of the array. All data from before the size change is retained.

Table.xsize
Table.ysize
Table.zsize
Gets the sizes of each of the array's dimensions.]Resize[/desc]-Befehl zu nutzen) ohne dass ein "Nicht senden"-Fehler kommt?

Ich hoffe es kann mir jemand helfen.

EDIT: Hat sich erledigt, habs jetzt über die Game_Map-Klasse mit einer eigenen Funktion gelöst:
#==============================================================================
# Game_Map
#==============================================================================
class Game_Map
  #--------------------------------------------------------------------------
  def setup(map_id)
    @map_id = map_id
    @map = load_data(sprintf("Data/Map%03d.rvdata", @map_id))
    @map = rebuild(@map, 17, 13)
    @display_x = 0
    @display_y = 0
    @passages = $data_system.passages
    referesh_vehicles
    setup_events
    setup_scroll
    setup_parallax
    @need_refresh = false
  end
  #--------------------------------------------------------------------------
  def rebuild(map, width, height)
    new_map = RPG::Map.new(width, height)
    new_map.data = Table.new(width, height, 3)
    for x in 0...width
      for y in 0...height
        for z in 0...3
          value = map.data[x, y, z]
          value = 0 if value == nil
          new_map.data[x, y, z] = value
        end
      end
    end
    return new_map
  end
  #--------------------------------------------------------------------------
end
#==============================================================================

MfG,
MelekTaus
Titel: Re: Hilfe zu Skripten.
Beitrag von: *johny* am Juni 30, 2009, 15:42:31
Hallo
Ich bin neu und kenne mich deshalb nicht so gut aus mit dem RPG-VX Maker. Also ich suche einen Skript mit dem man die Überblendung (von Map 1 zu Map2) wegmachen kann. Sodass kein Übergang mehr Stattfindet.
1000 THX im voraus!
Titel: Re: Hilfe zu Skripten.
Beitrag von: Colonios am Juni 30, 2009, 15:44:52
So ein Script gib es nach meinem Wissen nicht... Wieso willst du die Überblendung weg haben?
Titel: Re: Hilfe zu Skripten.
Beitrag von: *johny* am Juni 30, 2009, 15:48:11
Doch sowas gibts!?!
Ein Freund von hat sowas ... Obwohl ... nach längerem Überlegen ... vielleicht hat der den Skript selber gemacht?!
Trotzdem Danke!
Titel: Re: Hilfe zu Skripten.
Beitrag von: tobistyle am Juni 30, 2009, 15:51:45
Es gibt so einen Skript ;)

Guck mal unter Instant Transfer, da findest du den Code
Klicke hier^^ (http://www.rpgvx.net/index.php/topic,1134.0.html)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Gilbse am Juli 03, 2009, 13:01:12
Hallo,
ich wollte fragen ob jemand von euch einen Jahreszeiten skript kennt.
Ich wäre sehr dankbar.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Colonios am Juli 03, 2009, 13:26:12
Da gibts meines Wissens kein Script zu...

Du kannst das per Events in kombination mit Onkel Hells Tile substitution lösen! Guck dir mal das Tutorial zu verschiedenen Tageszeiten mit CEs an (CE = Common Event).
Dann lässt du einfach die Tage zählen und richtest danach die Jahreszeiten ;)


MfG
Titel: Re: Hilfe zu Skripten.
Beitrag von: AlphaCentauri am Juli 09, 2009, 13:57:26
Hi, ich denk mal, meine Frage passt hier ganz gut rein:

Es geht um das Monster Album Script (http://www.rpgvx.net/index.php/topic,1746.0.html). Wie kann ich einstellen, dass dort, wo das Bild des Monsters angezeigt wird, ein von mir festgelegtes Hintergrundbild angezeigt wird anstelle einer schwarzen Fläche? Wollte den Thread nich unnötig ausgraben, daher stell ich die Frage hier...

MfG,
Alpha
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Juli 23, 2009, 01:18:48
moin hätt acuh ma wieder ne frage hier... weiß wer wie ichs schaff die standart bewegung nach oben und unten auszuschalten? also wenn ich pfeiltaste hoch drücke, das der char sich nicht nach oben bewegt? weil hab per common event mit conditional key input up was eingebaut und wenn ich nach oben dann drück bewegt der sich auch... und das soll er nicht.. weiß da jmd ne lösung? danke schonma
mfG Sartekk
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Juli 23, 2009, 15:41:01
@AlphaCentauri
Es gibt mitlerwile mir 4 bekannte Monster Album Scripts, daher solltest du uns vielleicht den Namen und einen Link dazu posten. Danach könnte ich es gerne versuchen.

@Sartek
Ich hoffe es hilft dir. Einfach über Main einfügen :D
module D_Settings
  SWITCH_ID = 1   # Die SwitchID, die die Bewegung nach oben und unten verbietet.
                  # Einfach die gewählte SwitchID aktivieren, damit der Spieler
                  # nicht nach oben und unten bewegen kann. (Edited: by Phi, Wirtten: by Deity)
end

include D_Settings

class Game_Player
  #--------------------------------------------------------------------------
  # * Processing of Movement via input from the Directional Buttons
  #--------------------------------------------------------------------------
  def move_by_input
    return unless movable?
    return if $game_map.interpreter.running?
    case Input.dir4
    when 2;
      if $game_switches[SWITCH_ID] != true
        move_down
      end
    when 4
      move_left
    when 6
      move_right
    when 8
      if $game_switches[SWITCH_ID] != true 
        move_up
      end
    end
  end
end

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Juli 25, 2009, 12:28:16
Danke Deity klappt super :) nun hab ich aber die nächst frage und ne schnelle antwort wär super...
Bastel mir grad nen Script und ich kriegs einfach nit hin vom Script aus dieses Scheiß Name Input Process starten zu lassen >_<
Das Script läuft unter class Name_Commander < Scene_Base
pls schnell hilfe :(
das game hängt sich dann einfach auf und es bleibt im vorherigen script_command_window stehn...
Titel: Re: Hilfe zu Skripten.
Beitrag von: MelekTaus am Juli 25, 2009, 14:54:05
Habe die Name_Commander-Klasse ein wenig umgeschrieben^^
#==============================================================================
# Name_Commander
#==============================================================================
class Name_Commander < Scene_Name
  #--------------------------------------------------------------------------
  def initialize(name_actor_id, name_max_char)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    $game_temp.name_actor_id = name_actor_id
    $game_temp.name_max_char = name_max_char
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
  def terminate
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    super
    $register_name = true
    $scene = Charmaker.new
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
end
#==============================================================================

Wenn du die Name_Commander-Scene in der Charmaker-Scene aufrufen willst, dann:
#==============================================================================
#       $scene = Name_Commander(actor_id, max_char)
# z.B.: $scene = Name_Commander(1, 10)
#==============================================================================

MfG, MelekTaus
Titel: Re: Hilfe zu Skripten.
Beitrag von: fuzzy am Juli 29, 2009, 20:40:17
So. Tach die Herren und Damen!

Ich habe folgende Problematik, die sicher auch im Interesse des ganzen Forums wäre.
Ich möchte das  FFXII Menü  (http://www.rpgvx.net/index.php/topic,3216.0.html) aus dem Forum haben, aber leider ist es in spanisch und weißt mich auf Fehler hin.

Bitte saugt euch einfach schnell das Menü und schaut selber nach was für Fehler das Teil hat.
Sollte es wirklich Jemand auf die Reihe kriegen, das Script für mich und alle anderen zu debuggn,
so kann er sich einen dicken Credits Eintrag sicher sein!

lg, fuzzy
Titel: Re: Hilfe zu Skripten.
Beitrag von: wolfassguy am Juli 30, 2009, 19:07:02
Ich hab gehört es gäbe ein Skript das die Monster Bilder bewegen lässt aber ich kann es nicht finden ... kann mir das einer bitte posten ?
Titel: Re: Hilfe zu Skripten.
Beitrag von: fuzzy am Juli 30, 2009, 21:39:38
EDIT:
-Erledigt-

Zitat
So. Tach die Herren und Damen!

Mein Drama um das FFX2 Menü dreht erneut eine Runde.
Diesmal wäre es so, dass das Menü umgedeutscht ist und funkt.
Nur:
Der Fehler:
Im Skill_Skript kann man die Typen von Magie angeben.
Dazu muss man die Skills per Skriptbefehl ins Menü einordnen lassen.
Doch das geht bei mir nicht (nach sehr langen und nervigen ausprobieren..)

Vermutung:
Das FFX2 Menü benützt Magiearten.
Mein Sideview KS nicht.
Ich vermute das beide auf Scene_Skills oder sowas zugreifen.

Zudem kommt noch ein weitere Fehler:
Ich habe eine Save&Load Skript, welches mir ermöglicht mehrere Saveslots und Screens zur verfügung zu haben.
Nun ist es (warum auch immer) so, dass ich nur über Eventbefehl speichern kann, aber nicht das Spiel laden kann.


Ich bitte sehr um eure Hilfe!
Ich kann erneut nur einen Creditseintrag anbieten, da ich RGSS2 mäßig voll die Wurst bin.




Lg,
fuzzy
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Juli 31, 2009, 00:07:41
Also ich versuch grad mein Script zu verallgemeinern und will auf die skills to learn in der database classes zugreifen... mein Script sieht so aus:
class Testi < Scene_Base
 
  def start
    super
    gain
  end
 
  def learn_skill(skill_id)
    unless skill_learn?($data_skills[skill_id])
      @skills.push(skill_id)
      @skills.sort!
    end
  end
 
  def gain
    @char = $game_actors[1]
    @level = @char.level
    for i in @char.class.learnings
      learn_skill(i.skill_id) if i.level <= @level
    end
  end
 
  def skill_learn?(skill)
    return @skills.include?(skill.id)
  end

 
end 

jedoch kommt andauernd n Script error "undefined method ìnclude?"
weiß wer wieso und hätt jmd lösungsvorschläge???
Titel: Re: Hilfe zu Skripten.
Beitrag von: Mr.Wolna am Juli 31, 2009, 01:43:58
Ich hoffe ich funk dir nicht dazwischen Sartek.

da ich befürchte das ich ohne Fehler kaum ne avi/swf Datei als Intro einfügen kann versuche ich es auf den direkten weg.

Es braucht eigentlich nicht viel.
ein Hintergrund Bild, ein runterscrollender Text und Hintergrundmusik.

Wie ich ein Bitmap Objekt erstelle ist mir klar, das Problem sind die Classen, welche ist das, die VOR dem Mainmenü kommt?
Titel: Re: Hilfe zu Skripten.
Beitrag von: BSD am August 12, 2009, 00:18:06
Guten Abend.

ich würde gern ein nettes kleines Extra in mein Spiel einbauen. Nur leider bin ich ne totale Null was das Scripten angeht. Ich möchte das wenn die ganze Gruppe besiegt ist, das dann nicht der Game Over Skreen kommt sondern man an einen Ort transferiert wird wo man die Möglichkeit bekommt gegen denn Tod zu kämpfen um wieder belebt zu werden und da weiter zu machen wo man gestorben ist. Kann mir da wer helfen, falls so etwas überhaupt möglich ist. Ich bedanke mich schon mal in voraus.

mfG BSD
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am August 12, 2009, 20:28:25
Klar geht das... im Script "Scene_Battle" Zeile 679 anstatt
$scene = Scene_Gameover.newmachste
$game_player.reserve_transfer(map_id, x, y, direction)wobei map_id die ID der gewünschten Map, X die X-Koordinate, y die Y-Koordinate und direction die Richtung( in welcher der Actor dann stehen soll) ist
Titel: Re: Hilfe zu Skripten.
Beitrag von: BSD am August 13, 2009, 01:39:43
Viele dank Sartek nur leider geht es nicht. Wie gesagt hab ich Null ahnung. Könntest du mir vieleicht ein Beispiel geben damit ich genau weis wie das aussehen muss?

MfG BSD
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am August 17, 2009, 15:57:07
Naja kp ob das hier reingehört aber egal.
Es gibt ja hier den ein oder anderen Skripter und mich würd interessieren wo ihr das gelernt hab. Ich hab zwar die ein oder anderen Grundkenntnisse im Bereich vom Konfigurieren oder so Kleinigkeiten am Skript verändern, aber so ein eigenes Skript krieg ich nicht auf die Beine. Deshalb wollt ich wissen ob ihr ein gutes Tut kennt, welches für den Maker halt sein sollte und nicht Ruby allgeimein xD.

Schonmal danke, mfg eugene
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am August 17, 2009, 21:30:00
Also ich kann schon das ein oder Andere Scripten... nur halt für eigene zwecke... mit dem verallgemeinern hab ichs nit so :D kann nur so machen, das der jenige für den ichs mach was damit anfangen kann :D aber auhc nit alles... Das beste Tut wie ich finde ist die Script-database vom standart RTP ;D Wenn ud dir genug zeit nimmst um dir die ganzen Standart-Scripts anzuschauen, wirst du das eine oder andere lernen... genauso wie bei anderen Scripts... Anschauen und analysieren udn so bringt viel ;) Ansonsten würde ich dir das hier mal enpfehlen
http://www.rpg-studio.de/scientia/Ruby/RGSS (http://www.rpg-studio.de/scientia/Ruby/RGSS)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am August 17, 2009, 22:03:21
@eugene222
Ich würde dir schlicht sagen, learning by doing. Versuch einfache Veränderrungen in simplen Scripts, wie dem Scene_Title vorzunehmen und steigere dich so mehr und mehr in kompliziertere Scripts.
Eine Seite, könnte ich dir noch empfehlen, die mir hell gegeben hat. Dort habe ich eine Menge über Strings ( im Zusammenhang mit Scripten ^^) gelenrt. Aber andere Classes sind da auch erklärt.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am August 18, 2009, 15:04:01
Ok vielen Dank an beide, dann versuch ichs es mir selber bei zu bringen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: *johny* am August 19, 2009, 11:24:31
Hallo...
ich habe ein problem ... und zwar ... wie kann ich über ein event einen skript ein- und ausschalten?!
thx im voraus *johny*

*EDIT*
Hallo nochmal ...
wenn ich gerade dabei bin ... ich habe alles abgesucht und nix gefunden ... ich suche ein paar skripts ... wenn mir jemand den namen sagen könnte (oder am besten link) oder auch sagen das es sowas nicht gibt ... wäre sehr hilfreich...
also ich suche skripte:
- einen skript zum erstellen eines "benutzers" ... oder profil
- einen skript ... eine art drop and drag system
- einen skript ... oder so ... etwas als textverarbeitung
100000 THX im voraus!
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am August 19, 2009, 14:43:17
Das kommt auf das Skript an welches du ein und ausschalten willst.
Zu den anderen Fragen kann ich dir nicht antworten.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am August 25, 2009, 17:53:32
Also ich habe eine Frage...
Wie kann ich per Call Script befehl abfragen, ob der Player vor hinter oder neben einem Event steht?
Also ich habs versucht so zu lösen:
if $game_player.pos?($game_map.events[@event_id].x -1,$game_map.events[@event_id].y )
jedoch kommt leider immer ein Script Error "wrong number of arguments (2 for 0)"
Weiß jemand wie ich das anders machen, oder so verändern kann, damit der Script error nicht kommt?
und noch ne Frage: Wie kann ich per Script die Direction des Players abfragen?
Titel: Re: Hilfe zu Skripten.
Beitrag von: MelekTaus am September 02, 2009, 23:46:17
Zitat
if $game_player.pos?($game_map.events[@event_id].x -1,$game_map.events[@event_id].y )
hmm.. da sollte "wrong number of arguments (2 for 0)" nicht auftreten,
außer es wurde an der Methode in der Game_Character-Klasse
rumgespielt ;D oder ein Script hat diese Methode verändert.

Zitat
und noch ne Frage: Wie kann ich per Script die Direction des Players abfragen?
$game_player.direction == 2  # Down
$game_player.direction == 4  # Left
$game_player.direction == 6  # Right
$game_player.direction == 8  # Up

MfG, MelekTaus
Titel: Re: Hilfe zu Skripten.
Beitrag von: saschb2b am September 03, 2009, 20:23:51
Guten Abend liebe Community!
Da ich wieder an meinen Menü arbeite, würde es mich interessieren, ob man
nicht irgendwie flash einbauen könnte.
Gibt es für sowas einen Script zum nutzen von swf datein?

MFG Saschb2b
Titel: Re: Hilfe zu Skripten.
Beitrag von: Soraphis am September 03, 2009, 20:55:03
Hallo,

ich wollte wissen wie ich ein icon anzeigen lassen kann per sprite
also hiermit (hab ich schon gelernt) kann ich ein bild anzeigen lassen
@bg.bitmap = Cache.picture(IMG_NAME)
bei nem icon hab ich mir gedacht:
@bg.bitmap = Cache.system("IconSet")[ICON_NUM]
aber [] geht nicht, sowenig wie () und der ersten klammer kann ich auch keine weiteren paramter geben.

jetzt häng ich etwas aufm schlauch.
viel skripting erfahrung hab ich noch nicht, hab mich bisher nie viel für ruby intressiert....
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 03, 2009, 21:51:51
Zitat
Hallo,

ich wollte wissen wie ich ein icon anzeigen lassen kann per sprite
also hiermit (hab ich schon gelernt) kann ich ein bild anzeigen lassen
@bg.bitmap = Cache.picture(IMG_NAME)
bei nem icon hab ich mir gedacht:
@bg.bitmap = Cache.system("IconSet")[ICON_NUM]
aber [] geht nicht, sowenig wie () und der ersten klammer kann ich auch keine weiteren paramter geben.

jetzt häng ich etwas aufm schlauch.
viel skripting erfahrung hab ich noch nicht, hab mich bisher nie viel für ruby intressiert....

Um ein icon in einem [desc=Also nur in einem Window, das aus Window_Base entsteht!]!Window![/desc] lautet der Befehl;
draw_icon(icon_index, x, y, enabled = true)
Wobei;
icon_index = ID des Icons ist,
x, y = X- und Y-Koordinaten für das Icon sind,
enabled = true = Ob das Icon aktiv/inaktiv ist (transparenz des Icons).
Falls du es in einer anderen Class verwenden möchtest, empfehle ich dir unter Window_Base > draw_icon nachzuschauen, wie man ein einzigen Teil des Iconsets anzeigt.
Hoffe konnte dir helfen.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: MelekTaus am September 04, 2009, 08:36:01
Wie Deity schon sagte: in der Klasse Window_Base nachschauen^^

Du brauchst die draw_icon-Methode von der Window_Base-Klasse,
die du am besten der Sprite_Base-Klasse übergibst.
Dazu musst du sie nicht mal kopieren und einfügen:

#==============================================================================
# Sprite_Base::draw_icon(icon_index, x, y, [enabled])
#------------------------------------------------------------------------------
# Beispiel zur Verwendung:
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# sprite = Sprite_Base.new
# sprite.draw_icon($data_items[1].icon_index, 0, 0)
#==============================================================================
class Sprite_Base
  #--------------------------------------------------------------------------
  def draw_icon(icon_index, x, y, enabled = true)
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    window = Window_Base.new(0, 0, 56, 56)
    window.draw_icon(icon_index, 0, 0, enabled)
    self.bitmap = Bitmap.new(24, 24) if self.bitmap.nil?
    self.bitmap.blt(x, y, window.contents, window.contents.rect)
    window.dispose
    # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  end
  #--------------------------------------------------------------------------
end
#==============================================================================

MfG, MelekTaus
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am September 19, 2009, 23:27:15
ma ne frage und brauche shcnelle antwort... wie kann ich überprüfen, welchen Namen ein Event hat... natürlich per Script... also mit $game_map.events[@event_id].name funktionierts nit :/
Titel: Re: Hilfe zu Skripten.
Beitrag von: Herendil am September 20, 2009, 14:42:44
@Sartek: Diese Frage habe ich mir auch die letzten Tage gestellt und es ist
@event.name in der class "Game_Event" - was anderes hab ich nicht gefunden.
Wo wir gerade bei dem Thema sind: Ich habe diesen Code angefertigt:
class Game_Event
  alias se_start start
  def start
    se_start
  print(@event.name) #=> Name vom Event
  Audio.se_play(@event.name[,100[,100]]) if @event.name != nil
  end
end
 
 

Aber das mit dem SE geht nicht :/ Kann mir da wer helfen?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am September 20, 2009, 19:54:04
wenn ich mich nicht irre sollte es bei SE's so sein Sound.play_dateiname
EDIT by Colo:
Ähm... in einem Code werden alle Befehle außerkraft gesetzt bis der Code beendet wird... Hab das Color=Red mal entfernt ;)

MfG
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 20, 2009, 22:31:25
@Herendil
Um ein Se am sichersten abzuspielen, würde ich folgenden Code benutzen:
Audio.se_play("Audio/SE/DATEINAME", 100, 100)Die beiden Zahlen stllen die Lautsärke und die Länge des SE's ein.

Und wenn ich was bermerken darf, gibt es @event.name meines Wissens nicht ^^

Hoffe konnte dir weiterhelfen.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Herendil am September 21, 2009, 14:15:07
Irgendwie kann ich da so keine Variablen einfügen, sondern halt nur den Dateinnamen direkt einfügen... (in die ""). Ist das normal? Eigendlich müsste das ja gehen...
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am September 21, 2009, 14:36:33
du kannst das auch mit Variable machen... aber dann musste die vorher auch exakt definieren... z.b so:
x= "Dateiname"
Audio.se_play("Audio/SE/"x ,100 ,100)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Herendil am September 21, 2009, 14:47:01
Nope das geht nicht! Es wird ein Error ausgeworfen!
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 21, 2009, 16:27:52
Oh Sry das mit der Variable muss ich übersehen haben.
Um es mir einer Variable zu benutzen, würde ich das hier empfehlen:

X = "Dateiname"
Audio.se_play("Audio/SE/"+X.to_s, 100, 100)

Ich denke ich brauch das für dich nicht näher zu erläutern ^^


MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Herendil am September 21, 2009, 16:56:13
Vielen Dank.
Titel: Hilfe zu Skripten.
Beitrag von: Franky am September 25, 2009, 20:52:33
Da ich durch die Skript-Tutoriale nicht wirklich auf mein Problem gestossen bin, frage ich mal hier:
- Wenn ich ein Skript in meinem Spiel haben will, muss ich es dann zuerst einfach nur über Main Process einfügen, oder die einzelnen Classes zu den verschiedenen Kategorien sortieren?
Jedenfalls: Es tauchen immer Fehlermeldungen auf, bevor ich das Spiel überhaupt starten konnte. Beheben kann ich diese schon gar nicht.
Wie genau könnte man also vorgehen, so dass es zu möglichst keiner Fehlermeldung kommt (oder ist das bei jedem individuell?)?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 25, 2009, 22:04:48
@Franky
Man fügt ein Script über Main ein, das ist richtig.
Leider kann man sehr schwer sagen, warum ein Script Fehlermeldungen gibt, da es einfach zu viele Ursachen geben kann.
Wenn du also ein Script übernehmen willst, musst du immer genau achten, ob der Autor des Scriptes besonderheiten beim Verwenden erwähnt hat, sprich bei TenkaiKS, dass man die nötigen Skills,Statuse etc. übernehmen muss.
Eine weitere Ursache wäre, dass Scripte von verschiedenen Autoren, sich manchmal nicht vertragen und deshalb Fehlermeldungen verursachen.
Die Ursache, die mir jetzt noch spontan einfällt, ist dass der Benutzer sprich du bei den Settings entwas verändert hast, dass man vllt nicht "anfassen" sollte wie den namen eienr Array etc.
Wenn du denkst, dass es am Script liegen kann, so setze dieses in ein ganz neues/ leeres Projekt ein und überprüfe es noch ein mal.

Hoffe konnte dir helfen.
MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am September 26, 2009, 09:16:53
Zitat
@Sartek: Diese Frage habe ich mir auch die letzten Tage gestellt und es ist
Code:

@event.name

in der class "Game_Event" - was anderes hab ich nicht gefunden.
Wo wir gerade bei dem Thema sind: Ich habe diesen Code angefertigt:
Code:

class Game_Event
  alias se_start start
  def start
    se_start
  print(@event.name) #=> Name vom Event
  Audio.se_play(@event.name[,100[,100]]) if @event.name != nil
  end
end
  
  


Aber das mit dem SE geht nicht :/ Kann mir da wer helfen?

Ok gibt es auch ne Möglichkeit das @event.name in andere classes zu ziehen? mit attr_accessor oder so?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Franky am September 26, 2009, 12:41:24
Gibt es irgendwo eine Liste mit Skripten, die so sortiert sind, dass man sieht, welche Skripts parallel laufen können, ohne dass es zu einem Fehler kommt? Denn gerade die "besondereren" Scripts, wie Quest Log/Anti Lag/Monster Album funktionieren nicht.

Liegt es vielleicht an den KGC-Scripts (welche seltsamerweise von Anfang an dabei waren)?
Muss man die alle löschen, um andere Scripts fehlerfrei laufen lassen zu können?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Colonios am September 28, 2009, 13:39:58
Hey Jungs :)

Ich bin in den letzten zügen von meiner Eventsammlung und feile nur noch an kleinigkeiten. Ihr könnt mir echt wahnsinnig helfen, wenn ihr eine Lösung zu meinem Problem habt.
Schnelle Frage: Ich will Speichern und Laden ohne Save-Screen (also quasi ein Auto-Save/Load) per Script-Befehl. Also sowas wie dieser Befehl $save.("Filename") oder $load.("Filename")
Ist das möglich? Ich hab mir schon Scene_File angeschaut, blicke auch durch, aber meine RGSS kenntnisse sind einfach zu gering...

Danke im Voraus!
MfG
Titel: Re: Hilfe zu Skripten.
Beitrag von: Herendil am September 28, 2009, 15:56:10
Hey Jungs :)

Ja das gibt es. Ich finde zwar das Topic auf RRR nicht, aber es gäbe da eines von Wora (Credits an ihn!)
#=======================================================================
# ? [VX] ? Quick Save / Load / Delete ? ?
# * Save/Load/Delete save file you want with call script *
#-------------------------------------------------------------------
# ? by Woratana [woratana@hotmail.com]
# ? Thaiware RPG Maker Community
# ? Released on: 22/05/2008
# ? Version: 1.0
#=======================================================================

#==================================================================
# ** FEATURES **
#-----------------------------------------------------------------
# - Call script to save/load/delete any save slot
# - Compatible with most of the scripts that edited Scene_File

#==================================================================
# ** HOW TO USE **
#-----------------------------------------------------------------
# - To do a quick save, call script:
#  $save.do(slot)
# For example: $save.do(1)
# * Script above will save in slot 1
#
# - To do a quick save on last slot that you use quick save, call script:
#  $save.redo
#-----------------------------------------------------------------
# - To do a quick load, call script:
#  $load.do(slot)
#
# - To do a quick load on last slot that you use quick load, call script:
#  $load.redo
#-----------------------------------------------------------------
# - To do a quick delete save file, call script:
#  $save.del(slot)
#-----------------------------------------------------------------
#                             +[ TIP ]+
# If you want to use value in variable for slot, type this for slot:
# $game_variables[variable_id]
# For example: $save.do ($game_variables[1])
#===========================================================================

#--------------------------
# ** START SETUP PART
#--------------------------

QUICK_LOAD_FADE_SCREEN = true # (true/false)
# Do you want screen to fade when using Quick Load?

#--------------------------
# ** END SETUP PART
#--------------------------

$worale = {} if $worale.nil?
$worale["QuickSave"] = true
#-------------------------------
# Quick Save
#-------------------------------
class Quick_Save
  def do(slot = 0)
    return if slot == 0
    $game_system.last_qsave_slot = slot
    save = Scene_File.new(false,false,false,1,slot)
  end
 
  def redo
    save = Scene_File.new(false,false,false,1, $game_system.last_qsave_slot)
  end
 
  def del(slot = 0)
    return if slot == 0
    delete = Scene_File.new(false,false,false,3,slot)
  end
end
$save = Quick_Save.new
#-------------------------------
# Quick Load
#-------------------------------
class Quick_Load
  def do(slot = 0)
    return if slot == 0
    $game_system.last_qload_slot = slot
    save = Scene_File.new(false,false,false,2,slot)
  end
 
  def redo
    save = Scene_File.new(false,false,false,2, $game_system.last_qsave_slot)
  end
end
$load = Quick_Load.new
#------------------------------------
# Game System: Store Variables
#------------------------------------
class Game_System
  attr_accessor :last_qsave_slot, :last_qload_slot
  alias wor_qsave_gamsys_ini initialize
  def initialize
    wor_qsave_gamsys_ini
    @last_qsave_slot = 1
    @last_qload_slot = 1
  end
end
#------------------------------------
# Scene File: Save/Load/Delete File
#------------------------------------
class Scene_File < Scene_Base
  alias wor_qsave_scefil_ini initialize
 
  def initialize(saving, from_title, from_event, skip = 0, slot = 0)
    filename = make_filename(slot - 1) if slot >= 0
    if skip == 1 and slot > 0
      file = File.open(filename, "wb")
      write_save_data(file)
      file.close
      return
    elsif skip == 2 and slot > 0
      return if not FileTest.exist?(filename)
      file = File.open(filename, "rb")
      read_save_data(file)
      file.close
      $scene = Scene_Map.new
      if QUICK_LOAD_FADE_SCREEN
        RPG::BGM.fade(1)
        Graphics.fadeout(1)
        Graphics.wait(1)
      end
      @last_bgm.play
      @last_bgs.play
    elsif skip == 3 and slot > 0
      File.delete(filename) if FileTest.exist?(filename)
    else
      wor_qsave_scefil_ini(saving, from_title, from_event)
    end
  end
end

(Steinigt mich, wenn das exklusiv für RRR war :/ )
Titel: Re: Hilfe zu Skripten.
Beitrag von: KaN43 am September 28, 2009, 16:49:03
Hi,

ich habe ein Problem mit dem Illumino Skript von hell:

Ich habe als erstes ein Common Event erstellt, das ein Bild über dem Spieler anzeigt,
sodass es dann so aussieht als ob man eine eingeschränkte Sichtweite hat.(Praktisch ein Bild mit nem Kreis in der mitte)
Das funktioniert auch, aber wenn ich jetzt auf einer Map ein LE per Illumino einsetzte verträgt sich das nicht mit dem anderen Bild.
Hoffe, dass ihr das so halbwegs verstanden habt.

MfG
Titel: Re: Hilfe zu Skripten.
Beitrag von: Colonios am September 28, 2009, 20:04:11
Sehr gut, dass ist genau das, was ich brauche! Danke Herendil!

MfG
Titel: Re: Hilfe zu Skripten.
Beitrag von: Franky am September 30, 2009, 19:34:44
Endlich bin ich dahintergekommen, was die meisten Fehlermeldungen bedeuten:

Man muss einfach einen neuen Spielstand anlegen... dort funktioniert alles.
Naja, aufwendig.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Oktober 03, 2009, 12:15:08
Bräuchte Hilfe bei nem kleinen Condition-Script.. und zwar soll abgefragt werden, ob die Waffe mindestens 2 mal im Inventar vorhanden ist...
Wie müsste ich das machen?
Titel: Re: Hilfe zu Skripten.
Beitrag von: BaryK am Oktober 14, 2009, 17:47:16
ich weiß nicht obs hier rein passt aber hab da mal ne frage...

Wie kann man Schilde weglassen...sodass die auch bei ausrüstung nicht mehr zu sehen sind?
Titel: Mehrere Menüpunkte
Beitrag von: Franky am Oktober 15, 2009, 18:33:51
Wie bekomme ich es hin, dass es mehr Menüpunkte im Menü gibt?
Als Beispiel: Script Questlog und Script Monsteralbum und Script Erfolge
Es erscheint immer nur ein Menüpunkt, je nach Reihenfolge der Scripts. Die anderen müssen durch Items aufgerufen werden.
Ist es möglich alle 3 in das Menü zu packen?



~Das braucht erstmal kein eigenes Thema ;)

MfG, Colo
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Oktober 18, 2009, 12:20:27
Hab ma wieder ne frage zum Scripten :/ und zwar wollt ich ma fragen obs möglich is bei commands den Namen abzufragen... z.B so:

@weap_array = []
w1 = "Schwert"
if $game_party.has_item?($data_weapons[10],true)
   @weap_array.push(w1)
end
@command_window = Window_Command.new(160, @weap_array)
end

def update_command_selection
   case @command_window.index
      when "Schwert"     
        $game_actors[1].change_equip_by_id(0, 1)
...
ist das irgendwie möglich?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Franky am Oktober 18, 2009, 13:37:01
Frage:
Ich habe folgendes Skript zum Anzeigen von Zeit und Ort:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/   ?       Play Time And Location Window - MRA_LocationPlayTimeWindow ? VX ?
#_/   ?                      Last Update: 2008/09/16                          ?
#_/   ?                      Created by Mr. Anonymous                         ?
#_/   ? Creator's Blog:                                                       ?
#_/   ? http://mraprojects.wordpress.com                                      ?
#_/----------------------------------------------------------------------------
#_/  This script adds a location and playtime window into the menu.
#_/============================================================================
#_/ Install: Insert above main.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#=============================================================================#
#                             ? Customization ?                               #
#=============================================================================#
module MRA
  module LocationPlayTimeWindow
  #            ? Full Size Location and Play Time Windows Toggle ?
  #  This toggle allows you to enable/disable the full-size Location and Play
  #   Time windows that display the below-specified messages above the values.
  #  true = Full Sized windows in effect.
  #  false = Compact windows in effect.
    FULL_SIZE_WINDOWS = false
  #                 ? Use Combined PlatTime/Location Window ?
  
    USE_COMBINED_WINDOW = false
  #                           ? Show Time Window ?    
    SHOW_TIME = true
  #                          ? Show Location Window ?    
    SHOW_LOCATION = true
  #                          ? Location Window Text ?
    LOC_TEXT = "Ort:"
    
  #                          ? PlayTime Window Text ?
    PT_TEXT = "Zeit gespielt:"
    
  end
end
#==============================================================================
# ¦ Game_Map
#==============================================================================
class Game_Map
  #--------------------------------------------------------------------------
  # ? Open Global Variable
  #--------------------------------------------------------------------------
  attr_reader   :map_id
  #--------------------------------------------------------------------------
  # ? Convert and Load Map Name
  #--------------------------------------------------------------------------
  def map_name
    $map_name = load_data("Data/MapInfos.rvdata")
    $map_name[@map_id].name
  end
end

#==================================End Class===================================#

#==============================================================================
# ¦ Window_MapName
#------------------------------------------------------------------------------
# Create the window containing the current map's name.
#==============================================================================
if MRA::LocationPlayTimeWindow::USE_COMBINED_WINDOW == false
if MRA::LocationPlayTimeWindow::SHOW_LOCATION == true
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  class Window_Mapname < Window_Base
    def initialize(x, y)
      if MRA::LocationPlayTimeWindow::FULL_SIZE_WINDOWS == true
        super(x, y + 6, 160, WLH + 64)
      else
        super(x, y + 92, 160, WLH + 22)
      end
      refresh
    end  
    
    #--------------------------------------------------------------------------
    # ? Refresh
    #--------------------------------------------------------------------------  
    def refresh
      self.contents.clear
      self.contents.font.color = normal_color
      if MRA::LocationPlayTimeWindow::FULL_SIZE_WINDOWS == true
        self.contents.font.color = system_color
        self.contents.draw_text(4, 0, 120, 32, MRA::LocationPlayTimeWindow::LOC_TEXT)
        self.contents.font.color = normal_color
        self.contents.draw_text(4, 32, 120, 32, $game_map.map_name.to_s, 2)
      else
        self.contents.draw_text(4, -8, 120, 30, $game_map.map_name.to_s, 2)
      end
    end
  end
end
end
#==================================End Class===================================#
#==============================================================================
# ¦ Window_Time
#------------------------------------------------------------------------------
# Create the window containing the running playtime.
#==============================================================================
if MRA::LocationPlayTimeWindow::USE_COMBINED_WINDOW == false
if MRA::LocationPlayTimeWindow::SHOW_TIME == true
    #--------------------------------------------------------------------------
    # ? Initialize
    #--------------------------------------------------------------------------
  class Window_Time < Window_Base
    def initialize(x, y)
      if MRA::LocationPlayTimeWindow::FULL_SIZE_WINDOWS == true
        super(x, y + 2, 160, WLH + 64)
      else
        super(x, y + 46, 160, WLH + 22)
      end
      refresh
    end
    
    #--------------------------------------------------------------------------
    # ? Refresh
    #--------------------------------------------------------------------------    
    def refresh
      self.contents.clear
      if MRA::LocationPlayTimeWindow::FULL_SIZE_WINDOWS == true
        self.contents.font.color = system_color
        self.contents.draw_text(4, 0, 120, 32, MRA::LocationPlayTimeWindow::PT_TEXT)
      end
      @total_seconds = Graphics.frame_count / Graphics.frame_rate
      
      hours    =  @total_seconds / 60 / 60
      minutes  =  @total_seconds / 60 % 60
      seconds  =  @total_seconds % 60
      
      text = sprintf("%02d:%02d:%02d",  hours,  minutes,  seconds)
      
      self.contents.font.color = normal_color
      if MRA::LocationPlayTimeWindow::FULL_SIZE_WINDOWS == true
        self.contents.draw_text(4, 32, 120, 32, text, 2)
      else
        self.contents.draw_text(4,  -8,  120,  30,  text,  2)
      end
    end
    #--------------------------------------------------------------------------
    # ? Update
    #--------------------------------------------------------------------------  
    def update
      super
      if Graphics.frame_count / Graphics.frame_rate != @total_seconds
        refresh
      end
    end
  end
end
end

#==============================================================================
# ¦ Window_TimeMapName
#------------------------------------------------------------------------------
# Create the window containing the current play time and map's name.
#==============================================================================
if MRA::LocationPlayTimeWindow::USE_COMBINED_WINDOW == true
  #--------------------------------------------------------------------------
  # ? Initialize
  #--------------------------------------------------------------------------
  class Window_TimeMapname < Window_Base
    def initialize(x, y)
      super(x, y + 4, 160, WLH + 64)
      refresh
    end  
    #--------------------------------------------------------------------------
    # ? Refresh
    #--------------------------------------------------------------------------  
    def refresh
      self.contents.clear
      self.contents.font.color = system_color
      self.contents.draw_text(-2, -12, 120, 32, MRA::LocationPlayTimeWindow::LOC_TEXT)
      self.contents.draw_text(-2,  18, 120, 32, MRA::LocationPlayTimeWindow::PT_TEXT)
      self.contents.font.color = normal_color
      self.contents.draw_text(4, 3, 120, 32, $game_map.map_name.to_s, 2)
      @total_seconds = Graphics.frame_count / Graphics.frame_rate
      
      hours    =  @total_seconds / 60 / 60
      minutes  =  @total_seconds / 60 % 60
      seconds  =  @total_seconds % 60
        
      text = sprintf("%02d:%02d:%02d",  hours,  minutes,  seconds)
      self.contents.draw_text(4, 33, 120, 32, text, 2)
    end
    #--------------------------------------------------------------------------
    # ? Update
    #--------------------------------------------------------------------------  
    def update
      super
      if Graphics.frame_count / Graphics.frame_rate != @total_seconds
        refresh
      end
    end
  end
end
#==================================End Class===================================#
#==============================================================================
# ¦ Scene_Menu
#------------------------------------------------------------------------------
# Update Scene_Menu class to include the new windows.
#==============================================================================

  #--------------------------------------------------------------------------
  # ? Start Processing
  #--------------------------------------------------------------------------
class Scene_Menu < Scene_Base
  alias start_MRA_LocationPlayTimeWindow start
    def start
      if MRA::LocationPlayTimeWindow::USE_COMBINED_WINDOW == false
        if MRA::LocationPlayTimeWindow::SHOW_TIME
          @playtime_window = Window_Time.new(0,  270)
          @playtime_window.openness = 0
          @playtime_window.open
        end
        if MRA::LocationPlayTimeWindow::SHOW_LOCATION
          @mapname_window = Window_Mapname.new(0,  178)
          @mapname_window.openness = 0
          @mapname_window.open
        end
      else
        @timemapname_window = Window_TimeMapname.new(0, 270)
        @timemapname_window.openness = 0
        @timemapname_window.open
      end
=begin
      if $imported["PlaceMission"]
      @info_window = Window_Information.new
      @info_window.back_opacity = 160
      @info_window.x = 160
      @info_window.y = 264
      end
=end
      start_MRA_LocationPlayTimeWindow
    end

  #--------------------------------------------------------------------------
  # ? Termination Processing
  #--------------------------------------------------------------------------
  alias terminate_MRA_LocationPlayTimeWindow terminate
    def terminate
      if MRA::LocationPlayTimeWindow::USE_COMBINED_WINDOW == false
        if MRA::LocationPlayTimeWindow::SHOW_TIME
          @playtime_window.dispose
        end
        if MRA::LocationPlayTimeWindow::SHOW_LOCATION
          @mapname_window.dispose
        end
      else
        @timemapname_window.dispose
      end
      #@info_window.dispose if @info_window != nil
      terminate_MRA_LocationPlayTimeWindow
    end

  #--------------------------------------------------------------------------
  # ? Frame Update
  #--------------------------------------------------------------------------
  alias update_MRA_LocationPlayTimeWindow update
    def update
      if MRA::LocationPlayTimeWindow::USE_COMBINED_WINDOW == false
        if MRA::LocationPlayTimeWindow::SHOW_TIME
          @playtime_window.update
        end
        if MRA::LocationPlayTimeWindow::SHOW_LOCATION
          @mapname_window.update
        end
      else
        @timemapname_window.update
      end
      #@info_window.update if @info_window != nil
      update_MRA_LocationPlayTimeWindow
    end
end
#==================================End Class===================================#

Nun tritt folgender Fehler auf, wenn ich im ersten Menü vor Spielbeginn auf "Fortsetzen" gehe. Dort erscheinen alle Speicherdaten zum Auswählen. Wenn ich nun wieder mit Esc zurück ins Vorherige Menü gehe, kommt folgender Fehler:
(http://i38.tinypic.com/2j35k7m.jpg)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Dennvo am Oktober 21, 2009, 19:42:59
Jo Leuts,

hab da nen Prob mit dem Script wo man die Lebensanzeigen beim Kaduki KS ändern kann.
und zwar zeigt er bei mir da einen Fehler an.

(http://yourpg.de/images/Fehler.jpg)

Dieser Fehler befindet sich dann in diesem Code
    def name_bitmap(actor)
    bitmap = Bitmap.new(100, 24)
    bitmap.font.size = 16
    bitmap.draw_text_f(0, 0, 100, 24, actor.name)
    return bitmap
  end

Und der Fehler trit in dieser Zeile auf    bitmap.draw_text_f(0, 0, 100, 24, actor.name)
Ich hoffe ihr könnt mir da bitte irgendwie weiterhelfen.

MfG †-.-Dennvo-.-†
Titel: Re: Hilfe zu Skripten.
Beitrag von: saschb2b am Oktober 23, 2009, 15:38:58
Ich besitze den FULL Tastatur Script, nur leider fehlt mir der Comment um abzufragen ob eine Taste X gedrückt bzw gehalten wird.
Außerdem fehlt mir der Credit. Wäre euch echt dankbar über diese beiden Hilfen!

Hier noch der Script.
Er ist in 2 Teile geteilt

Zum einen in eine Erweiterung zur Main
#==============================================================================
# ** Main
#------------------------------------------------------------------------------
#  After defining each class, actual processing begins here.
#==============================================================================

unless $keybd
  $keybd = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'
  $keybd.call 0xA4, 0, 0, 0
  $keybd.call 13, 0, 0, 0
  $keybd.call 13, 0, 2, 0
  $keybd.call 0xA4, 0, 2, 0
end
$keybd = true

Und zum Anderen als Materials Zusatz:
class W32API
  attr_reader         :tasten   #Der Hash der Tastennamen in Hexa-Code umwandelt
  attr_reader         :retasten #Der Hash der Hexa-Code in Tastennamen umwandelt
  def initialize()
    @key_push = Win32API.new('user32', "GetAsyncKeyState", 'i', 'i')
    $key_press = Win32API.new('user32', "keybd_event", 'iiii', '')
    @tasten = Hash.new(
      #--------------------------Maus
      "l mouse" =>      0x01,   #Linke Maustaste
      "r mouse" =>      0x02,   #Rechte Maustaste
      "m mouse" =>      0x04,   #Mittlere Maustaste
      #--------------------------Special
      "back" =>         0x08,   #Backspace
      "tab" =>          0x09,   #Tabulator-Taste
      "enter" =>        0x0D,   #Enter
      "shift" =>        0x10,   #Eine der Shift-Tasten
      "strg" =>         0x11,   #Alt Gr-Taste oder eine der Strg-Tasten
      "alt" =>          0x12,   #Eine alt oder die Num-Block-Taste5 mit num lock
      "umschalt" =>     0x14,   #Umschalttaste
      "esc" =>          0x1B,   #Escape
      "space" =>        0x20,   #Leertaste
      #--------------------------Extra-Block
      "bild oben" =>    0x21,
      "bild unten" =>   0x22,
      "ende" =>         0x23,
      "pos1" =>         0x24,
      #--------------------------Pfeil
      "left" =>         0x25,
      "links" =>        0x25,   #-
      "up" =>           0x26,
      "hoch" =>         0x26,   #-
      "oben" =>         0x26,   #-
      "right" =>        0x27,
      "rechts" =>       0x27,   #-
      "down" =>         0x28,
      "unten" =>        0x28,   #-
      #--------------------------Extra-Block
      "snapshot" =>     0x2C,
      "einfg" =>        0x2D,
      "entf" =>         0x2E,
      #--------------------------Zahlen
      "0" =>            0x30,
      "1" =>            0x31,
      "2" =>            0x32,
      "3" =>            0x33,
      "4" =>            0x34,
      "5" =>            0x35,
      "6" =>            0x36,
      "7" =>            0x37,
      "8" =>            0x38,
      "9" =>            0x39,
      #--------------------------Alphabet
      "a" =>            0x41,
      "b" =>            0x42,
      "c" =>            0x43,
      "d" =>            0x44,
      "e" =>            0x45,
      "f" =>            0x46,
      "g" =>            0x47,
      "h" =>            0x48,
      "i" =>            0x49,
      "j" =>            0x4A,
      "k" =>            0x4B,
      "l" =>            0x4C,
      "m" =>            0x4D,
      "n" =>            0x4E,
      "o" =>            0x4F,
      "p" =>            0x50,
      "q" =>            0x51,
      "r" =>            0x52,
      "s" =>            0x53,
      "t" =>            0x54,
      "u" =>            0x55,
      "v" =>            0x56,
      "w" =>            0x57,
      "x" =>            0x58,
      "y" =>            0x59,
      "z" =>            0x5A,
      #--------------------------Special
      "l windows" =>    0x5B,   #linke "Windows-Taste"
      "r windows" =>    0x5C,   #rechte "Windows-Taste"
      #--------------------------Num-Block
      "num 0" =>        0x60,
      "num 1" =>        0x61,
      "num 2" =>        0x62,
      "num 3" =>        0x63,
      "num 4" =>        0x64,
      "num 5" =>        0x65,
      "num 6" =>        0x66,
      "num 7" =>        0x67,
      "num 8" =>        0x68,
      "num 9" =>        0x69,
      "num *" =>        0x6A,
      "num +" =>        0x6B,
      "num -" =>        0x6D,
      "num ," =>        0x6E,
      "num /" =>        0x6F,
      #--------------------------F-Zeichen
      "F1" =>           0x70,
      "F2" =>           0x71,
      "F3" =>           0x72,
      "F4" =>           0x73,
      "F5" =>           0x74,
      "F6" =>           0x75,
      "F7" =>           0x76,
      "F8" =>           0x77,
      "F9" =>           0x78,
      "F10" =>          0x79,
      "F11" =>          0x7A,
      "F12" =>          0x7B,
      #--------------------------Num-Block
      "num lock" =>     0x90,
      #--------------------------Extra-Block
      "scroll" =>       0x91,
      #--------------------------Special
      "l shift" =>      0xA0,
      "r shift" =>      0xA1,
      "l strg" =>       0xA2,
      "r strg" =>       0xA3,
      "l alt" =>        0xA4,
      "alt gr" =>       0xA5,
      #--------------------------Sonderzeichen
      "ü" =>            0xBA,
      "+" =>            0xBB,
      "," =>            0xBC,
      "-" =>            0xBD,
      "." =>            0xBE,
      "#" =>            0xBF,
      "ö" =>            0xC0,
      #--------------------------Special
      "menü" =>         0xD5,
      #--------------------------Sonderzeichen
      "ß" =>            0xDB,
      "^" =>            0xDC,
      "´" =>            0xDD,
      "ä" =>            0xDE,
      "<" =>            0xE2
    )
    @tasten = @tasten[1]
    @retasten = @tasten.invert
    @nmomw = 1
    @nmoma = -1
  end
  #-----------------------------------------------------------------------------
  ####Rückgabe    Wandelt einen String in die Zeichen um, die durch
  #   drücken der Shift-Taste herauskommen
  ####Parameter
  #str      :Der umzuwandelnde String
  #-----------------------------------------------------------------------------
  def shift_string(str)
    str = str.tr(('a'..'z').to_a.join+'^1234567890ß´äöü+#<,.-',
           ('A'..'Z').to_a.join+'°!"§$%&/()=?`ÄÖÜ*\'>;:_')
    return(str)
  end
  #-----------------------------------------------------------------------------
  ####Rückgabe    Wandelt einen String in die Zeichen um, die durch
  #   drücken der Alt Gr-Taste herauskommen
  ####Parameter
  #str      :Der umzuwandelnde String
  #-----------------------------------------------------------------------------
  def altgr_string(str)
    str = str.tr('237890ßqe+<m', '²³{[]}\@€~|µ')
    return(str)
  end
  #-----------------------------------------------------------------------------
  ####Rückgabe    True, wenn die Taste gerade angefangen wird zu drücken.
  ####Parameter
  #taste    :Der Name der zu überprüfenden Taste
  #-----------------------------------------------------------------------------
  def an?(taste)
    if(@tasten[taste])
      iff = @key_push.call(@tasten[taste])
      if(iff < 0)
        ret=true
      else
        ret=false
      end
      return(ret)
    else
      return(false)
    end
  end
  #-----------------------------------------------------------------------------
  ####Rückgabe    True, wenn die Taste gedrückt ist.
  ####Parameter
  #taste    :Der Name der zu überprüfenden Taste
  #-----------------------------------------------------------------------------
  def press?(taste)
    if(@tasten[taste])
      iff = @key_push.call(@tasten[taste])
      if(iff != 0 and iff != 1)
        ret=true
      else
        ret=false
      end
      return(ret)
    else
      return(false)
    end
  end
  #-----------------------------------------------------------------------------
  ####Rückgabe    True, wenn die Taste gedrückt ist.
  ####Parameter
  #taste    :Der Hexadezimale Code der zu überprüfenden Taste
  #-----------------------------------------------------------------------------
  def pressc?(taste)
    if(@retasten[taste])
      iff = @key_push.call(taste)
      if(iff != 0 and iff != 1)
        ret=true
      else
        ret=false
      end
      return(ret)
    else
      return(false)
    end
  end
  #-----------------------------------------------------------------------------
  #Drückt eine Taste Extrem kurz (Wird von anderen
  #   Scripten nicht erfasst, aber von Windows ;) )
  ####Parameter
  #taste    :Gibt die Taste an, die gedrückt werden soll
  #-----------------------------------------------------------------------------
  def keypress(taste)
    keydown(taste)
    keyup(taste)
  end
  #-----------------------------------------------------------------------------
  #Drückt eine Taste ab jetzt
  ####Parameter
  #taste    :Gibt die Taste an, die gedrückt werden soll
  #-----------------------------------------------------------------------------
  def keydown(taste)
    if(@tasten[taste])
      $key_press.call(@tasten[taste], 0, 0x0, 0)
    end
  end
  #-----------------------------------------------------------------------------
  #Macht eine gedrückte Taste hoch
  ####Parameter
  #taste    :Gibt die Taste an, die gehoben werden soll
  #-----------------------------------------------------------------------------
  def keyup(taste)
    if(@tasten[taste])
      $key_press.call(@tasten[taste], 0, 0x2, 0)
    end
  end
end
$api = W32API.new

Vielen Dank im Voraus!

Saschb2b
Titel: Re: Hilfe zu Skripten.
Beitrag von: Dennvo am Oktober 23, 2009, 15:50:03
So habe mein Prob nun geschaft selber zu lösen.
Für die die es Interesiert und das selbe Problem haben hier die Lösung.

Geht einfach in die Zeile 144 und nimmt dann ersetzt diese dann durch diese Zeile hier
    bitmap.draw_text(0, 0, 100, 24, actor.name)
Im Grunde musste man einfach nur das _f hinter dem text wegnehmen, aber naja.

MfG †-.-Dennvo-.-†
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am Oktober 24, 2009, 15:25:10
Hey Ho Community..
Hab ein Problem mit Woratanas Minimap script...
Funktioneirt fast alles wunderbar...
Das einzige was blöd ist, es sollte eigentlich events auf der Map anzeigen könne, tut es aber irgendwie nit :/
Kann mir das jemand erklärn? hier das Script:
#==============================================================================
# ** MiniMap V1.0
# MiniMap.rb von Woratana (04.10.2008)
#------------------------------------------------------------------------------
# http://www.rpg-studio.de/scriptdb/node/178
# http://www.rpg-studio.de/forum/index.php?page=Thread&threadID=31236
# http://www.rpgrevolution.com/forums/?showtopic=17207
#==============================================================================
 
#===============================================================
# ? [VX] ? MiniMap ? ?
# * Plug N Play Minimap (Don't need image~) *
#--------------------------------------------------------------
# ? by Woratana [woratana@hotmail.com]
# ? Thaiware RPG Maker Community
# ? Released on: 09/06/2008
# ? Version: 1.0
#--------------------------------------------------------------
# ? Credit: KGC for XP MiniMap Script,
# this script can't be done without his MiniMap.
#--------------------------------------------------------------
 
module MiniMap
  #===========================================================================
  # [START] MINIMAP SCRIPT SETUP PART
  #---------------------------------------------------------------------------
  SWITCH_NO_MINIMAP = 10 # Turn ON this switch to NOT SHOW minimap
 
  MAP_RECT = [410, 20, 150, 150] # Minimap size and position
  # [X, Y, Width, Height]
  # You can change it in game, by call script:
  # $game_system.minimap = [X, Y, Width, Height]
 
  MAP_Z = 0 # Minimap's Z-coordinate
  # Increase this number if there is problem that minimap show below some objects.
 
  GRID_SIZE = 7 # Minimap's grid size. Recommend to use more than 3.
 
  MINIMAP_BORDER_COLOR = Color.new(0, 0, 255, 160) # Minimap's border color
  # Color.new(Red, Green, Blue, Opacity)
  MINIMAP_BORDER_SIZE = 2 # Minimap's border size
 
  FOREGROUND_COLOR = Color.new(224, 224, 255, 160) # Passable tile color
  BACKGROUND_COLOR = Color.new(0, 0, 0, 160) # Unpassable tile color
 
  USE_OUTLINE_PLAYER = true # Draw outline around player in minimap?
  PLAYER_OUTLINE_COLOR = Color.new(0, 0, 0, 192) # Player Outline color
  USE_OUTLINE_EVENT = true # Draw outline around events in minimap?
  EVENT_OUTLINE_COLOR = Color.new(0, 255, 255, 192) # Player Outline color
 
  PLAYER_COLOR = Color.new(255, 0, 0, 192) # Player color
  #---------------------------------------------------------------------------
 
  OBJECT_COLOR = {} # Don't change or delete this line!
  #===============================================================
  # * SETUP EVENT KEYWORD & COLOR
  #---------------------------------------------------------------
  # ** Template:
  # OBJECT_COLOR['keyword'] = Color.new(Red, Green, Blue, Opacity)
  #-------------------------------------------------------------
  # * 'keyword': Word you want to put in event's comment to show this color
  # ** Note: 'keyword' is CASE SENSITIVE!
  # * Color.new(...): Color you want
  # You can put between 0 - 255 in each argument (Red, Green, Blue, Opacity)
  #-------------------------------------------------------------
  OBJECT_COLOR['npc'] = Color.new(30,144,255,160)
  OBJECT_COLOR['treasure'] = Color.new(0,255,255,160)
  OBJECT_COLOR['enemy'] = Color.new(139,35,35,160)
  OBJECT_COLOR['merchant'] = Color.new(255,255,0,160)
  #===========================================================================
  # * [OPTIONAL] TAGS:
  #---------------------------------------------------------------------------
  # Change keyword for disable minimap & keyword for show event on minimap~
  #-----------------------------------------------------------------------
  TAG_NO_MINIMAP = '[NOMAP]' # Tag for disable minimap
  TAG_EVENT = 'MMEV' # Tag for show event on minimap
  #---------------------------------------------------------------------------
 
  #---------------------------------------------------------------------------
  # [END] MINIMAP SCRIPT SETUP PART
  #===========================================================================
 
  def self.refresh
    if $scene.is_a?(Scene_Map)
      $scene.spriteset.minimap.refresh
    end
  end
 
  def self.update_object
    if $scene.is_a?(Scene_Map)
      $scene.spriteset.minimap.update_object_list
    end
  end
end
 
#==============================================================================
# ¦ RPG::MapInfo
#==============================================================================
class RPG::MapInfo
  def name
    return @name.gsub(/\[.*\]/) { }
  end
 
  def original_name
    return @name
  end
 
  def show_minimap?
    return !@name.include?(MiniMap::TAG_NO_MINIMAP)
  end
end
#==============================================================================
# ¦ Game_System
#==============================================================================
class Game_System
  attr_accessor :minimap
  alias wora_minimap_gamsys_ini initialize
 
  def initialize
    wora_minimap_gamsys_ini
    @minimap = MiniMap::MAP_RECT
  end
 
  def show_minimap
    return !$game_switches[MiniMap::SWITCH_NO_MINIMAP]
  end
end
#==============================================================================
# ¦ Game_Map
#==============================================================================
class Game_Map
  alias wora_minimap_gammap_setup setup
  def setup(map_id)
    wora_minimap_gammap_setup(map_id)
    @db_info = load_data('Data/MapInfos.rvdata') if @db_info.nil?
    @map_info = @db_info[map_id]
  end
 
  def show_minimap?
    return @map_info.show_minimap?
  end
end
#==============================================================================
# ¦ Game_Event
#==============================================================================
class Game_Event < Game_Character
  def mm_comment?(comment, return_comment = false )
    if !@list.nil?
      for i in 0...@list.size - 1
        next if @list.code != 108
        if @list.parameters[0].include?(comment)
          return @list.parameters[0] if return_comment
          return true
        end
      end
    end
    return '' if return_comment
    return false
  end
end
#==============================================================================
# ¦ Game_MiniMap
#------------------------------------------------------------------------------
class Game_MiniMap
  def initialize(tilemap)
    @tilemap = tilemap
    refresh
  end
 
  def dispose
    @border.bitmap.dispose
    @border.dispose
    @map_sprite.bitmap.dispose
    @map_sprite.dispose
    @object_sprite.bitmap.dispose
    @object_sprite.dispose
    @position_sprite.bitmap.dispose
    @position_sprite.dispose
  end
 
  def visible
    return @map_sprite.visible
  end
 
  def visible=(value)
    @map_sprite.visible = value
    @object_sprite.visible = value
    @position_sprite.visible = value
    @border.visible = value
  end
 
  def refresh
    @mmr = $game_system.minimap
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
 
    @x = 0
    @y = 0
    @size = [map_rect.width / grid_size, map_rect.height / grid_size]
 
    @border = Sprite.new
    @border.x = map_rect.x - MiniMap::MINIMAP_BORDER_SIZE
    @border.y = map_rect.y - MiniMap::MINIMAP_BORDER_SIZE
    b_width = map_rect.width + (MiniMap::MINIMAP_BORDER_SIZE * 2)
    b_height = map_rect.height + (MiniMap::MINIMAP_BORDER_SIZE * 2)
    @border.bitmap = Bitmap.new(b_width, b_height)
    @border.bitmap.fill_rect(@border.bitmap.rect, MiniMap::MINIMAP_BORDER_COLOR)
    @border.bitmap.clear_rect(MiniMap::MINIMAP_BORDER_SIZE, MiniMap::MINIMAP_BORDER_SIZE,
    @border.bitmap.width - (MiniMap::MINIMAP_BORDER_SIZE * 2),
    @border.bitmap.height - (MiniMap::MINIMAP_BORDER_SIZE * 2))
 
    @map_sprite = Sprite.new
    @map_sprite.x = map_rect.x
    @map_sprite.y = map_rect.y
    @map_sprite.z = MiniMap::MAP_Z
    bitmap_width = $game_map.width * grid_size + map_rect.width
    bitmap_height = $game_map.height * grid_size + map_rect.height
    @map_sprite.bitmap = Bitmap.new(bitmap_width, bitmap_height)
    @map_sprite.src_rect = map_rect
 
    @object_sprite = Sprite.new
    @object_sprite.x = map_rect.x
    @object_sprite.y = map_rect.y
    @object_sprite.z = MiniMap::MAP_Z + 1
    @object_sprite.bitmap = Bitmap.new(bitmap_width, bitmap_height)
    @object_sprite.src_rect = map_rect
 
    @position_sprite = Sprite_Base.new
    @position_sprite.x = map_rect.x + @size[0] / 2 * grid_size
    @position_sprite.y = map_rect.y + @size[1] / 2 * grid_size
    @position_sprite.z = MiniMap::MAP_Z + 2
 
    bitmap = Bitmap.new(grid_size, grid_size)
    # Player's Outline
    if MiniMap::USE_OUTLINE_PLAYER and MiniMap::GRID_SIZE >= 3
      bitmap.fill_rect(bitmap.rect, MiniMap::PLAYER_OUTLINE_COLOR)
      brect = Rect.new(bitmap.rect.x + 1, bitmap.rect.y + 1, bitmap.rect.width - 2,
        bitmap.rect.height - 2)
      bitmap.clear_rect(brect)
    else
      brect = bitmap.rect
    end
 
    bitmap.fill_rect(brect, MiniMap::PLAYER_COLOR)
    @position_sprite.bitmap = bitmap
 
    draw_map
    update_object_list
    draw_object
    update_position
  end
 
  def draw_map
    bitmap = @map_sprite.bitmap
    bitmap.fill_rect(bitmap.rect, MiniMap::BACKGROUND_COLOR)
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
 
    $game_map.width.times do |i|
      $game_map.height.times do |j|
        if !$game_map.passable?(i, j)
          next
        end
        rect = Rect.new(map_rect.width / 2 + grid_size * i,
          map_rect.height / 2 + grid_size * j,
          grid_size, grid_size)
        if grid_size >= 3
          if !$game_map.passable?(i, j)
            rect.height -= 1
            rect.x += 1
            rect.width -= 1
            rect.width -= 1
            rect.y += 1
            rect.height -= 1
          end
        end
        bitmap.fill_rect(rect, MiniMap::FOREGROUND_COLOR)
      end
    end
  end
 
  def update_object_list
    @object_list = {}
    $game_map.events.values.each do |e|
      comment = e.mm_comment?(MiniMap::TAG_EVENT, true)
      if comment != ''
        type = comment.gsub(/#{MiniMap::TAG_EVENT}/){}.gsub(/\s+/){}
        @object_list[type] = [] if @object_list[type].nil?
        @object_list[type] << e
      end
    end
  end
 
  def draw_object
    bitmap = @object_sprite.bitmap
    bitmap.clear
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
    rect = Rect.new(0, 0, grid_size, grid_size)
    mw = map_rect.width / 2
    mh = map_rect.height / 2
 
    @object_list.each do |key, events|
      color = MiniMap::OBJECT_COLOR[key]
      next if events.nil? or color.nil?
      events.each do |obj|
        if !obj.character_name.empty?
          rect.x = mw + obj.real_x * grid_size / 256
          rect.y = mh + obj.real_y * grid_size / 256
          # Event's Outline
          if MiniMap::USE_OUTLINE_EVENT and MiniMap::GRID_SIZE >= 3
            bitmap.fill_rect(rect, MiniMap::EVENT_OUTLINE_COLOR)
            brect = Rect.new(rect.x + 1, rect.y + 1, rect.width - 2,
            rect.height - 2)
            bitmap.clear_rect(brect)
          else
            brect = bitmap.rect
          end
          bitmap.fill_rect(brect, color)
        end
      end
    end
  end
 
  def update
    if @mmr != $game_system.minimap
      dispose
      refresh
    end
    draw_object
    update_position
    if @map_sprite.visible
      @map_sprite.update
      @object_sprite.update
      @position_sprite.update
    end
  end
 
  def update_position
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
    sx = $game_player.real_x * grid_size / 256
    sy = $game_player.real_y * grid_size / 256
    @map_sprite.src_rect.x = sx
    @map_sprite.src_rect.y = sy
    @object_sprite.src_rect.x = sx
    @object_sprite.src_rect.y = sy
  end
end
#==============================================================================
# ¦ Spriteset_Map
#------------------------------------------------------------------------------
class Spriteset_Map
  attr_reader :minimap
  alias wora_minimap_sprsetmap_ini initialize
  alias wora_minimap_sprsetmap_dis dispose
  alias wora_minimap_sprsetmap_upd update
 
  def initialize
    wora_minimap_sprsetmap_ini
    if $game_map.show_minimap?
      @minimap = Game_MiniMap.new(@tilemap)
      $game_system.show_minimap = true if $game_system.show_minimap.nil?
      @minimap.visible = $game_system.show_minimap
    end
  end
 
  def dispose
    @minimap.dispose if !@minimap.nil?
    wora_minimap_sprsetmap_dis
  end
 
  def update
    if !@minimap.nil?
      if $game_system.show_minimap
        @minimap.visible = true
        @minimap.update
      else
        @minimap.visible = false
      end
    end
    wora_minimap_sprsetmap_upd
  end
end
#==============================================================================
# ¦ Scene_Map
#------------------------------------------------------------------------------
class Scene_Map < Scene_Base
  attr_reader :spriteset
end
Titel: Re: Hilfe zu Skripten.
Beitrag von: Franky am Oktober 30, 2009, 11:57:11
Hallo,
verstehe nicht, wie das mit den Questmaps in diesem Questlog-Skript funktioniert:
#==============================================================================
#  Simple Quest-Log
#
#  Version : 1.3a - 04.04.08
#  Created by : hellMinor
#  Do NOT redistribute without my permission
#  Description : A simple script for a Quest-Log
#
#==============================================================================
#==============================================================================
# F.A.Q.
#==============================================================================
# The Global Questlog-Name is $questlog
# To open the Questlog from the menu just do $scene = Scene_Questlog.new
# To open the Questlog from an event $scene = Scene_Questlog.new(false)
#
# To add a quest make a new call script with this Template :
# $questlog.addQuest("Unique ID","Quest Title","Quest Description","State")
#
# To update a Quest description make a new call script with this Template :
# $questlog.updateQuest("unique ID","Quest Description","State")
#
# To move a Quest to Completed Quests make new call script with this Template :
# $questlog.completeQuest("Unique ID")
#
# To delete a Quest from the Active-Questlog make a call script with this
# Template :
# $questlog.deleteQuest("Unique ID")
#
# You can get the current state of a Quest with this Template :
# $questlog.getQuestState("Unique ID")
# This may be useful in a conditional branch if you want to react with a
# special Quest-State
#
# If u want to add a Questmap, create a folder named Questmaps in your
# Graphics folder. The name of the Questmap must be the same as the Quest
# in the Game. Be sure that you set the correct MAP_FORMAT.
# A Quest-Map should have a size of 265*200 px !
# I.E. : If your Quest is named QuestYXZ , the picture in the Questmap folder
# has to be QuestYXZ.png if your map is a .png
#==============================================================================
# Setup
#==============================================================================
QUESTLOGNAME = "Questlog"               # Questlog Menu name
QUEST_MENU_ITEM_1 = "Active Quests"     # Active Quest name
QUEST_MENU_ITEM_2 = "Completed Quests"  # Completed Quest name
SIZE_VAR = 20                           # Character Size
MAP_FORMAT = "png"                      # Quest-Map Ending
#==============================================================================
class Questlog
#==============================================================================
  def addQuest(id,header,description,state = "")
    $activelog << [id,header,description,state]
  end
#------------------------------------------------------------------------------  
  def updateQuest(id,description,state = "")
    for i in 0..$activelog.size-1
      if $activelog[i][0] == id
        $activelog[i][2] = description
        $activelog[i][3] = state
        break
      end
    end
  end
#------------------------------------------------------------------------------
  def completeQuest(id)
    for i in 0..$activelog.size-1
      if $activelog[i][0] == id
        $completedlog << $activelog[i]
        $activelog.delete_at(i)
        break
      end
    end
  end
#------------------------------------------------------------------------------
  def deleteQuest(id)
    for i in 0..$activelog.size-1
      if $activelog[i][0] == id
        $activelog.delete_at(i)
        break
      end
    end
  end
#------------------------------------------------------------------------------
  def getQuestState(id)
    for i in 0..$activelog.size-1
      if $activelog[i][0] == id
        return $activelog[i][3]
        break
      end
    end
  end
  
end
#==============================================================================
class Scene_Questlog < Scene_Base
#==============================================================================
  def initialize(from_menu = true)
    @from_menu = from_menu
  end
  
  def start
    super
    create_menu_background
    @help_window = Window_Help.new
    @help_window.set_text(QUESTLOGNAME,1)
    
    s1 = QUEST_MENU_ITEM_1
    s2 = QUEST_MENU_ITEM_2
    
    @select_window = Window_Command.new(544,[s1,s2],2,1)
    @select_window.y = 55
    @select_window.active = true
    
  end
#------------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @help_window.dispose
    @select_window.dispose
  end
#------------------------------------------------------------------------------  
  def kill_questwindows
    @quest_window.dispose
  end  
#------------------------------------------------------------------------------
  def return_scene
    if @from_menu
      $scene = Scene_Menu.new
    else
      $scene = Scene_Map.new
    end
  end
#------------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @help_window.update
    if @select_window.active
      @select_window.update
      update_select_selection
    elsif @quest_window.active
      @quest_window.update
      update_quest_selection
    end
  end
#------------------------------------------------------------------------------
  def update_select_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::C)
      case @select_window.index
      when 0
        $oldlog = false
        @quest_window = Window_Quest.new(0,110,272,(24*11)+42)
        @select_window.active = false
        @quest_window.active = true
      when 1
        $oldlog = true
        @quest_window = Window_Quest.new(0,110,272,(24*11)+42)
        @select_window.active = false
        @quest_window.active = true
      end      
    end
  end
#------------------------------------------------------------------------------  
  def update_quest_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      kill_questwindows
      @select_window.active = true
    end
  end

end
#==============================================================================
class Scene_Title < Scene_Base
#==============================================================================
  alias create_game_objects_additions create_game_objects
  def create_game_objects
    create_game_objects_additions
    $questlog = Questlog.new
    $activelog = Array.new
    $completedlog = Array.new
  end
  
end
#==============================================================================
class Window_Help < Window_Base
#==============================================================================
  def initialize(x = 0,y = 0, width = 544, height = WLH+32)
    super(x, y, width, height)
  end
  
end
#==============================================================================
class Window_Description < Window_Base
#==============================================================================
  def initialize(x = 0,y = 0, width = 544, height = WLH+32)
    super(x, y, width, height)
    @text = nil
    @contents_x = 0
    @contents_y = 0
    @line_count = 0             # Line count drawn up until now
    update
  end
#------------------------------------------------------------------------------  
  def new_line
    @contents_x = 0
    @contents_y += WLH
    @line_count += 1
    @line_show_fast = false
  end
#------------------------------------------------------------------------------  
  def finish_message
    @text = nil
    @line_count = 0
    @contents_x = 0
    @contents_y = 0
  end
#------------------------------------------------------------------------------  
  def write_text(str)
    if str != nil || str != ""
      create_contents
      update_msg(str)
    end
  end
#------------------------------------------------------------------------------  
  def update_msg(str)
    str.each_line{|str2|iterator(str2)}
    finish_message
  end
#------------------------------------------------------------------------------  
  def iterator(str2)
    contents.font.size = SIZE_VAR
    contents.draw_text(@contents_x, @contents_y, str2.size*40, WLH, str2.delete("\n"))
    c_width = contents.text_size(str2).width
    @contents_x += c_width
    new_line
  end
  
end
#==============================================================================
class Window_Quest < Window_Selectable
#==============================================================================
  def initialize(x, y, width, height)
    super(x, y, width, height)
    @column_max = 1
    self.index = 0
    
    @quest_helper = Window_Description.new(271,110,273,(24*11)+42)
    
    refresh
  end
#------------------------------------------------------------------------------
  def refresh
    @data = []
    if !$oldlog
      for i in (0..$activelog.size-1)
        @data.push($activelog[i])
      end
    else
      for i in (0..$completedlog.size-1)
        @data.push($completedlog[i])
      end
    end
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
  end
#------------------------------------------------------------------------------
  def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    item = @data[index][1]
    if item != nil
      rect.width -= 4
      self.contents.draw_text(rect.x, rect.y, 172, WLH, item)
    end
  end
#------------------------------------------------------------------------------
  alias update_addition update
  def update
    update_addition
    update_description(@index)
    update_selection
  end
#------------------------------------------------------------------------------
  def update_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @quest_helper.dispose
      if @quest_map != nil
        @quest_map_bitmap.bitmap.dispose
        @quest_map_bitmap.dispose
        @quest_map.dispose
        @quest_map_viewport.dispose
        @quest_map = nil
      end
    end
  end
#------------------------------------------------------------------------------    
  def update_description(id)
    if defined?(@data[id][2])
      @quest_helper.write_text(@data[id][2])
      if @quest_map == nil
        if Cache.questmaps(@data[id][1]).is_a?(Bitmap)
          self.height /= 3
          @quest_map = Window_Description.new(0,210,272,(24*7)+38)
          @quest_map_bitmap = Sprite.new
          @quest_map_viewport = Viewport.new(3,213,268,(24*7)+35)
          @quest_map_bitmap.viewport = @quest_map_viewport
          @quest_map_bitmap.bitmap = Cache.questmaps(@data[id][1])
          @quest_map_bitmap.viewport.z = 150
        end
      else
        if Cache.questmaps(@data[id][1]).is_a?(Bitmap)
          @quest_map_bitmap.bitmap = Cache.questmaps(@data[id][1])
        else
          self.height *= 3
          @quest_map_bitmap.bitmap.dispose
          @quest_map_bitmap.dispose
          @quest_map.dispose
          @quest_map_viewport.dispose
          @quest_map = nil
        end
      end
      
    end
  end
  
end
#==============================================================================
class Scene_File < Scene_Base
#==============================================================================
  alias write_save_data_adds write_save_data
  def write_save_data(file)
    write_save_data_adds(file)    
    Marshal.dump($activelog,           file)
    Marshal.dump($completedlog,        file)
    Marshal.dump($questlog,            file)
  end
  
  alias read_save_data_adds read_save_data
  def read_save_data(file)
    read_save_data_adds(file)
    $activelog           = Marshal.load(file)
    $completedlog        = Marshal.load(file)
    $questlog            = Marshal.load(file)
  end
end
#==============================================================================
module Cache
#==============================================================================  
  def self.questmaps(filename)
    begin
      load_bitmap("Graphics/Questmaps/", filename)
    rescue
      return nil
    end
  end
  
end
  
end

Habe alles genau so gemacht, wie es dort steht.
Ich habe den Questmaps-Ordner unter Graphics.
Ich habe ein Bild eingefügt, dass den selben Namen hat, wie die Quest. (z.B. heisst es bei mir: "Plage", die Questmap heisst dann "Plage.png")
Ich habe auch die Grösse der Map ganz genau auf 265 x 200 gebracht!

Trotzdem wird nichts angezeigt (ich weiss ja noch nicht mal, wo es angezeigt wird)!
Was mache ich falsch?


Dazu kommt noch ein anderes Problem (unabhängig vom ersten):
(http://i35.tinypic.com/2jb8y36.jpg)

Das Skript dort ist das Sidetext-Skript, welches einen Text am Rand anzeigen soll.
Das Event ist ein Parallel Process und soll nach Ablauf der Zeit, den Text anzeigen lassen, jedoch passiert gar nichts. (es kommt keine Fehlermeldung, es passiert einfach nur nichts).

Was ist hier falsch?

Das einzigste Skript, was daran beteiligt sein könnte, ist das mit den Map-Namen. Habe es mit Cut entfernt und erneut probiert... nichts passiert.
Habe darauf noch probiert ein Player Touch Event einzufügen, dass nur den Call Skript Befehl ausführt: Nichts passiert.

Hier noch das Skript:
#==============================================================================
# ** [STR14] Sidetext (von star) (Version 0.7)
#------------------------------------------------------------------------------
#  Ermöglicht zusätzlichen Text an der linken Seite anzuzeigen.
#==============================================================================

if false
# Das folgenden wird in ein Call Skript geschrieben
s = $game_temp.sidetext
i = s.index(nil)
i = s.size if (i == nil)
t = "Sidetext"           # Text, der angezeigt werden soll
f = true                 # Buchstaben haben Rand? (aus = false)
w = 120                  # Anzeigedauer (in Frames)
c = Color.new(64,32,128) # Farbe des Randes (rot, grün, blau)
s[i] = Sprite_Sidetext.new(t,f,w,c)
#
end

#==============================================================================
# ¦ Sprite_Sidetext
#==============================================================================
class Sprite_Sidetext < Sprite
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def initialize(text, frame = false, wait = 120, c = Color.new(64,32,128))
    super()
    self.x = 16
    num = $game_temp.sidetext.index(nil)
    num = $game_temp.sidetext.size if (num == nil)
    y = 80 + (num * 24)
    self.y = y
    self.z = 200
    bitmap = Bitmap.new(32, 24)
    w = bitmap.text_size(text).width
    bitmap.dispose
    bitmap = Bitmap.new(w, 24)
    if frame
      bitmap.draw_text_f(0, 0, w, 24, text, 0, c)
    else
      bitmap.draw_text(0, 0, w, 24, text)
    end
    self.bitmap = bitmap
    self.opacity = 0
    @wait = wait
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    if @wait > 0
      self.opacity += 24
      return if self.opacity != 255
      @wait -= 1
    else
      self.x += 4
      self.opacity -= 8
      dispose if self.opacity == 0
    end
  end
end
#==============================================================================
# ¦ Game_Temp
#==============================================================================
class Game_Temp
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  attr_accessor :sidetext
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  alias initialize_str14 initialize
  def initialize
    initialize_str14
    @sidetext = []
  end
end
#==============================================================================
# ¦ Spriteset_Map
#==============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def create_sidetext
    $game_temp.sidetext = []
  end
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def dispose_sidetext
    for i in 0...$game_temp.sidetext.size
      $game_temp.sidetext[i].dispose if $game_temp.sidetext[i] != nil
    end
    $game_temp.sidetext = []
  end
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def update_sidetext
    for i in 0...$game_temp.sidetext.size
      if $game_temp.sidetext[i] != nil
        $game_temp.sidetext[i].update
        if $game_temp.sidetext[i].disposed?
          $game_temp.sidetext[i] = nil
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  alias create_parallax_str14 create_parallax
  def create_parallax
    create_parallax_str14
    create_sidetext
  end
  alias dispose_str14 dispose
  def dispose
    dispose_sidetext
    dispose_str14
  end
  alias update_str14 update
  def update
    update_str14
    update_sidetext
  end
end
#==============================================================================
# ¦ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def create_sidetext
    $game_temp.sidetext = []
  end
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def dispose_sidetext
    for i in 0...$game_temp.sidetext.size
      $game_temp.sidetext[i].dispose if $game_temp.sidetext[i] != nil
    end
    $game_temp.sidetext = []
  end
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def update_sidetext
    for i in 0...$game_temp.sidetext.size
      if $game_temp.sidetext[i] != nil
        $game_temp.sidetext[i].update
        if $game_temp.sidetext[i].disposed?
          $game_temp.sidetext[i] = nil
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  alias create_battleback_str14 create_battleback
  def create_battleback
    create_battleback_str14
    create_sidetext
  end
  alias dispose_str14 dispose
  def dispose
    dispose_sidetext
    dispose_str14
  end
  alias update_str14 update
  def update
    update_str14
    update_sidetext
  end
end
#==============================================================================
# ¦ Bitmap
#==============================================================================
class Bitmap
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def draw_text_f(x, y, width, height, str, align = 0, color = Color.new(64,32,128))
    shadow = self.font.shadow
    b_color = self.font.color.dup
    font.shadow = false
    font.color = color
    draw_text(x + 1, y, width, height, str, align)
    draw_text(x - 1, y, width, height, str, align)
    draw_text(x, y + 1, width, height, str, align)
    draw_text(x, y - 1, width, height, str, align)
    font.color = b_color
    draw_text(x, y, width, height, str, align)
    font.shadow = shadow
  end
  def draw_text_f_rect(r, str, align = 0, color = Color.new(64,32,128))
    draw_text_f(r.x, r.y, r.width, r.height, str, align = 0, color)
  end
end
Titel: Re: Hilfe zu Skripten.
Beitrag von: DarkestHate am November 04, 2009, 17:48:24
Kenne mich mit Scripts absolut 0 aus und bin froh wen sie funtionieren (muss mir mal C++ angucken)
Habe ein Problem in diesem Minimap script er zeigt mir da einen Fehler in Zeile 267 an

das wäre dieser Teil hier:

def update_object_list
    @object_list = {}
    $game_map.events.values.each do |e|
      comment = e.mm_comment?(MiniMap::TAG_EVENT, true)
      if comment != ''
        type = comment.gsub(/#{MiniMap::TAG_EVENT}/){}.gsub(/\s+/){}
        @object_list[type] = [] if @object_list[type].nil?
        @object_list[type] << e
      end
    end
  end
 
  def draw_object
    bitmap = @object_sprite.bitmap
    bitmap.clear
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
    rect = Rect.new(0, 0, grid_size, grid_size)
    mw = map_rect.width / 2
    mh = map_rect.height / 2

Startbildschirm kommt und dan kommt wen ich auf neues spiel gehe diese Fehlermeldung:

Script 'Minimap' line 267: NoMethodError occurred
undefined method `mm_comment?' for <#Game_Event:0x174d0a8>

hier nochmal das komplette script

#==============================================================================
# ** MiniMap V1.0
# MiniMap.rb von Woratana (04.10.2008)
#------------------------------------------------------------------------------
# http://www.rpg-studio.de/scriptdb/node/178
# http://www.rpg-studio.de/forum/index.php?page=Thread&threadID=31236
# http://www.rpgrevolution.com/forums/?showtopic=17207
#==============================================================================
 
#===============================================================
# ? [VX] ? MiniMap ? ?
# * Plug N Play Minimap (Don't need image~) *
#--------------------------------------------------------------
# ? by Woratana [woratana@hotmail.com]
# ? Thaiware RPG Maker Community
# ? Released on: 09/06/2008
# ? Version: 1.0
#--------------------------------------------------------------
# ? Credit: KGC for XP MiniMap Script,
# this script can't be done without his MiniMap.
#--------------------------------------------------------------
 
module MiniMap
  #===========================================================================
  # [START] MINIMAP SCRIPT SETUP PART
  #---------------------------------------------------------------------------
  SWITCH_NO_MINIMAP = 10 # Turn ON this switch to NOT SHOW minimap
 
  MAP_RECT = [410, 20, 150, 150] # Minimap size and position
  # [X, Y, Width, Height]
  # You can change it in game, by call script:
  # $game_system.minimap = [X, Y, Width, Height]
 
  MAP_Z = 0 # Minimap's Z-coordinate
  # Increase this number if there is problem that minimap show below some objects.
 
  GRID_SIZE = 7 # Minimap's grid size. Recommend to use more than 3.
 
  MINIMAP_BORDER_COLOR = Color.new(0, 0, 255, 160) # Minimap's border color
  # Color.new(Red, Green, Blue, Opacity)
  MINIMAP_BORDER_SIZE = 2 # Minimap's border size
 
  FOREGROUND_COLOR = Color.new(224, 224, 255, 160) # Passable tile color
  BACKGROUND_COLOR = Color.new(0, 0, 0, 160) # Unpassable tile color
 
  USE_OUTLINE_PLAYER = true # Draw outline around player in minimap?
  PLAYER_OUTLINE_COLOR = Color.new(0, 0, 0, 192) # Player Outline color
  USE_OUTLINE_EVENT = true # Draw outline around events in minimap?
  EVENT_OUTLINE_COLOR = Color.new(0, 255, 255, 192) # Player Outline color
 
  PLAYER_COLOR = Color.new(255, 0, 0, 192) # Player color
  #---------------------------------------------------------------------------
 
  OBJECT_COLOR = {} # Don't change or delete this line!
  #===============================================================
  # * SETUP EVENT KEYWORD & COLOR
  #---------------------------------------------------------------
  # ** Template:
  # OBJECT_COLOR['keyword'] = Color.new(Red, Green, Blue, Opacity)
  #-------------------------------------------------------------
  # * 'keyword': Word you want to put in event's comment to show this color
  # ** Note: 'keyword' is CASE SENSITIVE!
  # * Color.new(...): Color you want
  # You can put between 0 - 255 in each argument (Red, Green, Blue, Opacity)
  #-------------------------------------------------------------
  OBJECT_COLOR['npc'] = Color.new(30,144,255,160)
  OBJECT_COLOR['treasure'] = Color.new(0,255,255,160)
  OBJECT_COLOR['enemy'] = Color.new(139,35,35,160)
  OBJECT_COLOR['merchant'] = Color.new(255,255,0,160)
  #===========================================================================
  # * [OPTIONAL] TAGS:
  #---------------------------------------------------------------------------
  # Change keyword for disable minimap & keyword for show event on minimap~
  #-----------------------------------------------------------------------
  TAG_NO_MINIMAP = '[NOMAP]' # Tag for disable minimap
  TAG_EVENT = 'MMEV' # Tag for show event on minimap
  #---------------------------------------------------------------------------
 
  #---------------------------------------------------------------------------
  # [END] MINIMAP SCRIPT SETUP PART
  #===========================================================================
 
  def self.refresh
    if $scene.is_a?(Scene_Map)
      $scene.spriteset.minimap.refresh
    end
  end
 
  def self.update_object
    if $scene.is_a?(Scene_Map)
      $scene.spriteset.minimap.update_object_list
    end
  end
end
 
#==============================================================================
# ¦ RPG::MapInfo
#==============================================================================
class RPG::MapInfo
  def name
    return @name.gsub(/\[.*\]/) { }
  end
 
  def original_name
    return @name
  end
 
  def show_minimap?
    return !@name.include?(MiniMap::TAG_NO_MINIMAP)
  end
end
#==============================================================================
# ¦ Game_System
#==============================================================================
class Game_System
  attr_accessor :minimap
  alias wora_minimap_gamsys_ini initialize
 
  def initialize
    wora_minimap_gamsys_ini
    @minimap = MiniMap::MAP_RECT
  end
 
  def show_minimap
    return !$game_switches[MiniMap::SWITCH_NO_MINIMAP]
  end
end
#==============================================================================
# ¦ Game_Map
#==============================================================================
class Game_Map
  alias wora_minimap_gammap_setup setup
  def setup(map_id)
    wora_minimap_gammap_setup(map_id)
    @db_info = load_data('Data/MapInfos.rvdata') if @db_info.nil?
    @map_info = @db_info[map_id]
  end
 
  def show_minimap?
    return @map_info.show_minimap?
  end
end
#==============================================================================
# ¦ Game_MiniMap
#------------------------------------------------------------------------------
class Game_MiniMap
  def initialize(tilemap)
    @tilemap = tilemap
    refresh
  end
 
  def dispose
    @border.bitmap.dispose
    @border.dispose
    @map_sprite.bitmap.dispose
    @map_sprite.dispose
    @object_sprite.bitmap.dispose
    @object_sprite.dispose
    @position_sprite.bitmap.dispose
    @position_sprite.dispose
  end
 
  def visible
    return @map_sprite.visible
  end
 
  def visible=(value)
    @map_sprite.visible = value
    @object_sprite.visible = value
    @position_sprite.visible = value
    @border.visible = value
  end
 
  def refresh
    @mmr = $game_system.minimap
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
 
    @x = 0
    @y = 0
    @size = [map_rect.width / grid_size, map_rect.height / grid_size]
 
    @border = Sprite.new
    @border.x = map_rect.x - MiniMap::MINIMAP_BORDER_SIZE
    @border.y = map_rect.y - MiniMap::MINIMAP_BORDER_SIZE
    b_width = map_rect.width + (MiniMap::MINIMAP_BORDER_SIZE * 2)
    b_height = map_rect.height + (MiniMap::MINIMAP_BORDER_SIZE * 2)
    @border.bitmap = Bitmap.new(b_width, b_height)
    @border.bitmap.fill_rect(@border.bitmap.rect, MiniMap::MINIMAP_BORDER_COLOR)
    @border.bitmap.clear_rect(MiniMap::MINIMAP_BORDER_SIZE, MiniMap::MINIMAP_BORDER_SIZE,
    @border.bitmap.width - (MiniMap::MINIMAP_BORDER_SIZE * 2),
    @border.bitmap.height - (MiniMap::MINIMAP_BORDER_SIZE * 2))
 
    @map_sprite = Sprite.new
    @map_sprite.x = map_rect.x
    @map_sprite.y = map_rect.y
    @map_sprite.z = MiniMap::MAP_Z
    bitmap_width = $game_map.width * grid_size + map_rect.width
    bitmap_height = $game_map.height * grid_size + map_rect.height
    @map_sprite.bitmap = Bitmap.new(bitmap_width, bitmap_height)
    @map_sprite.src_rect = map_rect
 
    @object_sprite = Sprite.new
    @object_sprite.x = map_rect.x
    @object_sprite.y = map_rect.y
    @object_sprite.z = MiniMap::MAP_Z + 1
    @object_sprite.bitmap = Bitmap.new(bitmap_width, bitmap_height)
    @object_sprite.src_rect = map_rect
 
    @position_sprite = Sprite_Base.new
    @position_sprite.x = map_rect.x + @size[0] / 2 * grid_size
    @position_sprite.y = map_rect.y + @size[1] / 2 * grid_size
    @position_sprite.z = MiniMap::MAP_Z + 2
 
    bitmap = Bitmap.new(grid_size, grid_size)
    # Player's Outline
    if MiniMap::USE_OUTLINE_PLAYER and MiniMap::GRID_SIZE >= 3
      bitmap.fill_rect(bitmap.rect, MiniMap::PLAYER_OUTLINE_COLOR)
      brect = Rect.new(bitmap.rect.x + 1, bitmap.rect.y + 1, bitmap.rect.width - 2,
        bitmap.rect.height - 2)
      bitmap.clear_rect(brect)
    else
      brect = bitmap.rect
    end
 
    bitmap.fill_rect(brect, MiniMap::PLAYER_COLOR)
    @position_sprite.bitmap = bitmap
 
    draw_map
    update_object_list
    draw_object
    update_position
  end
 
  def draw_map
    bitmap = @map_sprite.bitmap
    bitmap.fill_rect(bitmap.rect, MiniMap::BACKGROUND_COLOR)
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
 
    $game_map.width.times do |i|
      $game_map.height.times do |j|
        if !$game_map.passable?(i, j)
          next
        end
        rect = Rect.new(map_rect.width / 2 + grid_size * i,
          map_rect.height / 2 + grid_size * j,
          grid_size, grid_size)
        if grid_size >= 3
          if !$game_map.passable?(i, j)
            rect.height -= 1
            rect.x += 1
            rect.width -= 1
            rect.width -= 1
            rect.y += 1
            rect.height -= 1
          end
        end
        bitmap.fill_rect(rect, MiniMap::FOREGROUND_COLOR)
      end
    end
  end
 
  def update_object_list
    @object_list = {}
    $game_map.events.values.each do |e|
      comment = e.mm_comment?(MiniMap::TAG_EVENT, true)
      if comment != ''
        type = comment.gsub(/#{MiniMap::TAG_EVENT}/){}.gsub(/\s+/){}
        @object_list[type] = [] if @object_list[type].nil?
        @object_list[type] << e
      end
    end
  end
 
  def draw_object
    bitmap = @object_sprite.bitmap
    bitmap.clear
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
    rect = Rect.new(0, 0, grid_size, grid_size)
    mw = map_rect.width / 2
    mh = map_rect.height / 2
 
    @object_list.each do |key, events|
      color = MiniMap::OBJECT_COLOR[key]
      next if events.nil? or color.nil?
      events.each do |obj|
        if !obj.character_name.empty?
          rect.x = mw + obj.real_x * grid_size / 256
          rect.y = mh + obj.real_y * grid_size / 256
          # Event's Outline
          if MiniMap::USE_OUTLINE_EVENT and MiniMap::GRID_SIZE >= 3
            bitmap.fill_rect(rect, MiniMap::EVENT_OUTLINE_COLOR)
            brect = Rect.new(rect.x + 1, rect.y + 1, rect.width - 2,
            rect.height - 2)
            bitmap.clear_rect(brect)
          else
            brect = bitmap.rect
          end
          bitmap.fill_rect(brect, color)
        end
      end
    end
  end
 
  def update
    if @mmr != $game_system.minimap
      dispose
      refresh
    end
    draw_object
    update_position
    if @map_sprite.visible
      @map_sprite.update
      @object_sprite.update
      @position_sprite.update
    end
  end
 
  def update_position
    map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
    grid_size = [MiniMap::GRID_SIZE, 1].max
    sx = $game_player.real_x * grid_size / 256
    sy = $game_player.real_y * grid_size / 256
    @map_sprite.src_rect.x = sx
    @map_sprite.src_rect.y = sy
    @object_sprite.src_rect.x = sx
    @object_sprite.src_rect.y = sy
  end
end
#==============================================================================
# ¦ Spriteset_Map
#------------------------------------------------------------------------------
class Spriteset_Map
  attr_reader :minimap
  alias wora_minimap_sprsetmap_ini initialize
  alias wora_minimap_sprsetmap_dis dispose
  alias wora_minimap_sprsetmap_upd update
 
  def initialize
    wora_minimap_sprsetmap_ini
    if $game_map.show_minimap?
      @minimap = Game_MiniMap.new(@tilemap)
      $game_system.show_minimap = true if $game_system.show_minimap.nil?
      @minimap.visible = $game_system.show_minimap
    end
  end
 
  def dispose
    @minimap.dispose if !@minimap.nil?
    wora_minimap_sprsetmap_dis
  end
 
  def update
    if !@minimap.nil?
      if $game_system.show_minimap
        @minimap.visible = true
        @minimap.update
      else
        @minimap.visible = false
      end
    end
    wora_minimap_sprsetmap_upd
  end
end
#==============================================================================
# ¦ Scene_Map
#------------------------------------------------------------------------------
class Scene_Map < Scene_Base
  attr_reader :spriteset
end
Titel: Re: Hilfe zu Skripten.
Beitrag von: tobiasruf am November 05, 2009, 17:15:55
Also.
Wie setzt man ein neuen punkt im Menu ein .
Also , wenn man ihn anklickt wird ein Common Event gestartet so meine ich.

Wie macht man das ?
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am November 05, 2009, 17:21:07
Neuer Menüpunkt machen?
Schau dir mal mein Tutorial hier an: http://www.rpgvx.net/index.php/topic,3747.0.html (http://www.rpgvx.net/index.php/topic,3747.0.html)
Da wird ja auch ein neuer Menüpunkt gemacht. Wenn nicht dann kann ich dirs hier erklären.
Titel: Re: Hilfe zu Skripten.
Beitrag von: tobiasruf am November 05, 2009, 17:31:53
Nein , eben dieses Script habe ich schon aber ich will noch ein 2ten.

Aber ich bin so hohl und schafe es nicht lol.
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am November 05, 2009, 17:49:58
Hier mal ein Projekt mit 3 zusätzlichen Menüpunkten.
http://www.file-upload.net/download-1991110/Men-punkt.exe.html (http://www.file-upload.net/download-1991110/Men-punkt.exe.html)
Titel: Re: Hilfe zu Skripten.
Beitrag von: tobiasruf am November 05, 2009, 18:04:21
Danke .
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am November 05, 2009, 18:08:10
Wie?
Bei mir hats geklappt.
Ich hab auf Download geklickt und dan Doppelklick auf die Datei.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Dennvo am November 07, 2009, 13:46:11
Moin moin,

habe kleine Frage und bitte um schnelle Hilfe^^''

Also mein Prob is seid längeren, dass mein active Balken in die Lebensanzeige reinhagt und ich leider nicht weiß, wo ich im Script die Position der active Anzeige ändern kann.

Bitte hilft mir bei meinen Prob denn ich hätte die Anzeige gerne weiter rechts also hinter den MP.
Hab auch nochma ein paar Screens hier, damit ihr wisst, was ich meine.

So sieht es bei mir aus
(http://yourpg.de/images/Fehler1.png)

Und da rechts sollte die Anzeige eigendlich sein
(http://usui.moo.jp/graphics/rpg_sozai/sample/sample_gamen20090317_c.jpg)

Ich hoffe ihr könnt mir helfen

MfG †-.-Dennvo-.-†
Titel: Re: Hilfe zu Skripten.
Beitrag von: Crysis am November 08, 2009, 13:51:25
Ich habe ein Problem mit folgendem Skript:
VXCTB:
#-------------------------------------------------------------------------------
# ? RPG??????????
#-------------------------------------------------------------------------------
  # RPG::BaseItem???
  class RPG::Skill
    # ?????????
    include VXCTB::Regexp_Skill
  end
  # RPG::State???
  class RPG::State
    # ?????????
    include VXCTB::Regexp_Other
  end
  # RPG::Weapon???
  class RPG::Weapon
    # ?????????
    include VXCTB::Regexp_Other
  end
  # RPG::Armor???
  class RPG::Armor
    # ?????????
    include VXCTB::Regexp_Other
  end
#-------------------------------------------------------------------------------
# ¦ Game_Battler
#-------------------------------------------------------------------------------
class Game_Battler
  # CT??????????????
  include VXCTB::CTmethod
  attr_reader   :count  # ?????????????
  attr_accessor :ct     # ?????CT?
  #--------------------------------------------------------------------------
  # ? ?????????(????)
  #--------------------------------------------------------------------------
  alias vxctb_initialize initialize
  def initialize
    # ????
    vxctb_initialize
    # ?????
    @ct = 0
    reset_count
  end
  #--------------------------------------------------------------------------
  # ? ??????(????)
  #--------------------------------------------------------------------------
  alias vxctb_inputable? inputable?
  def inputable?
    # ?????true????????????????
    return false unless vxctb_inputable?
    # can_act??true????????????????
    return false unless can_act?
    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????????(????)
  #     attacker : ???
  #--------------------------------------------------------------------------
  alias vxctb_attack_effect attack_effect
  def attack_effect(attacker)
    # ????
    vxctb_attack_effect(attacker)
    # CT???????(???????????CT??????????)
    @ct -= (need_ct(self) * attacker.correction_ct_damage(attacker) / 100).round if VXCTB::USE_CTDMG
  end
  #--------------------------------------------------------------------------
  # ? ????????(????)
  #     user  : ???????
  #     skill : ???
  #--------------------------------------------------------------------------
  alias vxctb_skill_effect skill_effect
  def skill_effect(user, skill)
    # ????
    vxctb_skill_effect(user, skill)
    # CT???????(????CT????????)
    @ct -= (need_ct(self) * skill.ct_damage / 100).round if VXCTB::USE_CTDMG
  end
  #--------------------------------------------------------------------------
  # ? ????????????? (???????????)(???)
  #--------------------------------------------------------------------------
  def remove_states_shock
    for state in states
      if state.release_by_damage
        remove_state(state.id)
        @removed_states.push(state.id)
        # ?????????????????????????
        @ct -= need_ct(self) if state.id == VXCTB::CAST_STATE_ID
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? CT???????????????(????)
  #--------------------------------------------------------------------------
  def can_act?
    # CT??????????????????
    # ??????@ct????????????to_i?????????????
    return false if @ct.to_i < VXCTB::CAN_ACT
    # ??????????????????
    return false if state?(VXCTB::CAST_STATE_ID)
    # ????
    return true
  end
  #--------------------------------------------------------------------------
  # ? ???????????(????)
  #     ??????????????????????????
  #--------------------------------------------------------------------------
  def increment_count
    @count += 1
  end
  #--------------------------------------------------------------------------
  # ? ????????(????)
  #     ??????????????????????????
  #--------------------------------------------------------------------------
  def reset_count
    @count = 0
  end
end

#-------------------------------------------------------------------------------
# ¦ Game_Actor
#-------------------------------------------------------------------------------
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ? ??????(????)
  #     actor_id : ???? ID
  #--------------------------------------------------------------------------
  alias vxctb_setup setup
  def setup(actor_id)
    # ????
    vxctb_setup(actor_id)
    #CT??0????
    @ct = 0
    #??????????????0????
    reset_count
  end
end

#-------------------------------------------------------------------------------
# ¦ Game_Enemy
#-------------------------------------------------------------------------------
class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ? ?????????(????)
  #     index    : ????????????
  #     enemy_id : ???? ID
  #--------------------------------------------------------------------------
  alias vxctb_e_initialize initialize
  def initialize(index, enemy_id)
    vxctb_e_initialize(index, enemy_id) # ????
    @ct = 0     #CT??0????
    reset_count #?????????0????
  end
  #--------------------------------------------------------------------------
  # ? ????????(???)
  #     action : ????
  #--------------------------------------------------------------------------
  def conditions_met?(action)
    case action.condition_type
    when 1  # ????
      n = @count  # ??????????????????????????????
      a = action.condition_param1
      b = action.condition_param2
      return false if (b == 0 and n != a)
      return false if (b > 0 and (n < 1 or n < a or n % b != a % b))
    when 2  # HP
      hp_rate = hp * 100.0 / maxhp
      return false if hp_rate < action.condition_param1
      return false if hp_rate > action.condition_param2
    when 3  # MP
      mp_rate = mp * 100.0 / maxmp
      return false if mp_rate < action.condition_param1
      return false if mp_rate > action.condition_param2
    when 4  # ????
      return false unless state?(action.condition_param1)
    when 5  # ???????
      return false if $game_party.max_level < action.condition_param1
    when 6  # ????
      switch_id = action.condition_param1
      return false if $game_switches[switch_id] == false
    end
    return true
  end
  #--------------------------------------------------------------------------
  # ? ???????(????)
  #--------------------------------------------------------------------------
  alias vxctb_make_action make_action
  def make_action
    # CT????????????????
    return unless can_act?
    # ???????????
    increment_count
    # ????
    vxctb_make_action
  end
end

#-------------------------------------------------------------------------------
# ¦ Game_BattleAction
#-------------------------------------------------------------------------------
class Game_BattleAction
  attr_accessor :casting_skill  #???????????????
  #--------------------------------------------------------------------------
  # ? ?????????(????)
  #     battler : ????
  #--------------------------------------------------------------------------
  alias vxctb_initialize initialize
  def initialize(battler)
    # ???????????????nil(??)???
    @casting_skill = nil
    # ????
    vxctb_initialize(battler)
  end
  #--------------------------------------------------------------------------
  # ? ???(????)
  #--------------------------------------------------------------------------
  alias vxctb_clear clear
  def clear
    # ????????(CT????????)??????????
    return unless battler.can_act?
    # ????
    vxctb_clear
  end
  #--------------------------------------------------------------------------
  # ? ???????????(????)
  #    ??????????? [???????] ??????????????
  #    ?????????????????????? false ????
  #--------------------------------------------------------------------------
  alias vxctb_valid? valid?
  def valid?
#~     return false if nothing?                      # ?????
#~     return true if @forcing                       # ?????
#~     return false unless battler.movable?          # ????
#~     if skill?                                     # ???
#~       return false unless battler.skill_can_use?(skill)
#~     elsif item?                                   # ????
#~       return false unless friends_unit.item_can_use?(item)
#~     end
#~     return true
#~   end
    # ???????false???
    unless vxctb_valid?
      # CT????????(100%?CT???????????????????)
      battler.ct -= battler.need_ct(battler)
      # ?????????????????????
      battler.remove_state(VXCTB::CAST_STATE_ID) if battler.state?(VXCTB::CAST_STATE_ID)
      # false???
      return false
    # ???????true???
    else
      # true???
      return true
    end
  end
end

#-------------------------------------------------------------------------------
# ¦ Scene_Battle
#-------------------------------------------------------------------------------
class Scene_Battle < Scene_Base
  # CT????????????
  include VXCTB::CTmethod
  #--------------------------------------------------------------------------
  # ? ????(????)
  #--------------------------------------------------------------------------
  alias vxctb_start start
  def start
    # ????
    vxctb_start
    # ??????????
    @order_window = Window_ActionOrder.new
    @order_window.z = 101
    # ???????????????CT???????
    ($game_party.members + $game_troop.members).each do |battler|
      # ??CT???
      battler.ct = rand(VXCTB::CAN_ACT)
    end
    # ????
    ct_countup
  end
  #--------------------------------------------------------------------------
  # ? ????(????)
  #--------------------------------------------------------------------------
  alias vxctb_terminate terminate
  def terminate
    # ???????????
    @order_window.dispose
    # ????
    vxctb_terminate
  end
#~   #--------------------------------------------------------------------------
#~   # ? ??????
#~   #--------------------------------------------------------------------------
#~   def update
#~     super
#~     update_basic(true)
#~     update_info_viewport                  # ?????????????
#~     if $game_message.visible
#~       @info_viewport.visible = false
#~       @message_window.visible = true
#~     end
#~     unless $game_message.visible          # ??????????
#~       return if judge_win_loss            # ????
#~       update_scene_change
#~       if @target_enemy_window != nil
#~         update_target_enemy_selection     # ????????
#~       elsif @target_actor_window != nil
#~         update_target_actor_selection     # ????????
#~       elsif @skill_window != nil
#~         update_skill_selection            # ?????
#~       elsif @item_window != nil
#~         update_item_selection             # ??????
#~       elsif @party_command_window.active
#~         update_party_command_selection    # ??????????
#~       elsif @actor_command_window.active
#~         update_actor_command_selection    # ??????????
#~       else
#~         process_battle_event              # ??????????
#~         process_action                    # ????
#~         process_battle_event              # ??????????
#~       end
#~     end
#~   end
  #--------------------------------------------------------------------------
  # ? ?????????????(????)
  #--------------------------------------------------------------------------
  alias vxctb_start_party_command_selection start_party_command_selection
  def start_party_command_selection(skip = false)
    if skip
      if $game_temp.in_battle
        @status_window.refresh
        @status_window.index = @actor_index = -1
        @active_battler = nil
        @info_viewport.visible = true
        @message_window.visible = false
        @party_command_window.active = false
        @party_command_window.index = 0
        @actor_command_window.active = false
        $game_party.clear_actions
        if $game_troop.surprise or not $game_party.inputable?
          start_main
        end
        @status_window.index = @actor_index = -1
        next_actor
      end
    else
      #????
      vxctb_start_party_command_selection
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????????????(????)
  #--------------------------------------------------------------------------
  alias vxctb_start_actor_command_selection start_actor_command_selection
  def start_actor_command_selection
    # ????
    vxctb_start_actor_command_selection
    # ????????????
    @active_battler.action.basic = 3 if @active_battler.action.basic == 1
  end
  #--------------------------------------------------------------------------
  # ? ?????????????(????)
  #--------------------------------------------------------------------------
  alias vxctb_update_actor_command_selection update_actor_command_selection
  def update_actor_command_selection
    if Input.trigger?(Input::UP) || Input.trigger?(Input::DOWN)
      # ??????????????????????
      @order_window.delete_temp_table(@active_battler.name)
      @order_window.delete_temp_table(@active_battler.name + "-Casting")
      case @actor_command_window.index
      # ???????
      when 0
        # ????CT???
        delay_ct = need_ct(@active_battler) * VXCTB::COST_ATK / 100
        # ??????????
        delay_ct = correction_delay(delay_ct, @active_battler)
        # ?????(??)
        @order_window.set_temp_table(@active_battler.name, delay_ct)
      # ??????
      when 1
        # ????????CT???
        delay_ct = need_ct(@active_battler) * VXCTB::COST_ATK / 100
        # ??????????
        delay_ct = correction_delay(delay_ct, @active_battler)
        # ?????(??)
        @order_window.set_temp_table(@active_battler.name, delay_ct)
      # ?????
      when 2
        # ??CT???
        delay_ct = need_ct(@active_battler) * VXCTB::COST_GRD / 100
        # ??????????
        delay_ct = correction_delay(delay_ct, @active_battler)
        # ?????(??)
        @order_window.set_temp_table(@active_battler.name, delay_ct)
        # ???????
      when 3
        # ????CT???
        delay_ct = need_ct(@active_battler) * VXCTB::COST_ITEM / 100
        # ??????????
        delay_ct = correction_delay(delay_ct, @active_battler)
        # ?????(??)
        @order_window.set_temp_table(@active_battler.name, delay_ct)
      end
      # ???????????????
      @order_window.refresh
    end
    # ????????
    @order_window.move_page
    # ????
    vxctb_update_actor_command_selection
  end
  #--------------------------------------------------------------------------
  # ? ????????(????)
  #--------------------------------------------------------------------------
  alias vxctb_start_skill_selection start_skill_selection
  def start_skill_selection
    # ????
    vxctb_start_skill_selection
    # ?????
    order_skill(@skill_window.skill)
  end
  #--------------------------------------------------------------------------
  # ? ????????(????)
  #--------------------------------------------------------------------------
  alias vxctb_update_skill_selection update_skill_selection
  def update_skill_selection
    # ??????????????????????
    @order_window.delete_temp_table(@active_battler.name)
    @order_window.delete_temp_table(@active_battler.name + "-Casting")
    # ?????
    order_skill(@skill_window.skill)
    # ????????
    @order_window.move_page
    #????
    vxctb_update_skill_selection
  end
  #--------------------------------------------------------------------------
  # ? ?????(????)
  #--------------------------------------------------------------------------
  alias vxctb_process_escape process_escape
  def process_escape
    # ?????????????????????
    $game_party.members.each{ |actor|
      # ????????
      delay_ct = need_ct(actor) * VXCTB::COST_ESCAPE / 100
      # ????????
      delay_ct = correction_delay(delay_ct, actor)
      # ?????CT????
      actor.ct -= delay_ct
    }
    # ????
    ct_countup
    # ????
    vxctb_process_escape
  end
  #--------------------------------------------------------------------------
  # ? ??????(???)
  #--------------------------------------------------------------------------
  def make_action_orders
    # ????????????????????
    @action_battlers = []
    # ????CT???????????
    $game_troop.members.each do |enemy|
      @action_battlers.push(enemy) if enemy.ct >= VXCTB::CAN_ACT
    end
    # ????CT????????????
    $game_party.members.each do |actor|
      @action_battlers.push(actor) if actor.ct >= VXCTB::CAN_ACT
    end
    # ???????????????????
    @action_battlers.each { |battler| battler.action.make_speed }
    # ?????????????????
    @action_battlers.sort! { |a, b| b.action.speed - a.action.speed }
  end
  #--------------------------------------------------------------------------
  # ? ???????(???)
  #--------------------------------------------------------------------------
  def process_action
    # CT???????
    ct_countup
    
    return if judge_win_loss
    return if $game_temp.next_scene != nil
    set_next_active_battler
    if @active_battler == nil
      turn_end
      return
    end
    return if @active_battler.dead?
    @message_window.clear
    wait(5)
    @active_battler.white_flash = true
    # ??????????
    if @active_battler.state?(VXCTB::CAST_STATE_ID)
      # ?????????
      @active_battler.action.kind = 1
      # @active_battler.action.skill_id???????????ID???
      @active_battler.action.skill_id = @active_battler.action.casting_skill
    end
    # ??????
    unless @active_battler.action.forcing
      @active_battler.action.prepare
    end
    if @active_battler.action.valid?
      execute_action
    end
    unless @active_battler.action.forcing
      @message_window.clear
      remove_states_auto
      display_current_state
    end
    @active_battler.white_flash = false
    @message_window.clear
  end
  #--------------------------------------------------------------------------
  # ? ?????(???)
  #--------------------------------------------------------------------------
  def turn_end
    $game_troop.turn_ending = true
    $game_party.slip_damage_effect
    $game_troop.slip_damage_effect
    $game_party.do_auto_recovery
    $game_troop.preemptive = false
    $game_troop.surprise = false
    process_battle_event
    $game_troop.turn_ending = false
    # ????????????????????????
    start_party_command_selection(true)
  end
  #--------------------------------------------------------------------------
  # ? ???????????????(???)
  #    ????????? [???????] ????????????????
  #    ??????????????????????????????????
  #    ????????????????????? (index ? nil, ?????
  #    ?????????????) ????????????
  #--------------------------------------------------------------------------
  def set_next_active_battler
    loop do
      # ????????????????
      if $game_troop.forcing_battler != nil
        # ???????????????????
        @action_battlers.delete($game_temp.forcing_battler)
        # ????????????
        @action_battlers.unshift($game_temp.forcing_battler)
        # ??????????????
        $game_troop.forcing_battler = nil
      # ?????
      else
        # ????????
        @active_battler = @action_battlers.shift
      end
      # ??????????????????
      return if @active_battler == nil
      return if @active_battler.index != nil
    end
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def remove_states_auto
    last_st = @active_battler.states
    @active_battler.remove_states_auto
    if @active_battler.states != last_st
      wait(5)
      display_state_changes(@active_battler)
      wait(30)
      @message_window.clear
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def display_current_state
    state_text = @active_battler.most_important_state_text
    unless state_text.empty?
      wait(5)
      text = @active_battler.name + state_text
      @message_window.add_instant_text(text)
      wait(45)
      @message_window.clear
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????? : ??(????)
  #--------------------------------------------------------------------------
  alias vxctb_execute_action_attack execute_action_attack
  def execute_action_attack
    # ????CT???
    delay_ct = need_ct(@active_battler) * VXCTB::COST_ATK / 100
    # ??????????
    delay_ct = correction_delay(delay_ct, @active_battler)
    # CT??
    @active_battler.ct -= delay_ct
    #????
    vxctb_execute_action_attack
    # ???????????????
    @order_window.refresh
  end
  #--------------------------------------------------------------------------
  # ? ??????? : ??(????)
  #--------------------------------------------------------------------------
  alias vxctb_execute_action_guard execute_action_guard
  def execute_action_guard
    # ??CT???
    delay_ct = need_ct(@active_battler) * VXCTB::COST_GRD / 100
    # ??????????
    delay_ct = correction_delay(delay_ct, @active_battler)
    # CT??
    @active_battler.ct -= delay_ct
    # ????
    vxctb_execute_action_guard
    # ???????????????
    @order_window.refresh
  end
  #--------------------------------------------------------------------------
  # ? ??????? : ??(????)
  #--------------------------------------------------------------------------
  alias vxctb_execute_action_escape execute_action_escape
  def execute_action_escape
    # ??CT???
    delay_ct = need_ct(@active_battler) * VXCTB::COST_ESCAPE / 100
    # ??????????
    delay_ct = correction_delay(delay_ct, @active_battler)
    # CT??
    @active_battler.ct -= delay_ct
    # ????
    vxctb_execute_action_escape
    # ???????????????
    @order_window.refresh
  end
  #--------------------------------------------------------------------------
  # ? ??????? : ??(????)
  #--------------------------------------------------------------------------
  alias vxctb_execute_action_wait execute_action_wait
  def execute_action_wait
    # ??CT???
    delay_ct = need_ct(@active_battler) * VXCTB::COST_NOTHING / 100
    # ??????????
    delay_ct = correction_delay(delay_ct, @active_battler)
    # CT??
    @active_battler.ct -= delay_ct
    # ????
    vxctb_execute_action_wait
    # ???????????????
    @order_window.refresh
  end
  #--------------------------------------------------------------------------
  # ? ??????? : ???(???)
  #--------------------------------------------------------------------------
  def execute_action_skill
    # skill???????????????????????????
    skill = @active_battler.action.skill if @active_battler.action.skill != nil
    # ???????????????????????
    if @active_battler.state?(VXCTB::CAST_STATE_ID)
      # ????????????????????
      @active_battler.remove_state(VXCTB::CAST_STATE_ID)
      # ???????????????
      skill= $data_skills[@active_battler.action.casting_skill]
    # ????????????????
    else
      # ???????????CT???
      cast_ct = need_ct(@active_battler) * skill.cast / 100
      # ?????????????
      cast_ct = correction_cast(cast_ct, @active_battler)
      # Skill??????????1?????
      if cast_ct > 0
        # ????????????CT??
        @active_battler.ct -= cast_ct
        # ??????????????
        @active_battler.add_state(VXCTB::CAST_STATE_ID)
        # ???ID??
        @active_battler.action.casting_skill = skill.id
      end
    end
    # ????????????????
    unless @active_battler.state?(VXCTB::CAST_STATE_ID)
      # ???????CT???
      delay_ct = need_ct(@active_battler) * skill.delay / 100
      # ??????????
      delay_ct = correction_delay(delay_ct, @active_battler)
      # CT??
      @active_battler.ct -= delay_ct
      # ??????
      # text????????????
      text = @active_battler.name + skill.message1
      # ???????????????????1???
      @message_window.add_instant_text(text)
      # ????????2???????
      unless skill.message2.empty?
        # 10????????
        wait(10)
        # ???????????????????2???
        @message_window.add_instant_text(skill.message2)
      end
      # ?????
      targets = @active_battler.action.make_targets
      # ?????????
      display_animation(targets, skill.animation_id)
      # ?????MP??????MP??????
      @active_battler.mp -= @active_battler.calc_mp_cost(skill)
      # ???????
      $game_temp.common_event_id = skill.common_event_id
      # ????????????
      for target in targets
        # ????????
        target.skill_effect(@active_battler, skill)
        # ???????
        display_action_effects(target, skill)
      end
    end
    # ???????????????
    @order_window.refresh
  end
  #--------------------------------------------------------------------------
  # ? ??????? : ????(????)
  #--------------------------------------------------------------------------
  alias vxctb_execute_action_item execute_action_item
  def execute_action_item
    # ????CT???
    delay_ct = need_ct(@active_battler) * VXCTB::COST_ITEM / 100
    # ??????????
    delay_ct = correction_delay(delay_ct, @active_battler)
    # CT??
    @active_battler.ct -= delay_ct
    # ????
    vxctb_execute_action_item
    # ???????????????
    @order_window.refresh
  end
  #--------------------------------------------------------------------------
  # ? CT????(???????)(????)
  #--------------------------------------------------------------------------
  def ct_countup
    # ????CT?????
    add_ct = VXCTB::CAN_ACT
    # ???????????????
    action_battler = 0
    # ???????????????????
    action_num = 0
    # ???????????
    ($game_party.members + $game_troop.members).each do |battler|
      # ????????
      if battler.dead? == true
        # CT?0????
        battler.ct = 0
        # ??????????
        next  
      end
      # CT?0???????0???(?????????????)
      battler.ct = 0 if battler.ct < 0
      # add_ct?(????CT - ????CT)????????CT????
      # ????????add_ct????
      add_ct = [add_ct, VXCTB::CAN_ACT - battler.ct].min
    end
    # ??CT??0?????????????????????????????
    return if add_ct <= 0
    # ???????????
    ($game_party.members + $game_troop.members).each do |battler|
      # ???????????????????
      next if battler.dead?
      # ????????????????????
      action_battler += 1
      # ?????????????????????
      action_num += battler.count
      # ?????CT????
      battler.ct += add_ct
      # CT????????????????????
      next if battler.ct < VXCTB::CAN_ACT
      # ?????????????????????
      next if battler.state?(VXCTB::CAST_STATE_ID)
      # ?????????????????
      battler.increment_count
    end
    # 0?????
    action_battler = 1 if action_battler <= 0
    # ?????????????????????????????????
    # ???0????????????
    $game_troop.increase_turn if action_num % action_battler == 0
    # ??????????????????
    @order_window.refresh
  end
  #--------------------------------------------------------------------------
  # ? ?????????????(????)
  #     skill : ????????
  #--------------------------------------------------------------------------
  def order_skill(skill = @skill_window.skill)
    # ????nil???????
    unless skill || @active_battler.skill_can_use?(skill.id)
      # ????????CT???
      delay_ct = need_ct(@active_battler) * VXCTB::COST_ATK / 100
      # ??????????
      delay_ct = correction_delay(delay_ct, @active_battler)
      # ?????(??)
      @order_window.set_temp_table(@active_battler.name, delay_ct)
    # ???????(?????????????????????)
    else
      # ????????CT???
      delay_ct = need_ct(@active_battler) * skill.delay / 100
      # ??????????
      delay_ct = correction_delay(delay_ct, @active_battler)
      # ???????????CT???
      cast_ct = need_ct(@active_battler) * skill.cast / 100
      # ?????????????
      cast_ct = correction_cast(cast_ct, @active_battler)
      # ???????CT????????
      if cast_ct > 0
        # ?????(???????)
        @order_window.set_temp_table(@active_battler.name + "-Casting",
          cast_ct)
      # ???????CT????????
      else
        # ?????(??)
        @order_window.set_temp_table(@active_battler.name, cast_ct)
      end
    end
    # ???????????????
    @order_window.refresh
  end
end



Das Ziel des Skripts ist es einfach beim Kampf ein Fenster anzuzeigen, in dem man die Reihenfolge der Angreifer sehen kann, genau so wie
man es zum Beispiel aus FFX kennt.

Mein Problem ist jetzt nur, dass wenn ich im Kampf den Befehl "Force Action" benutze, um einen Charakter oder Gegner einen bestimmten
Angriff ausführen zu lassen bekomme ich folgende Fehlermeldung:


Script 'VXCTB' line 540: NoMethodError occurred.

undefined method `forcing_battler' for #<Game_Temp:0x2f276f8>



Ich würde das Skript schon gerne benutzen, aber ich verstehe leider nicht viel von Skripten. Wäre echt nett, wenn jemand eine Lösung dafür finden könnte.

Das Skript ist eigentlich 3-Teilig doch die Seite hat sich irgendwie geweigert die beiden mit reinzunehmen. Ich habe jetzt
nur den Teil gepostet, der den Error enthält.



EDIT: Ich glaube ich habe das Problem gerade gelöst, obwohl die Methode bisschen dumm war. Ich habe einfach folgenden
Teil aus dem Skript geschnitten:
 def set_next_active_battler
    loop do
      # ????????????????
      if $game_troop.forcing_battler != nil
        # ???????????????????
        @action_battlers.delete($game_troop.forcing_battler)
        # ????????????
        @action_battlers.unshift($game_troop.forcing_battler)
        # ??????????????
        $game_troop.forcing_battler = nil
      # ?????
      else
        # ????????
        @active_battler = @action_battlers.shift
      end
      # ??????????????????
      return if @active_battler == nil
      return if @active_battler.index != nil
    end
  end

Ich muss noch 1-2 Test machen, ob auch wirklich alles funktioniert. Ich melde mich dann wenn es fertig ist.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Dennvo am November 09, 2009, 12:44:48
Ok und wieder konnte ch das Problem alleine lösen, ja man könnte meinen ich wäre blind, tja genau das habe ich mir auch gerade gedacht.
Naja trotzdem danke an jedem der sich Gedanken drüber gemacht hat und so^^

MfG †-.-Dennvo-.-†
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kasaar am November 19, 2009, 21:12:25
hab auch ma nomma ne frage hier... wie kann man einen unterordner für pictures erstellen?
Pics anzeigen geht ja so:
@menu_sprite = Sprite.new
    @menu_sprite.bitmap = Cache.picture("Main_Menu_1")

wie kann ich machen dass z.B. in ordner Pictures noch ein Unterordner z.B. namens "menü" ist und von dort dann die Bilder rausgenmmen werden?
Titel: Re: Hilfe zum Simple Day & Night 2-Skript.
Beitrag von: Domin0e am November 20, 2009, 11:45:50
Hallöle :)
Ich habe ein kleines Problemchen damit, bei Hells D&N-Skript die Zeit starten zu lassen.
Ich habe den Befehl zum starten exakt kopiert, sogar mit mehreren unterschiedlichen Events ausprobiert
inkl. einem mit Conditional Branch ob die Zeit läuft und scheinbar startet die Zeit trotz des "zeit_start"
Skriptbefehls nicht. Weiß da wer Abhilfe?

Gruß,
  Domi :)


P.S: Kyos Videotut habe ich schon zu Rate gezogen, da scheints ja mit Zeit_start zu funktionieren :(
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am November 20, 2009, 17:11:28
@Sartek
Guk dir mal "Cache" an. Dort sind die Methoden geschreiben, die du in deinem Beispiel benutzt.
Schreibe einfach eine, die den gewünschten Ordner als Zielornder für die Suche benutzt.

@Domi
Hab es gerade ausprobiert, und es klappt. :O
Also auch ohne die Anführungszeichen etc, in call script benutzt?
Ansonsten würde ich dir empfehlen die Scripts die du benutzt durchzugehen, und zu schauen ob es etwas mit D&N kooperiert oder eben nicht. Besonders auf Zeitscripts achten. :P

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Meitantei ph am November 20, 2009, 17:25:47
Ich habe das auch schon probiert und es geht^^ Aber ich weiß was wohl den Problem ist.

Also entweder:
Du hast Anführungszeichen genommen
oder
DU hast den Tagesablauf auf langsam eingestellt, und du müsstest 3 Stunden für einen Wechsel warten.
Du scrollst runter bis zu dem Zeitpunkt wo die ganzen Commands sind. Also zeit_stop und so was. Und über der Überschrift ,,Interpreter Commands" findest du das:

  $fadingtime       = 3
  $per_second       = 1

so ist das standardmäßig, und dann dauert es etwa 10 Minuten bis der Wechsel kommt^^

also einfach ändern auf:

  $fadingtime       = 3
  $per_second       = 60

also das      $per_second        =1
ändern zu   $per_second        =60
erhöhen, verschnellt den ganzen vorgang

P.S.: Du musst am Beginn des SP+piels kein Autorun oder Parallel Event mit Zeit_start machen. Der Skript läuft automatisch nach spielstart los, ohne jedes start event. Lediglich stoppen und ändern muss eventet werden mit den script calls.

Titel: Re: Hilfe zu Skripten.
Beitrag von: Domin0e am November 20, 2009, 17:57:23
Danke Jungs, aber das war mir schon alles bewusst, habs mittlerweile auch raus:
Ich hab das Skript einfach an der falschen stelle gehabt ;)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Melmier am November 25, 2009, 16:39:21
Habe in der SuFu nix gefunden, hier mein Problem:

Habe mit dem Script KGC_CustomMenuCommand n bizzl rumprobiert und versucht neben den KGc Scripts noch den Questlog von hellminor ins Menü zu tun, also habe ich den Skript mal umgewurschtelt, der bei diesem Costum Menü alle anderen Menüs öffnet, also sah das ganze so aus:
      when 7         # Questlog
        index_list[:Questlog] = commands.size
        commands << $scene = Scene_Questlog.new

WEnn ich jetzt ins Menü gehe, öffent der mir direkt den Questlog, beende ich den Questlog wird wieder direkt der Questlog geöffnet, es ist also n Autostart sobald ich das Menü anmache...
Titel: Re: Hilfe zu Skripten.
Beitrag von: Juggernaut am November 25, 2009, 21:52:22
Ich habe auch eine Scriptfrage...
Und zwar würd ich gerne mal wissen wie mach ich es, also folgendes:
Ich habe ein Window erstellt... nun möchte ich in dieses Window die Animation eines Characters anzeigen lassen...
Wie mache ich das?
Bis jetzt sieht es so aus:

class Karten_Anzeige_Window < Window_Base
  
  def initialize(card_name)
    super(0, 0, 544, 416)
    @card_name = card_name
    refresh
  end
  
  def refresh
    self.contents.clear
    draw_card(0,0)
    draw_charset(0,200)
  end
  
  def draw_card(x, y, size = 150)
    bitmap = Cache.geißel_k(@card_name)
    rect = Rect.new(0, 0, 150, 150)
    self.contents.blt(x, y, bitmap, rect)
    bitmap.dispose
  end
  
  def draw_charset(x, y)
    return if @card_name == nil
    bitmap = Cache.geißel_kchar("$"+@card_name)
    sign = @card_name[/^[\!\$]./]
    if sign != nil and sign.include?('$')
      cw = bitmap.width / 3
      ch = bitmap.height / 4
    else
      cw = bitmap.width / 12
      ch = bitmap.height / 8
    end
    n = 0
    src_rect = Rect.new(32,0, 32, 32)
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  end
  
end
Titel: Re: Hilfe zu Skripten.
Beitrag von: Vesskin am Dezember 05, 2009, 20:30:39
Hey Leute,
Wollte mal fragen, ob es ein Script gibt, das mir erlaubt den namen meiner Währung belibig oft zu ändern?
oder vlt kann mir jemand auch sowas machen were echt nett^^

Lg
Vesskin
Titel: Re: Hilfe zu Skripten.
Beitrag von: Herendil am Dezember 05, 2009, 21:29:05
Also im Prinzip müsste der Code hier gehen:
module Vocab
  def self.gold
    if $gold_name != nil
      return $gold_name
    else
      return $data_system.terms.gold
    end 
  end
end

Du kannst dann halt den Namen mit
$gold_name = "Name"umbenennen. Wenn du magst, kannst du mir Credits geben :P
Titel: Re: Hilfe zu Skripten.
Beitrag von: Vesskin am Dezember 05, 2009, 21:36:29
Ah vielen dank es klappt^^
dein name ist Notiert!^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Meitantei ph am Dezember 07, 2009, 17:28:11
also, ich habe Falco´s Nebel Skript verwendet.
#====================================================================#
#  #*****************#           Fog effect V1.0 Falcao script       #   
#  #*** By Falcao ***#           Allow fog effects graphics on map   #       
#  #*****************#                                               #
#         RMVX                   Instalation: Copy and paste the     #                                    #
# makerpalace.onlinegoo.com      script to your porject              #                        #
#====================================================================#

#--------------------------------------------------------------------
# * How to use
#
# Call the script using the following command
#
# $game_map.fog("Fog Name", Opacity, Zoom , Scroll_x, Scroll_y)
#
# Example: using standar configuration
# $game_map.fog("sombra2",50,2,1,1)
#
# Fog Graphics must be in folder Pictures
#
# Author notes:
# This script can be used in comercial or non-comercial games
# Credits to Falcao
#
#---------------------------------------------------------------------

module Falcao

# Scrool fog graphics whith the screen change (true or false) 
DinamicScroll = true

end

class Game_Map
  attr_accessor :fog_name               
  attr_accessor :fog_opacity             
  attr_accessor :fog_zoom                 
  attr_accessor :fog_sx                   
  attr_accessor :fog_sy                   
  attr_reader   :fog_ox                 
  attr_reader   :fog_oy
  alias falcaofogSini initialize
  def initialize
    @fog_start = true
    falcaofogSini
  end
  alias falcao_setup setup
  def setup(map_id)
    falcao_setup(map_id)
    setup_fog
  end
  def setup_fog
    if @fog_start
      @fog_name = ""
      @fog_opacity = 0
      @fog_zoom = 0
      @fog_sx = 0
      @fog_sy = 0
      @fog_ox = 0
      @fog_oy = 0
      @fog_start = false
    end
  end
  alias falcaofog_update update
  def update
    falcaofog_update
    update_fog
  end
  def update_fog
    @fog_ox -= @fog_sx / 8.0
    @fog_oy -= @fog_sy / 8.0
  end
  def fog(name,opacity,zoom,scroll_x,scroll_y)
    @fog_name = name
    @fog_opacity = opacity
    @fog_zoom = zoom
    @fog_sx = scroll_x
    @fog_sy = scroll_y
  end
end

class Spriteset_Map
  alias falcaofogini initialize
  def initialize
    create_fog
    falcaofogini
  end
  def create_fog
    @fog = Plane.new(@viewport1)
    @fog.z = 3000
  end
  alias falcaofog_dispose dispose
  def dispose
    falcaofog_dispose
    dispose_fog
  end
  def dispose_fog
    @fog.dispose
  end
  alias falcaofogSupdate update
  def update
    falcaofogSupdate
    update_fog
  end
  def update_fog
    if @fog_name != $game_map.fog_name
      @fog_name = $game_map.fog_name
      if @fog.bitmap != nil
        @fog.bitmap.dispose
        @fog.bitmap = nil
      end
      if @fog_name != ""
        @fog.bitmap = Cache.picture(@fog_name)
      end
      Graphics.frame_reset
    end
    @fog.zoom_x = $game_map.fog_zoom
    @fog.zoom_y = $game_map.fog_zoom
    @fog.opacity = $game_map.fog_opacity
    if Falcao::DinamicScroll == true
      @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
      @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
    else
      @fog.ox =  4 + $game_map.fog_ox
      @fog.oy =  4 + $game_map.fog_oy
    end
  end
end

und habe den Nebel auch an bekommen, und alles funktioniert wunderbar...nur....wie geht der Nebel wieder aus? xD
In der Wohnung sollte ja kein Nebel sein, wa?^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: PalaserGmbH am Dezember 07, 2009, 19:28:00
du machst n script event , mit den selben befehl, nur dass du bei "fog name" die nichts hinschreibst das es dann so aussieht:


$game_map.fog("sombra2",50,2,1,1) <-an

$game_map.fog("",50,2,1,1) <-aus
Titel: Re: Hilfe zu Skripten.
Beitrag von: Meitantei ph am Dezember 07, 2009, 20:24:55
stimmt!^vielen dank^^

hatte schon $game_map.fog=false und $game_map.fog(false)   und so probiert, aber das ist auch richtig, vielen Dank!
Titel: Re: Hilfe zu Skripten.
Beitrag von: PalaserGmbH am Dezember 08, 2009, 16:37:57
nicht zu danken^^ wow hab bei nem SCRIPT problem geholfen, wobei ich mich 0% von scripts so verstehe :P
Titel: Re: Hilfe zu Skripten.
Beitrag von: Juggernaut am Dezember 09, 2009, 21:53:28
Hey ho wollte ma fragen:
Wie muss ich
def draw_character_battler(character_name, character_index, x, y)
    return if character_name == nil
    bitmap = Cache.character(character_name)
    sign = character_name[/^[\!\$]./]
    if sign != nil and sign.include?('$')
      cw = bitmap.width / 3
      ch = bitmap.height / 4
    else
      cw = bitmap.width / 12
      ch = bitmap.height / 8 - 4
    end
    n = character_index
    src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  end

verändern, damit die angezeigten Chargraphics nach oben schaun?
Titel: Re: Hilfe zu Skripten.
Beitrag von: tobiasruf am Dezember 10, 2009, 21:22:35
Frage :
Hab ein Problem mit diesem Script es zeigt immer an : Syntaxfehler in Linie 3

EDIT : Habs gelöst
Titel: Re: Hilfe zu Skripten.
Beitrag von: Colonios am Dezember 11, 2009, 22:04:28
Jungs, ich hab mal ne Frage: Kann man per Call Script nur bestimmte Variablen aus einem Save-Slot laden?

Danke für Tipps und Ratschläge!

MfG
Titel: Re: Hilfe zu Skripten.
Beitrag von: Crysis am Dezember 13, 2009, 12:28:33
Hallo,

ich habe eine kleine Frage zu einem Skript, welches ich vor kurzem gefunden habe und da mir hier schon ein paar mal geholfen wurde, hoffe ich, dass vielleicht jemand die Lösung für mein Problem kennt.

Es geht um das folgende Skript:

Actor Battler Graphics:

#==============================================================================
# ** Actor Battler Graphics
#------------------------------------------------------------------------------
#    by DerVVulfman
#    version 1.0
#    03-25-2008
#    RGSS2
#==============================================================================
#
#  INTRODUCTION:
#
#  This system permits you to include 'Actor Battler' graphics that were not
#  included in the RPGMaker VX system.   This script mimics many of the lost
#  features, and includes a new one:  Actor Battler Centering.
#  
#------------------------------------------------------------------------------
#
#  USAGE:
#
#  --Positioning--
#   A nice feature to this system  is the ability to adjust the left/right &
#   up/down position of your battlers.
#
#   Actually, the vertical up/down position  can be adjusted by changing the
#   value of the SCREEN_Y variable.   The left/right positioning is a little
#   different.
#
#   The CENTER_X value is a true/false value  that sets whether the battlers
#   line up from the left and space themselves out  in the manner of the de-
#   fault RPGMaker XP  or whether the system calculates and centers them ac-
#   ross the screen.
#
#   The DEFAULT_X value establishes  how many actors  are typically shown in
#   the battlefield. While this is the default value, the maximum value used
#   can be changed with a script call.
#
#   Finally,  the TRANSPARENT value is another true/false value that you can
#   use to make the battlers lightly transparent until they're about to per-
#   form an attack.  Another feature from RPGMaker XP.
#
#  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
#
#  --The Actor List--
#  This system DOES require you to edit the configuration system to list all
#  of the 'actor' battlers  that you  are using.   It is assumed  that these
#  battlers will be in the  'Graphics\Battlers'  folder with the rest of the
#  enemy battlers.
#
#  Each value in the ACTOR array holds two values:   filename and hue.  This
#  not only allows you to add battle graphics  for your heroes,  but adjusts
#  the character's hue as well.  If you do not include the hue setting, it
#  goes to the default setting of '0'.
#
#------------------------------------------------------------------------------
#
#  SCRIPT CALLS:
#
#  There's only two script calls that you need to know.
#
#  --Changing Battlers--
#  Given that this system allows you to use 'Actor' battlers, you may find a
#  need to 'change' the battler in-game.  Unfortunately, this cannot be done
#  with a pre-rendered map event, so I had to make a script call:
#
#           $game_actors[ID].set_battler("filename", hue)
#  
#  By using this call, you can change the graphic and hue of a battler while
#  the game is running.  
#
#  As an example:  $game_actors[1].set_battler("Ylva")
#  
#  ...would set actor #1's battler to use "Ylva.png" as the graphic desired.
#  You may note that the 'hue' was not included  in this call.   The default
#  value of '0' was used.
#
#  NOTE:  Just calling $game_actors[2].set_battler() would erase the battler
#         from actor #2, rendering it invisible on the battlefield.
#
#  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
#
#  --Changing Position Value--
#  This script allows you to have the battlers centered in the battlefield
#  and spaced out evenly.  Under most circumstances, you have four members
#  in your party.  But what if you want to increase the number of members
#  to 5 or 6?
#
#  Now, this system does not increase the number of members in your party,
#  but it is already set up to adjust the spacing of your members in the
#  battlefield.  With a simple script call:
#
#           $game_system.actorbattler_max = 7
#
#  You can make the system space the battlers on the field with the under-
#  standing that up to 7 members are in the party.
#
#------------------------------------------------------------------------------
#
#  EDITS AND MODIFICATIONS:
#  
#  This system Aliases the following methods:
#  * initialize                     (RPG::Actor)
#  * initialize                     (Game_Temp)
#  * initialize                     (Game_System)
#  * initialize                     (Game_Actor)
#  * update                         (Sprite_Battler)
#  * start                          (Scene_Battle)
#  * start_party_command_selection  (Scene_Battle)
#  * process_victory                (Scene_Battle)
#  * execute_action                 (Scene_Battle)
#
#  This system redefines the following methods:
#  * use_sprite?                    (Game_Actor)
#  * create_actors                  (Spriteset_Battle)
#  * update_actors                  (Spriteset_Battle)
#  
#
#------------------------------------------------------------------------------
#
#  TERMS AND CONDITIONS:
#
#  Free to use, even in commercial projects.  Just note that I need some form
#  of due credit... even a mere mention in some end titles.
#
#==============================================================================



#==============================================================================
# ** Actor_Battler Module
#------------------------------------------------------------------------------
#  A module containing configurable data for the Actor Battler Graphic system.
#==============================================================================

module Actor_Battler
  # Actor battler array
  ACTOR = Array.new  # Do not touch -_^

   #========================================================================
   #  **  C  O  N  F  I  G  U  R  A  T  I  O  N      S  Y  S  T  E  M  **  #
   #========================================================================  
  
  # --Positioning--
  # Actor Battler positioning system
  #
    CENTER_X    = false    # If true, centers actors rather than default lineup.
    DEFAULT_X   = 4       # Default party Max
    SCREEN_Y    = 325     # Vertical height of battlers
    TRANSPARENT = false   # If true, makes lightly transparent until attacking.
  
    
  # --Actor List--
  # Add your actor battlers here
  #
  # Actor#      Filename,   Hue (optional)
    ACTOR[1] = ["$_Actor9"]
    ACTOR[2] = ["021-Hunter02battler"]
    ACTOR[3] = ["010-Lancer02"]
    ACTOR[4] = ["Ylva",     0]
    ACTOR[5] = ["$_Actor9"]
    ACTOR[6] = ["$_Actor9"]
    ACTOR[7] = ["$_Actor9"]
    ACTOR[9] = ["$_Actor9"]

    
   #========================================================================
   #  **  E  N  D     O  F     C  O  N  F  I  G  U  R  A  T  I  O  N   **  #
   #========================================================================  
end



#==============================================================================
# ** RPG Module
#------------------------------------------------------------------------------
#  A module containing RPGVX Data Structures.
#==============================================================================
module RPG
  #============================================================================
  # ** Actor
  #----------------------------------------------------------------------------
  #  Data class for actors
  #============================================================================  
  class Actor
    #------------------------------------------------------------------------
    # * Alias Listings
    #------------------------------------------------------------------------  
    alias actorbattler_init initialize
    #------------------------------------------------------------------------
    # * Object Initialization
    #------------------------------------------------------------------------  
    def initialize
      # Perform the original call
      actorbattler_init
      @battler_name = ""
      @battler_hue = 0
    end
  end
end



#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
#  This class handles temporary data that is not included with save data.
# The instance of this class is referenced by $game_temp.
#==============================================================================

class Game_Temp
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :battle_main_phase        # battle flag: main phase
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------  
  alias actorbattler_initialize initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    # Perform the original call
    actorbattler_initialize
    # Set the main phase flag to false
    @battle_main_phase = false
  end
end



#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
#  This class handles system-related data. Also manages vehicles and BGM, etc.
# The instance of this class is referenced by $game_system.
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :actorbattler_max         # Max. size for centered battlers
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------  
  alias actorbattler_initialize initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    # Perform the original call
    actorbattler_initialize
    # Set 'Centered' battler max to 4 (default)
    @actorbattler_max = Actor_Battler::DEFAULT_X
  end
end



#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles actors. It's used within the Game_Actors class
# ($game_actors) and referenced by the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------  
  attr_accessor :screen_x                 # battle screen X coordinate
  attr_accessor :screen_y                 # battle screen Y coordinate
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------  
  alias actorbattler_init initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor_id : actor ID
  #--------------------------------------------------------------------------
  def initialize(actor_id)
    # Perform the original call
    actorbattler_init(actor_id)
    # Apply battler graphic
    @battler_name = Actor_Battler::ACTOR[actor_id][0]
    # Apply battler hue if exists, else default of '0'
    if Actor_Battler::ACTOR[actor_id][1] != nil
      @battler_hue  = Actor_Battler::ACTOR[actor_id][1]
    else
      @battler_hue  = 0
    end
  end
  #--------------------------------------------------------------------------
  # * Change Battler
  #     battler_name  : new battler graphic filename
  #     battler_hue   : new battler hue setting (default = 0)
  #--------------------------------------------------------------------------
  def set_battler(battler_name = "", battler_hue = 0)
    @battler_name = battler_name
    @battler_hue = battler_hue
  end  
  #--------------------------------------------------------------------------
  # * Use Sprites?
  #--------------------------------------------------------------------------
  def use_sprite?
    return true
  end  
  #--------------------------------------------------------------------------
  # * Get Battle Screen X-Coordinate
  #--------------------------------------------------------------------------
  def screen_x
    if self.index != nil
      if Actor_Battler::CENTER_X
        # Return after calculating x-coords of centered party members
        return self.index * (544 / $game_system.actorbattler_max) +
              ($game_system.actorbattler_max - $game_party.members.size) *
              (272 / $game_system.actorbattler_max) +
              (272 / $game_system.actorbattler_max)
      else
        # Return after calculating x-coords of default-aligned party members
        return self.index * 136 + 68
      end
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # * Get Battle Screen Y-Coordinate
  #--------------------------------------------------------------------------
  def screen_y
    return Actor_Battler::SCREEN_Y
  end  
  #--------------------------------------------------------------------------
  # * Get Battle Screen Z-Coordinate
  #--------------------------------------------------------------------------
  def screen_z
    # Return after calculating z-coordinate by order of members in party
    if self.index != nil
      return $game_party.members.size - self.index
    else
      return 0
    end
  end
end



#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
#  This sprite is used to display battlers. It observes a instance of the
# Game_Battler class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Battler < Sprite_Base
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------  
  alias actorbattler_update update
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Perform the original call
    actorbattler_update
    # If the actor battlers are lightly transparent until they act
    if Actor_Battler::TRANSPARENT == true
      # If the battler is a visible actor battler
      if @battler.is_a?(Game_Actor) and @battler_visible
        # Bring opacity level down a bit when not in main phase
        if $game_temp.battle_main_phase
          self.opacity += 3 if self.opacity < 255
        else
          self.opacity -= 3 if self.opacity > 207
        end
      end    
    end
  end
end



#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
#  This class brings together battle screen sprites. It's used within the
# Scene_Battle class.
#==============================================================================

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # * Create Actor Sprite
  #    Removes the 'empty' battler image used by the default system and
  #    replaces it.  It also observes the actual size of the party and
  #    not a predetermined 4-party limit.
  #--------------------------------------------------------------------------
  def create_actors
    @actor_sprites = []
    for actor in $game_party.members.reverse
      @actor_sprites.push(Sprite_Battler.new(@viewport2, actor))
    end
  end  
  #--------------------------------------------------------------------------
  # * Update Actor Sprite
  #--------------------------------------------------------------------------
  def update_actors
    # Reset actor battler sprites if party size increases
    if $game_party.members.size > @actor_sprites.size
      dispose_actors
      create_actors
    end
    for sprite in @actor_sprites
      sprite.update
    end
  end  
end



#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  This class performs battle screen processing.
#==============================================================================

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias actorbattler_s start
  alias actorbattler_spcs start_party_command_selection
  alias actorbattler_pv process_victory
  alias actorbattler_ea execute_action
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    actorbattler_s
    $game_temp.battle_main_phase = false
  end
  #--------------------------------------------------------------------------
  # * Start party command selection
  #--------------------------------------------------------------------------
  def start_party_command_selection
    actorbattler_spcs    
    if $game_temp.in_battle
      $game_temp.battle_main_phase = false
    end
  end
  #--------------------------------------------------------------------------
  # * Victory Processing
  #--------------------------------------------------------------------------
  def process_victory
    $game_temp.battle_main_phase = false
    actorbattler_pv
  end
  #--------------------------------------------------------------------------
  # * Start Execution of Battle Processing
  #--------------------------------------------------------------------------
  def execute_action
    actorbattler_ea
    $game_temp.battle_main_phase = true
  end
end

Das Skript bewirkt, dass alle Actor im Kampfbildschirm, zusammen mit den Battlern angezeigt werden, ähnlich wie beim "Tankentei Sideview-KS".

Das einzige Problem nur, dass alle Actor starr stehen bleiben, was auf Dauer ein wenig langweilig wirkt. Deswegen wollte ich, dass alle Actor, so wie beim Sideview-KS eine "Stepping-Animation" haben (also auf der Stelle laufen).

Ich habe zuerst versucht, den Teil aus dem "Tankentei Sideview-KS" zu übernehmen, doch soweit ich das richtig verstanden habe, gibt es einen Grundlegenden Unterschied zwischen den beiden Skripten. Unzwar nutzt das Sideview-KS die Charactersets der Actor, wogegen sich das oben aufgeführte Skript die Character als Battler anzeigt. Man muss bei dem "Actor Battler Graphics-Skript" auch eine "Battler-Graphic" seines Helden nutzen. Ich habe einfach eine einzelne Pose eines Characters ausgeschitten und in den Battler-Ordner gepackt und dieser wird beim Skript auch richtig angezeigt, nur halt, dass er keine Stepping Animation hat.

Da das Skript die funktion mit der Stepping-Animation nicht besizt und meine Skript-Fähigkeiten sehr gering sind, wollte ich fragen ob jemand die funktion einbauen könnte, also ungefähr so, dass man im Battler-Ordner eine Pose hat, wo der Actor stehenbleibt (z.B. mit Sicht nach vorne) und die 2 Posen mit den Laufanimation zu der Pose und diese dann als eine "Stepping-Animation" angezeigt werden.

Wäre echt nett, wenn das jemand realisieren könnte, da das Skript im Gegensatz zum Sideview-KS mit allen meinen anderen Skripten kompatibel ist. Ich hoffe jemand kann eine Lösung dafür finden.

 
Titel: Re: Hilfe zu Skripten.
Beitrag von: Haaku am Dezember 16, 2009, 19:12:32
Huhu Ihr lieben.

Ich habe or ca. einer Woche angefangen mit dem RMVX zu basteln. Ich hatte vor einigen Jahren mal den 2k3er und das wars dann auch schon an Erfahrung. Ich habe gerade ein Video gesehen das mich echt zum staunen gebracht hat: http://www.youtube.com/watch?v=OVNSneroHKo (http://www.youtube.com/watch?v=OVNSneroHKo)

Nun meine Frage: 1. Wie kann man ein Titelintro machen? Ich kann da nur Bilder auswählen. 2. Frage: Wie geht es das man seine Charaktere im Kampf sieht? Bei mir kann ich nur die Gegner sehen. 3. Frage: Wie kann man in einem Kampf bzw. generell mitten im Spiel videos ablaufen lassen? Ich hab da nirgendswo eine "play .avi" funktion oder so gesehen. Tut mir leid wegen den ganzen Fragen, ich frage mich einfach nur wie sowas geht...
Titel: Re: Hilfe zu Skripten.
Beitrag von: Derexor am Dezember 16, 2009, 19:20:31


 1. Wie kann man ein Titelintro machen?  Was zum *** meinst du damit?
 2. Frage: Wie geht es das man seine Charaktere im Kampf sieht?  Das ist Kampfsystemabhängig, im Video wird das Sideview System benutzt und zwar das [url]http://www.rpgvx.net/index.php/topic,1626.0.html[/url] ([url]http://www.rpgvx.net/index.php/topic,1626.0.html[/url])
. 3. Frage: Wie kann man in einem Kampf bzw. generell mitten im Spiel videos ablaufen lassen? Dazu brauchst du auch ein Script [url]http://www.rpgrevolution.com/forums/?showtopic=14247[/url] ([url]http://www.rpgrevolution.com/forums/?showtopic=14247[/url])

Des weiteren verweise ich auf die ***** Suchfunktion^^ und die FAQs bzw. Tutorials.

so long.
mfG Derexor
Titel: Re: Hilfe zu Skripten.
Beitrag von: Haaku am Dezember 16, 2009, 19:26:11
mit 1 meine Ich das Titelmenü von dem. Das ist kein Bild sondern da läuft ein Video ;)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Meitantei ph am Dezember 16, 2009, 19:34:14
1. So wie ich das sehe hat der Typ ein Video Bearbeitungsprogramm genommen, sein SPiel aufgenommen, den Titelbildschirm aus dem Video geschnitten, und sein Intro vorgehängt.
2. Ob man sich sieht oder nicht hängt vom KS ab(Kampfsystem) in manchen Kampfsystemen sieht man Charaktere, in manchen nicht. Und der VX verwendet eben traditionell eines wo man sich nicht sieht. hier kann dir mit Skripts geholfen wie sie Derexor schon gepostet hat
3. IM Kampf geht das glaube ich auch nicht mit dem Skript...das funktioniert meines erachtens gar nicht
Titel: Re: Hilfe zu Skripten.
Beitrag von: Haaku am Dezember 16, 2009, 19:39:34
Danke für die Antworten ihr 2. Ich hab mir das mal angesehen. Also das KS wie in dem Video würde ich noch hinkriegen. Aber videos abspielen nicht mehr. Leider ist das eine englische erklärung. Ich habs nicht so mit englisch. Aber das mit den Videos klingt auch sau kompliziert. Hat das zufällig jemand auf deutsch in seinem script drin? vllt benutzt das ja jemand... Ich weiss nicht was ich da eingeben soll usw. Ich hasse englisch =(
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Dezember 16, 2009, 20:53:36
Hay Haaku.

Zu deinen Fragen:

1. Das ist ein Script von Mog Hunter, das den Title Scene ziemmlich schön gestalten kann.

2. Das im Video verwendete KS ist ein SideviewKS, ich würde schon fast auf das Tenkai SBS tippen.

3. Auch hier ist ein Script benutzt worden, vor einiger Zeit wurde dieses ebenfalls im Scriptbereich gepostet.

Du findest sicher alle Scripts, wenn du die Suchfunktion mit präzisen Suchbegriffen verwendest.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: juli_1404 am Dezember 22, 2009, 13:34:56
mini-frage:
Also wie kann ich in dem serialskript:

#------------------------------------------------------------------
# Main
#-------------------------------------------------------------------

# Após o final de cada definição de classe o processo principal
# do jogo é iniciado. Esta é a classe principal do jogo.
#===================================

unless Font.exist?("UmePlus Gothic")
  print "Der Font UmePlus wurde nicht gefunden. "
  exit
end

def serial()
  file = File.open('*/*.key') #aqui no exemplo estou com o arquivo na pasta "Serial"
                                           # e o nome do arquivo é "serial.key", dentro dele está a serial.
  content = file.readlines
  for line in 0..content.size-1
    if content[line].include?([desc=Wie mache ich ein oder? Mit | oder wie?]'*' oder '*'[/desc])#insira a maledeta serial aqui!
      $serial = true
    else
      $serial = false
    end
  end
end

serial() # Ativa o Serial Code

begin
  Graphics.freeze
  if $serial == true
    $scene = Scene_Title.new
  else
    print "Serial-Code wurde nicht gefunden oder ist ungültig."
    exit
  end
  $scene.main while $scene != nil
  Graphics.transition(30)
rescue Errno::ENOENT
  filename = $!.message.sub("Datei nicht gefunden -",

"")
  print("Die Datei # {filename} wurde nicht gefunden.")
end

ein oder hinzufügen
lg
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kiige am Dezember 29, 2009, 14:51:46
Soo Kiigelein hat auch ein Problem
und zwar hab ich jetz einen eigene Font im Game
problem ist, das beim g, q und p die unteren striche abgeschnitten werden
und wollte nun wissen in welcher Class das gemacht wird
nach einer längeren sucherei im RGSS fand ich nichtmal ansatzweise nach was ich ausschau halten muss
es wäre nett wenn mir jemand aushelfen könnte

mfg Kiige
Titel: Re: Hilfe zu Skripten.
Beitrag von: Paragorn am Januar 02, 2010, 16:11:12
So auf ansage schreib ich es hier halt nochmal.
Ich nutze folgenden Script
http://www.rpgvx.net/index.php/topic,1130.0.html (http://www.rpgvx.net/index.php/topic,1130.0.html)
Nun hab ich das Problem wenn ich einen Text erscheinen lass das ich folgende Fehlermedlung bekomm
wenn ich versuche einen Kampf zu starten.
Zitat
Script 'Window_Base' line 37: RGSSError occurrend.
disposed window

Auch wenn ich davor per set_text(7,'') den text leere kommt dieser fehler. Ich brauch diesen Script einfach um
mir bei Monster den Namen anzu zeigen. Alternativen währen auch gut.
Kann sich jemand den Fehler erklären?
Bild des nutzens:
http://img5.imagebanana.com/view/kyl07yl/Screen00006.jpg (http://img5.imagebanana.com/view/kyl07yl/Screen00006.jpg)

MfG Frischling Paragorn =D
Titel: Re: Hilfe zu Skripten.
Beitrag von: Herendil am Januar 17, 2010, 21:49:21
So ich habe mal wieder eine Frage:
Ich wünsche mir, dass ich durch einen Note bei den Waffen einen eingegebenen zurück erhalten.
Dazu möchte ich das wie folgt machen:
In den Notes steht
Skill_id = nalso bspw.
Skill_id = 1Den Wert "n" hätte ich dann gerne als Instance Variable
dazu dachte ich es mit
module RPG
class Weapon < BaseItem
    def initialize
      super
alias usw.
      @skill_id = "n"
    end
    attr_accessor :skill_id
    end
end
end
zu machen.

Wie kann ich also "n" hinter dem "Skill_id = " auslesen?
Ich bedanke mich schon jetzt für jede Antwort.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Januar 18, 2010, 16:10:32
Soah nun muss es gehen!
:D

  def gimme_skillid(item_id,item_kind = 2)
    case item_kind
    when 0 #Item
      tags = $data_items[item_id].note.split
    when 1 #Weapon
      tags = $data_weapons[item_id].note.split
    when 2 #Armor
      tags = $data_armors[item_id].note.split
    end
    return (tags[tags.index("Skill_id")+2]).to_i if tags.index("Skill_id") != nil
  end

Das ganze sollte denke ich nicht in RPG::Weapon gepackt werden, sondern mit dieser Methode genutzt werden.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Boogatie Roll am Januar 18, 2010, 16:43:04
Ich habe auch mal eine Frage:
Kann man den Background von einer Map durch einen anderen per
Script wechseln?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Januar 18, 2010, 16:45:09
Denke du meinst das hier:
http://www.rpgvx.net/index.php/topic,4042.0.html

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Seranii am Januar 19, 2010, 16:19:35
Ich hab auch mal 'ne Frage, nämlich zu hellMinor'S Questlog vllt. kann einer ja helfen.
Ich habe meine Fenster (Aktueller Quest/Abgeschlossene Quest) von der Größe her verändert, so dass aktueller Quest kleiner und abgeschlossene Quest größer ist. Jetzt mein Problem: Er will mir die Questbeschreibung nicht ganz anzeigen! Er schneidet das rechts immer weg. Was kann ich machen?
(http://i288.photobucket.com/albums/ll180/shyana188/Questlog.jpg)
Wenn's geht, könnte mir dann bitte auch einer sagen, wie ich's schaffe, dass das "Gehe" nicht in der 1. Zeile alleine steht?
Danke schonmal im Voraus.
Gruß Seranii ^.~
Titel: Re: Hilfe zu Skripten.
Beitrag von: Boogatie Roll am Januar 19, 2010, 18:42:26
Denke du meinst das hier:
[url]http://www.rpgvx.net/index.php/topic,4042.0.html[/url]

MfG
Deity

Ja genau!
Vielen Dank!

Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am Januar 27, 2010, 15:12:57
Ich glaube ich bin einfach zu doof (SuFu hab ich nix gefunden), aber wie ist der Befehl um in einem Script ein Fenster zu öffnen in dem steht: Die maximale Anzahl ist schon erreicht.

Hoffe auf Hilfe!

PS: Falls das schon irgendwo steht, ich habe es mit SuFu probiert und nix gefunden (falsche Stichworte?).
Titel: Re: Hilfe zu Skripten.
Beitrag von: tobiasruf am Januar 27, 2010, 15:19:53
print ("die max anzahl ist schon erreicht !")
Das ist das einziege was ich weiss.
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am Januar 27, 2010, 15:23:14
Vielen Dank, aber ich meinte eigentlich ein normales "Rpg-Window".
Ich glaube ich weiß jetzt den Befehl, aber ich wüsste noch gerne wie ich dessen Koordinaten festlege und es nach einiger Zeit wieder schließe.

Edit: Ich habe vielleicht doch den falschen Befehl, bei mir wird angezeigt, dass ich den Text ausgewählt habe.
Titel: Re: Hilfe zu Skripten.
Beitrag von: MicroJumper am Januar 27, 2010, 23:15:53
hab ne frage zu nem call script...
und zwar möchte ich über eine Bedingung abfragen, ob neben, über oder unter mir ein passierbares event ist...

Hab bis jetzt hingekriegt, dass ich abfragen kann, ob ein bestimmtes event neben mir passierbar ist, ich brauch es aber so, dass es sich auf events allgemein bezieht
(also ohne event_id):

bisherige Zeile:
$game_player.pos?($game_map.events[EVENT_ID].x, $game_map.events[EVENT_ID].y)
Beispiel:
$game_player.pos?($game_map.events[1].x, $game_map.events[1].y)

damit kann ich abfragen ob (hier) Event 1 neben mir ist und passierbar ist...
ich brauchs aber so, dass ich abfragen kann, ob überhaupt ein event neben mir ist und passierbar ist....

hoffe ich konnte es gut genug erklären... ich brauch das, weil ich ein Drag & Drop System mit Events gemacht hab, aber man die sachen in events "reinwerfen" kann, was man nicht sollte^^

vielen dank für die hilfe^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Januar 31, 2010, 13:37:56
Hi MicroJumper,
soweit ich mir es denken kann, bedeutet diese Abfrage:
$game_player.pos?($game_map.events[1].x, $game_map.events[1].y)
ob der Character (Player) die Koordinaten des Events besitzt, und nicht ob diese "Stelle" passierbar ist.
$game_player.pos?($game_map.events[1].x, $game_map.events[1].y)
Würde also true zurückgeben, falls der Spieler und das erste Event die selben Koordinaten haben. Für die Passierbarkeit müsstest du wohl nach einer anderen Methode suchen.
Um abzufragen ob ein Event neben dir ist, kannst du dir z.B. das hier anschauen:

Hay InJ,

Zitat
Mein derzeitig wichtigstes/größtes Problem ist die Abfrage des Ortes von dem Gegner.


Zu deinem jetzigen Problem, habe ich eine Lösung, entweder du benutzt wie schon im IRC gesagt, die Variante mit den Events, sprich du benutzt 4 Variablen, und setzt 2 immer mit den Koordinaten des Events und 2 mit den Koordinaten des Spielers, und addierst bzw. subtrahierst 1,um rauszubekommen, ob die beiden neben ein ander stehen.
Hierfür kannst du nochmal in meinem etwas älterem Tut, unter Anwendung der Variablen ein kleines Beispiel finden, was auf diese Problematik aufbaut.

*Schleichwerbung* => Link zum Tutorial ([url]http://www.rpgvx.net/index.php/topic,3435.0.html[/url])

Die zweite Möglichkeit ist, die zuerst nicht geklappt hat, aber jetzt wunderbar läuft ist eine kleine Erweiterrung für den Game_Interpreter.. Probier einfach mal das hier aus (Benutzung hat sich etwas verändert, aber zum positiven. :)):

=begin
Benutzung: Um eine ABfrage zu starten, ob das Event neben einem anderem Event oder neben einem SPieler steht,
zu starten, musst du unter Conditional Branch, Script, je nach Fall folgendes eingeben:
Bei Abfrage, ob ein Event neben dem Spieler steht:
nexto_to(event_id des events,true)
Bei Abfrage, ob ein Event neben einem anderem Event steht;
next_to(event_id des ersten events, false , event_id des zweiten events)
=end
class Game_Interpreter
  def next_to(event_id1 = nil , player = false , event_id2 = nil)
    if player == false
      if $game_map.events[event_id1] != nil && $game_map.events[event_id2] != nil
        if $game_map.events[event_id1].x == $game_map.events[event_id2].x + 1 && $game_map.events[event_id1].y == $game_map.events[event_id2].y || $game_map.events[event_id1].x == $game_map.events[event_id2].x - 1 && $game_map.events[event_id1].y == $game_map.events[event_id2].y || $game_map.events[event_id1].y == $game_map.events[event_id2].y + 1 && $game_map.events[event_id1].x == $game_map.events[event_id2].x || $game_map.events[event_id1].y == $game_map.events[event_id2].y - 1 && $game_map.events[event_id1].x == $game_map.events[event_id2].x
          return true
        else
          return false
        end
      end
    end
    if player == true
      if $game_player.x == $game_map.events[event_id1].x + 1 && $game_player.y == $game_map.events[event_id1].y || $game_player.x == $game_map.events[event_id1].x - 1 && $game_player.y == $game_map.events[event_id1].y || $game_player.y == $game_map.events[event_id1].y + 1 && $game_player.x == $game_map.events[event_id1].x || $game_player.y == $game_map.events[event_id1].y - 1 && $game_player.x == $game_map.events[event_id1].x   
          return true
      else
          return false
      end
    end
  end
end

Zitat
D.h so viel wie: Wenn der Gegner neben dem "Helden" steht soll er zufällig eine Aktion ausführen. Je nach Aktionspunkten ihm erlaubt sind.


Dazu kann man auch folgende Idee verwenden:
Erstelle ein Label, in dem eine Variable einen Zufallswert, mit dem Maximalwert, der Anzahl der möglichen Aktionen annehmen kann. Dann wird gegukt/abgefragt, welchen Wert die Variable hat, sobald die Variable einen Wert, der Aktion annimmt, wird abgefragt, ob die Anzahl der Punkte genügt. Falls Ja, so wird die aktion ausgeführt,und das Label beendet, ansonsten wird das Label von neu aufgeruffen. Da du willst, dass der Gegner neben dem Spieler ist, musst du vorher eine der oben genannten Möglichkeiten benutzen, um das Label überhaupt starten zu können.

Als Anmerkung: bei manchen Aktionen wie Angriff etc., kannst du noch vorher mit Variablen die Richtung ermitteln, in die das Event schauen muss, um wirklich den Spieler anzuschauen.

Ich hoffe ich hab mich halbwegs verständlich ausgedrückt.
Falls du weitere Fragen hast, helfe ich gern.

MfG
Deity

Man kann das ganze auch mit Eventing machen, was aber bei einer großen Anzahl von Events sehr aufwendig werden kann.
Für die Passierbarkeit fällt mir gerade nichts ein, aber ich antworte falls ich was finde.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Soraphis am Februar 02, 2010, 21:22:38
hm ... meine frage past eigendlich super zum aktuellen thema ....

ich will in meinem event ein script aufrufen ...

der mir in der variable @This_X = $game_map.events[1].x
speichert, so weit - so gut. das problem ... ich möchte als array keine 1 sondern sowas wie this
da ich ja IN dem gewünschten event bin.

ich möchte nämlich das das event so allgemein wie möglich ist, das es immer wieder passt egal sogar nach copy&past

zuerst dachte ich mir... ach ist ja nicht so wild da ne 1, 18 oder 22 reinzuschreiben ... doch .... damit funzt es nicht ... die event id lese ich unten rechts ab
da steht dann z.b. 18:<eventname>
somit weis ich das die id 18 ist ... oder?

jedoch scheint das nicht so zu funzen wie ich will ... und zwar scheitert es an einer if/abfrage

und zwar an: $game_variables[1] == @This_X
die variablen id ist auch wirklich 0001 (oder muss ich die um 1 dekrementieren ?)

ach und wo ich grad dabei bin ... durch das @ ist es doch ne lokale variable .... oder?

wenn nein wie mach ich lokale ?
edit -> achja ... die variablen sollten evlt. für die ganze map (nicht das ganze game) gelten ...
edit2 ->
mein problem ist, das ich mich nur ganz wage mit scripten auskenne ... und leider nirgends eine sytax übersicht finden kann (die würde mir schon sehr helfen....)

meine idee wäre nun:
alle events um mein - vom spieler - aktiviertes event herum abzufragen, und zu checken ob der name gleich XX ist ...
wie gesagt ich brauch nur syntax hilfe ....

danke schonmal
Titel: Re: Hilfe zu Skripten.
Beitrag von: MicroJumper am Februar 08, 2010, 13:46:21
hmm... wegen meiner frage zu der passierbarkeits abfrage...
ich hab eig. was anderes gemeint...

ich will nicht abfragen, ob EIN BESTIMMTES EVENT neben mir ist sondern ob ÜBERHAUPT EIN EVENT neben mir ist sollte ungefähr so aussehen...

also statt mit event id:
$game_player.pos?($game_map.events[1].x, $game_map.events[1].y)

ohne Event id also alle events iwie...:
$game_player.pos?($game_map.events.x, $game_map.events.y)

Beispiel wie ichs gern hätte:

Bedingung:
     Ist irgendein Event neben dem Spieler?
  wenn ja:
     Abwerfen von Item nicht erlaubt!
  wenn nein:
     Abwerfen von Item erlaubt!


Ideal wäre dan ungefähr so:

Bedingung:
     Ist irgendein Event neben dem Spieler, welches passierbar ist?
  wenn ja:
     Abwerfen von Item nicht erlaubt!
  wenn nein:
     Abwerfen von Item erlaubt!
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Februar 08, 2010, 19:27:02
=begin
Benutzung: Um eine Abfrage zu starten, ob das Event neben einem anderem Event oder neben einem SPieler steht,
zu starten, musst du unter Conditional Branch, Script, je nach Fall folgendes eingeben:
Bei Abfrage, ob ein Event neben dem Spieler steht:
nexto_to(event_id des events,true)
Bei Abfrage, ob ein Event neben einem anderem Event steht;
next_to(event_id des ersten events, false , event_id des zweiten events)
Bei ABfrage, ob irgendein Event neben dir ist, einfach folgendes eingeben:
some_nearly_events?
Bei Abfrage, ob irgendein passables Event neben dir ist:
some_passable_events_nearly?
=end
class Game_Event
  attr_reader :id
end
class Game_Interpreter
  def some_nearly_events?
    for event in $game_map.events.values
      if next_to(event.id,true)
        return true
      end
    end
    return false
  end
  def some_passable_events_nearly?
    for event in $game_map.events.values
      if next_to(event.id,true) && right_priot(event)
        return true
      end
    end
    return false
  end
  def right_priot(event)
    return true if event.priority_type == 0 || event.priority_type == 2
    return false
  end
  def next_to(event_id1 = nil , player = false , event_id2 = nil)
    if player == false
      if $game_map.events[event_id1] != nil && $game_map.events[event_id2] != nil
        if $game_map.events[event_id1].x == $game_map.events[event_id2].x + 1 && $game_map.events[event_id1].y == $game_map.events[event_id2].y || $game_map.events[event_id1].x == $game_map.events[event_id2].x - 1 && $game_map.events[event_id1].y == $game_map.events[event_id2].y || $game_map.events[event_id1].y == $game_map.events[event_id2].y + 1 && $game_map.events[event_id1].x == $game_map.events[event_id2].x || $game_map.events[event_id1].y == $game_map.events[event_id2].y - 1 && $game_map.events[event_id1].x == $game_map.events[event_id2].x
          return true
        else
          return false
        end
      end
    end
    if player == true
      if $game_player.x == $game_map.events[event_id1].x + 1 && $game_player.y == $game_map.events[event_id1].y || $game_player.x == $game_map.events[event_id1].x - 1 && $game_player.y == $game_map.events[event_id1].y || $game_player.y == $game_map.events[event_id1].y + 1 && $game_player.x == $game_map.events[event_id1].x || $game_player.y == $game_map.events[event_id1].y - 1 && $game_player.x == $game_map.events[event_id1].x   
          return true
      else
          return false
      end
    end
  end
end

Habe das alte Script ergänzt und nun macht es genau das was du willst, glaube ich zumindestens. :D
Also es liefert true, wenn iein Event neben dir ist, wenn du in Conditional Branch: some_nearly_events? eingibst und es liefert true, oder
wenn du :some_passably_events_nearly? eingibst liefert er den Wert true, wenn ein Event neben dir ist, welches die Priorität unter oder über dem Spieler haben(Begehbar sind).

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: _D3nn!§_ am Februar 08, 2010, 21:28:20
Hallo, ich weiß, dass ich hier wahrscheinlich im falschen topic schreibe (bin mir nicht klar, wo ich sonst schreiben sollte),
dennnoch wollte ich hier fragen, weil ich den Skript nicht aktualisieren will,
ob man im SMS-Skript von Woratana (http://www.rpgvx.net/index.php/topic,797.0.html (http://www.rpgvx.net/index.php/topic,797.0.html))
so verändern könnte , dass man nicht mehr mit den oberen,linken Bereich klickt (http://www4.pic-upload.de/08.02.10/x9rrgwebwnux.png) , sondern eher mit der Mitte (http://www4.pic-upload.de/08.02.10/ny73jaq34xm4.png) .
Damit man es sich besser vorstellen kann : es soll so ausgerichtet sein, dass man mit der Maus dann Events abschießen kann . (Oder schreibe ich doch hier im richtigen topic? Weiß nicht, bin ein wenig ratlos :D .)

Ich bedanke mich im Voraus,


_D3nn!§_  
Titel: Re: Hilfe zu Skripten.
Beitrag von: Soraphis am Februar 10, 2010, 20:35:04
hm ... geht bestimmt ... das cursor-bild muss man nur um ein wenig nach links oben verschieben
ich kenn mich jetzt nicht mit scripten aus .... aber das dürfte so schwer nicht sein ... du musst die stelle suchen an der das bild auf maus koordinaten gelegt wird un den maus koordinaten ein wenig hinzuaddieren
(wobei es auch suptrahieren sein könnte .... ists auch eher denke ich....)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Februar 10, 2010, 20:51:27
#==============================================================================
# [VX] SMS - Simple Mouse System
#------------------------------------------------------------------------------
# ? by Woratana [woratana@hotmail.com]
# ? Released on: 14/04/2008 (D-M-Y)
# ? Version: 1.5
#
# ? Credit: DerVVulfman, Near Fantastica, and Freak Boy [Mouse Input Module]
# lambchop, shun, Cybersam, Astro_mech, and Mr.Mo [Super Simple Mouse System]
# - Modern Algebra, Zeriab, Patrick Lester [Path Finding]
# - Near Fantastica, Fuso [Path Finding]
#
# - I will not be able to script this without those people and scripts above
#-----------------------------------------------------------------------------
#====[REQUIRE]=====
# - DerVVulfman's Mouse Input Module
# - Modern Algebra's Path Finding [version 2.0]
#
#====[FEATURE]=====
# - Support to use mouse in many scenes / windows
# - Mouse Pointer
# - Click on map to move player with Path Finding
# - Click on event to go talk/interact with that event
# - Click on event to walk to that event
# - You can choose scene(s) that don't want to use mouse
# - You can turn mouse ON/OFF automatically by call script:
# $scene.no_mouse = (true/false) # True to turn off mouse

#====[MOUSE TAGS]=====
# Put one (or more) of these tags in the event command 'Comment..'
# [mauto] : This event will run automatically after click on it
# [mnone] : This event will not be determine as event when click on it
# (a.k.a. Player will not interact with it)

# [mtop] : Player will always stop at tile above this event when click on it
# [mleft] : Same as [mtop], but left side
# [mright] : Same as [mtop], but right side
# [mdown] : Same as [mtop], but below
#------------------------------------------------------------------------------

module Mouse
#==============================================================================
# MOUSE SETUP PART
#----------------------------------------------------------------------------
Scroll_Delay = 30 # (in Frames)
# Mouse Delay when scroll up or down the list

Path_Finding_Iteration = 0 # (Integer, 0 for no limit)
# How deep you want path finding to process until find the way
# less number will be able to find only easy path, less lag
# high number will be able to find complicated path, possible to increase lag

Scene_No_Mouse = []
# Scene(s) that you don't want to use mouse
# e.g. Scene_No_Mouse = [Scene_File, Scene_Map, Scene_Title]

Auto_Find_Destination = true
# It will automatically find the cloeset destination on map
# when click on unpassable tile.
#==============================================================================
end

#==============================================================================
# ** Mouse Input Module
#==============================================================================
class << Mouse
  show_cursor = Win32API.new('user32', 'ShowCursor', 'l', 'l')
  show_cursor.call(0)

  $mousec = Sprite.new
  $mousec.z = 10001
  $mousec.x = $mousec.y = 1000
  $mouse_icon = $base_cursor = 'foxkeh_cursor'
  $mousec.bitmap = Cache.system($base_cursor)
  $mouse_duration = -1
  $mouse_changed = false
 
  alias wor_mouse_upd_mouse update unless $@
  def Mouse.update
    wor_mouse_upd_mouse
    if $scene.no_mouse
      $mousec.visible = false if $mousec.visible
      return
    else; $mousec.visible = true if !$mousec.visible
    end
    if $mouse_old_icon.nil? or $mouse_old_icon != $mouse_icon
      $mouse_old_icon = $mouse_icon
      $mousec.bitmap = Cache.system($mouse_old_icon)
    end
    if @pos.nil?
      $mousec.x = 1000 if $mousec.x != 1000
      $mousec.y = 1000 if $mousec.y != 1000
    else
      $mousec.x = @pos[0] - ($mousec.width / 2) if $mousec.x != @pos[0] - ($mousec.width / 2)
      $mousec.y = @pos[1] - ($mousec.height / 2) if $mousec.y != @pos[1] - ($mousec.height / 2)
    end
  end
 
  def Mouse.map_pos
    return nil if @pos == nil
    x = ($game_map.display_x / 256) + (@pos[0] / 32)
    y = ($game_map.display_y / 256) + (@pos[1] / 32)
    return [x, y]
  end
end

#==============================================================================
# ** Input
#==============================================================================
class << Input
  alias wor_input_upd_mouse update unless $@
  alias wor_input_trig_mouse trigger? unless $@
  alias wor_input_rep_mouse repeat? unless $@
  def Input.update
    wor_input_upd_mouse
    Mouse.update
  end
 
  def Input.trigger?(input)
    return wor_input_trig_mouse(input) if Mouse.pos.nil?
    if input == Input::B and !$scene.no_mouse
      return (wor_input_trig_mouse(input) or Mouse.click?(2))
    elsif input == Input::C and !$scene.no_mouse
      if $scene.is_a?(Scene_Map) and !$game_message.visible
        return wor_input_trig_mouse(input)
      else
        return (wor_input_trig_mouse(input) or Mouse.click?(1))
      end
    else
      return wor_input_trig_mouse(input)
    end
  end
 
  def Input.repeat?(input)
    if input == Input::B and !$scene.no_mouse
      return (wor_input_rep_mouse(input) or Mouse.click?(2))
    else
      return wor_input_rep_mouse(input)
    end
  end
end
#==============================================================================
# ** Graphics
#==============================================================================
class << Graphics
  alias wor_graph_fadeout_mouse fadeout unless $@
  def Graphics.fadeout(frames = 1)
    $mousec.visible = false if !$mousec.nil?
    wor_graph_fadeout_mouse(frames)
  end
end
#==============================================================================
# ** Window_Selectable
#==============================================================================
class Window_Selectable < Window_Base
  alias wor_winsel_ini_mouse initialize
  alias wor_winsel_upd_mouse update
  def initialize(*args)
    wor_winsel_ini_mouse(*args)
    @scroll_wait = 0
    @cursor_wait = 0
  end

  def update
    wor_winsel_upd_mouse
    update_mouse if self.active and self.visible
  end
 
  def update_mouse
    @cursor_wait -= 1 if @cursor_wait > 0
    (0..@item_max - 1).each do |i|
      irect = item_rect(i)
      irx = self.x + 16 + irect.x - self.ox
      iry = self.y + 16 + irect.y - self.oy
      move_cursor(i) if Mouse.area?(irx, iry, irect.width, irect.height)
    end
  end

  def move_cursor(index)
    return if @index == index
    @scroll_wait -= 1 if @scroll_wait > 0
    row1 = @index / @column_max
    row2 = index / @column_max
    bottom = self.top_row + (self.page_row_max - 1)
    if row1 == self.top_row and row2 < self.top_row
      return if @scroll_wait > 0
      @index = [@index - @column_max, 0].max
      @scroll_wait = Mouse::Scroll_Delay
    elsif row1 == bottom and row2 > bottom
      return if @scroll_wait > 0
      @index = [@index + @column_max, @item_max - 1].min
      @scroll_wait = Mouse::Scroll_Delay
    else
      @index = index
    end
    return if @cursor_wait > 0
    Sound.play_cursor
    @cursor_wait += 2
  end
end
#==============================================================================
# ** Window_MenuStatus
#==============================================================================
class Window_MenuStatus < Window_Selectable
  def item_rect(index)
    return Rect.new(0, index * 96, contents.width, 96)
  end
end
#==============================================================================
# ** Window_NameInput
#==============================================================================
class Window_NameInput < Window_Base
  alias wor_winnam_upd_mouse update
  def update
    wor_winnam_upd_mouse
    if self.active and self.visible
      (0..TABLE[@mode].size - 1).each do |i|
      irect = item_rect(i)
      irx = self.x + 16 + irect.x - self.ox
      iry = self.y + 16 + irect.y - self.oy
      @index = i if Mouse.area?(irx, iry, irect.width, irect.height)
      end
    end
  end
end
#==============================================================================
# ** Window_PartyCommand
#==============================================================================
class Window_PartyCommand < Window_Command
  def update_mouse
    (0..@item_max - 1).each do |i|
    irect = item_rect(i)
    irx = self.viewport.ox + 16 + irect.x - self.ox
    iry = 288 + 16 + irect.y - self.oy
    self.index = i if Mouse.area?(irx, iry, irect.width, irect.height)
    end
  end
end
#==============================================================================
# ** Window_ActorCommand
#==============================================================================
class Window_ActorCommand < Window_Command
  def update_mouse
    (0..@item_max - 1).each do |i|
    irect = item_rect(i)
    irx = self.viewport.ox + 288 + 16 + irect.x
    iry = 288 + 16 + irect.y
    self.index = i if Mouse.area?(irx, iry, irect.width, irect.height)
    end
  end
end
#==============================================================================
# ** Window_Message
#==============================================================================
class Window_Message < Window_Selectable
  def update_mouse
    (0..@item_max - 1).each do |i|
      irect = item_rect(i)
      irx = self.x + 16 + irect.x - self.ox
      iry = self.y + 16 + irect.y - self.oy + ($game_message.choice_start * WLH)
      self.index = i if Mouse.area?(irx, iry, irect.width, irect.height)
    end
  end
end

#==============================================================================
# ** Scene_Base
#==============================================================================
class Scene_Base
  alias wor_scebase_posstr_mouse post_start
  alias wor_scebase_preter_mouse pre_terminate
  attr_accessor :no_mouse
 
  def post_start
    if !$mousec.nil?
      $mousec.visible = true
      @no_mouse = false
      # If this scene is in Scene_No_Mouse
      Mouse::Scene_No_Mouse.each do |sce|
        if $scene.is_a?(sce)
          $mousec.visible = false
          @no_mouse = true
        end
      end
    end
    wor_scebase_posstr_mouse
  end
 
  def pre_terminate
    $mousec.visible = false if !$mousec.nil?
    wor_scebase_preter_mouse
  end
end
#==============================================================================
# ** Scene_File
#==============================================================================
class Scene_File < Scene_Base
  alias wor_scefil_upd_mouse update
  def update
    (0..@item_max - 1).each do |i|
      ix = @savefile_windows[i].x
      iy = @savefile_windows[i].y
      iw = @savefile_windows[i].width
      ih = @savefile_windows[i].height
      if Mouse.area?(ix, iy, iw, ih)
        @savefile_windows[@index].selected = false
        @savefile_windows[i].selected = true
        @index = i
      end
    end
    wor_scefil_upd_mouse
  end
end
#==============================================================================
# ** Scene_Map
#==============================================================================
class Scene_Map < Scene_Base
  alias wor_scemap_upd_mouse update
 
  def update
    wor_scemap_upd_mouse
    if !@no_mouse
      # IF left click
      if Mouse.click?(1) and !$game_message.visible and
        !$game_map.interpreter.running?
        mouse_xy = Mouse.map_pos
        return if mouse_xy.nil?
        old_direction = $game_player.direction
        $game_player.turn_toward_pos(mouse_xy[0], mouse_xy[1])
        # IF click near player, and there's trigger to event, run event
        return if ($game_player.front?(mouse_xy[0],mouse_xy[1]) and
      $game_player.check_action_event)
        $game_player.clear_path
        $game_player.mouse_force_path(mouse_xy[0], mouse_xy[1])
      # IF middle click
      elsif Mouse.click?(3) and !$game_message.visible and
        !$game_map.interpreter.running?
        mouse_xy = Mouse.map_pos
        return if mouse_xy.nil?
        $game_player.clear_path
        $game_player.turn_toward_pos(mouse_xy[0], mouse_xy[1])
      end
    end
  end
end
#==============================================================================
# ** Game_Character
#==============================================================================
class Game_Character
  def mouse_force_path(x, y, auto_check = ($game_map.events_xy(x, y).size > 0))
    ori_x, ori_y = x, y
    path_xy = $game_map.find_dest_xy(x, y, @x, @y)
    return if path_xy.nil?
    x, y = path_xy[0] ,path_xy[1]
    # Force_move from MA's path finding
    if map_passable?(x,y)
      path = $game_map.find_path (self.x, self.y, x, y, false,
      Mouse::Path_Finding_Iteration, self)
      path.reverse!
      # Turn toward destination
      newmove = RPG::MoveCommand.new
      newmove.code = 45 # Script..
      newmove.parameters = ["turn_toward_pos(#{ori_x},#{ori_y})"]
      path.push newmove
      # Add script to check if there's event trigger
      if auto_check
        newmove = RPG::MoveCommand.new
        newmove.code = 45
        newmove.parameters = ['check_action_event']
        path.push newmove
      end
      # Add an end command
      path.push (RPG::MoveCommand.new (0))
      move_route = RPG::MoveRoute.new
      move_route.list = path
      move_route.repeat = false
      force_move_route (move_route)
    end
  end
 
  def clear_path
    @move_route_index = 0
    @move_route = RPG::MoveRoute.new
    @move_route.repeat = false
  end

  def turn_toward_pos(x,y)
    sx = distance_x_from_pos(x)
    sy = distance_y_from_pos(y)
    if sx.abs > sy.abs                    # Horizontal distance is longer
      sx > 0 ? turn_left : turn_right
    elsif sx.abs < sy.abs                 # Vertical distance is longer
      sy > 0 ? turn_up : turn_down
    end
  end

  def distance_x_from_pos(x)
    sx = @x - x
    if $game_map.loop_horizontal?
      if sx.abs > $game_map.width / 2
        sx -= $game_map.width
      end
    end
    return sx
  end
 
  def distance_y_from_pos(y)
    sy = @y - y
    if $game_map.loop_vertical?
      if sy.abs > $game_map.height / 2
        sy -= $game_map.height
      end
    end
    return sy
  end
 
  def front?(x,y)
    case @direction
    when 2; return true if (x == @x-1 and y == @y)
    when 4; return true if (x == @x and y == @y-1)
    when 6; return true if (x == @x and y == @y+1)
    when 8; return true if (x == @x+1 and y == @y)
    end
    return false
  end
end
#==============================================================================
# ** Game_Map
#==============================================================================
class Game_Map
  # Find Destination for Path Finding
  def find_dest_xy(x, y, self_x, self_y)
    has_event = false
    event_ary = events_xy(x, y)
    # Remove Event that has 'mnone'
    (event_ary).each do |i|
      event_ary.delete(i) if i.comment?('[mnone]')
    end
    # Return original x, y if there are more than 1 events,
    # or the only event has priority type 'Below Character'
    if (event_ary.size == 1 and event_ary[0].priority_type != 1) or
    event_ary.size > 1
      return [x, y]
    elsif event_ary.size == 1
      # IF there's event, check for reserved direction
      has_event = true
      if event_ary[0].comment?('[mtop]')
        return [x, y-1]
      elsif event_ary[0].comment?('[mleft]')
        return [x-1, y]
      elsif event_ary[0].comment?('[mright]')
        return [x+1, y]
      elsif event_ary[0].comment?('[mdown]')
        return [x, y+1]
      elsif event_ary[0].comment?('[mauto]')
        event_ary[0].start
        return nil
      end
    end
    # Check for passable direction or it's Same X/Y or doesn't allow auto-find
    if (event_ary.size != 1 and $game_player.map_passable?(x, y)) or (self_x == x and self_y == y) or
  (!Mouse::Auto_Find_Destination and !has_event)
      return [x, y]
    end
    # Find nearest path
    nx = (self_x - x)
    ny = (self_y - y)
    npath_real = []
    if (nx.abs < ny.abs and nx != 0) or (ny == 0) # X is closer than Y
      npath_real << (nx > 0 ? 'right' : 'left')
    else # EQUAL, or Y is closer than X
      npath_real << (ny > 0 ? 'up' : 'down')
    end
    npath_real_tran = move_translate(npath_real, x, y) # Translate word to value
    # If the fastest way is possible, return it
    if $game_player.map_passable?(npath_real_tran[0][0], npath_real_tran[0][1])
      return [npath_real_tran[0][0], npath_real_tran[0][1]]
    end
    npath = []
    # Add other possible ways
    npath << 'up' if !npath_real.include?('up')
    npath << 'left' if !npath_real.include?('left')
    npath << 'down' if !npath_real.include?('down')
    npath << 'right' if !npath_real.include?('right')
    npath = move_translate(npath, x, y) # Translate other possible ways
    (0..npath.size-1).each do |np| # Calculate distance from each point
      npath[np] =
      [npath[np], (self_x - npath[np][0]).abs + (self_y - npath[np][1]).abs]
    end
    npath = npath.sort_by {|i| i[1]} # Sort by Distance
    # Check to move~
    npath.each do |n|
      return [n[0][0], n[0][1]] if $game_player.map_passable?(n[0][0], n[0][1])
    end
    # IF there's no way to go
    return nil
  end
 
  def move_translate(ary, x, y)
    (0..ary.size - 1).each do |n|
      if ary[n] == 'up'
        ary[n] = [x, y-1]
      elsif ary[n] == 'left'
        ary[n] = [x-1, y]
      elsif ary[n] == 'right'
        ary[n] = [x+1, y]
      elsif ary[n] == 'down'
        ary[n] = [x, y+1]
      end
    end
    return ary
  end
end
#==============================================================================
# ** Game_Event
#==============================================================================
class Game_Event < Game_Character
  def comment?(comment, return_index = false )
    if !@list.nil?
      for i in 0...@list.size - 1
        next if @list[i].code != 108
        (0..@list[i].parameters.size - 1).each do |j|
          if @list[i].parameters[j].include?(comment)
            return [true, [i,j]] if return_index
            return true
          end
        end
      end
    end
    return [false, nil] if return_index
    return false
  end
end

Du musst das Script einfach mit dem von Wora ersetzen, und schon wird das Zentrum des Bildes als Maus gewählt. :)

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: _D3nn!§_ am Februar 11, 2010, 08:36:39
@ Ðeity :

Danke es funktioniert ! ^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Februar 11, 2010, 20:06:36
Immer wieder gern. ;)

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Redeemer am März 01, 2010, 11:26:46
Hiho,

ist wahrscheinlich ne ganz simple sache aber ich finds net xD

unzwar hätte ich gern das die Faces im Kampf nicht angezeigt oder auch einfach transparent sind.

(http://img222.imageshack.us/img222/9429/unbenanntyl.png) (http://img222.imageshack.us/i/unbenanntyl.png/)

Also die schwarzumrandeten facesets müssen wech ^^ aber NUR im Kampf im menü müssen sie da bleiben.

Muss ich da iwo was an den Standart Scripten vom Maker ändern, wenn ja wo? Oder brauch ich dafür nen Extra Script?

Da ich ja iwo was an oder mit Scripten ändern muss dacht ich passt hier rein ^^.

thx für jede Hilfe :D

EDIT: Ok Problem gelöst musste an dem Script für das KS was ändern nicht an dem normalen KS Script wie ich erst dachte ^^.



mfg
Titel: Re: Hilfe zu Skripten.
Beitrag von: Vylf am März 06, 2010, 23:57:44
Hey Leute ich hab echt keine ahnung von skripten und so aba ich will unbedingt in meinem RPG das sideview battlesystem haben und weiß echt nicht wie ich das machen sol kann mir einer pls genauestens dabei helfen.

Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 07, 2010, 00:00:45
Am einfachsten wäre es für dich, erstmal die Demo runterzuladen, und dein Spiel in die Demo zu implementireren, und nicht anders rum. Dabei musst du halt daraufachten, dass keiner der Statuse,Skills und weiteren Voreinstellungen nicht verloren gehen. Hast du das geschaft, ist dein Spiel mit SideView kompartible. :)
Und btw. da gibt es doch eine Anleitung oder nicht?!?

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Vylf am März 07, 2010, 00:04:03
ja ich check die anleitung aba nciht und welche demo meinst du eigentlcih.

mfgz Vylf
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 07, 2010, 00:10:05
Naja fangen wir mal ganz einfach an,
sprechen wir beide von RPG Tankentai Sideview V. 3.3 ?
=> http://www.rpgvx.net/index.php/topic,1626.0.html
Unter Demo kannst du 3 verschiedene Demos runterladen.
Unter Instructions findest du eine "genaue" Anleitung zum Einfügen des Kampfsystems.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Vylf am März 07, 2010, 00:13:25
aso okay danke cih schau dann mal nach

lg Vylf


Post zusammen gefügt: März 07, 2010, 01:10:56

so das mit dem sideview hab ich hingekriegt noch mal danke Deity jez will ich mal wissen wie man das mit battle background macht das man in bestimmten gegenden bestimmte backrounds hat, kann mir da einer helfen

MFG Vylf

Post zusammen gefügt: März 08, 2010, 21:40:18
also ich meine wenn ich im wald bin nen bestimmten background im kampf für wald und wenn ich in ner wüste bin dann da wieder nen anderen background und so weiter kann mir da einer helfen fals das mit skripts funzt dann bitte ich um hilfe denn von skripts versteh ich nicht alzuviel danke

MFG Vylf
Titel: Re: Hilfe zu Skripten.
Beitrag von: Tegron am März 14, 2010, 18:21:45
Ich hab folgendes Script - ein Kampfsystem...

http://www.rpg-studio.de/scriptdb/de/RPG-Tankentai-Sideview-Battle-System.html (http://www.rpg-studio.de/scriptdb/de/RPG-Tankentai-Sideview-Battle-System.html)

Ich möchte gerne dieses Kampfsystem benutzen, allerdings mit einer kleinen Veränderung.

Beim Kampf wird immer die Grafik des Charakters geladen. Beim Angriff läuft der Char zum Mob, attackiert den (mit den normalen Animationen) und dreht sich schnell um und rennt schnell zurück. Genau hier, also bei den Angriffen, wenn er da einfach steht oder zum Mob läuft und wieder zrück, werden immer die Grafiken benutzt, die acuh in der normalen Spielwelt benutzt werden.

Kann man das ganze irgendwie trennen? Also fürs Kämpfen andere Grafiken verwenden...

Wenn der Char da steht und auf Befehl wartet
-->gezeigt wird der die normale Grafik, also die Laufanimation wird angezeigt, erzeugt durch zwei Standbildern - einmal rechtes und einmal linkes Bein vorn..
-->diesen Teil will ich ersetzen durch zwei andere Grafiken..

Wenn der Char zum Mob läuft
-->gezeigt wird eben wie der Char zum Mob läuft..
-->das will ich nicht haben, komplett weg damit :)

Dann folgt die Animation der Attacke
-->gezeigt wird eine ganz normale Animation
-->die will ich behalten, kann ich auch so unter Datenbank, Animation manuell ändern..

Hoffe ihr versteht das xD
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kvote am März 16, 2010, 12:48:11
Hallo Allerseits :D

Ich hätte auch mal so ein klizekleines Prob. xD
Ich versuchs so gut wie möglich zu erklären ;)

Es geht um das vor längerem gepostete "Actor Profile Information"-Script (seite 4 dieses Hilfe Threads für die die nicht wissen wo´s zu finden ist)
Und zwar geht es aus irgendeinem unerfindlichen grund bei mir leider überhaupt nicht! An anderen scripts, veränderungen an den Grundeinstellungen etc. kann es nicht liegen da ich es zu erst an einem neuen Projekt testen wollte um sicher zu gehn das ich damit nicht zu viel überschreibe, (bin kein Profiskripter, höchstens Anfänger xD) wie auch immer. Sobald ich das Menü aufrufe, und im Status auf C klicke stürtzt das spiel ab. Ich hab mich lange damit beschäftigt und mir das Skript genau angesehn aber ich komm einfach nicht drauf was der Fehler ist. Von zusätzlich benötigten Fonts, Png Bilder etc. wird auch in den dazugehörigen Posts nichts erwähnt -.- (oder bin ich blind?)


Naja ich würde mich sehr freuen wenn mir da jemand helfen kann :D
PN oder ein Post hier, jenachdem ich les eh alles xD

lg Kvote

Edit: Ich weis das dort scheinbar mehrere Versionen des Skripts gepostet (mit/ohne smileys) sind aber ich hab alle getestet und keins ging Q_Q
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 16, 2010, 13:05:06
Du müsstest uns schon den Fehler nennen, also zusätzlich zu der Beschreibung. ^^
Ein Bild des sich öffnenden Fensters würde vllt. auch helfen, weil ich das Script auch mal benutzt habe, weiß ich, dass es funktioniert. Allerdings könnte ich es mir nachdem ich den Fehler kenne nochmal anschauen.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cloud Crescent am März 16, 2010, 14:37:09
Hi Kvote20,
hier ein Link zu dem Script ohne Probleme.
http://www.hbgames.org/forums/viewtopic.php?f=11&t=48155

Habe es mit dem Script von Seite 4 versucht aber jedes mal wenn ein Fehler verschwand,
tauchte ein neuer auf.

Mit freundlichen Grüßen

      Cloud Crescent
Titel: Re: Hilfe zu Skripten.
Beitrag von: Felsendrache am März 16, 2010, 15:05:18
Hi, ich bin auch so ein Typ der sich mit den Skripten nicht auskennt.

Ich würde auch gern was daran änmdern und zwar:

Mehr Rüstungen die ein char. tragen kann.

sind ja Rüstung, Helm, Zubehör und Schild schon dort. aber wie bekomme ich da noch mehr Slots hin das der Char. z.B. Noch Schuhe oder Handschuhe oder etc. tragen könnte?
Würde mich da über Hilfe sehr freuen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am März 16, 2010, 15:36:51
@Felsendrache
Hier, ich glaube der Script macht sowas.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/   ?                Equipment Extension - KGC_EquipExtension          ? VX ?
#_/   ?                      Last Update: 2008/09/06                          ?
#_/   ?            Translated and Extended Updates by Mr. Anonymous           ?
#_/   ? KGC Site:                                                             ?
#_/   ? http://ytomy.sakura.ne.jp/                                            ?
#_/   ? Translator's Blog:                                                    ?
#_/   ? http://mraprojects.wordpress.com                                      ?
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/         This script has two functions equipment-related functions.
#_/   The first function is the ability to create moire 'slots' for equipment,
#_/  such as separating Boots and Gauntlets from mere 'accessories'.
#_/  It is possible to also create additional equipment slots. See the customize
#_/  block for more details.
#_/ 
#_/   The second function is an "EP" (Equipment Point) System, which allows you
#_/  to designate how many 'points' an item costs to successfully equip. A
#_/  character's total EP expenditure is increased upon leveling up.
#_/  This introduces more strategy-oriented character customization.
#_/----------------------------------------------------------------------------
#_/                        ? Instructions For Usage ?
#_/  To make use of these functions, you must insert the tag into the desired
#_/   item's "Notes" box located in the Armor tab of the database. For example,
#_/   you want the Leather Boots to be bound to the "Legs" slot and cost
#_/   2 EP to equip. Insert <equipkind Legs>, press enter, then add <EP 2>
#_/ 
#_/                                ? Tags ?
#_/  <equipkind EquipType>
#_/   Where EquipType = The name of the type of equipment. See EXTRA_EQUIP_KIND
#_/                                                        below.
#_/  <EP Amount>
#_/   Where Amount = The desired amount of EP the item requires to equip.
#_/
#_/
#_/                           ? Script Commands ?
#_/  These commands are used in "Script" function in the third page of event
#_/   commands under "Advanced".
#_/
#_/  * set_actor_equip_type(ActorID, [EquipType])
#_/     Allows you to manually specify an actor's equipment slots. a
#_/      Ex. set_actor_equip_type(2, [0, 2, 3, 3, 3])
#_/      If "nil"(without quotations) is appointed to EquipType, the default
#_/      EQUIP_TYPE (see below) is used. Trust me, it's useful!
#_/
#_/  * change_actor_equipment(ActorID, equipslot_index, ItemID)
#_/     Allows you to change the equipment of a specified actor.
#_/      equipslot_index works by finding the equipment slot number, which is
#_/      different from EQUIP_TYPE. Setting ItemID to 0 will remove the item.
#_/                   With the default setup, we see:
#_/      0=Weapon 1=Shield 2=Headgear 3=Armor 4=Accessory 5=Legs 6=Arms
#_/
#_/                         So, for an example:
#_/                  change_actor_equipment(1, 3, 15)
#_/ Would change Ralph's(Actor01 in the database) armor to Chainmail(By default)
#_/                                           
#_/     
#_/============================================================================
#_/ Installation: This script must be inserted below KCG_ExtendedEquipScene
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#=============================================================================#
#                           ? Customization ?                                 #
#=============================================================================#

module KGC
  module EquipExtension
  #           ? Extended Equipment Classification Names ?
  #  You may designate the names of additional equipment slots here.
  #   Each time you designate a new equipment slot, it is assigned a number.
  #   The first four equipment types (Shield, Helmet, Armor, and Accessory) are
  #   given as 1, 2, 3, 4, respectively. Then the values below are assigned in
  #   order. By default "Legs" and "Arms" would be 4 and 5. It is possible
  #   to add additional slots.
  #  Example: EXTRA_EQUIP_KIND = ["Legs", "Arms", "Skill Book"]
  EXTRA_EQUIP_KIND = ["Legs", "Arms"]

  #                     ? Equipment Placement ?
  #  This allows you to arrange the equip slots as you see fit on the equipment
  #   menu. Note the order listed below.
  #                  ** Equipment Classification Summary **
  # 0.Shield  1.Headgear  2.Armor  3.Accessory  4. "Legs"  5."Arms"
  #  Note that these can be changed as desired. By default, we've enabled two
  #   accessory slots at the end, instead of one. If you plan on adding extra
  #   equip slots, the category's cooresponding number must be inserted in the
  #   brackets [] below.
  EQUIP_TYPE = [0, 1, 2, 5, 4, 3, 3]

  #                       ? EP (Equip Point) System ?
  #  These settings are for the Equipment Point Limit System.
  #   This toggle allows you to use the EP system if set to true.
  #   If set to false, the EP system will be disabled.
  USE_EP_SYSTEM = true
  # VOCAB_EP appears once a character gains EP from battle. (Not Tested)
  VOCAB_EP   = "EP"
  # VOCAB_EP_A appears above the EP gauge.
  VOCAB_EP_A = "EP"
  # This toggle allows you to display the EP gauge in the actor status window.
  SHOW_STATUS_EP = true

  #                          ? Default EP Cost ?
  #  Allows you to change the default amount an item costs to equip in EP.
  #   (When not otherwise specified.)
  DEFAULT_EP_COST   = 1
  #  This toggle allows you to hide the EP cost of an item if its cost is 0.
  #   true = hide
  #   false = show
  HIDE_ZERO_EP_COST = true

  #                        ? EP Values & Level Gain ?
  #  Maximum EP that can be spent equipping items.
  EP_MAX = 20
  # Characters begin with this amount of EP.
  EP_MIN = 5
  # ? EP Level Gain
  #  This is the formula for the amount of EP gained upon leveling up.
  #  The result of this formula is automatically converted to an integer.
  EP_CALC_EXP = "level * 0.3 + 4"
  # ? Individual Actor EP Level Gain
  PERSONAL_EP_CALC_EXP = [] # <- Do not alter or remove!
  #  Below here, you may specify formulas for individual actors that dictates
  #   the amount of EP they recieve upon leveling up. Like EP_CALC_EXP, the
  #   result is converted to an integer.
  #  Format: PERSONAL_EP_CALC_EXP[ActorID] = "Formula"
  #  The format is just like EP_CALC_EXP, except each actor is defined after
  #   PERSONAL_EP_CALC_EXP in brackets [].
  #  Any actor not specified uses the EP_CALC_EXP formula.
  #  Example:
  # PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
  #                 ? Insert Personal EP Calculations Below Here ?
  PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
 
 
 
  #                 ? Insert Personal EP Calculations Above Here ?
 
  #                        ? EP Gauge Colorization ?
  #  Allows you to change the color of the EP gauges.
  #  The color can also be determined by a red, green, and blue values.
  #  Example: GAUGE_NORMAL_START_COLOR = Color.new(255, 0, 0)  <- This is red.
  #   This method of color assignment is much like Tint Screen event command.
  #
  #  This affects the color of number that represents EP cost.
  EP_COST_COLOR        = 23
  #  This is the fill color for the early phase of the guage.
  EP_GAUGE_START_COLOR = 28
  #  This is the fill color for the late phase of the guage. (When full)
  EP_GAUGE_END_COLOR   = 29
  end
end

#=============================================================================#
#                          ? End Customization ?                              #
#=============================================================================#

#=================================================#
#                    IMPORT                       #
#=================================================#

$imported = {} if $imported == nil
$imported["EquipExtension"] = true

#=================================================#

module KGC::EquipExtension
  # Unless the EP system is used...
  unless USE_EP_SYSTEM
    SHOW_STATUS_EP = false
    HIDE_ZERO_EP_COST = true
  end

#==============================================================================
# ? KGC::EquipExtension::Regexp
#==============================================================================
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#                          Note Field Tag Strings                             #
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#  Whatever word(s) are after the separator ( | ) in the following lines are
#   what are used to determine what is searched for in the "Note" section of
#   an item or armor.

  #  Regular expressions defined
  module Regexp
    # Base Item Module
    module BaseItem
      #  EP Tag String
      EP_COST = /<EP\s*(\d+)>/i
      #  Item Type Tag String
      # Special note: I cannot get this tag to work right. If anyone knows how
      # this works or if it's bugged, please let me know.
      EQUIP_TYPE = /<(?:EQUIP_TYPE|equiptype)\s*(\d+(?:\s*,\s*\d+)*)>/
    end

    #  Base Armor Module
    module Armor
      #  Armor Type Tag String
      EQUIP_KIND = /<(?:EQUIP_KIND|equipkind)\s*(.+)>/i
    end
   
  end
end

#=================================================#

#==============================================================================
# ? KGC::Commands
#==============================================================================

module KGC
module Commands
  module_function
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def restore_equip
    (1...$data_actors.size).each { |i|
      actor = $game_actors[i]
      actor.restore_equip
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     actor_id   : ???? ID
  #     equip_type : ?????
  #--------------------------------------------------------------------------
  def set_actor_equip_type(actor_id, equip_type = nil)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.equip_type = equip_type
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #     actor_id   : ???? ID
  #     index      : ???? (0~)
  #     item_id    : ?? or ?? ID (0 ???)
  #--------------------------------------------------------------------------
  def change_actor_equipment(actor_id, index, item_id)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.change_equip_by_id(index, item_id)
  end
end
end

class Game_Interpreter
  include KGC::Commands
end

#=================================================#

#==============================================================================
# ¦ Vocab
#==============================================================================

module Vocab
  # EP
  def self.ep
    return KGC::EquipExtension::VOCAB_EP
  end

  # EP (?)
  def self.ep_a
    return KGC::EquipExtension::VOCAB_EP_A
  end

  # ?????
  def self.extra_armor(index)
    return KGC::EquipExtension::EXTRA_EQUIP_KIND[index]
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::BaseItem
#==============================================================================

class RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    @__ep_cost = KGC::EquipExtension::DEFAULT_EP_COST
    @__equip_type = []

    self.note.split(/[\r\n]+/).each { |line|
      case line
      when KGC::EquipExtension::Regexp::BaseItem::EP_COST
        # ?? EP
        @__ep_cost = $1.to_i
      when KGC::EquipExtension::Regexp::BaseItem::EQUIP_TYPE
        # ?????
        @__equip_type = []
        $1.scan(/\d+/) { |num|
          @__equip_type << num.to_i
        }
      end
    }

    # EP ???????????? EP = 0
    @__ep_cost = 0 unless KGC::EquipExtension::USE_EP_SYSTEM
  end
  #--------------------------------------------------------------------------
  # ? ?? EP
  #--------------------------------------------------------------------------
  def ep_cost
    create_equip_extension_cache if @__ep_cost == nil
    return @__ep_cost
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def equip_type
    create_equip_extension_cache if @__equip_type == nil
    return @__equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::Armor
#==============================================================================

class RPG::Armor < RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    super
    @__kind = -1

    self.note.split(/[\r\n]+/).each { |line|
      if line =~ KGC::EquipExtension::Regexp::Armor::EQUIP_KIND
        # ????
        e_index = KGC::EquipExtension::EXTRA_EQUIP_KIND.index($1)
        next if e_index == nil
        @__kind = e_index + 4
      end
    }
  end

unless $@
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  alias kind_KGC_EquipExtension kind
  def kind
    create_equip_extension_cache if @__kind == nil
    return (@__kind == -1 ? kind_KGC_EquipExtension : @__kind)
  end
end

end

#=================================================#

#==============================================================================
# ¦ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  attr_writer   :equip_type               # ?????
  #--------------------------------------------------------------------------
  # ? ??????
  #     actor_id : ???? ID
  #--------------------------------------------------------------------------
  alias setup_KGC_EquipExtension setup
  def setup(actor_id)
    actor = $data_actors[actor_id]
    @extra_armor_id = []

    setup_KGC_EquipExtension(actor_id)

    restore_equip
  end
  #--------------------------------------------------------------------------
  # ? MaxEP ??
  #--------------------------------------------------------------------------
  def maxep
    calc_exp = KGC::EquipExtension::PERSONAL_EP_CALC_EXP[self.id]
    if calc_exp == nil
      calc_exp = KGC::EquipExtension::EP_CALC_EXP
    end
    n = Integer(eval(calc_exp))
    return [[n, ep_limit].min, KGC::EquipExtension::EP_MIN].max
  end
  #--------------------------------------------------------------------------
  # ? EP ??
  #--------------------------------------------------------------------------
  def ep
    n = 0
    equips.compact.each { |item| n += item.ep_cost }
    return [maxep - n, 0].max
  end
  #--------------------------------------------------------------------------
  # ? EP ????
  #--------------------------------------------------------------------------
  def ep_limit
    return KGC::EquipExtension::EP_MAX
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def equip_type
    if @equip_type.is_a?(Array)
      return @equip_type
    else
      return KGC::EquipExtension::EQUIP_TYPE
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def armor_number
    return equip_type.size
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def extra_armor_number
    return [armor_number - 4, 0].max
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ??????
  #--------------------------------------------------------------------------
  def extra_armor_id
    @extra_armor_id = [] if @extra_armor_id == nil
    return @extra_armor_id
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  alias armors_KGC_EquipExtension armors
  def armors
    result = armors_KGC_EquipExtension

    # 5??????????
    extra_armor_number.times { |i|
      armor_id = extra_armor_id[i]
      result << (armor_id == nil ? nil : $data_armors[armor_id])
    }
    return result
  end
  #--------------------------------------------------------------------------
  # ? ????? (?????????)
  #     equip_type : ????
  #     item       : ?? or ?? (nil ??????)
  #     test       : ?????? (???????????????????)
  #--------------------------------------------------------------------------
  alias change_equip_KGC_EquipExtension change_equip
  def change_equip(equip_type, item, test = false)
    change_equip_KGC_EquipExtension(equip_type, item, test)

    # ????????????
    if extra_armor_number > 0
      item_id = item == nil ? 0 : item.id
      case equip_type
      when 5..armor_number  # ?????
        @extra_armor_id = [] if @extra_armor_id == nil
        @extra_armor_id[equip_type - 5] = item_id
      end
    end

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     item : ?????? or ??
  #    ??/???????????????????????
  #--------------------------------------------------------------------------
  alias discard_equip_KGC_EquipExtension discard_equip
  def discard_equip(item)
    last_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]

    discard_equip_KGC_EquipExtension(item)

    curr_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
    return unless item.is_a?(RPG::Armor)  # ?????
    return if last_armors != curr_armors  # ???????

    # ????????
    extra_armor_number.times { |i|
      if extra_armor_id[i] == item.id
        @extra_armor_id[i] = 0
        break
      end
    }

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ???
  #     class_id : ????? ID
  #--------------------------------------------------------------------------
  alias class_id_equal_KGC_EquipExtension class_id=
  def class_id=(class_id)
    class_id_equal_KGC_EquipExtension(class_id)

    return if extra_armor_number == 0  # ????????

    # ?????????????
    for i in 5..armor_number
      change_equip(i, nil) unless equippable?(equips[i])
    end
  end
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     equip_type : ????
  #     item       : ?? or ??
  #--------------------------------------------------------------------------
  def ep_condition_clear?(equip_type, item)
    return true if item == nil  # nil ?????? OK

    curr_item = equips[equip_type]
    offset = (curr_item != nil ? curr_item.ep_cost : 0)
    return false if self.ep < (item.ep_cost - offset)   # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def restore_equip
    return if @__last_equip_type == equip_type

    # ??????·????????
    last_equips = equips
    last_hp = self.hp
    last_mp = self.mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids = battle_skill_ids.clone
    end

    # ?????
    last_equips.each_index { |i| change_equip(i, nil) }

    # ???·????????
    last_equips.compact.each { |item| equip_legal_slot(item) }
    self.hp = last_hp
    self.mp = last_mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids.each_with_index { |s, i| set_battle_skill(i, s) }
    end
    @__last_equip_type = equip_type.clone
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     item : ?? or ??
  #--------------------------------------------------------------------------
  def equip_legal_slot(item)
    if item.is_a?(RPG::Weapon)
      if @weapon_id == 0
        # ?? 1
        change_equip(0, item)
      elsif two_swords_style && @armor1_id == 0
        # ?? 2 (??????)
        change_equip(1, item)
      end
    elsif item.is_a?(RPG::Armor)
      if !two_swords_style && item.kind == equip_type[0] && @armor1_id == 0
        # ????? (????????)
        change_equip(1, item)
      else
        # ??????????
        list = [-1, @armor2_id, @armor3_id, @armor4_id]
        list += extra_armor_id
        # ?????????????????
        equip_type.each_with_index { |kind, i|
          if kind == item.kind && list[i] == 0
            change_equip(i + 1, item)
            break
          end
        }
      end
    end
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Base
#==============================================================================

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     actor : ????
  #--------------------------------------------------------------------------
  def ep_color(actor)
    return knockout_color if actor.maxep > 0 && actor.ep == 0
    return normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 1 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color1
    color = KGC::EquipExtension::EP_GAUGE_START_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 2 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color2
    color = KGC::EquipExtension::EP_GAUGE_END_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ???
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep(actor, x, y, width = 120)
    draw_actor_ep_gauge(actor, x, y, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 30, WLH, Vocab::ep_a)
    self.contents.font.color = ep_color(actor)
    xr = x + width
    if width < 120
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.ep, 2)
    else
      self.contents.draw_text(xr - 90, y, 40, WLH, actor.ep, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxep, 2)
    end
    self.contents.font.color = normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ??????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep_gauge(actor, x, y, width = 120)
    gw = width * actor.ep / [actor.maxep, 1].max
    gc1 = ep_gauge_color1
    gc2 = ep_gauge_color2
    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end
  #--------------------------------------------------------------------------
  # ? ?? EP ???
  #     item    : ?? or ??
  #     rect    : ??????
  #     enabled : ????
  #--------------------------------------------------------------------------
  def draw_equipment_ep_cost(item, rect, enabled = true)
    return if item == nil
    # ?? EP 0 ????????
    return if KGC::EquipExtension::HIDE_ZERO_EP_COST && item.ep_cost == 0

    color = KGC::EquipExtension::EP_COST_COLOR
    self.contents.font.color = (color.is_a?(Integer) ?
      text_color(color) : color)
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(rect, item.ep_cost, 2)
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Equip
#==============================================================================

class Window_Equip < Window_Selectable
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @data = @actor.equips.clone
    @item_max = [@data.size, @actor.armor_number + 1].min
    create_contents

    # ???????
    self.contents.font.color = system_color
    if @actor.two_swords_style
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)
      self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
    else
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
      name = armor_slot_name(@actor.equip_type[0])
      self.contents.draw_text(4, WLH * 1, 92, WLH, name)
    end
    for i in 1...@actor.armor_number
      name = armor_slot_name(@actor.equip_type[i])
      self.contents.draw_text(4, WLH * (i + 1), 92, WLH, name)
    end

    # ??????
    rect = Rect.new(92, 0, self.width - 128, WLH)
    @item_max.times { |i|
      rect.y = WLH * i
      draw_item_name(@data[i], rect.x, rect.y)
      draw_equipment_ep_cost(@data[i], rect)
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     kind : ??
  #--------------------------------------------------------------------------
  def armor_slot_name(kind)
    case kind
    when 0..3
      return eval("Vocab.armor#{kind + 1}")
    else
      return Vocab.extra_armor(kind - 4)
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ????? 1 ????????
  #--------------------------------------------------------------------------
  def cursor_pagedown
    return if Input.repeat?(Input::R)
    super
  end
  #--------------------------------------------------------------------------
  # ? ????? 1 ???????
  #--------------------------------------------------------------------------
  def cursor_pageup
    return if Input.repeat?(Input::L)
    super
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    super
    return unless self.active

    if Input.repeat?(Input::RIGHT)
      cursor_pagedown
    elsif Input.repeat?(Input::LEFT)
      cursor_pageup
    end
  end
end

end

#=================================================#

#==============================================================================
# ¦ Window_EquipItem
#==============================================================================

class Window_EquipItem < Window_Item
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    @item_enabled = []
    super
    @data.each { |item| @item_enabled << enable?(item) }
  end
  #--------------------------------------------------------------------------
  # ? ????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def include?(item)
    return true if item == nil
    if @equip_type == 0
      return false unless item.is_a?(RPG::Weapon)
    else
      return false unless item.is_a?(RPG::Armor)
      return false unless item.kind == @equip_type - 1
    end
    return @actor.equippable?(item)
  end
  #--------------------------------------------------------------------------
  # ? ??????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def enable?(item)
    return false unless @actor.equippable?(item)                      # ????
    return false unless @actor.ep_condition_clear?(@equip_type, item)  # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     index : ????
  #--------------------------------------------------------------------------
  def draw_item(index)
    super(index)   
    rect = item_rect(index)
    item = @data[index]

    # ??????????
    cw = self.contents.text_size(sprintf(":%2d", 0)).width
    rect.width -= cw + 4
    draw_equipment_ep_cost(item, rect, enable?(item))
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #     equip_type : ????
  #--------------------------------------------------------------------------
  def simple_refresh(equip_type)
    # ???????????
    last_equip_type = @equip_type
    @equip_type = equip_type

    @data.each_with_index { |item, i|
      # ????????????????
      if enable?(item) != @item_enabled[i]
        draw_item(i)
        @item_enabled[i] = enable?(item)
      end
    }
    # ???????
    @equip_type = last_equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ Window_EquipStatus
#==============================================================================

class Window_EquipStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  alias refresh_KGC_EquipExtension refresh
  def refresh
    refresh_KGC_EquipExtension

    draw_actor_ep(@actor, 120, 0, 56) if KGC::EquipExtension::USE_EP_SYSTEM
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Status
#==============================================================================

class Window_Status < Window_Base

if KGC::EquipExtension::SHOW_STATUS_EP
  #--------------------------------------------------------------------------
  # ? ???????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  alias draw_basic_info_KGC_EquipExtension draw_basic_info
  def draw_basic_info(x, y)
    draw_basic_info_KGC_EquipExtension(x, y)

    draw_actor_ep(@actor, x + 160, y + WLH * 4)
  end
end

  #--------------------------------------------------------------------------
  # ? ??????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_equipments(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::equip)

    item_number = [@actor.equips.size, @actor.armor_number + 1].min
    item_number.times { |i|
      draw_item_name(@actor.equips[i], x + 16, y + WLH * (i + 1))
    }
  end
end

#=================================================#

#==============================================================================
# ¦ Window_ShopStatus
#==============================================================================

class Window_ShopStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ?????????????????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_parameter_change(actor, x, y)
    return if @item.is_a?(RPG::Item)
    enabled = actor.equippable?(@item)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(x, y, 200, WLH, actor.name)
    if @item.is_a?(RPG::Weapon)
      item1 = weaker_weapon(actor)
    elsif actor.two_swords_style and @item.kind == 0
      item1 = nil
    else
      index = actor.equip_type.index(@item.kind)
      item1 = (index != nil ? actor.equips[1 + index] : nil)
    end
    if enabled
      if @item.is_a?(RPG::Weapon)
        atk1 = item1 == nil ? 0 : item1.atk
        atk2 = @item == nil ? 0 : @item.atk
        change = atk2 - atk1
      else
        def1 = item1 == nil ? 0 : item1.def
        def2 = @item == nil ? 0 : @item.def
        change = def2 - def1
      end
      self.contents.draw_text(x, y, 200, WLH, sprintf("%+d", change), 2)
    end
    draw_item_name(item1, x, y + WLH, enabled)
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_Equip
#==============================================================================

class Scene_Equip < Scene_Base
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  EQUIP_TYPE_MAX = KGC::EquipExtension::EXTRA_EQUIP_KIND.size + 5
  #--------------------------------------------------------------------------
  # ? ?????????
  #     actor_index : ??????????
  #     equip_index : ????????
  #--------------------------------------------------------------------------
  alias initialize_KGC_EquipExtension initialize
  def initialize(actor_index = 0, equip_index = 0)
    initialize_KGC_EquipExtension(actor_index, equip_index)

    unit = ($imported["LargeParty"] ?
      $game_party.all_members : $game_party.members)
    actor = unit[actor_index]
    @equip_index = [@equip_index, actor.armor_number].min
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  alias create_item_windows_KGC_EquipExtension create_item_windows
  def create_item_windows
    create_item_windows_KGC_EquipExtension

    kind = equip_kind(@equip_index)
    EQUIP_TYPE_MAX.times { |i|
      @item_windows[i].visible = (kind == i)
    }
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def update_item_windows
    kind = equip_kind(@equip_window.index)
    for i in 0...EQUIP_TYPE_MAX
      @item_windows[i].visible = (kind == i)
      @item_windows[i].update
    end
    @item_window = @item_windows[kind]
    @item_window.simple_refresh(@equip_window.index)
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     index : ?????????
  #--------------------------------------------------------------------------
  def equip_kind(index)
    if index == 0
      return 0
    else
      return @actor.equip_type[index - 1] + 1
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def update_status_window
    if @equip_window.active
      @status_window.set_new_parameters(nil, nil, nil, nil)
    elsif @item_window.active
      temp_actor = Marshal.load(Marshal.dump(@actor))
      temp_actor.change_equip(@equip_window.index, @item_window.item, true)
      new_atk = temp_actor.atk
      new_def = temp_actor.def
      new_spi = temp_actor.spi
      new_agi = temp_actor.agi
      @status_window.set_new_parameters(new_atk, new_def, new_spi, new_agi)
    end
    @status_window.update
  end
end

  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  alias update_item_selection_KGC_EquipExtension update_item_selection
  def update_item_selection
    if Input.trigger?(Input::C)
      # ????????
      index = @equip_window.index
      item = @item_window.item
      unless item == nil ||
          (@actor.equippable?(item) && @actor.ep_condition_clear?(index, item))
        Sound.play_buzzer
        return
      end
    end

    update_item_selection_KGC_EquipExtension
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_File
#==============================================================================

class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  alias read_save_data_KGC_EquipExtension read_save_data
  def read_save_data(file)
    read_save_data_KGC_EquipExtension(file)

    KGC::Commands.restore_equip
    Graphics.frame_reset
  end
end
Titel: Re: Hilfe zu Skripten.
Beitrag von: Felsendrache am März 16, 2010, 15:54:51
cool vielen dank hab schon danach gesucht war wohl etwas zu blind um denn zu finden...

werde ihn gleich mal ausprobieren

Post zusammen gefügt: [time]Di 16 Mär 2010 16:20:31 GMT-1[/time]
ok, ich merke ich bin zu blöd um mit skripten um zugehen :(

Mein Englisch ist nicht das Beste und mit Skripten kenn ich mich garnicht aus.

hab ds schon durch einen Übersetzterlaufen lassen. Aber ich hab keinen blassen schimmer
was ich wo einfühgen muss. könnte mir jemand eine etwas verständlicherer Anleitung geben
oder erklären wie das klapp?

Danke schon mal

P.S. diese EP funktion brauch ich nicht ^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kvote am März 16, 2010, 16:41:53
@Cloud: Ähm danke danke....nur, nur irgendiwe lädt der Link den du gepostet hast bei mir schon 5 Minuten xD wenns nicht am Link liegt das es so lang dauert versuch ichs einfach weiter.

@Deity: Ich komm wohl erst heut abend dazu einen Screen mit der Meldung zu Posten (bin grad unterwegs und hab nur n Lappi mit) ich stell ihn dann rein

Ich danke mal für die schnellen Antworten und gebe mein bestes das jetz allein weiterzuführen xD

lg Kvote
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cloud Crescent am März 16, 2010, 16:50:48
Keine Ahnung warum aber die Site hat Probleme.

         Cloud Crescent
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kvote am März 16, 2010, 17:15:28
Einfach abwarten und Tee trinken xD

naja wenn du das Skript auch so hast wär ich dir sehr verbunden wenn du es posten könntest.


Kvote
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am März 16, 2010, 17:16:43
@Felsendrache
Ich habe mal die wichtigen Sachen übersetzt. Ich habe viele Sachen (nicht wichtige) zusammengefasst.
Mein Englisch ist nicht das beste, daher ist die Übersetzung teilweise wie der Googleübersetzer.
Das EP-Zeug habe ich abgestellt.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/   ?                Equipment Extension - KGC_EquipExtension          ? VX ?
#_/   ?                      Last Update: 2008/09/06                          ?
#_/   ?            Translated and Extended Updates by Mr. Anonymous           ?
#_/   ? KGC Site:                                                             ?
#_/   ? http://ytomy.sakura.ne.jp/                                            ?
#_/   ? Translator's Blog:                                                    ?
#_/   ? http://mraprojects.wordpress.com                                      ?
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/    Dieses Script hat zwei Funktionen (Ep-System ist deaktiviert)
#_/   Die erste Funktion erlaubt dir mehr Slots beim Ausrüsten zu machen.
#_/----------------------------------------------------------------------------
#_/                        ? Instructions For Usage ?
#_/  Um diese Funktion zu nutzen, musst du die Note-Box in der Database benutzen.
#_/   Wenn du zum Beispiel eine Hose hast und sie in den Slot Hose soll, musst du dort <equipkind Hose> bzw. den
#_/   Namen des Slots hineinschreiben.
#_/  
#_/                                ? Tags ?
#_/  <equipkind EquipType>
#_/   EquipType = Ersetze dies durch den Namen der Klasse(Slot). Siehe EXTRA_EQUIP_KIND
#_/
#_/                           ? Script Commands ?
#_/  Diese Kommandos müssen bei einem Event als CallScript aufgerufen werden.
#_/
#_/  * set_actor_equip_type(ActorID, [EquipType])
#_/     Erlaubt dir manuell einem Charakter (Actor) Ausrüstungsslots zuzuweisen.
#_/
#_/      Ex. set_actor_equip_type(2, [0, 2, 3, 3, 3])
#_/      Wenn "nil"(ohne "") , wird EQUIP_TYPE (siehe oben) benutzt.
#_/
#_/  * change_actor_equipment(ActorID, equipslot_index, ItemID)
#_/     Erlaubt dir die Ausrüstung von einem spezifischen Charakter (Actor) zu ändern.
#_/      equipslot_index findet die Slot-Nummer, aners als bei
#_/      EQUIP_TYPE. Setze ItemID auf 0 um das Item wegzunehmen.
#_/                   Standart:
#_/      0=Weapon 1=Shield 2=Headgear 3=Armor 4=Accessory 5=Legs 6=Arms
#_/
#_/                         zum Beispiel:
#_/                  change_actor_equipment(1, 3, 15)
#_/ Würde Ralph's(Actor01 in the database) Waffe zu Chainmail(beim Standart) ändern
#_/                                            
#_/    
#_/============================================================================
#_/ Installation: This script must be inserted below KCG_ExtendedEquipScene
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#=============================================================================#
#                           ? Customization ?                                 #
#=============================================================================#

module KGC
  module EquipExtension
  #           ? Extended Equipment Classification Names ?
  #  You may designate the names of additional equipment slots here.
  #   Immer wenn du einen neuen Slot machst, bekommt er eine Nummer.
  #   Die ersten vier Typen (Shield, Helmet, Armor, and Accessory) haben die
  #   Nummern 1, 2, 3, 4, . Danach wird durchnummeriert.
  #   Bei diesem Standart sind "Legs" und "Arms"  4 und 5.
  #   So  fügst du Slots hinzu:.
  #  Beispiel: EXTRA_EQUIP_KIND = ["Legs", "Arms", "Skill Book"] (also hier unten, nächste Zeile)
  EXTRA_EQUIP_KIND = ["Legs", "Arms"]

  #                     ? Equipment Placement ?
  #  Dies erlaubt dir die Slots im Menü zu ordnen.
  #                  ** Equipment Classification Summary **
  # 0.Shield  1.Headgear  2.Armor  3.Accessory  4. "Legs"  5."Arms"
  #  So ist die Standartbelegung: Wir haben zwei Zubehör Slots statt einem.
  #   Um einen Slot im Menü hinzuzufügen schreibe seine Nummer hier unten dorthin wo er sein soll
  EQUIP_TYPE = [0, 1, 2, 5, 4, 3, 3]

  #                       ? EP (Equip Point) System ?
  #  Ich habe alle EP-Sachen (hoffentlich) abgestellt
  USE_EP_SYSTEM = false
  # VOCAB_EP appears once a character gains EP from battle. (Not Tested)
  VOCAB_EP   = "EP"
  # VOCAB_EP_A appears above the EP gauge.
  VOCAB_EP_A = "EP"
  # This toggle allows you to display the EP gauge in the actor status window.
  SHOW_STATUS_EP = false

  #                          ? Default EP Cost ?
  #  Allows you to change the default amount an item costs to equip in EP.
  #   (When not otherwise specified.)
  DEFAULT_EP_COST   = 1
  #  This toggle allows you to hide the EP cost of an item if its cost is 0.
  #   true = hide
  #   false = show
  HIDE_ZERO_EP_COST = true

  #                        ? EP Values & Level Gain ?
  #  Maximum EP that can be spent equipping items.
  EP_MAX = 20
  # Characters begin with this amount of EP.
  EP_MIN = 5
  # ? EP Level Gain
  #  This is the formula for the amount of EP gained upon leveling up.
  #  The result of this formula is automatically converted to an integer.
  EP_CALC_EXP = "level * 0.3 + 4"
  # ? Individual Actor EP Level Gain
  PERSONAL_EP_CALC_EXP = [] # <- Do not alter or remove!
  #  Below here, you may specify formulas for individual actors that dictates
  #   the amount of EP they recieve upon leveling up. Like EP_CALC_EXP, the
  #   result is converted to an integer.
  #  Format: PERSONAL_EP_CALC_EXP[ActorID] = "Formula"
  #  The format is just like EP_CALC_EXP, except each actor is defined after
  #   PERSONAL_EP_CALC_EXP in brackets [].
  #  Any actor not specified uses the EP_CALC_EXP formula.
  #  Example:
  # PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
  #                 ? Insert Personal EP Calculations Below Here ?
  PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
  
  
  
  #                 ? Insert Personal EP Calculations Above Here ?
  
  #                        ? EP Gauge Colorization ?
  #  Allows you to change the color of the EP gauges.
  #  The color can also be determined by a red, green, and blue values.
  #  Example: GAUGE_NORMAL_START_COLOR = Color.new(255, 0, 0)  <- This is red.
  #   This method of color assignment is much like Tint Screen event command.
  #
  #  This affects the color of number that represents EP cost.
  EP_COST_COLOR        = 23
  #  This is the fill color for the early phase of the guage.
  EP_GAUGE_START_COLOR = 28
  #  This is the fill color for the late phase of the guage. (When full)
  EP_GAUGE_END_COLOR   = 29
  end
end

#=============================================================================#
#                          ? End Customization ?                              #
#=============================================================================#
#Ab hier nicht rumpfuschen, es sei den du verstehst etwas davon #
#=================================================#
#                    IMPORT                       #
#=================================================#

$imported = {} if $imported == nil
$imported["EquipExtension"] = true

#=================================================#

module KGC::EquipExtension
  # Unless the EP system is used...
  unless USE_EP_SYSTEM
    SHOW_STATUS_EP = false
    HIDE_ZERO_EP_COST = true
  end

#==============================================================================
# ? KGC::EquipExtension::Regexp
#==============================================================================
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#                          Note Field Tag Strings                             #
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
#  Whatever word(s) are after the separator ( | ) in the following lines are
#   what are used to determine what is searched for in the "Note" section of
#   an item or armor.

  #  Regular expressions defined
  module Regexp
    # Base Item Module
    module BaseItem
      #  EP Tag String
      EP_COST = /<EP\s*(\d+)>/i
      #  Item Type Tag String
      # Special note: I cannot get this tag to work right. If anyone knows how
      # this works or if it's bugged, please let me know.
      EQUIP_TYPE = /<(?:EQUIP_TYPE|equiptype)\s*(\d+(?:\s*,\s*\d+)*)>/
    end

    #  Base Armor Module
    module Armor
      #  Armor Type Tag String
      EQUIP_KIND = /<(?:EQUIP_KIND|equipkind)\s*(.+)>/i
    end
    
  end
end

#=================================================#

#==============================================================================
# ? KGC::Commands
#==============================================================================

module KGC
module Commands
  module_function
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def restore_equip
    (1...$data_actors.size).each { |i|
      actor = $game_actors[i]
      actor.restore_equip
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     actor_id   : ???? ID
  #     equip_type : ?????
  #--------------------------------------------------------------------------
  def set_actor_equip_type(actor_id, equip_type = nil)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.equip_type = equip_type
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #     actor_id   : ???? ID
  #     index      : ???? (0~)
  #     item_id    : ?? or ?? ID (0 ???)
  #--------------------------------------------------------------------------
  def change_actor_equipment(actor_id, index, item_id)
    actor = $game_actors[actor_id]
    return if actor == nil
    actor.change_equip_by_id(index, item_id)
  end
end
end

class Game_Interpreter
  include KGC::Commands
end

#=================================================#

#==============================================================================
# ¦ Vocab
#==============================================================================

module Vocab
  # EP
  def self.ep
    return KGC::EquipExtension::VOCAB_EP
  end

  # EP (?)
  def self.ep_a
    return KGC::EquipExtension::VOCAB_EP_A
  end

  # ?????
  def self.extra_armor(index)
    return KGC::EquipExtension::EXTRA_EQUIP_KIND[index]
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::BaseItem
#==============================================================================

class RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    @__ep_cost = KGC::EquipExtension::DEFAULT_EP_COST
    @__equip_type = []

    self.note.split(/[\r\n]+/).each { |line|
      case line
      when KGC::EquipExtension::Regexp::BaseItem::EP_COST
        # ?? EP
        @__ep_cost = $1.to_i
      when KGC::EquipExtension::Regexp::BaseItem::EQUIP_TYPE
        # ?????
        @__equip_type = []
        $1.scan(/\d+/) { |num|
          @__equip_type << num.to_i
        }
      end
    }

    # EP ???????????? EP = 0
    @__ep_cost = 0 unless KGC::EquipExtension::USE_EP_SYSTEM
  end
  #--------------------------------------------------------------------------
  # ? ?? EP
  #--------------------------------------------------------------------------
  def ep_cost
    create_equip_extension_cache if @__ep_cost == nil
    return @__ep_cost
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def equip_type
    create_equip_extension_cache if @__equip_type == nil
    return @__equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ RPG::Armor
#==============================================================================

class RPG::Armor < RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def create_equip_extension_cache
    super
    @__kind = -1

    self.note.split(/[\r\n]+/).each { |line|
      if line =~ KGC::EquipExtension::Regexp::Armor::EQUIP_KIND
        # ????
        e_index = KGC::EquipExtension::EXTRA_EQUIP_KIND.index($1)
        next if e_index == nil
        @__kind = e_index + 4
      end
    }
  end

unless $@
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  alias kind_KGC_EquipExtension kind
  def kind
    create_equip_extension_cache if @__kind == nil
    return (@__kind == -1 ? kind_KGC_EquipExtension : @__kind)
  end
end

end

#=================================================#

#==============================================================================
# ¦ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  attr_writer   :equip_type               # ?????
  #--------------------------------------------------------------------------
  # ? ??????
  #     actor_id : ???? ID
  #--------------------------------------------------------------------------
  alias setup_KGC_EquipExtension setup
  def setup(actor_id)
    actor = $data_actors[actor_id]
    @extra_armor_id = []

    setup_KGC_EquipExtension(actor_id)

    restore_equip
  end
  #--------------------------------------------------------------------------
  # ? MaxEP ??
  #--------------------------------------------------------------------------
  def maxep
    calc_exp = KGC::EquipExtension::PERSONAL_EP_CALC_EXP[self.id]
    if calc_exp == nil
      calc_exp = KGC::EquipExtension::EP_CALC_EXP
    end
    n = Integer(eval(calc_exp))
    return [[n, ep_limit].min, KGC::EquipExtension::EP_MIN].max
  end
  #--------------------------------------------------------------------------
  # ? EP ??
  #--------------------------------------------------------------------------
  def ep
    n = 0
    equips.compact.each { |item| n += item.ep_cost }
    return [maxep - n, 0].max
  end
  #--------------------------------------------------------------------------
  # ? EP ????
  #--------------------------------------------------------------------------
  def ep_limit
    return KGC::EquipExtension::EP_MAX
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def equip_type
    if @equip_type.is_a?(Array)
      return @equip_type
    else
      return KGC::EquipExtension::EQUIP_TYPE
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def armor_number
    return equip_type.size
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def extra_armor_number
    return [armor_number - 4, 0].max
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ??????
  #--------------------------------------------------------------------------
  def extra_armor_id
    @extra_armor_id = [] if @extra_armor_id == nil
    return @extra_armor_id
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  alias armors_KGC_EquipExtension armors
  def armors
    result = armors_KGC_EquipExtension

    # 5??????????
    extra_armor_number.times { |i|
      armor_id = extra_armor_id[i]
      result << (armor_id == nil ? nil : $data_armors[armor_id])
    }
    return result
  end
  #--------------------------------------------------------------------------
  # ? ????? (?????????)
  #     equip_type : ????
  #     item       : ?? or ?? (nil ??????)
  #     test       : ?????? (???????????????????)
  #--------------------------------------------------------------------------
  alias change_equip_KGC_EquipExtension change_equip
  def change_equip(equip_type, item, test = false)
    change_equip_KGC_EquipExtension(equip_type, item, test)

    # ????????????
    if extra_armor_number > 0
      item_id = item == nil ? 0 : item.id
      case equip_type
      when 5..armor_number  # ?????
        @extra_armor_id = [] if @extra_armor_id == nil
        @extra_armor_id[equip_type - 5] = item_id
      end
    end

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     item : ?????? or ??
  #    ??/???????????????????????
  #--------------------------------------------------------------------------
  alias discard_equip_KGC_EquipExtension discard_equip
  def discard_equip(item)
    last_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]

    discard_equip_KGC_EquipExtension(item)

    curr_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
    return unless item.is_a?(RPG::Armor)  # ?????
    return if last_armors != curr_armors  # ???????

    # ????????
    extra_armor_number.times { |i|
      if extra_armor_id[i] == item.id
        @extra_armor_id[i] = 0
        break
      end
    }

    restore_battle_skill if $imported["SkillCPSystem"]
    restore_passive_rev  if $imported["PassiveSkill"]
  end
  #--------------------------------------------------------------------------
  # ? ?? ID ???
  #     class_id : ????? ID
  #--------------------------------------------------------------------------
  alias class_id_equal_KGC_EquipExtension class_id=
  def class_id=(class_id)
    class_id_equal_KGC_EquipExtension(class_id)

    return if extra_armor_number == 0  # ????????

    # ?????????????
    for i in 5..armor_number
      change_equip(i, nil) unless equippable?(equips[i])
    end
  end
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     equip_type : ????
  #     item       : ?? or ??
  #--------------------------------------------------------------------------
  def ep_condition_clear?(equip_type, item)
    return true if item == nil  # nil ?????? OK

    curr_item = equips[equip_type]
    offset = (curr_item != nil ? curr_item.ep_cost : 0)
    return false if self.ep < (item.ep_cost - offset)   # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def restore_equip
    return if @__last_equip_type == equip_type

    # ??????·????????
    last_equips = equips
    last_hp = self.hp
    last_mp = self.mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids = battle_skill_ids.clone
    end

    # ?????
    last_equips.each_index { |i| change_equip(i, nil) }

    # ???·????????
    last_equips.compact.each { |item| equip_legal_slot(item) }
    self.hp = last_hp
    self.mp = last_mp
    if $imported["SkillCPSystem"]
      last_battle_skill_ids.each_with_index { |s, i| set_battle_skill(i, s) }
    end
    @__last_equip_type = equip_type.clone
    Graphics.frame_reset
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #     item : ?? or ??
  #--------------------------------------------------------------------------
  def equip_legal_slot(item)
    if item.is_a?(RPG::Weapon)
      if @weapon_id == 0
        # ?? 1
        change_equip(0, item)
      elsif two_swords_style && @armor1_id == 0
        # ?? 2 (??????)
        change_equip(1, item)
      end
    elsif item.is_a?(RPG::Armor)
      if !two_swords_style && item.kind == equip_type[0] && @armor1_id == 0
        # ????? (????????)
        change_equip(1, item)
      else
        # ??????????
        list = [-1, @armor2_id, @armor3_id, @armor4_id]
        list += extra_armor_id
        # ?????????????????
        equip_type.each_with_index { |kind, i|
          if kind == item.kind && list[i] == 0
            change_equip(i + 1, item)
            break
          end
        }
      end
    end
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Base
#==============================================================================

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? EP ???????
  #     actor : ????
  #--------------------------------------------------------------------------
  def ep_color(actor)
    return knockout_color if actor.maxep > 0 && actor.ep == 0
    return normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 1 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color1
    color = KGC::EquipExtension::EP_GAUGE_START_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ????? 2 ???
  #--------------------------------------------------------------------------
  def ep_gauge_color2
    color = KGC::EquipExtension::EP_GAUGE_END_COLOR
    return (color.is_a?(Integer) ? text_color(color) : color)
  end
  #--------------------------------------------------------------------------
  # ? EP ???
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep(actor, x, y, width = 120)
    draw_actor_ep_gauge(actor, x, y, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 30, WLH, Vocab::ep_a)
    self.contents.font.color = ep_color(actor)
    xr = x + width
    if width < 120
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.ep, 2)
    else
      self.contents.draw_text(xr - 90, y, 40, WLH, actor.ep, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
      self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxep, 2)
    end
    self.contents.font.color = normal_color
  end
  #--------------------------------------------------------------------------
  # ? EP ??????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_ep_gauge(actor, x, y, width = 120)
    gw = width * actor.ep / [actor.maxep, 1].max
    gc1 = ep_gauge_color1
    gc2 = ep_gauge_color2
    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end
  #--------------------------------------------------------------------------
  # ? ?? EP ???
  #     item    : ?? or ??
  #     rect    : ??????
  #     enabled : ????
  #--------------------------------------------------------------------------
  def draw_equipment_ep_cost(item, rect, enabled = true)
    return if item == nil
    # ?? EP 0 ????????
    return if KGC::EquipExtension::HIDE_ZERO_EP_COST && item.ep_cost == 0

    color = KGC::EquipExtension::EP_COST_COLOR
    self.contents.font.color = (color.is_a?(Integer) ?
      text_color(color) : color)
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(rect, item.ep_cost, 2)
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Equip
#==============================================================================

class Window_Equip < Window_Selectable
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @data = @actor.equips.clone
    @item_max = [@data.size, @actor.armor_number + 1].min
    create_contents

    # ???????
    self.contents.font.color = system_color
    if @actor.two_swords_style
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)
      self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
    else
      self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
      name = armor_slot_name(@actor.equip_type[0])
      self.contents.draw_text(4, WLH * 1, 92, WLH, name)
    end
    for i in 1...@actor.armor_number
      name = armor_slot_name(@actor.equip_type[i])
      self.contents.draw_text(4, WLH * (i + 1), 92, WLH, name)
    end

    # ??????
    rect = Rect.new(92, 0, self.width - 128, WLH)
    @item_max.times { |i|
      rect.y = WLH * i
      draw_item_name(@data[i], rect.x, rect.y)
      draw_equipment_ep_cost(@data[i], rect)
    }
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     kind : ??
  #--------------------------------------------------------------------------
  def armor_slot_name(kind)
    case kind
    when 0..3
      return eval("Vocab.armor#{kind + 1}")
    else
      return Vocab.extra_armor(kind - 4)
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ????? 1 ????????
  #--------------------------------------------------------------------------
  def cursor_pagedown
    return if Input.repeat?(Input::R)
    super
  end
  #--------------------------------------------------------------------------
  # ? ????? 1 ???????
  #--------------------------------------------------------------------------
  def cursor_pageup
    return if Input.repeat?(Input::L)
    super
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    super
    return unless self.active

    if Input.repeat?(Input::RIGHT)
      cursor_pagedown
    elsif Input.repeat?(Input::LEFT)
      cursor_pageup
    end
  end
end

end

#=================================================#

#==============================================================================
# ¦ Window_EquipItem
#==============================================================================

class Window_EquipItem < Window_Item
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh
    @item_enabled = []
    super
    @data.each { |item| @item_enabled << enable?(item) }
  end
  #--------------------------------------------------------------------------
  # ? ????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def include?(item)
    return true if item == nil
    if @equip_type == 0
      return false unless item.is_a?(RPG::Weapon)
    else
      return false unless item.is_a?(RPG::Armor)
      return false unless item.kind == @equip_type - 1
    end
    return @actor.equippable?(item)
  end
  #--------------------------------------------------------------------------
  # ? ??????????????????
  #     item : ????
  #--------------------------------------------------------------------------
  def enable?(item)
    return false unless @actor.equippable?(item)                      # ????
    return false unless @actor.ep_condition_clear?(@equip_type, item)  # EP ??

    return true
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     index : ????
  #--------------------------------------------------------------------------
  def draw_item(index)
    super(index)    
    rect = item_rect(index)
    item = @data[index]

    # ??????????
    cw = self.contents.text_size(sprintf(":%2d", 0)).width
    rect.width -= cw + 4
    draw_equipment_ep_cost(item, rect, enable?(item))
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #     equip_type : ????
  #--------------------------------------------------------------------------
  def simple_refresh(equip_type)
    # ???????????
    last_equip_type = @equip_type
    @equip_type = equip_type

    @data.each_with_index { |item, i|
      # ????????????????
      if enable?(item) != @item_enabled[i]
        draw_item(i)
        @item_enabled[i] = enable?(item)
      end
    }
    # ???????
    @equip_type = last_equip_type
  end
end

#=================================================#

#==============================================================================
# ¦ Window_EquipStatus
#==============================================================================

class Window_EquipStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  alias refresh_KGC_EquipExtension refresh
  def refresh
    refresh_KGC_EquipExtension

    draw_actor_ep(@actor, 120, 0, 56) if KGC::EquipExtension::USE_EP_SYSTEM
  end
end

#=================================================#

#==============================================================================
# ¦ Window_Status
#==============================================================================

class Window_Status < Window_Base

if KGC::EquipExtension::SHOW_STATUS_EP
  #--------------------------------------------------------------------------
  # ? ???????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  alias draw_basic_info_KGC_EquipExtension draw_basic_info
  def draw_basic_info(x, y)
    draw_basic_info_KGC_EquipExtension(x, y)

    draw_actor_ep(@actor, x + 160, y + WLH * 4)
  end
end

  #--------------------------------------------------------------------------
  # ? ??????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_equipments(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::equip)

    item_number = [@actor.equips.size, @actor.armor_number + 1].min
    item_number.times { |i|
      draw_item_name(@actor.equips[i], x + 16, y + WLH * (i + 1))
    }
  end
end

#=================================================#

#==============================================================================
# ¦ Window_ShopStatus
#==============================================================================

class Window_ShopStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? ?????????????????
  #     actor : ????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_parameter_change(actor, x, y)
    return if @item.is_a?(RPG::Item)
    enabled = actor.equippable?(@item)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    self.contents.draw_text(x, y, 200, WLH, actor.name)
    if @item.is_a?(RPG::Weapon)
      item1 = weaker_weapon(actor)
    elsif actor.two_swords_style and @item.kind == 0
      item1 = nil
    else
      index = actor.equip_type.index(@item.kind)
      item1 = (index != nil ? actor.equips[1 + index] : nil)
    end
    if enabled
      if @item.is_a?(RPG::Weapon)
        atk1 = item1 == nil ? 0 : item1.atk
        atk2 = @item == nil ? 0 : @item.atk
        change = atk2 - atk1
      else
        def1 = item1 == nil ? 0 : item1.def
        def2 = @item == nil ? 0 : @item.def
        change = def2 - def1
      end
      self.contents.draw_text(x, y, 200, WLH, sprintf("%+d", change), 2)
    end
    draw_item_name(item1, x, y + WLH, enabled)
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_Equip
#==============================================================================

class Scene_Equip < Scene_Base
  #--------------------------------------------------------------------------
  # ? ??
  #--------------------------------------------------------------------------
  EQUIP_TYPE_MAX = KGC::EquipExtension::EXTRA_EQUIP_KIND.size + 5
  #--------------------------------------------------------------------------
  # ? ?????????
  #     actor_index : ??????????
  #     equip_index : ????????
  #--------------------------------------------------------------------------
  alias initialize_KGC_EquipExtension initialize
  def initialize(actor_index = 0, equip_index = 0)
    initialize_KGC_EquipExtension(actor_index, equip_index)

    unit = ($imported["LargeParty"] ?
      $game_party.all_members : $game_party.members)
    actor = unit[actor_index]
    @equip_index = [@equip_index, actor.armor_number].min
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  alias create_item_windows_KGC_EquipExtension create_item_windows
  def create_item_windows
    create_item_windows_KGC_EquipExtension

    kind = equip_kind(@equip_index)
    EQUIP_TYPE_MAX.times { |i|
      @item_windows[i].visible = (kind == i)
    }
  end
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def update_item_windows
    kind = equip_kind(@equip_window.index)
    for i in 0...EQUIP_TYPE_MAX
      @item_windows[i].visible = (kind == i)
      @item_windows[i].update
    end
    @item_window = @item_windows[kind]
    @item_window.simple_refresh(@equip_window.index)
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #     index : ?????????
  #--------------------------------------------------------------------------
  def equip_kind(index)
    if index == 0
      return 0
    else
      return @actor.equip_type[index - 1] + 1
    end
  end

unless $imported["ExtendedEquipScene"]
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def update_status_window
    if @equip_window.active
      @status_window.set_new_parameters(nil, nil, nil, nil)
    elsif @item_window.active
      temp_actor = Marshal.load(Marshal.dump(@actor))
      temp_actor.change_equip(@equip_window.index, @item_window.item, true)
      new_atk = temp_actor.atk
      new_def = temp_actor.def
      new_spi = temp_actor.spi
      new_agi = temp_actor.agi
      @status_window.set_new_parameters(new_atk, new_def, new_spi, new_agi)
    end
    @status_window.update
  end
end

  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  alias update_item_selection_KGC_EquipExtension update_item_selection
  def update_item_selection
    if Input.trigger?(Input::C)
      # ????????
      index = @equip_window.index
      item = @item_window.item
      unless item == nil ||
          (@actor.equippable?(item) && @actor.ep_condition_clear?(index, item))
        Sound.play_buzzer
        return
      end
    end

    update_item_selection_KGC_EquipExtension
  end
end

#=================================================#

#==============================================================================
# ¦ Scene_File
#==============================================================================

class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  alias read_save_data_KGC_EquipExtension read_save_data
  def read_save_data(file)
    read_save_data_KGC_EquipExtension(file)

    KGC::Commands.restore_equip
    Graphics.frame_reset
  end
end
Hoffe es ist alles richtig übersetzt.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cloud Crescent am März 16, 2010, 17:26:39
Würde ich machen wenn ich es besitzen würde, sorry.
Suche gerade im Internet nach einer anderen Site wo es das Script gibt.

Edit:

habe eins gefunden hoffe du meinst das Script:
===============================================================
# ?         Actor Profile Information - CC_ExtendedActorInfo            ? VX ?
# ?                     Version 1.0.0 by Claimh                              ?
# ?                   Translation by Mr. Anonymous                           ?
#------------------------------------------------------------------------------
#  This script adds a character profile screen for extended actor information.
#   This screen is called from the status screen by pressing the "C" button
#   (by default). This information displayed on this screen is customized in
#   this script itself below (in the Customization block).
#==============================================================================
module Chara_Review
#==============================================================================#
#                             ? Customization ?                                #
#==============================================================================#
  # If you have more than 8 actors in your game, you may add additional lines
  #  to each of these fields.
#----------------------------------------------------------------------------
#   Call Screen Input Key
#----------------------------------------------------------------------------
  # This allows you to change the button/key pressed to call the extended
  #  actor information screen from the status screen. (Default: C)
  CHENGE_KEY = Input::C
  #--------------------------------------------------------------------------
  # ? Customize Age
  #--------------------------------------------------------------------------
  CHARA_AGE = {
   # Age is the first field to the right of the profile image.
   # ActorID => "Age"
     1 => "17",
     2 => "18",
     3 => "15",
     4 => "16",
     5 => "16"
  }
  #--------------------------------------------------------------------------
  # ? Customize Actor's Origin
  #--------------------------------------------------------------------------
  CHARA_FROM = {
   # "From" or Origin is the second field to the right of the profile image.
   # ActorID => "Place"
     1 => "Al'thon",
     2 => "Embrasia",
     3 => "Arbolia",
     4 => "Kitra",
     5 => "Lago"
  }
  #--------------------------------------------------------------------------
  # ? Customize Height
  #--------------------------------------------------------------------------
  CHARA_H = {
   # Height is the third field to the right of the profile image.
   # ActorID => "Height"
     1 => "5 Feet 6 Inches",
     2 => "6 Feet 4 Inches",
     3 => "6 Feet 1 Inch",
     4 => "5 Feet 5 Inches",
     5 => "5 Feet 8 Inches"
  }
  #--------------------------------------------------------------------------
  # ? Customize Weight
  #--------------------------------------------------------------------------
  CHARA_W = {
   # Weight is the fourth field to the right of the profile image.
   # ActorID => "Weight"
     1 => "87 Pounds",
     2 => "125 Pounds",
     3 => "150 Pounds",
     4 => "96 Pounds",
     5 => "100 pounds"
  }
  #--------------------------------------------------------------------------
  # ? Customize Profile Information
  #--------------------------------------------------------------------------
  CHARA_INFO = {
    # Profile Information is displayed beneath the actor's graphic file.
    # ActorID => "Information Text"
    1 => "Elbinez is a caring young woman who control the powers of Water. She
    lives in a small fishing village along with her friend and The Elder after
    the death of her Parents when she was Six years old.",
    2 => "Berethir is a solum Daemon living along in a deserted church. His
    early life was filed with turmiol after the murder of all his family by
    an unown entity. Berethir controls the power of Fire.",
    3 => "Tobryn is a creative and talented musican who controls the power of
    Forest. He lives a lonely live, choosing to wander the forests and distance
    himself from his royal roots. He is amoung one of the only Centaurs living
    in Corazor.",
    4 => "Silwest is a wild and adventurous Harpy settling in the snowy mountains
    of Kitra along with Grouchuck, a petit Sky Drake. Silwest controls the
    powers of wind and had tremendous magikal abilities.",
    5 => "Rufus is a young and inexperienced warrior living with his friend
    Elbinez in Al'thon. Rufus dosent have control over any element but is
    capable of using healing charms and Enhancement charms."
  }
  #--------------------------------------------------------------------------
  # ? Customize Face/Profile Image
  #--------------------------------------------------------------------------
  # Image Type Toggle
  #  This toggle allows to use either the default Face graphic that is set up
  #   in the Actor tab in the database, or a custom image of your choosing.
  #  true = Custom images are used.
  #  false = The actor's face graphic is used.
  BSTUP = false
  # Custom Profile Graphics ("Graphics/Face" directory)(If BSTUP = true)
  BSTUP_FILE = {
    # ActorID => "Profile Image" (Without image format extension)
    #  You may also add more images for actors after the fourth line, if needed.
    1 => "actor1",
    2 => "actor1",
    3 => "actor1",
    4 => "actor1"
  }

#----------------------------------------------------------------------------
#   END Customization
#----------------------------------------------------------------------------
end

#==============================================================================
# ? Window_Charactor
#------------------------------------------------------------------------------
# ? Define Window
#==============================================================================
class Window_Charactor < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize Profile Window
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 544, 416)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(actor)
  end
  #--------------------------------------------------------------------------
  # ? Determine BSTUP Type
  #--------------------------------------------------------------------------
  def refresh(actor)
    self.contents.clear
    return if actor.nil?
    if Chara_Review::BSTUP
      refresh_bstup(actor)  # If BSTUP = true
    else
      refresh_face(actor)   # If BSTUP = false
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (BSTUP)
  #--------------------------------------------------------------------------
  def refresh_bstup(actor)
    draw_face_picture(Chara_Review::BSTUP_FILE[actor.id], 0, 0)
    self.contents.font.color = system_color
    self.contents.draw_text(280, 30, 80, WLH, "Name:")
    self.contents.draw_text(280, 60, 80, WLH, "Age:")
    self.contents.draw_text(280, 90, 80, WLH, "From:")
    self.contents.draw_text(280, 120, 80, WLH, "Height:")
    self.contents.draw_text(280, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 380,  30)
    self.contents.draw_text(380, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(380, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(380, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(380, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 300, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (FACE)
  #--------------------------------------------------------------------------
  def refresh_face(actor)
    draw_actor_face(actor, 8, 32)
    self.contents.font.color = system_color
    self.contents.draw_text(200, 30, 80, WLH, "Name:")
    self.contents.draw_text(200, 60, 80, WLH, "Age:")
    self.contents.draw_text(200, 90, 80, WLH, "From:")
    self.contents.draw_text(200, 120, 80, WLH, "Height:")
    self.contents.draw_text(200, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 300,  30)
    self.contents.draw_text(300, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(300, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(300, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(300, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 200, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
end

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? Draw Entered Text
  #--------------------------------------------------------------------------
  def draw_enter_text(x, y, width, height, text)
    info_box = text.split(/\n/)
    for i in 0...info_box.size
      self.contents.draw_text( x, y+i*WLH, width, WLH, info_box)
      break if (y+i*WLH) > (self.height-WLH)
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Face Graphic(Graphics/Face)
  #--------------------------------------------------------------------------
  def draw_face_picture(file_name, x, y)
    bitmap = Cache.face(file_name)
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x, y, bitmap, src_rect)
  end
end


#==============================================================================
# ? Scene_Charactor
#------------------------------------------------------------------------------
# ? Define Methods
#==============================================================================
class Scene_Charactor < Scene_Base
  #--------------------------------------------------------------------------
  # ? Initialize Actor
  #     actor_index : Actor ID
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0)
    @actor_index = actor_index
  end
  #--------------------------------------------------------------------------
  # ? Create Menu Background
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    @actor = $game_party.members[@actor_index]
    @status_window = Window_Charactor.new(@actor)
  end
  #--------------------------------------------------------------------------
  # ? Dispose Status Window
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? Return Scene
  #--------------------------------------------------------------------------
  def return_scene
    $scene = Scene_Status.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Next Actor
  #--------------------------------------------------------------------------
  def next_actor
    @actor_index += 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Previous Actor
  #--------------------------------------------------------------------------
  def prev_actor
    @actor_index += $game_party.members.size - 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Actor Profile Screne Inputs
  #--------------------------------------------------------------------------
  def update
    update_menu_background
    @status_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    end
    super
  end
end


#==============================================================================
# ? Scene_Status
#==============================================================================
class Scene_Status
  #--------------------------------------------------------------------------
  # ? Update Actor
  #--------------------------------------------------------------------------
  alias update_chara update
  def update
    if Input.trigger?(Chara_Review::CHENGE_KEY)
      Sound.play_decision
      $scene = Scene_Charactor.new(@actor_index)
    end
    update_chara
  end
end

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/  The original untranslated version of this script can be found here:
#http://www4.plala.or.jp/findias/codecrush/material/rgss2/menu/1-menu_chara/menu_char_top.htmll
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_

Da wo ein Smiley ist (Zeile 267) gehört ein B und ) hin aber das forum ändert es zu einem Smiley. B)


           Cloud crescent
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kvote am März 16, 2010, 17:44:55
Alles klar, trotzdem danke Cloud. Ich poste die Fehlermeldung heut abend mal damit Deity weis welchen Fehler ich mit dem anderen Skript hab das es hier gibt xD

Kvote
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cloud Crescent am März 16, 2010, 17:51:10
Das verstehe ich jetzt nicht, habe doch oben ein Script gepostet, dass ich gefunden habe?

Hier noch einmal:
#===============================================================
# ?         Actor Profile Information - CC_ExtendedActorInfo            ? VX ?
# ?                     Version 1.0.0 by Claimh                              ?
# ?                   Translation by Mr. Anonymous                           ?
#------------------------------------------------------------------------------
#  This script adds a character profile screen for extended actor information.
#   This screen is called from the status screen by pressing the "C" button
#   (by default). This information displayed on this screen is customized in
#   this script itself below (in the Customization block).
#==============================================================================
module Chara_Review
#==============================================================================#
#                             ? Customization ?                                #
#==============================================================================#
  # If you have more than 8 actors in your game, you may add additional lines
  #  to each of these fields.
#----------------------------------------------------------------------------
#   Call Screen Input Key
#----------------------------------------------------------------------------
  # This allows you to change the button/key pressed to call the extended
  #  actor information screen from the status screen. (Default: C)
  CHENGE_KEY = Input::C
  #--------------------------------------------------------------------------
  # ? Customize Age
  #--------------------------------------------------------------------------
  CHARA_AGE = {
   # Age is the first field to the right of the profile image.
   # ActorID => "Age"
     1 => "17",
     2 => "18",
     3 => "15",
     4 => "16",
     5 => "16"
  }
  #--------------------------------------------------------------------------
  # ? Customize Actor's Origin
  #--------------------------------------------------------------------------
  CHARA_FROM = {
   # "From" or Origin is the second field to the right of the profile image.
   # ActorID => "Place"
     1 => "Al'thon",
     2 => "Embrasia",
     3 => "Arbolia",
     4 => "Kitra",
     5 => "Lago"
  }
  #--------------------------------------------------------------------------
  # ? Customize Height
  #--------------------------------------------------------------------------
  CHARA_H = {
   # Height is the third field to the right of the profile image.
   # ActorID => "Height"
     1 => "5 Feet 6 Inches",
     2 => "6 Feet 4 Inches",
     3 => "6 Feet 1 Inch",
     4 => "5 Feet 5 Inches",
     5 => "5 Feet 8 Inches"
  }
  #--------------------------------------------------------------------------
  # ? Customize Weight
  #--------------------------------------------------------------------------
  CHARA_W = {
   # Weight is the fourth field to the right of the profile image.
   # ActorID => "Weight"
     1 => "87 Pounds",
     2 => "125 Pounds",
     3 => "150 Pounds",
     4 => "96 Pounds",
     5 => "100 pounds"
  }
  #--------------------------------------------------------------------------
  # ? Customize Profile Information
  #--------------------------------------------------------------------------
  CHARA_INFO = {
    # Profile Information is displayed beneath the actor's graphic file.
    # ActorID => "Information Text"
    1 => "Elbinez is a caring young woman who control the powers of Water. She
    lives in a small fishing village along with her friend and The Elder after
    the death of her Parents when she was Six years old.",
    2 => "Berethir is a solum Daemon living along in a deserted church. His
    early life was filed with turmiol after the murder of all his family by
    an unown entity. Berethir controls the power of Fire.",
    3 => "Tobryn is a creative and talented musican who controls the power of
    Forest. He lives a lonely live, choosing to wander the forests and distance
    himself from his royal roots. He is amoung one of the only Centaurs living
    in Corazor.",
    4 => "Silwest is a wild and adventurous Harpy settling in the snowy mountains
    of Kitra along with Grouchuck, a petit Sky Drake. Silwest controls the
    powers of wind and had tremendous magikal abilities.",
    5 => "Rufus is a young and inexperienced warrior living with his friend
    Elbinez in Al'thon. Rufus dosent have control over any element but is
    capable of using healing charms and Enhancement charms."
  }
  #--------------------------------------------------------------------------
  # ? Customize Face/Profile Image
  #--------------------------------------------------------------------------
  # Image Type Toggle
  #  This toggle allows to use either the default Face graphic that is set up
  #   in the Actor tab in the database, or a custom image of your choosing.
  #  true = Custom images are used.
  #  false = The actor's face graphic is used.
  BSTUP = false
  # Custom Profile Graphics ("Graphics/Face" directory)(If BSTUP = true)
  BSTUP_FILE = {
    # ActorID => "Profile Image" (Without image format extension)
    #  You may also add more images for actors after the fourth line, if needed.
    1 => "actor1",
    2 => "actor1",
    3 => "actor1",
    4 => "actor1"
  }

#----------------------------------------------------------------------------
#   END Customization
#----------------------------------------------------------------------------
end

#==============================================================================
# ? Window_Charactor
#------------------------------------------------------------------------------
# ? Define Window
#==============================================================================
class Window_Charactor < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize Profile Window
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 544, 416)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(actor)
  end
  #--------------------------------------------------------------------------
  # ? Determine BSTUP Type
  #--------------------------------------------------------------------------
  def refresh(actor)
    self.contents.clear
    return if actor.nil?
    if Chara_Review::BSTUP
      refresh_bstup(actor)  # If BSTUP = true
    else
      refresh_face(actor)   # If BSTUP = false
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (BSTUP)
  #--------------------------------------------------------------------------
  def refresh_bstup(actor)
    draw_face_picture(Chara_Review::BSTUP_FILE[actor.id], 0, 0)
    self.contents.font.color = system_color
    self.contents.draw_text(280, 30, 80, WLH, "Name:")
    self.contents.draw_text(280, 60, 80, WLH, "Age:")
    self.contents.draw_text(280, 90, 80, WLH, "From:")
    self.contents.draw_text(280, 120, 80, WLH, "Height:")
    self.contents.draw_text(280, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 380,  30)
    self.contents.draw_text(380, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(380, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(380, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(380, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 300, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (FACE)
  #--------------------------------------------------------------------------
  def refresh_face(actor)
    draw_actor_face(actor, 8, 32)
    self.contents.font.color = system_color
    self.contents.draw_text(200, 30, 80, WLH, "Name:")
    self.contents.draw_text(200, 60, 80, WLH, "Age:")
    self.contents.draw_text(200, 90, 80, WLH, "From:")
    self.contents.draw_text(200, 120, 80, WLH, "Height:")
    self.contents.draw_text(200, 150, 80, WLH, "Weight:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 300,  30)
    self.contents.draw_text(300, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(300, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(300, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(300, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 200, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
end

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? Draw Entered Text
  #--------------------------------------------------------------------------
  def draw_enter_text(x, y, width, height, text)
    info_box = text.split(/\n/)
    for i in 0...info_box.size
      self.contents.draw_text( x, y+i*WLH, width, WLH, info_box)
      break if (y+i*WLH) > (self.height-WLH)
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Face Graphic(Graphics/Face)
  #--------------------------------------------------------------------------
  def draw_face_picture(file_name, x, y)
    bitmap = Cache.face(file_name)
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x, y, bitmap, src_rect)
  end
end


#==============================================================================
# ? Scene_Charactor
#------------------------------------------------------------------------------
# ? Define Methods
#==============================================================================
class Scene_Charactor < Scene_Base
  #--------------------------------------------------------------------------
  # ? Initialize Actor
  #     actor_index : Actor ID
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0)
    @actor_index = actor_index
  end
  #--------------------------------------------------------------------------
  # ? Create Menu Background
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    @actor = $game_party.members[@actor_index]
    @status_window = Window_Charactor.new(@actor)
  end
  #--------------------------------------------------------------------------
  # ? Dispose Status Window
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? Return Scene
  #--------------------------------------------------------------------------
  def return_scene
    $scene = Scene_Status.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Next Actor
  #--------------------------------------------------------------------------
  def next_actor
    @actor_index += 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Previous Actor
  #--------------------------------------------------------------------------
  def prev_actor
    @actor_index += $game_party.members.size - 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Actor Profile Screne Inputs
  #--------------------------------------------------------------------------
  def update
    update_menu_background
    @status_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    end
    super
  end
end


#==============================================================================
# ? Scene_Status
#==============================================================================
class Scene_Status
  #--------------------------------------------------------------------------
  # ? Update Actor
  #--------------------------------------------------------------------------
  alias update_chara update
  def update
    if Input.trigger?(Chara_Review::CHENGE_KEY)
      Sound.play_decision
      $scene = Scene_Charactor.new(@actor_index)
    end
    update_chara
  end
end

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/  The original untranslated version of this script can be found here:
#http://www4.plala.or.jp/findias/codecrush/material/rgss2/menu/1-menu_chara/menu_char_top.htmll
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_

Da wo der Smiley ist (Zeile 267) gehört ein B und ) hin aber das forum ändert es zu einem Smiley. B)

Vermute du hast es einfach übersehen.

           Cloud crescent
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kvote am März 16, 2010, 17:58:11
Ne das nich aber es ist jetzt da ^^ ( inet lahmt hier xD)
naja ich danke nochmal fürs posten. Wie gesagt wenns geht, oder nicht geht poste ich hier xD


Kvote
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cloud Crescent am März 16, 2010, 22:12:51
@ Kvote20
Hier ist noch das 2te von HBGames, dass mir besser gefällt.
Der Link zur Site funktioniert wieder.
Probiere einfach beide aus.

#===============================================================================
#     *[VX]Character Biography
#  Displays a biography screen for each character by pressing the C decision
#  key while in the Status menu.
#-------------------------------------------------------------------------------
#     Author: Obsidian
#     obsidian_moonwolf@yahoo.com
#     Original Author for XP: Claimh
#     Orignial translation/edits to XP version: TruthfulTiger & Italianstal1ion
#===============================================================================

# Set the key to open the biography screen
CHANGE_KEY = Input::C

# Set the Characters' ages.
CHAR_AGE = ["19", "17", "20", "16"]

# Set the Characters' Homelands
CHAR_HOMELAND = ["Elmwood", "Elmwood", "Valens", "Unknown"]

# Set the Characters' Heights
CHAR_HEIGHT = ["5'10", "5'8", "6'", "5'4"]

# Set the Characters' Weights
CHAR_WEIGHT = ["160", "110", "225", "102"]

# Set the Characters' Races
CHAR_RACE = ["Human", "Human", "Human", "Elf"]

# Set the Characters' Genders
CHAR_GENDER = ["Male", "Female", "Male", "Female"]

# Set the Characters' Weapon Styles
CHAR_WEAPON = ["Swords", "Staves", "Spears", "Wands"]

#===============================================================================
#   Character Descriptions
#===============================================================================

#-------------------------------------------------------------------------------
# Character 1 Description
#-------------------------------------------------------------------------------
D1 = "Insert the first line of descriptive text here."
D2 = "Insert the second line of descriptive text here."
D3 = "Insert the third line of descriptive text here."
D4 = "Insert the fourth line of descriptive text here."
D5 = "Insert the fifth line of descriptive text here."
DESC_SET1 = [D1, D2, D3, D4, D5]

#-------------------------------------------------------------------------------
# Character 2 Description
#-------------------------------------------------------------------------------
D1 = "Insert the first line of descriptive text here."
D2 = "Insert the second line of descriptive text here."
D3 = "Insert the third line of descriptive text here."
D4 = "Insert the fourth line of descriptive text here."
D5 = "Insert the fifth line of descriptive text here."
DESC_SET2 = [D1, D2, D3, D4, D5]

#-------------------------------------------------------------------------------
# Character 3 Description
#-------------------------------------------------------------------------------
D1 = "Insert the first line of descriptive text here."
D2 = "Insert the second line of descriptive text here."
D3 = "Insert the third line of descriptive text here."
D4 = "Insert the fourth line of descriptive text here."
D5 = "Insert the fifth line of descriptive text here."
DESC_SET3 = [D1, D2, D3, D4, D5]

#-------------------------------------------------------------------------------
# Character 4 Description
#-------------------------------------------------------------------------------
D1 = "Insert the first line of descriptive text here."
D2 = "Insert the second line of descriptive text here."
D3 = "Insert the third line of descriptive text here."
D4 = "Insert the fourth line of descriptive text here."
D5 = "Insert the fifth line of descriptive text here."
DESC_SET4 = [D1, D2, D3, D4, D5]

CHAR_DESCRIPTION = [DESC_SET1, DESC_SET2, DESC_SET3, DESC_SET4]

#===============================================================================
#     Start Window_Character
#===============================================================================

#-------------------------------------------------------------------------------
# Initialize
#-------------------------------------------------------------------------------
class Window_Character < Window_Base
  def initialize(actor)
   super(0, 0, 544, 416)
   self.contents = Bitmap.new(width - 32, height - 32)
   @actor = actor
   refresh
# Ends initialize
end

#-------------------------------------------------------------------------------
#  Refresh
#-------------------------------------------------------------------------------
def refresh
   self.contents.clear
   # Draw the characters' faces
   draw_actor_face(@actor, 2, 2, 96)
   # Set the category name colors
   self.contents.font.color.set( 150, 150, 255)
   # Draw the category names
   self.contents.draw_text(150, 10, 80, 32, "Name:")
   self.contents.draw_text(320, 10, 100, 32, "Class:")
   self.contents.draw_text(150, 50, 80, 32, "Race:")
   self.contents.draw_text(150, 90, 80, 32, "Age:")
   self.contents.draw_text(150, 130, 80, 32, "Height:")
   self.contents.draw_text(150, 170, 80, 32, "Homeland:")
   self.contents.draw_text(320, 90, 100, 32, "Weapon:")
   self.contents.draw_text(320, 50, 100, 32, "Gender:")
   self.contents.draw_text(320, 130, 100, 32, "Weight:")
   # Sets the Info listed to normal color
   self.contents.font.color = normal_color
   # Draw the Info for each category
   draw_actor_class(@actor, 420, 10)
   draw_actor_name(@actor, 240, 10)
   draw_actor_race(@actor, 240, 50)
   draw_actor_age(@actor, 240, 90)
   draw_actor_height(@actor, 240, 130)   
   draw_actor_homeland(@actor, 240, 170)
   draw_actor_weapon(@actor, 420, 90)
   draw_actor_gender(@actor, 420, 50)
   draw_actor_weight(@actor, 420, 130)
   draw_actor_description(@actor, 10, 200)
# Ends refresh
end
# Ends Window_Character
end

#===============================================================================
#   Class Window_Base
#===============================================================================
class Window_Base < Window
 
#-------------------------------------------------------------------------------
#  Defines draw_actor_age
#-------------------------------------------------------------------------------
  def draw_actor_age(actor, x, y)
   self.contents.draw_text(x, y, 80, 32, CHAR_AGE[actor.id-1])
end

#-------------------------------------------------------------------------------
#  Defines draw_actor_homeland
#-------------------------------------------------------------------------------
def draw_actor_homeland(actor, x, y)
   self.contents.draw_text(x, y, 180, 32, CHAR_HOMELAND[actor.id-1])
end

#-------------------------------------------------------------------------------
#  Defines draw_actor_height
#-------------------------------------------------------------------------------
def draw_actor_height(actor, x, y)
   self.contents.draw_text(x, y , 200, 32, CHAR_HEIGHT[actor.id-1])
end

#-------------------------------------------------------------------------------
# Defines draw_actor_weight
#-------------------------------------------------------------------------------
def draw_actor_weight(actor, x, y)
   self.contents.draw_text(x, y, 250, 32, CHAR_WEIGHT[actor.id-1])
end

#-------------------------------------------------------------------------------
#  Defines draw_actor_race
#-------------------------------------------------------------------------------
def draw_actor_race(actor, x, y)
   self.contents.draw_text(x, y, 280, 32, CHAR_RACE[actor.id-1])
end

#-------------------------------------------------------------------------------
#  Defines draw_actor_weapon
#-------------------------------------------------------------------------------
def draw_actor_weapon(actor, x, y)
   self.contents.draw_text(x, y, 540, 32, CHAR_WEAPON[actor.id-1])
end

#-------------------------------------------------------------------------------
#  Define draw_actor_gender
#-------------------------------------------------------------------------------
def draw_actor_gender(actor, x, y)
   self.contents.draw_text(x, y, 600, 32, CHAR_GENDER[actor.id-1])
end

#-------------------------------------------------------------------------------
#  Define draw_actor_description
#-------------------------------------------------------------------------------
def draw_actor_description(actor, x, y)
   info = CHAR_DESCRIPTION[actor.id-1]
   self.contents.draw_text(x, y, 600, 32, info[0])
   self.contents.draw_text(x, y+40, 600, 32, info[1])
   self.contents.draw_text(x, y+80, 600, 32, info[2])
   self.contents.draw_text(x, y+120, 600, 32, info[3])
   self.contents.draw_text(x, y+160, 600, 32, info[4])
end
end

#===============================================================================
#  Scene_Character
#===============================================================================
class Scene_Character
 
#-------------------------------------------------------------------------------
#  Initialize
#-------------------------------------------------------------------------------
def initialize(actor_index = 0, equip_index = 0)
   @actor_index = actor_index
end

#-------------------------------------------------------------------------------
#  Main
#-------------------------------------------------------------------------------
def main
   @actor = $game_party.members[@actor_index]
   @status_window = Window_Character.new(@actor)
   Graphics.transition
   # Begin loop
   loop do
     Graphics.update
     Input.update
     update
     if $scene != self
       break
     end
   end
   Graphics.freeze
   # Dispose window
   @status_window.dispose
end

#-------------------------------------------------------------------------------
#  Update
#-------------------------------------------------------------------------------
def update
   # If cancel button pressed(B)
   if Input.trigger?(Input::B)
     # Play decision SE
     Sound.play_decision
     $scene = Scene_Menu.new(3)
     return
   end
   # If Right button pressed(W)
   if Input.trigger?(Input::R)
     #Play decision SE
     Sound.play_decision
     # Swith to next actor in list
     @actor_index += 1
     @actor_index %= $game_party.members.size
     $scene = Scene_Character.new(@actor_index)
     return
   end
   # If Left button pressed(Q)
   if Input.trigger?(Input::L)
     # Play decision SE
     Sound.play_decision
     # Switch to previous actor in list
     @actor_index += $game_party.members.size - 1
     @actor_index %= $game_party.members.size
     $scene = Scene_Character.new(@actor_index)
     return
   end
end
end # End Scene

#===============================================================================
# Scene_Status
#===============================================================================
class Scene_Status
 
alias update_chara update
def update
   # If activation button pressed(Set at top of script)
   if Input.trigger?(CHANGE_KEY)
     # Play decision SE
     Sound.play_decision
     $scene = Scene_Character.new(@actor_index)
     return
   end
   update_chara
end
end

                            Cloud
Titel: Re: Hilfe zu Skripten.
Beitrag von: Felsendrache am März 16, 2010, 22:20:11
@ PDM
vielen dank dafür
werd mal versuchen ob ich es jetzt hin bekomme :)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Vylf am März 18, 2010, 11:31:06
hallo ich hab mal ne frage, also folgendes:

ich möchte das bei mir in einem kampf ein bestimmter hintergrund erscheint und das nicht überall der selbe hinter grund sondern in bestimmten ebenen verschiedene nur ich weiß nicht wie das geht. Hat jemand vllt dazu ein Skript?
Ich wäre dem sehr dankbar der mir helfen könnte...

MFG Vylf
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kvote am März 18, 2010, 12:17:44
@ Deity: Ich hoffe du kannst damit was anfangen ;D
Hier die Fehlermeldung


http://yfrog.com/4wprofilescriptfehlerp

und das Skript

#===============================================================
# ?         Actor Profile Information - CC_ExtendedActorInfo            ? VX ?
# ?                     Version 1.0.0 by Claimh                              ?
# ?                   Translation by Mr. Anonymous                           ?
#------------------------------------------------------------------------------
#  This script adds a character profile screen for extended actor information.
#   This screen is called from the status screen by pressing the "C" button
#   (by default). This information displayed on this screen is customized in
#   this script itself below (in the Customization block).
#==============================================================================
#
# Edit by KVOTE:   Merke -> um das Alter über eine variable ändern zu können
# (eigene Variable aus einem Event z.B.) habe ich folgende Zeile ersetzt:
# Zeile 157 voher:      
#                  
# self.contents.draw_text(300, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])  
# und nacher :    
# self.contents.draw_text(300, 60, 80, WLH, $game_variables[deinevariablennummer])  
#==============================================================================
module Chara_Review
#==============================================================================#
#                             ? Customization ?                                #
#==============================================================================#
  # If you have more than 8 actors in your game, you may add additional lines
  #  to each of these fields.
#----------------------------------------------------------------------------
#   Call Screen Input Key
#----------------------------------------------------------------------------
  # This allows you to change the button/key pressed to call the extended
  #  actor information screen from the status screen. (Default: C)
  CHENGE_KEY = Input::C
  #--------------------------------------------------------------------------
  # ? Customize Age
  #--------------------------------------------------------------------------
  CHARA_AGE = {
   # Age is the first field to the right of the profile image.
   # ActorID => "Age"
     5 => "20",
     6 => "22",
     7 => "24",
     8 => "16"
  }
  #--------------------------------------------------------------------------
  # ? Customize Actor's Origin
  #--------------------------------------------------------------------------
  CHARA_FROM = {
   # "From" or Origin is the second field to the right of the profile image.
   # ActorID => "Place"
     5 => "Rei",
     6 => "Tsuin",
     7 => "Tsuin",
     8 => "Kouin"
  }
  #--------------------------------------------------------------------------
  # ? Customize Height
  #--------------------------------------------------------------------------
  CHARA_H = {
   # Height is the third field to the right of the profile image.
   # ActorID => "Height"
     5 => "1,90 Meter",
     6 => "1,60 Meter",
     7 => "1,75 Meter",
     8 => "1,83 Meter"
  }
  #--------------------------------------------------------------------------
  # ? Customize Weight
  #--------------------------------------------------------------------------
  CHARA_W = {
   # Weight is the fourth field to the right of the profile image.
   # ActorID => "Weight"
     5 => "62 Kilo",
     6 => "44 Kilo",
     7 => "53 Kilo",
     8 => "48 Kilo"
  }
  #--------------------------------------------------------------------------
  # ? Customize Profile Information
  #--------------------------------------------------------------------------
  CHARA_INFO = {
    # Profile Information is displayed beneath the actor's graphic file.
    # ActorID => "Information Text"
    5 => "Ryoku, is a brave strong warrior who always needs to save Kione. He is
    a man with great holy powers. In time portals he gets his Jikoku Sword with slots
    for the Jikoku Crystals to fit into. All the girls love Ryoku, for no real reason.",
    6 => "No one knows much about him, but he knows alot about them. Because
    of his weight and size he is able to move swiftly, but is also deadly with his
    hands. He seems to have a connection with Munaca, only talking to and helping her.",
    7 => "Munaca, is a some what shy girl with wind powers. She seems to know
    the mystery guy, she is confused about him and wants to know what goes on in
    his head. Her wind powers also get stronger when the people are in danger.",
    8 => "Kione, is a girl with the ability to manipulate water, she also loves
    the mystery guy who doesn`t even care about her. She is able to heal people,
    but isn`t very strong. She always near the mystery guy... Why does she bother."
  }
  #--------------------------------------------------------------------------
  # ? Customize Face/Profile Image
  #--------------------------------------------------------------------------
  # Image Type Toggle
  #  This toggle allows to use either the default Face graphic that is set up
  #   in the Actor tab in the database, or a custom image of your choosing.
  #  true = Custom images are used.
  #  false = The actor's face graphic is used.
  BSTUP = false
  # Custom Profile Graphics ("Graphics/Face" directory)(If BSTUP = true)
  BSTUP_FILE = {
    # ActorID => "Profile Image" (Without image format extension)
    #  You may also add more images for actors after the fourth line, if needed.
    5 => "actor1",
    6 => "actor1",
    7 => "actor1",
    8 => "actor1"
  }

#----------------------------------------------------------------------------
#   END Customization
#----------------------------------------------------------------------------
end
#==============================================================================
# ? Window_Charactor
#------------------------------------------------------------------------------
# ? Define Window
#==============================================================================
class Window_Charactor < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialize Profile Window
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 544, 416)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(actor)
  end
  #--------------------------------------------------------------------------
  # ? Determine BSTUP Type
  #--------------------------------------------------------------------------
  def refresh(actor)
    self.contents.clear
    return if actor.nil?
    if Chara_Review::BSTUP
      refresh_bstup(actor)  # If BSTUP = true
    else
      refresh_face(actor)   # If BSTUP = false
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (BSTUP)
  #--------------------------------------------------------------------------
  def refresh_bstup(actor)
    draw_face_picture(Chara_Review::BSTUP_FILE[actor.id], 0, 0)
    self.contents.font.color = system_color
    self.contents.draw_text(280, 30, 80, WLH, "Name:")
    self.contents.draw_text(280, 60, 80, WLH, "Alter:")
    self.contents.draw_text(280, 90, 80, WLH, "Herkunft:")
    self.contents.draw_text(280, 120, 80, WLH, "Größe:")
    self.contents.draw_text(280, 150, 80, WLH, "Gewicht:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 380,  30)
    self.contents.draw_text(300, 60, 80, WLH, $game_variables[deinevariablennummer])
    self.contents.draw_text(380, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(380, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(380, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 300, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
  #--------------------------------------------------------------------------
  # ? Draw Parameters and Profile Image (FACE)
  #--------------------------------------------------------------------------
  def refresh_face(actor)
    draw_actor_face(actor, 8, 32)
    self.contents.font.color = system_color
    self.contents.draw_text(200, 30, 80, WLH, "")
    self.contents.draw_text(200, 60, 80, WLH, "Alter:")
    self.contents.draw_text(200, 90, 80, WLH, "Herkunft:")
    self.contents.draw_text(200, 120, 80, WLH, "Größe:")
    self.contents.draw_text(200, 150, 80, WLH, "Gewicht:")
    self.contents.font.color = normal_color
    draw_actor_name(actor, 300,  30)
    self.contents.draw_text(300, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id])
    self.contents.draw_text(300, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id])
    self.contents.draw_text(300, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id])
    self.contents.draw_text(300, 150, 250, WLH, Chara_Review::CHARA_W[actor.id])
    draw_enter_text(20, 200, 500, WLH, Chara_Review::CHARA_INFO[actor.id])
  end
end

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? Draw Entered Text
  #--------------------------------------------------------------------------
  def draw_enter_text(x, y, width, height, text)
    info_box = text.split(/\n/)
    for i in 0...info_box.size
      self.contents.draw_text( x, y+i*WLH, width, WLH, info_box)
      break if (y+i*WLH) > (self.height-WLH)
    end
  end
  #--------------------------------------------------------------------------
  # ? Draw Face Graphic(Graphics/Face)
  #--------------------------------------------------------------------------
  def draw_face_picture(file_name, x, y)
    bitmap = Cache.face(file_name)
    cw = bitmap.width
    ch = bitmap.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x, y, bitmap, src_rect)
  end
end


#==============================================================================
# ? Scene_Charactor
#------------------------------------------------------------------------------
# ? Define Methods
#==============================================================================
class Scene_Charactor < Scene_Base
  #--------------------------------------------------------------------------
  # ? Initialize Actor
  #     actor_index : Actor ID
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0)
    @actor_index = actor_index
  end
  #--------------------------------------------------------------------------
  # ? Create Menu Background
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    @actor = $game_party.members[@actor_index]
    @status_window = Window_Charactor.new(@actor)
  end
  #--------------------------------------------------------------------------
  # ? Dispose Status Window
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? Return Scene
  #--------------------------------------------------------------------------
  def return_scene
    $scene = Scene_Status.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Next Actor
  #--------------------------------------------------------------------------
  def next_actor
    @actor_index += 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Previous Actor
  #--------------------------------------------------------------------------
  def prev_actor
    @actor_index += $game_party.members.size - 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Charactor.new(@actor_index)
  end
  #--------------------------------------------------------------------------
  # ? Actor Profile Screne Inputs
  #--------------------------------------------------------------------------
  def update
    update_menu_background
    @status_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    end
    super
  end
end


#==============================================================================
# ? Scene_Status
#==============================================================================
class Scene_Status
  #--------------------------------------------------------------------------
  # ? Update Actor
  #--------------------------------------------------------------------------
  alias update_chara update
  def update
    if Input.trigger?(Chara_Review::CHENGE_KEY)
      Sound.play_decision
      $scene = Scene_Charactor.new(@actor_index)
    end
    update_chara
  end
end

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/  The original untranslated version of this script can be found here:
#http://www4.plala.or.jp/findias/codecrush/material/rgss2/menu/1-menu_chara/menu_char_top.htmll
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_


mfg Kvote :)

EDIT: Der Fehler taucht auf sobald ich im Statusmenü eine Taste drücke!

EDIT 2: Okay ich hab jetzt das Skript getestet was Cloud gepostet hat, es funktioniert :D
           Dennoch würde ich mich über Hilfe bei der nun von mir geposteten Version freuen ^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cloud Crescent am März 18, 2010, 13:52:06
Hi Kvote20,
bin zwar nicht Ðeity aber ich versuch
trotzdem dir zu helfen. :)

Der Fehler taucht nur auf wenn man einen
Charakter auswählt der kein Profil hat.

Die ID's fangen bei dir erst ab Actor 5 an.
    5 => "20",
     6 => "22",
     7 => "24",
     8 => "16"


Warum genau der Fehler auftritt wenn der Charakter
kein Profil hat, kann ich dir leider auch nicht sagen.

             Cloud
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kvote am März 18, 2010, 14:57:43
@Cloud: Danke für den Hinweis aber ich glaube du beziehst dich damit auf das "Alte" Skript oder ?
denn das was du als letztes gepostet hast funktioniert einwandfrei ^^
Ich muss es nurnoch auf die Kompalibität mit meinem derzeitigen Projekt testen (da ich sehr viele Skripte verwende xD)
Aber ansonsten bin ich zufrieden ^^

Danke nochmals.


Kvote
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 18, 2010, 15:58:46
Hay Kvote,
ich denke, dass Cloud Crescent recht hat, die Actor-ID ist entweder zu hoch oder zu tief und kommt in den Settings einfach nur nicht vor. ^^
Die ID kannst du dir in der Database anschauen, sprich die Zahl neben dem Namen des Actors.
Was mich eher wundert ist die Tatsache, dass die Fehlermeldung erst so spät auftaucht, denn eigentlich müsste sie schon beim Aufruf der Methode Alarm geben.
Der Fehler liegt in der Zeile text.split(\/n\), weil "text" ja bei dem Aufruf der Methode eigentlich "nil" ist und für "nil" ist keine Methode mit dem Namen "split" definiert, da "nil" ja eigentlich einfach "nichts" ist. :D

Ändere die Actor-ID's in den Settings, und der Fehler verschwindet. ;)

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Felsendrache am März 18, 2010, 21:27:14
Ich meld mich auch mal wieder :D

das mit den zusätzlichen Rüstungs-slots hab ich nicht hin bekommen :( aber hab jetzt ein anderes Problem!
Ich hab das Sphärobrett von Kyoshiro eingebaut Link: http://www.rpgvx.net/index.php/topic,2363.0.html (http://www.rpgvx.net/index.php/topic,2363.0.html)

Läuft auch echt super so weit bis auf eine sache die mich noch stört! kann man in einer Bedingung auch Zahlen
Angeben? Weil sonst muss man für jede Aktivierung nur eins zahlen. Also für die die es nciht haben oder kennen.
Kann man in eine Bedingung die ein Item im Inventar abfragt auch hinzufühgen das sie bei einer bestimmten Menge
dieses Items erst los geht?
z.B. du benötigst 3 Eier 1l Milch 1 sack Mehl um einen Kuchen zu backen. Bei der Bedingung 3 Eier wie bekomm ich das hin?

Aber jetzt zurück zu meinem eigentlichen Problem.

Hab das Sphärobrett eins zu eins übernommen hab ansonsten noch im Script die Vocab eingedeutscht.
So jetzt bekomme ich immer bei Testkämpfen und wenn ich im Spiel die Skills aufrufen will diese Fehlermeldung:

Script 'Game_Actor' line102: NameError occurred.

undefined local veriable or method`add_skillacc' for
#<Game_Actor:0x2424c80>

Weiß einer wie ich gegen diesen Fehler vorgehen kann?

schon mal vielen dank

Felsendrache
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 19, 2010, 00:34:45
Hay.
Für die Mengenabfragen des Inventars musst du einfach nur eine Variable der Itemanzahl zuordnen, und dann ein Conditional Branch mit einer simplen Abfrage ob die Variable größer gleich einer Zahl ist vervollständigen.
Wegen dem Script kann ich dir so ichts sagen, in line 102 steht beim standart Script nichts von add_skillacc. Liegt wahrscheinlich an einem Customscript.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Felsendrache am März 19, 2010, 21:17:57
Ok, hab das Script ausgetauscht und noch mal bearbeitet. Jetzt läufts wieder. Weiß aber nicht wo der
Fehler war.

Schon mal danke für die Hilfe wegen der Bedingungshilfe.
Aber ich kleiner blöd man komm damit nicht so ganz klar.

Aber ich versuchs mal.
Also eine Variable einbauen mit dem Itemnamen,
dann in der bedingen die Zahl angeben
und dann reißt es bei mir ab.
Was ist ein Conditional Branch?

Gibts für meine Frage eigentlich ein Tuturiel??
würde glaube einigen an dieser stelle das Haare rumpfen erleichtern ;)

Sorry wegen meinen echt blöden Fragen!
Aber ich kenn mich echt nicht gut in dieser Materie aus. Hab eine tolle idee für ein Game aber
es harpert etwas an der Umsetzung da ich mich mit denn ganzen Eventeinstellungen nicht so auskenne.
bin schon froh das ich so einiges langsam auf die Reihe bekomme. :)

MFG

Felsendrache
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 19, 2010, 22:38:08
Zitat
Aber ich versuchs mal.
Also eine Variable einbauen mit dem Itemnamen,
dann in der bedingen die Zahl angeben
und dann reißt es bei mir ab.


Ist nicht das was ich meinte. ^^

Zitat
Was ist ein Conditional Branch?

Das ist die "Bedingung" nur eben auf Englisch.

Hier mal ein Pic wie das ganze aussehen könnte. Es ist ganz simpel aufgebaut.
(http://250kb.de/u/100319/p/xcQJmmbVDwH4.png)

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Felsendrache am März 20, 2010, 09:07:04
Super Vielen vielen dank :)

Jetzt versteh ich was du meinst.

Nochmals Danke


mfg
Felsendrache
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am März 27, 2010, 14:43:31
Ich habe ein kleines Problem. Ich möchte gerne im Menü unten ein Face anzeigen lassen, nämlich das Face von dem Charakter mit dem man läuft. Jetzt zu meinen Fragen: Dieser Charakter soll nicht in der Party sein! (so wie bei Pokemon, die Monster kämpfen, du läufst) Wie mache ich das? Und was muss ich in den SCript schreiben um ein Face anzeigen zu lassen, von jemandem der nicht in der normalen Party ist?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 27, 2010, 15:15:26
Ich denke du arbeitet mit einem Window und mit keinem normalem Sprite. Daher ist diemethode für das Zeichnen des Faces bereits geschrieben.

@window_sprite.contents.draw_face(face_name, face_index, x, y, size = 96)

Müsste es also tun.
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am März 27, 2010, 15:29:04
Deity, vielen Dank für die schnelle Antwort. Leider kommt bei mir ein Fehler wegen "Contents". Hier ist mein Script mal.
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#==============================================================================

class Window_Face < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x : window X coordinate
  #     y : window Y coordinate
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 140, 132)
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear 
    @window_sprites.contents.draw_face("Evil", face_index, 96, 96, size = 96)
     end
  end
  #--------------------------------------------------------------------------
  # * Update cursor
  #--------------------------------------------------------------------------
  def update_cursor
    if @index < 0               # No cursor
      self.cursor_rect.empty
    elsif @index < @item_max    # Normal
      self.cursor_rect.set(0, @index * 96, contents.width, 96)
    elsif @index >= 100         # Self
      self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)
    else                        # All
      self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
    end
  end
PS: Was muss ich bei file_indes angeben? DEn pfad?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 27, 2010, 15:35:32
Hehe also:
1. face_index meinst du bestimmt. Das ist die Nummer des Faces des Facesets. Es sind ja 8 vorhanden, und du musst dir deinen raussuchen.
2. Darfst du nicht einfach @window_sprite übernehmen. ^^ In deinem Fall müsste es self.contents.draw_face("Evil", face_index, 96, 96, size = 96) heißen.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am März 27, 2010, 15:40:22
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#==============================================================================

class Window_Face < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x : window X coordinate
  #     y : window Y coordinate
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 140, 132)
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh     
    self.contents.clear
    self.contents.draw_face("Evil", 1, 96, 96, size = 96)
     end
  end
  #--------------------------------------------------------------------------
  # * Update cursor
  #--------------------------------------------------------------------------
  def update_cursor
    if @index < 0               # No cursor
      self.cursor_rect.empty
    elsif @index < @item_max    # Normal
      self.cursor_rect.set(0, @index * 96, contents.width, 96)
    elsif @index >= 100         # Self
      self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)
    else                        # All
      self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
    end
  end
Stimmt das so oder war ich wieder zu blöd dafür? Weil es stürtzt wieder ab und sagt  mir es liegt an diesem draw_face
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 27, 2010, 15:47:31
Das einzige was mir jetzt so ins Auge springt ist diese Methode hier:
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh     
    self.contents.clear
    self.contents.draw_face("Evil", 1, 96, 96, size = 96)
     end
  end

Das rote "end" ist zuviel.

Ausserdem fehlt ein end ganz am Ende des Scripts um die class zu schließen.

Ansonsten sieht es eig richtig aus.
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am März 27, 2010, 15:50:38
Also mit dem End hat er kein Problem, sonst würde es ja gleich am anfang abstürtzen. Das Spiel stürtzt aber erst ab, wen ich ins Menü gehe.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am März 27, 2010, 15:57:28
Verdammt hab ein contents zuviel benutzt. Und doch das Script mekert bei mir rum. ^^
Hier :
#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#==============================================================================

class Window_Face < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x : window X coordinate
  #     y : window Y coordinate
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 128, 128)
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh     
    self.contents.clear
    self.draw_face("Evil", 1, 0, 0, size = 96)
  end
  #--------------------------------------------------------------------------
  # * Update cursor
  #--------------------------------------------------------------------------
  def update_cursor
    if @index < 0               # No cursor
      self.cursor_rect.empty
    elsif @index < @item_max    # Normal
      self.cursor_rect.set(0, @index * 96, contents.width, 96)
    elsif @index >= 100         # Self
      self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)
    else                        # All
      self.cursor_rect.set(0, 0, contents.width, @item_max * 96)
    end
  end
end

Es müsste es jetzt tun, habe nur die kleinen Fehler rausgetan sonst ist alles beim alten. Btw. du bietest dem Face nur eine Fläche von ungefähr 100x90 Pixxel, und lässt es bei 96,96 zeichnen also sieht man nur einen Punkt des ganzen Bildes. ^^ (Habs aber bischen verändert also von den Massen.)
MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am März 27, 2010, 16:04:15
DANKE!!! Das funktioniert! Vielen, vielen, vielen (mal unendlich) Dank!!!
Titel: Re: Hilfe zu Skripten.
Beitrag von: timas am März 29, 2010, 16:31:46
kann mir jemand bei dem Monsteralbung helfen? Ich hätte es gern in Deutsch aber es ist Englisch und da ich mich mit Scripts nicht aus kenne brauch ich hilfe das da z. B nicht weaknes sonder schwäche steht.

[code]################################################################################
#                            Monster Album VX 4.0                              #
################################################################################
# Author: El Conducter                                                         #
# Date: August/3/07                                                            #
# Last Update: July/21/08                                                      #
# Version: 4.0                                                                 #
# Platform: RPG Maker VX                                                       #
################################################################################
#----------------------------------------------------------------------------
#   About Update: 2.0
#     Alright, nearly a year after its first release I have updated this script.
#     This was one of my earlier scripts, so there was a few things that could
#     have been done better. I have taken care of such issues and added to it.
#     It was the only script that never had an update, however it turned out to
#     be one of my more popular scripts. So here is the much needed update.
#
#   About Update: 3.0
#     Alright, with this update my Album script will be the most comprehensive.
#     bestiary I have done. Nothing is secret about your enemies now. The enemy
#     attribute weaknesses are now color coded for easier readability. To make
#     things easier I even used the Color Module I created for my HP Bar Script.
#     It makes it easy for you to alter and add colors as you so wish. Aside
#     from being able to see enemy attribute weakneses you can now also see their
#     abilities, and scroll with L and R to a different monster while in the
#     monster window. Rather than having all the attributes or skills crammed in
#     a single window, you can now select which you would like to see from a new
#     command window.
#
#   About Update: 4.0
#     This powerful Bestiary script has gotten even better. In addition to
#     viewing enemy attributes and skills, you can now test fight the monster
#     from the Album! I had to pull some clever coding tricks to make this work
#     without doing something drastic or complicated, like rewriting and/or
#     altering many other Classes. I proved I could pull a monster out of a hat.
#     I have also added a feature that allows you to hide enemy statistics for
#     certian enemies of your choosing. Perhaps Boss enemies or whatever.
#----------------------------------------------------------------------------

#----------------------------------------------------------------------------
#   What it Does:
#     This script basically creates a catalogue of monsters you've killed.
#     You are also given a monster hunter rank based on how many
#     different monsters have been defeated. The catalogue displays all
#     the monsters attributes & picture, player rank, and percent of album
#     completion. See above for info on updates.
#----------------------------------------------------------------------------

#----------------------------------------------------------------------------
#   How it Works:
#    
#     Okay for version 2.0 I recreated the way a few things work, but don't worry
#     the changes are for the better. I made an independant Monster_Album class
#     to deal with all the album related tasks, rather than just having modded
#     several other classes to share the work, like version 1.0. Because of this
#     new system it gives us greater flexibility to do things. I also cleaned up
#     some messy code in other classes, though there still is some that I will
#     contend with in a later update.
#    
#     Scripts used are:
#
#       Section I: Album Scene and related Windows
#            - Scene_Album NOT
#            - Window_Album_Right NOT
#            - Window_Monster_List DONE
#            - Window_Monster_Picture NOT
#            - Window_Album_Command NOT
#            - Window_Total DONE
#
#       Section II: Extra Windows
#            - Window_Base Done?
#
#       Section III: Dependancies
#            - Game_Troop DONE
#            - Scene_Menu DONE
#            - Scene_Battle DONE
#
#       Section IV: Data Management
#            - Scene_Title DONE
#            - Scene_File DONE
#
#       Section V: Modules
#            - Module Color DONE
#            - Module Vocab DONE
#----------------------------------------------------------------------------

#----------------------------------------------------------------------------
#   How to Use This Script:
#     Just copy it and paste it above Main.
#
#     If you are going to use events to call the album menu, use Call Script:
#     $scene = Scene_Album.new
#
#     You can use an item to call the menu as well. Just make the item call a
#     Common Event, and make the Common Event do the above task.
#    
#     You can also access the Albums hunter rank in game by using:
#
#     $game_album.rank
#
#     Accessing it is now a bit easier than with version 1.0. It had a dumb way
#     operating. Also you now add enemies to the Album anytime in game with
#     a Call Script like this:
#
#     $game_album.add_enemy_killed($data_enemies[N])
#
#     Where N is, put the ID of the monster you want to add.
#
#     To Hide enemy stats in the album, got to Game_Album class and look for
#     the @black_list array. Put the ID's of the enemies you want hidden in it.
#----------------------------------------------------------------------------

#----------------------------------------------------------------------------
#   Script Conflicts and Compatability:
#     This is an Advisory for those of you using multiple scripts. If you are
#     using other scripts that rewrite the same classes or methods as this one,
#     there may be a conflict and things will work incorrectly in unpredictable
#     ways. I put all the Classes that could cause conflicts in the Utilities
#     Section III.
#
#     To remedy a script conflict, the pieces of the classes or methods that
#     overwrite each other must be combined.
#
#     Script conflicts are a major issue with many users. I get many messages
#     form those having problems. Almost always it is due to script conflicts.
#     Ocassionally I offer quick tips, fixes, and instructions  to get them to
#     work. However, as my time is limited, I can't always provide help on an
#     individual basis.
#----------------------------------------------------------------------------

#----------------------------------------------------------------------------
#  Comments:
#    I hope my script is easy for you to use and modify. Study this
#    script to learn RGSS better and become a better scriptor yourself.  
#----------------------------------------------------------------------------

#==============================================================================
#  Section I: Album Classes
#==============================================================================

#==============================================================================
# ** Game_Album
#------------------------------------------------------------------------------
#  This class handles the Bestairy.
#==============================================================================

class Game_Album
  #--------------------------------------------------------------------------
  # * Constant: Add or remove enemy ID's you want to have hidden in the Album
  #--------------------------------------------------------------------------
  BLACK_LIST = [29, 30]
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader   :seen           # Array of enemies seen but not killed
  attr_reader   :killed         # Array of enemies actually killed in battle
  attr_reader   :rank           # String to contain rank title
  attr_reader   :percent        # Percent of Album completion
  attr_reader   :test_enemy_id  # ID of enemy to be tested in battle
  attr_reader   :black_list     # Array of enemy ID's to be hidden
  attr_accessor :battle_test    # Whether the impending fight is album related
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    # Set seen & killed variables to blank arrays for new album
    @seen = []
    @killed = []
    for i in 1...$data_enemies.size
      @killed.push(nil)
      @seen.push(nil)
    end
    @rank = 'none'
    @percent = 0
    @test_enemy_id = 0
    @battle_test = false
  end
  #--------------------------------------------------------------------------
  # * add_enemy_seen
  #--------------------------------------------------------------------------
  def add_enemy_seen(enemy)
    # Use enemy ID - 1 for correct index placement in the array
    index = enemy.id - 1
    # The following replaces the nil object with the enemy at the index
    @seen.insert(index, enemy)
    @seen.delete_at(enemy.id)
    determine_rank
  end
  #--------------------------------------------------------------------------
  # * add_enemy_killed
  #--------------------------------------------------------------------------
  def add_enemy_killed(enemy)
    # Use enemy ID - 1 for correct index placement in the array
    index = enemy.id - 1
    # The following replaces the nil object with the enemy at the index
    @killed.insert(index, enemy)
    @killed.delete_at(enemy.id)
    determine_rank
  end
  #--------------------------------------------------------------------------
  # * Determine party's rank title for album completion
  #--------------------------------------------------------------------------
  def determine_rank
    # First check to see if the player has seen more enemies than killed
    if @seen.nitems > @killed.nitems
      # Assign rank and end rank check
      @rank = 'Observer'
      return
    end
    # Get percent of enemies killed over total amount of enemies in game
    # -1 to make up for nil in $data_enemies array
    @percent = ((@killed.nitems * 100) / ($data_enemies.size - 1))
    # Change player rank according to percent
    case @percent
    when 1..25                  # When up to 25%
      @rank = 'Adventurer'
    when 26..50                 # When 26% to 50%
      @rank = 'Slayer'
    when 51..75                 # When 51% to 75%
      @rank = 'Monster Hunter'
    when 76..99                 # When 76% to 99%
      @rank = 'Beast Master'
    when 100                    # When 100%
      @rank = 'Perfectionist'
    end
  end
  #--------------------------------------------------------------------------
  # * has_seen_enemy? Checks if enemy is included in the @seen array
  #--------------------------------------------------------------------------
  def has_seen_enemy?(enemy)
    return @seen.include?(enemy)
  end
  #--------------------------------------------------------------------------
  # * has_killed_enemy? Checks if enemy is included in the @killed array
  #--------------------------------------------------------------------------
  def has_killed_enemy?(enemy)
    return @killed.include?(enemy)
  end
  #--------------------------------------------------------------------------
  # * enemy_blacklisted? Checks if ID is included among the enemy ID's to hide
  #--------------------------------------------------------------------------
  def enemy_blacklisted?(enemy_id)
    return BLACK_LIST.include?(enemy_id)
  end
  #--------------------------------------------------------------------------
  # * Simple search algorithym
  #   Checks all the troops for the latest one that contains the given enemy ID
  #--------------------------------------------------------------------------
  def soul_searcher(id)
    # Set ID of enemy to be 'singled out' for battle later
    @test_enemy_id = id
    # Look through all the $data_troops array
    for i in 1...$data_troops.size
      # In current troop, look through all the members for the enemy ID
      for j in 0...$data_troops.members.size
        # If the enemy ID being searched is within this troop
        if $data_troops.members[j].enemy_id == id
          # Set this variable to that troop ID to be returned & Break the search
          troop = $data_troops
          break
        end
      end
    end
    return troop.id
  end
  #--------------------------------------------------------------------------
  # * Initiates a combat
  #--------------------------------------------------------------------------
  def start_battle(id)
    # Start battle with the troop results from soul searcher
    $game_troop.setup(soul_searcher(id))
    # if this battle is a album test fight, single out the enemy being tested
    $game_troop.single_out_enemy(id)
    # Set album battle test flag to true
    @battle_test = true
    # Play battle start SE
    $game_temp.map_bgm = RPG::BGM.last
    $game_temp.map_bgs = RPG::BGS.last
    RPG::BGM.stop
    RPG::BGS.stop
    Sound.play_battle_start
    $game_system.battle_bgm.play
    $game_temp.next_scene = nil
    $scene = Scene_Battle.new
  end
end

#==============================================================================
# ** Scene_Album
#------------------------------------------------------------------------------
#  This class handles the monster album windows.
#==============================================================================

class Scene_Album < Scene_Base
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    # Set up windows used in this scene
    # Set window of monster names currently known
    @monster_list_window = Window_Album_List.new
    # Get monster currently selected in window list
    @monster = @monster_list_window.monster
    # Make window that shows current selected monster's stats
    @monster_info_window = Window_Album_Right.new(@monster)
    # Make info window of album completion
    @total_window = Window_Total.new
    # Make monster window
    @monster_window = Window_Monster_Picture.new(@monster)
    @monster_window.visible = false
    # Make monster command window
    @command_window = Window_Album_Command.new(['Elements', 'States',
    'Abilities', 'Battle'])
    @command_window.visible = false
    @command_window.active = false
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    # Dispose of windows
    @monster_info_window.dispose
    @monster_list_window.dispose
    @total_window.dispose
    @monster_window.dispose
    @command_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Update windows conditionally
    # If monster list window is active: call update_list
    if @monster_list_window.active
      update_list
      return
    end
    # If monster command window is active: call update_command
    if @command_window.visible
      update_command
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when monster list window is active)
  #--------------------------------------------------------------------------
  def update_list
    @monster_list_window.update
    # Set the variable @monster equal to the currently selected monster
    @monster = @monster_list_window.monster
    # Set info window's monster to the selected monster
    @monster_info_window.set_new_monster(@monster)
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      Sound.play_cancel
      # Switch to menu screen
      @monster_list_window.active = false
      $scene = Scene_Menu.new(0)
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      if @monster != nil
        # Play decision SE
        Sound.play_decision
        # Activate monster window
        @monster_list_window.active = false
        @monster_list_window.visible = false
        @monster_info_window.visible = false
        @total_window.visible = false
        @monster_window.visible = true
        @monster_window.get_new_monster(@monster)
        @monster_window.draw_enemy_elementals
        @command_window.visible = true
        @command_window.active = true
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update (when monster command window is active)
  #--------------------------------------------------------------------------
  def update_command
    @command_window.update
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      Sound.play_cancel
      # Go back to monster list
      @monster_list_window.active = true
      @monster_list_window.visible = true
      @monster_window.visible = false
      @monster_info_window.visible = true
      @total_window.visible = true
      @command_window.index = 0
      @command_window.active = false
      @command_window.visible = false
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Branch by command window cursor position
      Sound.play_decision
      # Play decision SE
      case @command_window.index
      when 0  # Elementals
        # Draw enemy elemental attributes
        @monster_window.draw_enemy_elementals
      when 1  # States
        # Draw enemy states info
        @monster_window.draw_enemy_states
      when 2  # Abilities
        # Draw enemy abilitites
        @monster_window.draw_enemy_actions
      when 3  # Battle
        # Call an album test battle process
        $game_album.start_battle(@monster.id)
      end
      return
    end
    # If L button was pressed
    if Input.trigger?(Input::L)
      prev_monster
      return
    end
    # If R button was pressed
    if Input.trigger?(Input::R)
      next_monster
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Next enemy
  #--------------------------------------------------------------------------
  def next_monster
    # Don't let the index go past the enemy list
    unless @monster_list_window.index == $game_album.killed.size - 1
      @monster_list_window.index += 1
    end
    # Set the variable @monster equal to the currently selected monster
    @monster = @monster_list_window.monster
    # Set info window's monster to the selected monster
    @monster_info_window.set_new_monster(@monster)
    if @monster != nil
      # Play decision SE
      Sound.play_decision
      # Inform Monster window of new monster and redraw stats
      @monster_window.get_new_monster(@monster)
      @monster_window.draw_enemy_elementals
    end
  end
  #--------------------------------------------------------------------------
  # * previous enemy
  #--------------------------------------------------------------------------
  def prev_monster
    # Don't let the index go above the enemy list
    unless @monster_list_window.index == 0
      @monster_list_window.index -= 1
    end
    # Set the variable @monster equal to the currently selected monster
    @monster = @monster_list_window.monster
    # Set info window's monster to the selected monster
    @monster_info_window.set_new_monster(@monster)
    if @monster != nil
      # Play decision SE
      Sound.play_decision
      # Inform Monster window of new monster and redraw stats
      @monster_window.get_new_monster(@monster)
      @monster_window.draw_enemy_elementals
    end
  end
end

#==============================================================================
# ** Window_Album_List
#------------------------------------------------------------------------------
#  The list of monster names.
#==============================================================================

class Window_Album_List < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 56, 214, 360)
    @column_max = 1
    refresh
    self.index = 0
  end
  #--------------------------------------------------------------------------
  # * Monster Acquisition
  #--------------------------------------------------------------------------
  def monster
    return @data[self.index]
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    #if self.contents != nil
      #self.contents.dispose
      #self.contents = nil
    #end
    @data = []
    # For every enemy in the album, a address of them to @data
    for i in 0...$game_album.killed.size
        @data.push($game_album.killed)
    end
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Item
  #--------------------------------------------------------------------------
  def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    monster = @data[index]
    rect.width -= 4
    draw_monster_name(monster, rect.x, rect.y)
  end
end

#==============================================================================
# ** Window_Album_Right
#------------------------------------------------------------------------------
#  This window shows monster attributes.
#==============================================================================

class Window_Album_Right < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(enemy)
    super(214, 56, 330, 360)
    self.contents = Bitmap.new(width - 32, height - 32)
    @enemy = enemy
    self.opacity = 0   # Increase this if you want to see the window
    refresh
  end
  #--------------------------------------------------------------------------
  # * Set parameters for monster
  #--------------------------------------------------------------------------
  def set_new_monster(new_monster)
    if @enemy != new_monster
      @enemy = new_monster
      refresh
    end
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    if @enemy != nil
      draw_enemy_picture(@enemy, 185, 208)
      draw_enemy_exp(@enemy, 4, 50)
      draw_enemy_gold(@enemy, 4, 75)
      draw_enemy_name(@enemy, 2, 0, normal_color)
      draw_enemy_stats(@enemy, 4, 220, $game_album.enemy_blacklisted?(@enemy.id))
    end
  end
end

#==============================================================================
# ** Window_Monster_Total 544×416
#------------------------------------------------------------------------------
#  Shows album completion.
#==============================================================================

class Window_Total < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 544, 56)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.font.color = system_color
    self.contents.draw_text(4, 0, 200, 32, "Bestiary Completion :")
    self.contents.draw_text(370, 0, 200, 32, "Rank :")
    self.contents.font.color = normal_color
    self.contents.draw_text(200, 0, 200, 32, $game_album.killed.nitems.to_s + ' / ')
    self.contents.draw_text(240, 0, 200, 32, ($data_enemies.size - 1).to_s + " : ")
    self.contents.draw_text(295, 0, 200, 32, $game_album.percent.to_s + "%")
    self.contents.draw_text(430, 0, 200, 32, $game_album.rank)
  end
end

#==============================================================================
# ** Window_Monster_Picture
#------------------------------------------------------------------------------
#  This window shows a bigger picture of the monster with name.
#==============================================================================

class Window_Monster_Picture < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(enemy)
    super(0, 0, 544, 370)
    self.contents = Bitmap.new(width - 32, height - 32)
    @enemy = enemy
    refresh
  end
  #--------------------------------------------------------------------------
  # * Set parameters for monster
  #--------------------------------------------------------------------------
  def get_new_monster(new_monster)
    if @enemy != new_monster
      @enemy = new_monster
    end
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    if @enemy != nil
    draw_enemy_picture2(@enemy)
    draw_enemy_name(@enemy, 4, 4, system_color)
    end
  end
  #--------------------------------------------------------------------------
  # * Draws enemy's elementals chart
  #--------------------------------------------------------------------------
  def draw_enemy_elementals
    refresh
    x = 4
    y = 4
    # Change color and font size
    self.contents.font.color = system_color
    #self.contents.font.size = 20
    # Draw text
    #self.contents.draw_text(x, y + 32, 100, 22, "Elements:")
    self.contents.font.size = 18
    self.contents.draw_text(x, y + 25, 50, 22, "Absorb:")
    self.contents.draw_text(x + 75, y + 25, 50, 22, "Strong:")
    self.contents.draw_text(x + 150, y + 25, 50, 22, "Weak:")
    self.contents.draw_text(x + 225, y + 25, 50, 22, "Poor:")
    # Change color and font size
    self.contents.font.color = normal_color
    self.contents.font.size = 16
    # unless the enemy info is hidden
    unless $game_album.enemy_blacklisted?(@enemy.id)
    # Draw the attributes names in position determined by attribute strength
    for i in 1...@enemy.element_ranks.xsize
      if @enemy.element_ranks == 6
        self.contents.font.color = Colors::GREEN
        self.contents.draw_text(x, 16 * i + 34, 120, 16, $data_system.elements)
      end
      if @enemy.element_ranks == 5
        self.contents.font.color = Colors::INDIGO
        self.contents.draw_text(x + 75, 16 * i + 34, 120, 16, $data_system.elements)
      end
      if @enemy.element_ranks == 2
        self.contents.font.color = Colors::ORANGE
        self.contents.draw_text(x + 150, 16 * i + 34, 120, 16, $data_system.elements)
      end
      if @enemy.element_ranks == 1
        self.contents.font.color = Colors::RED
        self.contents.draw_text(x + 225, 16 * i + 34, 120, 16, $data_system.elements)
      end
    end
    end
  end
  #--------------------------------------------------------------------------
  # * Draws enemy's States chart
  #--------------------------------------------------------------------------
  def draw_enemy_states
    refresh
    x = 4#300
    y = 4
    # Change color and font size
    self.contents.font.color = system_color
    #self.contents.font.size = 18
    # Draw text
    #self.contents.draw_text(x, y + 25, 100, 22, "States:")
    self.contents.font.size = 18
    self.contents.draw_text(x, y + 25, 50, 22, "Null:")
    self.contents.draw_text(x + 75, y + 25, 50, 22, "Strong:")
    self.contents.draw_text(x + 150, y + 25, 50, 22, "Weak:")
    self.contents.draw_text(x + 225, y + 25, 50, 22, "Poor:")
    # Change color and font size
    self.contents.font.color = normal_color
    self.contents.font.size = 16
    # unless the enemy info is hidden
    unless $game_album.enemy_blacklisted?(@enemy.id)
    # Draw the state names in position determined by attribute strength
    for i in 1...@enemy.state_ranks.xsize
      if @enemy.state_ranks == 6
        self.contents.font.color = Colors::BLACK
        self.contents.draw_text(x, 16 * i + 34, 75, 16, $data_states.name)
      end
      if @enemy.state_ranks == 5
        self.contents.font.color = Colors::VIOLET
        self.contents.draw_text(x + 75, 16 * i + 34, 75, 16, $data_states.name)
      end
      if @enemy.state_ranks == 2
        self.contents.font.color = Colors::YELLOW
        self.contents.draw_text(x + 150, 16 * i + 34, 75, 16, $data_states.name)
      end
      if @enemy.state_ranks == 1
        self.contents.font.color = Colors::RED
        self.contents.draw_text(x + 225, 16 * i + 34, 75, 16, $data_states.name)
      end
    end
    end
  end
  #--------------------------------------------------------------------------
  # * Draws enemy's States chart
  #--------------------------------------------------------------------------
  def draw_enemy_actions
    refresh
    x = 4
    y = 4
    # Change color and font size
    self.contents.font.color = system_color
    self.contents.font.size = 20
    # Draw text
    self.contents.draw_text(x, y + 32, 100, 22, "Actions:")
    # Change color and font size
    self.contents.font.color = normal_color
    # unless the enemy info is hidden
    unless $game_album.enemy_blacklisted?(@enemy.id)
    # Draw the names of the actions the enemy can perform
    for i in 0...@enemy.actions.size
      # If the action is not a skill
      if @enemy.actions.kind == 0
        # Draw text that corresponds to action basic type
        case @enemy.actions.basic
        when 0
          self.contents.draw_text(x, 24 * i + 76, 200, 24, 'Attack')
        when 1
          self.contents.draw_text(x, 24 * i + 76, 200, 24, 'Defend')
        when 2
          self.contents.draw_text(x, 24 * i + 76, 200, 24, 'Escape')
        when 3
          self.contents.draw_text(x, 24 * i + 76, 200, 24, 'Do Nothing')
        end
        # Other wise if actions is a skill, draw the name of the skill
      elsif @enemy.actions.kind = 1
        ability = $data_skills[@enemy.actions.skill_id].name
        self.contents.draw_text(x, 24 * i + 76, 200, 24, ability)
      end
    end
    end
  end
end

#==============================================================================
# ** Window_Album_Command
#==============================================================================

class Window_Album_Command < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     width    : window width
  #     commands : command text string array
  #--------------------------------------------------------------------------
  def initialize(commands)
    super(0, 360, 544, 56)
    @item_max = commands.size
    @commands = commands
    @column_max = 4
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.index = 0
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i, normal_color)
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Item
  #     index : item number
  #--------------------------------------------------------------------------
  def draw_item(index, color)
    self.contents.font.color = color
    x = 4 + index * 136
    self.contents.draw_text(x, 0, 160, 32, @commands[index])
  end
  #--------------------------------------------------------------------------
  # * Disable Item
  #     index : item number
  #--------------------------------------------------------------------------
  def disable_item(index)
    draw_item(index, disabled_color)
  end
end

#==============================================================================
#  Section II: Dependancy WIndows
#==============================================================================

#==============================================================================
# ** Window_Base
#==============================================================================

class Window_Base < Window
  #
  def draw_monster_name(monster, x, y, enabled = true)
    self.contents.font.color = normal_color
    if monster == nil
      self.contents.draw_text(x+50, y, 204, 32, '????????', 0)
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 204, 32, '???', 0)
    else
      self.contents.draw_text(x+50, y, 204, 32, monster.name, 0)
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 204, 32, sprintf("%03d", monster.id.to_s), 0)
    end
  end
  #--------------------------------------------------------------------------
  # * Draws enemy's picture
  #--------------------------------------------------------------------------
  def draw_enemy_picture(enemy, x, y)
    bitmap = Cache.battler(enemy.battler_name, enemy.battler_hue)
    x2 = bitmap.width
    y2 = bitmap.height
    x3 = x2 / 2
    y3 = y2 - 120
    src_rect = Rect.new(0, 0, x2, y2)
    # If enemy height is greater than 220, draw the picture lower on the screen
    if bitmap.height > 220
      self.contents.blt(x - x3, y - y3, bitmap, src_rect)
    else
      self.contents.blt(x - x3, y - y2, bitmap, src_rect)
    end
  end
  #--------------------------------------------------------------------------
  # * Draws enemy's large picture
  #--------------------------------------------------------------------------
  def draw_enemy_picture2(enemy)
    bitmap = Cache.battler(enemy.battler_name, enemy.battler_hue)
    x2 = bitmap.width
    y2 = bitmap.height
    x3 = 398 - bitmap.width
    y3 = 398 - bitmap.height
    src_rect = Rect.new(0, 0, x2, y2)
    if x3 <= y3
     new_rect = Rect.new(160, 10, x2 + x3, y2 + x3)
    else
     new_rect = Rect.new(160, 10, x2 + y3, y2 + y3)
    end
    self.contents.stretch_blt(new_rect, bitmap, src_rect, 100)
  end
  #--------------------------------------------------------------------------
  # * Draws enemy's name
  #--------------------------------------------------------------------------
  def draw_enemy_name(enemy, x, y, color)
    self.contents.font.color = color
    self.contents.font.size = 24
    self.contents.draw_text(x, y, 400, 32, enemy.name)
  end
  #--------------------------------------------------------------------------
  # * Draws enemy's gold
  #--------------------------------------------------------------------------
  def draw_enemy_gold(enemy, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 100, 32, "$")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 24, y, 84, 32, enemy.gold.to_s, 2)
  end
  #--------------------------------------------------------------------------
  # * Draws enemy's exp
  #--------------------------------------------------------------------------
  def draw_enemy_exp(enemy, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, "EXP")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 24, y, 84, 32, enemy.exp.to_s, 2)
  end
  #--------------------------------------------------------------------------
  # * Draws enemy's statistics
  #--------------------------------------------------------------------------
  def draw_enemy_stats(enemy, x, y, hidden)
    # Change color
    self.contents.font.color = system_color
    # Draw text
    self.contents.draw_text(x, y, 32, 32, "HP")
    self.contents.draw_text(x + 150, y, 32, 32, "SP")
    self.contents.draw_text(x, y + 26, 32, 32, "Atk")
    self.contents.draw_text(x + 150, y + 26, 32, 32, "Str")
    self.contents.draw_text(x, y + 52, 60, 32, "Def")
    self.contents.draw_text(x + 150, y + 52, 32, 32, "Mdf")
    self.contents.draw_text(x, y + 78, 32, 32, "Dex")
    self.contents.draw_text(x + 150, y + 78, 32, 32, "Int")
    self.contents.draw_text(x, y + 104, 32, 32, "Agi")
    self.contents.draw_text(x + 150, y + 104, 32, 32, "Eva")
    self.contents.draw_text(x, y - 120, 125, 32, "Items Dropped :")
    #self.contents.draw_text(x, y - 65, 100, 32, "Drop Rate :")
    # Change color
    self.contents.font.color = normal_color
    # Draw stats, draw ?'s if enemy is hidden
    if hidden
      self.contents.draw_text(x + 40, y, 84, 32, '???', 2)
      self.contents.draw_text(x + 190, y, 84, 32, '???', 2)
      self.contents.draw_text(x + 40, y + 26, 84, 32, '???', 2)
      self.contents.draw_text(x + 190, y + 26, 84, 32, '???', 2)
      self.contents.draw_text(x + 40, y + 52, 84, 32, '???', 2)
      self.contents.draw_text(x + 190, y + 52, 84, 32, '???', 2)
      self.contents.draw_text(x + 40, y + 78, 84, 32, '???', 2)
      self.contents.draw_text(x + 190, y + 78, 84, 32, '???', 2)
    else
      self.contents.draw_text(x + 40, y, 84, 32, enemy.maxhp.to_s, 2)
      self.contents.draw_text(x + 190, y, 84, 32, enemy.maxmp.to_s, 2)
      self.contents.draw_text(x + 40, y + 26, 84, 32, enemy.atk.to_s, 2)
      self.contents.draw_text(x + 190, y + 26, 84, 32, enemy.def.to_s, 2)
      self.contents.draw_text(x + 40, y + 52, 84, 32, enemy.hit.to_s, 2)
      self.contents.draw_text(x + 190, y + 52, 84, 32, enemy.spi.to_s, 2)
      self.contents.draw_text(x + 40, y + 78, 84, 32, enemy.agi.to_s, 2)
      self.contents.draw_text(x + 190, y + 78, 84, 32, enemy.eva.to_s, 2)
    end
    # If enemy has an item, draw its name and icon
    if enemy.drop_item1.kind == 1
      draw_item_name($data_items[enemy.drop_item1.item_id], x, y - 85)
    end
    # If enemy has a weapon, draw its name and icon
    if enemy.drop_item1.kind == 2
      draw_item_name($data_weapons[enemy.drop_item1.weapon_id], x, y - 85)
      #self.contents.draw_text(x + 95, y - 75, 50, 32, enemy.drop_item1.denominator.to_s + "%", 2)
    end
    # If enemy has a piece armor, draw its name and icon
    if enemy.drop_item1.kind == 3
      draw_item_name($data_armors[enemy.drop_item1.armor_id], x, y - 85)
    end
    
    # If enemy has an item, draw its name and icon
    if enemy.drop_item2.kind == 1
      draw_item_name($data_items[enemy.drop_item2.item_id], x, y - 50)
    end
    # If enemy has a weapon, draw its name and icon
    if enemy.drop_item2.kind == 2
      draw_item_name($data_weapons[enemy.drop_item2.weapon_id], x, y - 50)
    end
    # If enemy has a piece armor, draw its name and icon
    if enemy.drop_item2.kind == 3
      draw_item_name($data_armors[enemy.drop_item2.armor_id], x, y - 50)
    end
  end
end

#==============================================================================
# Section III: Dependancy Classes
#==============================================================================

#==============================================================================
# ** Game_Troop
#==============================================================================

class Game_Troop
  #--------------------------------------------------------------------------
  # * enemy single out algorithym
  #   Filters out a single enemy of the specified ID
  #--------------------------------------------------------------------------
  def single_out_enemy(id)
    # Set variable to false.
    # Later this will be set to true when the first enemy ID is found
    has_been_singled = false
    # Sort out array yo make it easlier to search
    @enemies.sort! {|a, z| a.id <=> z.id}
    # Reverse the sorted array if first index is greater than ID to be searched
    if @enemies[0].id > id
      @enemies.reverse!
    end
    # Scroll through all the enemies in the array and check the following
    for each in @enemies
      # Do the next check if the current enemy isn't hidden or dead
      unless each.hidden or each.dead?
        # Find one enemy of the specified ID, and get rid of the rest
        if each.enemy.id != id or (each.enemy.id == id and has_been_singled)
          each.escape
        else
          has_been_singled = true
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Adds defeated enemies to the Album
  #--------------------------------------------------------------------------
  def process_album_enemies
    for each in dead_members
      # If the bestairy doesn't already have this monster, then add it
      if !$game_album.killed.include?(each.enemy)
        $game_album.add_enemy_killed(each.enemy)
      end
    end
  end
end

#==============================================================================
# ** Scene_Battle
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # * Escape Processing
  #--------------------------------------------------------------------------
  def process_escape
    @info_viewport.visible = false
    @message_window.visible = true
    text = sprintf(Vocab::EscapeStart, $game_party.name)
    $game_message.texts.push(text)
    if $game_troop.preemptive
      success = true
    else
      success = (rand(100) < @escape_ratio)
    end
    Sound.play_escape
    if success
      wait_for_message
      # Call method that collects monsters and sends them to the album
      $game_troop.process_album_enemies
      battle_end(1)
    else
      @escape_ratio += 10
      $game_message.texts.push('\.' + Vocab::EscapeFailure)
      wait_for_message
      $game_party.clear_actions
      start_main
    end
  end
  #--------------------------------------------------------------------------
  # * Victory Processing
  #--------------------------------------------------------------------------
  def process_victory
    @info_viewport.visible = false
    @message_window.visible = true
    RPG::BGM.stop
    $game_system.battle_end_me.play
    unless $BTEST
      $game_temp.map_bgm.play
      $game_temp.map_bgs.play
    end
    # Call method that collects monsters and sends them to the album
    $game_troop.process_album_enemies
    if $game_album.battle_test
      $game_album.battle_test = false
    else
      display_exp_and_gold
      display_drop_items
      display_level_up
    end
    battle_end(0)
  end
end

#==============================================================================
# ** Scene_Menu
#==============================================================================

class Scene_Menu
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::album
    s6 = Vocab::save
    s7 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(5, false)     # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 5
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 5
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4      # Album
        $scene = Scene_Album.new
      when 5      # Save
        $scene = Scene_File.new(true, false, false)
      when 6      # End Game
        $scene = Scene_End.new
      end
    end
  end
end


#==============================================================================
# Section IV: Data_Management
#------------------------------------------------------------------------------
#  This bundle of code is just the Scene Title, Save and Load classes with some
#  modified methods to handle, store, and retrieve the Bestairy data
#==============================================================================

#==============================================================================
# ** Scene_Title
#==============================================================================

class Scene_Title
  #--------------------------------------------------------------------------
  # * Create Game Objects
  #--------------------------------------------------------------------------
  def create_game_objects
    $game_temp          = Game_Temp.new
    $game_message       = Game_Message.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new[
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am März 29, 2010, 16:41:38
Es wäre hilfreich wenn du das Script hier mal im Spoiler posten würdest.
Titel: Re: Hilfe zu Skripten.
Beitrag von: _D3nn!§_ am März 29, 2010, 16:48:27
Du solltest das mal in [code.][/code.] packen,
sonst bleiben die smileys :D (ohne Punkte)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kvote am April 08, 2010, 15:35:59
Halli Hallo :D

So nun habe ich ein ziemlich großes Problem und hoffe das sich hier jemand findet der mir zu einer Lösung verhelfen kann ^^

Worum gehts ?
Also ich benutze momentan das [desc=wobei nur wichtig ist das es ein Sideview BS ist!]Tenkentai Sideview Battlesystem 3.3[/desc] und ich würde gerne Custom Animations verwenden! Gut mein Proplem hierbei: Wenn ich jetzt eine Gepixelte eigens erstellte BA nutze sammt Held (also nicht nur die Animation sondern auch der Held der auf den Gegner zurennt und den Angriff ausführt) wird es wohl so sein das sich Animation und Held überlagern! Also der Held wird nicht während der Animation verschwinden sonder einfach seinen Angriff ausführen und das will ich nicht....also das man das sieht! Außerdem würde ich gerne "Cut-In´s" verwenden zu den Animationen aber das ist mal nebensächlich ^^ Mein Problem also, wie stelle ich das an? Wie mache ich den Charakter unsichtbar und wie weis ich wie und wo ich meine Animation setzen und pixeln soll sodass sie nicht am oberen Bildschirmrand durchgeführt wird (das ist jetz nur ein überzogenes Beispiel) ?

Ich habe mich mit einigen Leuten unterhalten doch erlichgesagt konnte mir einfach keiner eine wirklich konkrete Antwort darauf geben! Ich denke das das einige Leute beschäftigt oder sies lassen weils zu kompliziert ist! Man hat mir auch gesagt das es eventuell eine Möglichkeit giebt das per Skripteinstellung zu lösen! Wenn das möglich ist wäre ich über eine Beschreibung wie und was ich machen muss sehr dankbar da ich eigentlich kaum Ahnung hab vom Skripten!

Falls es mit einer gepixelten Überlagerung gelöst werden kann, oder duch ein Event etc. soll mir das auch recht sein :) Ich bitte euch nur wenns denn geht mir hierbei zu helfen :D

Schonmal vielen Dank fürs Grübeln xD
Antworten und IDEEN bitte per PN an mich ^^



gruß, Kvote
Titel: Re: Hilfe zu Skripten.
Beitrag von: DCircle am April 24, 2010, 15:05:04
Hallöchen!

Ich hab ein kleines Problem mit dem Tileset-Script. Und zwar verwandeln sich die Tilesets
jedes mal zurück in das Standard-RTP, nachdem ein Menü geöffnet wurde (Speichermenü, Standard-Menü, Shopping-Menü).
Ich habe jetzt zwar auf jede map ein "reload"-Event eingefügt, welches nach aufrufen des Menüs das Tileset wiederherstellt, allerdings braucht dieses Event einen Moment um zu greifen und in diesem Moment sieht man die etwas chaotische Umgebung im Standard-RTP.

Ich denke, dass sich dieses Problem über ein eigenes Menü lösen lassen könnte, aber solange ich noch keines habe (ich bin mir garnicht sicher OB ich eines machen will) regt mich dieses Tileset-Gehopse doch ziemlich auf...

Ich würde mich über Lösungsvorschläge freuen, gerne auch per PN.

Lg DCircle
Titel: Re: Hilfe zu Skripten.
Beitrag von: Master Chain am April 24, 2010, 21:10:36
Sprichste Reinzufällig von Hell´s Tileset Reloader verwende diesen habe aber damit keine Probleme
Titel: Re: Hilfe zu Skripten.
Beitrag von: DCircle am April 24, 2010, 23:06:40
Jop ich benutze Hell's TileSet Reloaded und irgendwie funktioniert das bei mir allgemein nach dem Zufallsprinzip. Manchmal lädt der das Tileset auch garnicht wenn ich das in nen parallelen prozess stecke statt in nen autorun event.

Aber mein Hauptproblem ist halt, dass das Öffnen eines Fensters sei es Menü oder Savescreen das Script rückgängig macht. Kann man da irgendwas im Skript rumdrehen, dass das nicht passiert?
Oder falls es bei dir nicht passieren sollte: Kannst du mir sagen was für Skripts du noch benutzt? Könnte es evtl. an nem anderen Skript liegen?
Benutze noch Hells Illumino, nen Alle-Tasten-Skript sowie ein Jump-Skript was die Jump-Funktion berichtigt.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Boogatie Roll am April 25, 2010, 12:05:39
Ich hab schon ne Weile gesucht und diverse Leute gefragt, aber keiner konnte
es genau finden oder weiß wie das Script heißt.
Ich suche das Script, das Namen von Events anzeigen lässt, wenn man sich ihm nähert,
wird der Name sichtbar, eingeblendet.
So weit ich weiß legt man den Namen als Kommentar im Event fest.
Wenn jemand weiß wie es heißt, oder mir zeigen kann wo man es bekommt
wäre ich ihm sehr dankbar.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Domin0e am April 27, 2010, 18:42:28
Gott zum Gruße liebe Makerfreunde,

Ich habe ein kleines Problem mit einem Attribute System (http://)-Skript von RPG Revolution,
und zwar finde ich die Stellen im Skript nicht, in denen festgelegt wird, wieviele Punkte man beim Level Up erhält, und wie viele Punkte die einzelnen Attribute pro Level kosten..
Wäre nett, wenn mir wer helfen könnte (:

Gruß, Domi
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am April 27, 2010, 19:13:57
Nächstes mal nimmst du lieber einen gültigen Link. :P
Naja wenn du das Attribute System meinst, welches Google ausgespuckt hat, findest du die benötigte Stelle in Zeile 570:
    @attr_points += @level
und Zeile 580
    @attr_points -= @level
Wobei in Zeile 580 der Verlust von Punkten definiert wurde.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Domin0e am April 27, 2010, 21:12:49
Danke Deity x3
Da hab ich doch glatt vergessen, den Link reinzusetzen xD
Es ist jedenfalls richtig, So sind schonmal die Punkte beim Aufleveln geregelt!
Jetzt muss ich nurnoch schauen, wie/wo das geregelt ist mit den Upgrades (:

Gruß, Domi

//Edit: Gefunden, Problem gelöst. Blindschleiche zu verschenken.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Noa3 am April 28, 2010, 12:10:17
hi suche nen script womit ich den titel screen über springen kann und gleich dierekt auf einer ma lande wo dann events starten können...
ich habe leider den namen vergessen des scriptes und finde den auch net hier im forum :(
bin dankbar für hilfe
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cyangmou am April 28, 2010, 13:03:11
achso... jo das kenn ich zufällig.

Das Script ist von Erzengel und du findests in Rosa Caninas Custom Title Tutorial.
Ich hoff ich konnt dir helfen Noa ^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Noa3 am April 28, 2010, 13:09:44
vielen dank genau das habe ich gesucht xD
ich werde am we ein kleines minigame machen ich hoffe es wird fertig....
Titel: Re: Hilfe zu Skripten.
Beitrag von: elkay7 am April 28, 2010, 17:58:01
Ich habe eine Frage zum Skript "Verus Tempus Proelum" von campyrcoders (http://vampyrcoders.net/ => das erste). Mit diesem Skript solle man sich Items und Skills merken bzw. benutzen können indem man die ensprechenden Tasten drückt (Q bzw. W)... Irgendwie verstehe ich nicht genau wie das funktioniert, wenn ich z.B. Q drücke kommt zwar ein Bild, wenn ich dann aber die "direcional keys" drücke um ein item auszuwählen, passiert nichts... kennt sich wer mit diesem skript aus?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Domin0e am Mai 02, 2010, 12:35:05
Also, um außerhalb des Menüs die Items/SKills nutzen zu können musst du zuerst im Menü bei den Items/Skills die Dinge auswählen, die du gerne hättest, das funktioniert indem du die entsprechende Taste (Q z.B. für Items) gedrückt hälst und dann eine der Pfeiltasten drückst um den Gegenstand auf diesem 'Hotkey' zu legen.

Lg, Domin0e
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am Mai 02, 2010, 13:28:40
Ich hab auch mal wieder eine Frage.
Was muss ich ändern, dass z.B. das Beenden-Auswahl-Window im Vordergrund steht, aber man das Menü im Hintergrund noch sieht?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Mai 02, 2010, 13:59:55
Dafür gibt es 2 Möglichkeiten:

1. Du machst ein Zwischenbild, welches beim Aufruf von End mitübergeben wird, und als Hintergrund dient.

2. Du bearbeitet nicht die Scene_End sondern das Menu selbst. Sprich die FUnktion von Scene_End ins Menu packen und den Hintergrund beim Aufruf einfach bischen abdunkeln.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: elkay7 am Mai 02, 2010, 18:15:22
Also, um außerhalb des Menüs die Items/SKills nutzen zu können musst du zuerst im Menü bei den Items/Skills die Dinge auswählen, die du gerne hättest, das funktioniert indem du die entsprechende Taste (Q z.B. für Items) gedrückt hälst und dann eine der Pfeiltasten drückst um den Gegenstand auf diesem 'Hotkey' zu legen.

Lg, Domin0e

achso ist das... und wie löst man dann diese hotkeys aus? wenn ich dann z.b. Q drücke und die entsprechende Pfeiltaste, auf der sich ein Hotkey befindet, passiert nichts...
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cyberxeroxx am Mai 21, 2010, 23:11:26
Nabend,
ich habe da ein Problem in meinem Projekt und zwar benutze ich das Requiem Action Battle System.
Der Fehler hier ist nachdem ich das Goldsäckchen eingesammmelt hab ist die stelle wo das Säckchen gewesen ist unbegehbar und das ändert sich erst nachdem ich die Map verlassen hab und dann wieder auf diese Map zurück gehe.
Wäre nett wenn man mir helfen könnte.
http://www.fotos-hochladen.net/fehlerimspielas4vdzgt.png
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kvote am Mai 22, 2010, 00:00:37
Das klingt für mich jetzt nach nem Fall von "falscher" Begehbarkeit..... vielleicht mal im Editor nachsehn ob da was falsch eingestellt ist. Weil soweit ich das in Errinerung hab, ist nach dem Tod von einem Monster n Skelett da...bin mir aber nich sicher ^^ Solltest, wenns das nicht is guggen was nach dem "kill" passiert ...könnte auch sein das das als einstellung im Script vorhanden ist (davon geh ich mal schwer aus ^^)


mfg Kvote
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cyberxeroxx am Mai 22, 2010, 00:33:38
Ok ich hab mal ein wenig geschaut und konnte mit meinen Amateuraugen nichts erkennen xD.
Aber ich dachte mir das kann doch nicht sein, so habe ich dann die anderen Scripts die da noch drin waren entfernt und jetzt geht es. YAY
Muss jetzt nur mal schauen welches Script diesen fehler hervorruft.

Aber Danke das du geholfen hast.

*Edit: Liegt am Antilag
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Mai 25, 2010, 18:14:45
Da mir bisher leider keiner von meinen Helfen bei diesem Problem weiter helfen konnte, hoffe ich das mir hier jemand helfen kann, ehe ich noch verzweifle! Der Fehler hat mich schon dazu getrieben noch mal neu anzufangen, leider konnte ich ihn immer noch nicht beheben, durchs neuanfangen ist nun aber soweit alles übersichtlicher, so das ich mir fast sicher bin zu wissen wo sich er Fehler befindet, finden tue ich ihn aber nicht.

Das Problem ist, das ich nach einem bestimmten Event beim Speichern diesen Error bekomme
"Script 'Scene_File' line 214: Type Error occurred.
no marshal_dump is defined for class Sprite:Character"

Das Event sieht folgerndermaßen aus:
Seite 1  (http://img707.imageshack.us/img707/5185/seite1q.jpg)
Seite 2 (http://img683.imageshack.us/img683/1113/seite2.jpg)
Seite 3 (http://img442.imageshack.us/img442/1957/seite3.jpg)
Seite 4 (http://img204.imageshack.us/img204/9388/seite4.jpg)

wer möchte dem kann ich das Projekt auch zukommen lassen
wenn mir da jemand weiter helfen könnte wäre ich wirklich sehr dankbar, dieser Fehler lässt mir einfach keine Ruhe mehr
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Mai 25, 2010, 18:24:07
Hay koushirou,
der Fehler ist eigentlich ganz simpel.
Er taucht immer dann auf, wenn man versucht eine Variable oder eine Klasse, die ein Bitmap oder Sprite ist/beinhaltet über die "herkömmliche" Art zu speichern versucht.
Ich bin mir nicht sicher, wie es jetzt bei dir dazu kommen kann, aber zeile 214 beinhaltet $game_system also wird einer deiner Scripte ein Bitmap in dieser Klasse abspeichern und beim verlassen der Map oder der ursprünglichen Scene löscht er dieses nicht oder sonst was. ^^
Würde schauen welches Script darauf zugreift und du wirst den Fehler finden.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Mai 25, 2010, 21:20:34
Also ich konnte den Fehler nun noch mehr eingrenzen, es liegt wohl irgend wie an der Gegnergruppe
weil wenn ich die Gruppe in dem Event gegen eine andere austausche funktioniert es komischerweise mit dem danach Speichern
was genau nun der Fehler ist weiß ich aber immer noch nicht... hab auch schon versucht die Gruppe neu zu machen
aber das hat auch nichts gebracht, das ist echt zum verzweifeln q.q
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Mai 25, 2010, 21:36:36
Also ich würde jetzt einfach mal nachschauen, ob die Sprites gelöscht werden, sobald der Kampf unterbrochen wird egal ob durch Event oder Sieg/Niederlage.
Das wirst du unter "terminate" und der Methode dispose nachschauen können.
Werden diese nicht gelöscht hast du dein Problem gefunden. ^^


MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Mai 26, 2010, 22:51:18
@Deity: ich habs mir selbst auch angeguckt, das Problem ist, dass es alles disposed was zu disposen ist. Ich konnts eigentlich statt wie koushirou auf die enemy group eigentlich nur auf 2 Dinge eingrenzen: Problem mit dem Maker (Deutschpatch eventuell) und dass andere wäre ein kompatibilitätsproblem mit nem andern script, wobei ich nicht wüsste welches, da nur 2 andre scripts drin sind (mogs title script und das nms)
vlt hast du ja ne idee /=

lg Flipely
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Mai 26, 2010, 23:02:32
Das lässt sich leicht überprüfen, entfernt doh einfach mal alle anderen Scripts. Taucht der Fehler immer noch auf, liegt es nicht an den Scripten ist der Fehler behoben, wisst ihr wo ihr nun suchen müsst.
Zusätzliche Möglichkeiten wären, dass ich per Call Script oder eigene Script Bitmap/Sprites aufrufft, welche nicht disposed werden. Oder vllt liegt es auch daran, dass ihr ein Spielstand ladet in dem solch ein Bitmap erzeugt wird etc.
Ansonsten weiss ich grad auch nicht, wo man suchen müsste. ^^

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Mai 27, 2010, 01:08:27
ne ohne das Mog titelscript funkts ja einwandfrei, das NMS wird eigentlich dort frisch mitgeliefert.

Grafiken werdn alle gelöscht, hab ich schon geguckt, das Mog Script hab ich auch extra auf alle zusätzlichen Load daten erweitert, sowie das Scene_File, wobei hier keine mehr gefehlt haben, habs ja orginal ausm andern projekt übernommen und jah, ich weiß wirklich auch nicht mehr weiter /=
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Mai 27, 2010, 11:03:21
Wenn ihr wollt, könnt ihr mir das mal zusenden, ich schaue es gerne an, mehr kann ich zurzeit auch nicht anbieten. ^^
Wollte mich eh nochmal das KS anschauen weil ich eins suche oder vllt machen will. :P

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Mai 27, 2010, 11:30:38
wenn koushirou mir die erlaubnis gibt, dann send ichs dir mal zu =D
Titel: Re: Hilfe zu Skripten.
Beitrag von: Vesskin am Mai 29, 2010, 23:09:00
Hey leuts ich brauch mal eure Hilfe^^
Also es geht darum das man bei CB kein Level abfragen kann...
Deshalb hab ich mir gedanken drüber gemacht und ich will euch mal fragen ob es vlt
ein Skript gibt das, immer wenn ein Actor (nicht alle einer würde schon reichen^^)
ein Level up schafft, eine Variable (meiner wahl) um 1 erhöht wird?
brauch das (oder eine andere lösung) unbedingt für mein spiel^^
were echt super wen jemand ein Skript oder eine andere lösung hat.

Lg
Vesskin
Titel: Re: Hilfe zu Skripten.
Beitrag von: Domin0e am Mai 29, 2010, 23:49:53
Geht doch ganz einfach:
Control Variables -> Actor -> Held auswählen -> Level

Und dann in der CB die Variable überprüfen ;)

Gruß
Domin0e
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Mai 29, 2010, 23:57:26
Wenn du eine Variable dem Level setzen willst, musst du aber auch das Variable Fix Script benutzen,denn ansonsten wird es nicht klappen. ^^

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kvote am Mai 29, 2010, 23:58:58
Mist...ich war zu langsam xDD

Hier mal die Erklärung von Domine0e mit Bildern....erklärt sich von selbst ^^

(http://npshare.de/files/38d84a57/Lvl_abfrage_1.png)

(http://npshare.de/files/1313f6a5/Lvl_abfrage_2.png)


mfg, Kvote
Titel: Re: Hilfe zu Skripten.
Beitrag von: Vesskin am Mai 30, 2010, 00:29:02
danke an euch 3, klappt alles wunderbar^^ dann kann ich jetzt ja endlich weiter Makern ;)

lg
Vesskin
Titel: Re: Hilfe zu Skripten.
Beitrag von: BenjiXD am Mai 30, 2010, 15:34:20
hi also ich hab da ein problem mit diesem Sideview KS:
http://www.rpgvx.net/index.php/topic,1626.0.html (http://www.rpgvx.net/index.php/topic,1626.0.html)
1. Weis ich ned was mit diesem Satz gemeint ist:
7. Ihr macht bei Status unter ID 5 das Bogen Element und stellt es bei jedem Bogen so ein(Also jeder Bogen muss dieses Element haben
    den sonst wirds nicht richtig angezeigt).
Ich check das ned, was soll ich da machen? in welchen Abschnitt der Database?
ö.Ö

und 2. ich habe das mit den Status noch nicht gemacht aber wenn ich jetzt einen Battle test mache, alles von grafiken und scripts ist importiert: kommt jedenfalls der fehler das Graphik Ralph_1 nicht gefunden wurde, aber in der Demo befindet sich auch kein Ralph 1 ö.Ö
was zum Geier läuft da falsch?

Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Mai 30, 2010, 19:52:44
Ich bräuchte auch mal Hilfe, und zwar möchte ich, wenn ein Char angreift, das er dabei ein Kampfgeräusch von sich gibt (wie man es eben aus RPGs kennt)

dazu habe ich dieses Skript gefunden
hier auch noch mal der Link dazu KLICK (http://www.rpg-studio.de:8181/scriptdb/de/Actors-Pain-Script.html)

<br />
<b>Notice</b>:  ob_clean() [<a href='ref.outcontrol'>ref.outcontrol</a>]: failed to delete buffer. No buffer to delete. in <b>/var/www/vhosts/rpg-studio.de/httpdocs/scriptdb/1/dl.php</b> on line <b>23</b><br />
#==============================================================================
# ** Actors in Pain Script V1.5
# ActorsInPainScript.rb von SojaBird (13.06.2009)
#------------------------------------------------------------------------------
# http://www.rpg-studio.de/scriptdb/node/266
# http://www.rpg-studio.de/forum/index.php?page=Thread&threadID=30538
#==============================================================================

=begin
################################################################################
################################################################################
 
  Actors in Pain
 
  Autor: SojaBird
  Data: 25-01-'09
  Version:  1.5
 
################################################################################
 
  This script overwrites:
  display_hp_damage
 
################################################################################
 
  For each actor, make a map in '../MyGame/Audio/SE'
  In each map you can add sound effects up to 100 different.
  The names of the files must be numbered, starting with zero.
 
Example for the actor named "Frank"
  '../MyGame/Audio/SE/Frank' contains:
    - 0.ogg
    - 1.mp3
    - 2.wav
    - 3.ogg
    - 4.ogg
    - 5.wav
 
When actor Frank it's HP is damaged, it'll scream one of the 6 above files.
 
################################################################################
################################################################################
                              WARNING!!
        Don?t touch below if you don?t know what you are doing!!
################################################################################
################################################################################
=end
 
module Sound
  # New Actor Damage
  def self.play_actor_damage(actor)
@actor = actor.name
@avalible = false
ary = ["ogg","mp3","wav"]
nbr = 0
for key in 0..100
  ary.each do |i|
    if FileTest.exist?("Audio/SE/#{@actor}/#{key}.#{i}")
      nbr += 1
      @file = rand(nbr)
      if FileTest.exist?("Audio/SE/#{@actor}/#{@file}.#{i}")
        @avalible = true
        @location = "Audio/SE/#{@actor}/#{@file}.#{i}"
      end #FileTest @file
    end #FileTest key
  end #ary each do
end #key 100
if @avalible == true
  Audio.se_play(@location)
else
  $data_system.sounds[12].play
end
  end
end
###############################################################################
################################################################################
module Sound
  # New Enemy Damage
  def self.play_enemy_damage(enemy)
@enemy = enemy.name
@avalible = false
ary = ["ogg","mp3","wav"]
nbr = 0
for key in 0..100
  ary.each do |i|
    if FileTest.exist?("Audio/SE/#{@enemy}/#{key}.#{i}")
      nbr += 1
      @file = rand(nbr)
      if FileTest.exist?("Audio/SE/#{@enemy}/#{@file}.#{i}")
        @avalible = true
        @location = "Audio/SE/#{@enemy}/#{@file}.#{i}"
      end #FileTest @file
    end #FileTest key
  end #ary each do
end #key 100
if @avalible == true
  Audio.se_play(@location)
else
  $data_system.sounds[12].play
end
  end
end
################################################################################
################################################################################
################################################################################
################################################################################
 
class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # * New Show HP Damage
  # target : Target
  # obj : Skill or item
  #--------------------------------------------------------------------------
  def display_hp_damage(target, obj = nil)
if target.hp_damage == 0            # No damage
  return if obj != nil and obj.damage_to_mp
  return if obj != nil and obj.base_damage == 0
  fmt = target.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
  text = sprintf(fmt, target.name)
elsif target.absorbed                # Absorb
  fmt = target.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
  text = sprintf(fmt, target.name, Vocab::hp, target.hp_damage)
elsif target.hp_damage > 0          # Damage
  if target.actor?
    text = sprintf(Vocab::ActorDamage, target.name, target.hp_damage)
    Sound.play_actor_damage(target) # <<<|EDIT|>>> #
    $game_troop.screen.start_shake(5, 5, 10)
  else
    text = sprintf(Vocab::EnemyDamage, target.name, target.hp_damage)
    Sound.play_enemy_damage(target)
    target.blink = true
  end
else                                # Recovery
  fmt = target.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
  text = sprintf(fmt, target.name, Vocab::hp, -target.hp_damage)
  Sound.play_recovery
end
@mes

Aber wenn ich das unter meine Skripte eintrage, kann ich nicht einmal das Spiel öffnen, weil sofort ein Error kommt.
Frage, gibt es auch noch ein anderes Skript dazu oder mag sich das Skript hier mal anschauen?
Kenn mich zwar nicht mit dem skripen aus, aber der Anfang erscheint mir schon so komisch. (aber selbst wenn ich die ersten Zeilen weg lasse läuft es nicht)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Mai 30, 2010, 20:11:17
Das liegt ganz eifnach daran, dass das Script nicht komplett ist. Du hast nicht den ganzen Teil.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Mai 30, 2010, 21:22:46
Das Skript schien wohl auf der Seite fehlerhaft gewesen zu sein, hab nun das komplette
Nun hab ich die Errors zwar nicht mehr, aber funktionieren tut es auch nicht wie es dort steht
Ich habe einen Ordner mit dem Namen des Hauptcharakters in den SE Ordner gemacht und die datei "0" genannt.
So hab ich es zumindest verstanden, oder muss man da noch mehr machen bzw was anders machen?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Mai 30, 2010, 21:40:50
Da steht, dass man für jeden Spieler der Schaden nehmen kann, ein Ordner unter SE erstellt werden soll, desen Namen dem Namen des Helden entspricht. In diesen Ordner kopierst du alle Schadengeräuschte, die er "schreien" kann.
Die Namen der Geräusche müssen aber 0-100 sein.
Also es müssen nicht 100 sein aber können die Zahlen dazwischen sein. ^^

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Mai 30, 2010, 21:47:38
Joa, genau so hatte ich es ja gemacht q.q
Aber wenn die Geräusche kommen wenn der Charakter dmg bekommt, ist es eh das falsche Script für mich
wollte ja das der Charakter beim zu schlagen ein Geräusch von sich gibt, aber trotzdem danke!
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Mai 30, 2010, 21:49:58
Das ist jetzt natürlich ein bischen doff gelaufen.
Kein Problem, ich hoffe du findest das was du suchst. :)

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Juni 04, 2010, 18:29:30
Ich bräuchte mal Hilfe bei einem Skript, da es nicht läuft und ich nicht weiß woran es liegt
und zwar nennt es sich "Save Screen Customization" wenn ich es bei meinen Skripten einfüge, bekomme ich sofort einen Error beim Spielstart
line4 "Original Japanese Version From: RGSS2 DAIpage" es bringt auch nichts die alten Savedateien zu löschen und wenn ich es in ein ganz neues Projekt einfüge funktioniert es ebenfalls nicht, daher glaube ich das schon im Skript irgend ein Fehler ist q.q

begin
#-------------------------------------------------------------------------------
 Save Screen Customization
 Original Japanese Version From: RGSS2 DAIpage
 English Translation By: SuperMega
#-------------------------------------------------------------------------------

 Script Features:

 -Alterations to the save screen with HUGE customization!
 -Can be plug 'n play, but customization is something you want to look at
 
 -You can choose one of four possible layouts:
  1 = character sprites, level, HP with MP. Not recommended for a small party.
  2 = characters sprite & name, level, class, HP with MP.
  3 = Face Image, Name, level, class, HP with MP.
  4 = Face Image & Name Face, HP · MP. Not recommended for a small party.

 -You can choose to hide playtime, location, gold, etc.
 -If a location contains a "#" (Or anything you choose), that location will not
  be displayed on the save screen (This is what the script creator says, but this
  is not the case.  So I have no idea what this does...)
 
  Note:
  THIS SCRIPT IS NOT COMPATIBLE WITH OLD SAVE FILES.  IF YOU INSTALL THIS SCRIPT
  AFTER YOU HAVE ALREADY SAVED, YOU MUST START OVER.

 Update History:
 7/6 Script Released
 7/7 Fixed a bug where "#" wouldn't work correctly

 This script redifines:
 Scene_File
 Window_SaveFile

 Changing this script may result in compatability errors, so do so at your
 own risk...

=end
#==============================================================================
# Begin Customization
#==============================================================================

module DAI
 # Maximum Save Files (If 6 or more, you will have to scroll down.)
 FILE_MAX = 6

 # Save File box height. (It's not really neccessary to change this.)
 FILE_HEIGHT = 60

 # Window Arrangement (0 = left displays files, right shows stats 1 = reversed)
 FILE_ARRANGEMENT = 1       

 # Message Displayed if there is no file saved
 FILE_NOT = "Keine Datei vorhanden"
 
 # Display the play time?
 FILE_PLAY_TIME = true
 # If above is true, what term should "Play time" go by?
 FILE_PLAY_TIME_NAME = "Verstrichene Spielzeit"
 
 # Display Amount of Gold?
 FILE_GOLD = true
 # If above is true, what term should display before the gold amount?
 FILE_GOLD_NAME = " Gold im Besitz:"
 
 # Display Location Name?
 FILE_PLACE_MAP = true
 # Not exactly sure what this does, so DON'T TOUCH IT!
 FILE_MAP_NAME_DE = "#"
 
 
  # Display Type
  # 1 = character sprites, level, HP with MP. Not recommended for a small party.
  # 2 = characters sprite & name, level, class, HP with MP.
  # 3 = Face Image, Name, level, class, HP with MP.
  # 4 = Face Image & Name Face, HP · MP. Not recommended for a small party.
  FILE_TYPE = 3


 # Height of One Character in Save Window
 #(Type 1 = 32-70, type 2 = 60 to 70, Type 3 = 60 to 70, Type 4 33-70)
 FILE_LENGTN = 70
 
 
  #--------------------------------------------------------------------------
  # ? IF YOU CHOSE DISPLAY TYPE 3...
  #--------------------------------------------------------------------------

  # Display the class of all actors?
   FILE_TYPE_C_3 = true
 
  # Face Size Used on The Save Screen
  # Please note, the greater the height, the screen gets more crowded
   FILE_FACE_LENGTN_X_3 = 96 # horizontal
   FILE_FACE_LENGTN_Y_3 = 68 # vertical
 
  #--------------------------------------------------------------------------
  # ?IF YOU CHOSE DISPLAY TYPE 4...
  #--------------------------------------------------------------------------
  # Face Size Used on The Save Screen
  # Please note, the greater the height, the screen gets more crowded.
   FILE_FACE_LENGTN_X_4 = 96 # horizontal
   FILE_FACE_LENGTN_Y_4 = 31 # vertical
   
  # Face Graphic Alignment (Default aligns the eyes centered)
   TYPE_4_POSITION_Y = 20

end

#==============================================================================
# End Customization
#==============================================================================

#==============================================================================
# ¦ Scene_File
#------------------------------------------------------------------------------
#  ??????????????????
#==============================================================================
class Scene_File
  #--------------------------------------------------------------------------
  # ? ???? (????)
  #--------------------------------------------------------------------------
  alias _exmincrsv_start start
  def start
    @file_max = DAI::FILE_MAX
    _exmincrsv_start
    wh = DAI::FILE_HEIGHT
    adj = (416 - @help_window.height) % wh
    @help_window.height += adj
    @page_file_max = ((416 - @help_window.height) / wh).truncate

    for i in 0...@file_max
      window = @savefile_windows
      if @index > @page_file_max - 1
        if @index < @file_max - @page_file_max - 1
          @top_row = @index
          window.y -= @index * window.height
        elsif @index >= @file_max - @page_file_max
          @top_row = @file_max - @page_file_max
          window.y -= (@file_max - @page_file_max) * window.height
        else
          @top_row = @index
          window.y -= @index * window.height
        end
      end
      window.y += adj
      window.visible = (window.y >= @help_window.height and
      window.y < @help_window.height + @page_file_max * window.height)
      window.x = 404 if DAI::FILE_ARRANGEMENT == 1
    end
    if DAI::FILE_ARRANGEMENT == 0
      @Save_window = Window_Dai_Save.new(140,56,make_filename(@index))
    else
      @Save_window = Window_Dai_Save.new(0,56,make_filename(@index))
    end
  end
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  alias dai_save_terminate terminate
  def terminate
    dai_save_terminate
    @Save_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? ??????????????? (???)
  #--------------------------------------------------------------------------
  def create_savefile_windows
    @top_row = 0
    @savefile_windows = []
    for i in 0...@file_max
      a = 0
      a = 1 if FileTest.exist?(make_filename(i))
      @savefile_windows.push(Window_SaveFile.new(i, make_filename(i),a))
    end
  end
  #--------------------------------------------------------------------------
  # ? ????????? (???)
  #     wrap : ??????????
  #--------------------------------------------------------------------------
  def cursor_down(wrap)
    if @index < @file_max - 1 or wrap
      @index = (@index + 1) % @file_max
      for i in 0...@file_max
        window = @savefile_windows
        if @index == 0
          @top_row = 0
          window.y = @help_window.height + i % @file_max * window.height
        elsif @index - @top_row > @page_file_max - 1
          window.y -= window.height
        end
        window.visible = (window.y >= @help_window.height and
          window.y < @help_window.height + @page_file_max * window.height)
      end
      if @index - @top_row > @page_file_max - 1
        @top_row += 1
      end
    end
    filename = @savefile_windows[@index].filename
    @Save_window.refresh(filename)
  end
  #--------------------------------------------------------------------------
  # ? ????????? (???)
  #     wrap : ??????????
  #--------------------------------------------------------------------------
  def cursor_up(wrap)
    if @index > 0 or wrap
      @index = (@index - 1 + @file_max) % @file_max
      for i in 0...@file_max
        window = @savefile_windows
        if @index == @file_max - 1
          @top_row = @file_max - @page_file_max
          window.y = @help_window.height + i % @file_max * window.height
          window.y -= (@file_max - @page_file_max) * window.height
        elsif @index - @top_row < 0
          window.y += window.height
        end
        window.visible = (window.y >= @help_window.height and
          window.y < @help_window.height + @page_file_max * window.height)
      end
      if @index - @top_row < 0
        @top_row -= 1
      end
    end
    filename = @savefile_windows[@index].filename
    @Save_window.refresh(filename)
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  def write_save_data(file)
    characters = []
    for actor in $game_party.members
      characters.push([
      actor.character_name,
      actor.character_index,
      actor.name,
      actor.level,
      actor.class_id,
      actor.face_name,
      actor.face_index,
      actor.maxhp,
      actor.hp,
      actor.maxmp,
      actor.mp,
      ])
    end
    assistance = []
    gold = $game_party.gold
    map_name = $game_map.name

    $game_system.save_count += 1
    $game_system.version_id = $data_system.version_id
    @last_bgm = RPG::BGM::last
    @last_bgs = RPG::BGS::last
    Marshal.dump(characters,           file)
    Marshal.dump(gold,                 file)
    Marshal.dump(map_name,             file)
    Marshal.dump(Graphics.frame_count, file)
    Marshal.dump(@last_bgm,            file)
    Marshal.dump(@last_bgs,            file)
    Marshal.dump($game_system,         file)
    Marshal.dump($game_message,        file)
    Marshal.dump($game_switches,       file)
    Marshal.dump($game_variables,      file)
    Marshal.dump($game_self_switches,  file)
    Marshal.dump($game_actors,         file)
    Marshal.dump($game_party,          file)
    Marshal.dump($game_troop,          file)
    Marshal.dump($game_map,            file)
    Marshal.dump($game_player,         file)
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  def read_save_data(file)
    characters           = Marshal.load(file)
    gold                 = Marshal.load(file)
    map_name             = Marshal.load(file)
    Graphics.frame_count = Marshal.load(file)
    @last_bgm            = Marshal.load(file)
    @last_bgs            = Marshal.load(file)
    $game_system         = Marshal.load(file)
    $game_message        = Marshal.load(file)
    $game_switches       = Marshal.load(file)
    $game_variables      = Marshal.load(file)
    $game_self_switches  = Marshal.load(file)
    $game_actors         = Marshal.load(file)
    $game_party          = Marshal.load(file)
    $game_troop          = Marshal.load(file)
    $game_map            = Marshal.load(file)
    $game_player         = Marshal.load(file)
    if $game_system.version_id != $data_system.version_id
      $game_map.setup($game_map.map_id)
      $game_player.center($game_player.x, $game_player.y)
    end
  end
end

#==============================================================================
# ¦ Window_SaveFile
#------------------------------------------------------------------------------
#  ???????????????????????????????????
#==============================================================================
class Window_SaveFile
  #--------------------------------------------------------------------------
  # ? ????????? (???)
  #     file_index : ?????????????? (0~3)
  #     filename   : ?????
  #--------------------------------------------------------------------------
  def initialize(file_index, filename , a)
    wh = DAI::FILE_HEIGHT
    super(0, 56 + file_index % DAI::FILE_MAX * wh, 140, wh)
    @file_index = file_index
    @filename = filename
    load_gamedata
    refresh(a)
    @selected = false
  end
  #--------------------------------------------------------------------------
  # ? ??????(???)
  #--------------------------------------------------------------------------
  def refresh(a)
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = 128 unless a == 1
    name = Vocab::File + " #{@file_index + 1}"
    self.contents.draw_text(4, 0, 200, WLH, name)
    @name_width = contents.text_size(name).width
  end
end

#==============================================================================
# ¦ Window_Dai_Save
#------------------------------------------------------------------------------
#  ???????????????????????
#==============================================================================
class Window_Dai_Save < Window_Base
  #--------------------------------------------------------------------------
  # ? ?????????
  #     x : ?????? X ??
  #     y : ?????? Y ??
  #--------------------------------------------------------------------------
  def initialize(x, y, filename)
    super(x, y, 404, 360)
    load_gamedata(filename)
    refresh(filename)
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh(filename)
    self.contents.clear
    load_gamedata(filename)
    unless FileTest.exist?(filename)
      self.contents.draw_text(4, 150, self.width - 40, WLH, DAI::FILE_NOT, 1)
      return
    end
    if DAI::FILE_GOLD
      if DAI::FILE_PLAY_TIME
        draw_party_gold(0, 280, contents.width - 4, 0)
      else
        draw_party_gold(0, 307, contents.width - 4, 0)
      end
    end
    draw_playtime(0, 307, contents.width - 4, 0) if DAI::FILE_PLAY_TIME
    case DAI::FILE_TYPE
      when 1
        draw_party_characters(16, 33)
        draw_actor_hp_gauge(120, 5)
        draw_actor_hp(120, 5)
        draw_actor_mp_gauge(250, 5)
        draw_actor_mp(250, 5)
        draw_actor_level(50, 5)
      when 2
        draw_party_characters(16, 33)
        draw_actor_name(50, 5)
        draw_actor_hp_gauge(250, 5)
        draw_actor_hp(250, 5)
        draw_actor_mp_gauge(250, 30)
        draw_actor_mp(250, 30)
        draw_actor_level(50, 30)
        draw_actor_class(116, 30)
      when 3
        draw_face(0, 0, DAI::FILE_FACE_LENGTN_X_3, DAI::FILE_FACE_LENGTN_Y_3)
        if DAI::FILE_TYPE_C_3
          draw_actor_level(100, 25)
          draw_actor_class(168, 25)
          draw_actor_name(100, 0)
        else
          draw_actor_level(120, 25)
          draw_actor_name(120, 0)
        end
        draw_actor_hp_gauge(250, 0)
        draw_actor_hp(250, 0)
        draw_actor_mp_gauge(250, 25)
        draw_actor_mp(250, 25)
      when 4
        draw_face_type_4(0, 0, DAI::FILE_FACE_LENGTN_X_4, DAI::FILE_FACE_LENGTN_Y_4)
        draw_actor_hp_gauge(120, 5)
        draw_actor_hp(120, 5)
        draw_actor_mp_gauge(250, 5)
        draw_actor_mp(250, 5)
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #    ?????????????????? (??????????) ?
  #--------------------------------------------------------------------------
  def load_gamedata(filename)
    @time_stamp = Time.at(0)
    @file_exist = FileTest.exist?(filename)
    if @file_exist
      file = File.open(filename, "r")
      @time_stamp = file.mtime
      begin
        @characters     = Marshal.load(file)
        @gold           = Marshal.load(file)
        @map_name       = Marshal.load(file)
        @frame_count    = Marshal.load(file)
        @last_bgm       = Marshal.load(file)
        @last_bgs       = Marshal.load(file)
        @game_system    = Marshal.load(file)
        @game_message   = Marshal.load(file)
        @game_switches  = Marshal.load(file)
        @game_variables = Marshal.load(file)
        @screen_dump    = Marshal.load(file)
        @total_sec = @frame_count / Graphics.frame_rate
      rescue
        @file_exist = false
      ensure
        file.close
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #     align : ??
  #--------------------------------------------------------------------------
  def draw_party_gold(x, y, width, align)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width, WLH, DAI::FILE_GOLD_NAME + " " + @gold.to_s + " " + Vocab::gold, 2)
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_party_characters(x, y)
    for i in 0...@characters.size
      name = @characters

*

      index = @characters[1]
      draw_character(name, index, x , y + i * DAI::FILE_LENGTN)
    end
  end
  #--------------------------------------------------------------------------
  # ? HP ????? 1 ???
  #--------------------------------------------------------------------------
  def hp_gauge_color1
    return text_color(20)
  end
  #--------------------------------------------------------------------------
  # ? HP ????? 2 ???
  #--------------------------------------------------------------------------
  def hp_gauge_color2
    return text_color(21)
  end
  #--------------------------------------------------------------------------
  # ? MP ????? 1 ???
  #--------------------------------------------------------------------------
  def mp_gauge_color1
    return text_color(22)
  end
  #--------------------------------------------------------------------------
  # ? MP ????? 2 ???
  #--------------------------------------------------------------------------
  def mp_gauge_color2
    return text_color(23)
  end
  #--------------------------------------------------------------------------
  # ? HP ???????
  #     actor : ????
  #--------------------------------------------------------------------------
  def hp_color(actor)
    return knockout_color if actor.hp == 0
    return crisis_color if actor.hp < actor.maxhp / 4
    return normal_color
  end
  #--------------------------------------------------------------------------
  # ? HP ???
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_hp(x, y, width = 120)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      maxhp = @characters[7]
      hp = @characters[8]
      self.contents.font.color = system_color
      self.contents.draw_text(x, y + i * DAI::FILE_LENGTN, 30, WLH, Vocab::hp_a)
      self.contents.font.color = normal_color if hp >= maxhp / 4
      self.contents.font.color = crisis_color if hp < maxhp / 4
      self.contents.font.color = knockout_color if hp == 0
      xr = x + width
      if width < 120
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, hp, 2)
      else
        self.contents.draw_text(xr - 90, y + i * h, 40, WLH, hp, 2)
        self.contents.font.color = normal_color
        self.contents.draw_text(xr - 50, y + i * h, 10, WLH, "/", 2)
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, maxhp, 2)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? HP ??????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_hp_gauge(x, y, width = 120)
    for i in 0...@characters.size
      h = DAI::FILE_LENGTN
      gw = width * @characters[8] / @characters[7]
      gc1 = hp_gauge_color1
      gc2 = hp_gauge_color2
      n = y + i * h
      self.contents.fill_rect(x, n + WLH - 8, width, 6, gauge_back_color)
      self.contents.gradient_fill_rect(x, n + WLH - 8, gw, 6, gc1, gc2)
    end
  end
  #--------------------------------------------------------------------------
  # ? MP ???
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_mp(x, y, width = 120)
    for i in 0...@characters.size
      maxmp = @characters[9]
      mp = @characters[10]
      h = DAI::FILE_LENGTN
      self.contents.font.color = system_color
      self.contents.draw_text(x, y + i * h, 30, WLH, Vocab::mp_a)
      self.contents.font.color = normal_color if mp >= maxmp / 4
      self.contents.font.color = crisis_color if mp < maxmp / 4
      self.contents.font.color = knockout_color if mp == 0
      xr = x + width
      if width < 120
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, mp, 2)
      else
        self.contents.draw_text(xr - 90, y + i * h, 40, WLH, mp, 2)
        self.contents.font.color = normal_color
        self.contents.draw_text(xr - 50, y + i * h, 10, WLH, "/", 2)
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, maxmp, 2)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? MP ??????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_mp_gauge(x, y, width = 120)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      if @characters[9] > 0
        gw = width * @characters[10] / @characters[9]
      else
        gw = 0
      end
      gc1 = mp_gauge_color1
      gc2 = mp_gauge_color2
      n = y + i * h
      self.contents.fill_rect(x, n + WLH - 8, width, 6, gauge_back_color)
      self.contents.gradient_fill_rect(x, n + WLH - 8, gw, 6, gc1, gc2)
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_level(x, y)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      self.contents.font.color = system_color
      self.contents.draw_text(x, y + i * h, 32, WLH, Vocab::level_a)
      self.contents.font.color = normal_color
      self.contents.draw_text(x + 32, y + i * h, 24, WLH, @characters[3], 2)
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_name(x, y)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      self.contents.font.color = normal_color
      self.contents.font.color = knockout_color if @characters[8] == 0
      self.contents.draw_text(x , y + i * h,108 , WLH, @characters[2], 0)
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_class(x, y)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      id = @characters[4]
      c = $data_classes[id].name
      self.contents.font.color = normal_color
      self.contents.draw_text(x , y + i * h,108 , WLH, c, 0)
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #     x            : ??? X ??
  #     y            : ??? Y ??
  #     size_x       : ?????x
  #     size_y       : ?????y
  #--------------------------------------------------------------------------
  def draw_face(x, y, size_x = 96,size_y = 57)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      face_name = @characters[5]
      face_index = @characters[6]
      bitmap = Cache.face(face_name)
      rect = Rect.new(0, 0, 0, 0)
      rect.x = face_index % 4 * 96 + (96 - size_x) / 2
      rect.y = face_index / 4 * 96 + (96 - size_y) / 2
      rect.width = size_x
      rect.height = size_y
      self.contents.blt(x, y + i * h, bitmap, rect)
      bitmap.dispose
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????????(???4??)
  #     x            : ??? X ??
  #     y            : ??? Y ??
  #     size_x       : ?????x
  #     size_y       : ?????y
  #--------------------------------------------------------------------------
  def draw_face_type_4(x, y, size_x = 96,size_y = 57)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      face_name = @characters[5]
      face_index = @characters[6]
      bitmap = Cache.face(face_name)
      rect = Rect.new(0, 0, 0, 0)
      rect.x = face_index % 4 * 96 + (96 - size_x) / 2
      rect.y = face_index / 4 * 96 + (96 - size_y - DAI::TYPE_4_POSITION_Y) / 2
      rect.width = size_x
      rect.height = size_y
      self.contents.blt(x, y + i * h, bitmap, rect)
      bitmap.dispose
    end
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #     align : ??
  #--------------------------------------------------------------------------
  def draw_playtime(x, y, width, align)
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    time_string = sprintf("%02d:%02d", hour, min)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width, WLH, DAI::FILE_PLAY_TIME_NAME+" " + time_string, 2)
  end
end
 
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am Juni 04, 2010, 18:37:41
Setz mal vor das begin am Anfang ein "=" Zeichen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Juni 04, 2010, 18:46:20
hatte ich schon versucht, aber das hats leider auch nicht gebracht q.q
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Juni 04, 2010, 19:08:34
ALso bei mir funktionierte es, nachdem ich wie PDM es schon gesgat hat, ein = vor begin gesetzt habe.
Hast du es direkt vor begin eingefügt oder neue Zeile gemacht oder ähnliches?
Es muss einfach nur
=begin
am Anfang stehen.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Juni 04, 2010, 19:12:26
ja genau so hatte ich es
also
=begin
bekomme jetzt sobald man saven möchte den Error
line147 "window.y += adj"
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Juni 04, 2010, 19:34:54
Man waren da viele Fehler im Script. O.o
Kann es sein, dass es nicht vollständig ist oder in zwei Teile geteilt wurde oder ähnliches?
Naja habe mal alles was ich gesehen habe geändert. Versuch es aus. (*Aufschreib Save Script zu schreiben.*)

=begin
#-------------------------------------------------------------------------------
 Save Screen Customization
 Original Japanese Version From: RGSS2 DAIpage
 English Translation By: SuperMega
#-------------------------------------------------------------------------------

 Script Features:

 -Alterations to the save screen with HUGE customization!
 -Can be plug 'n play, but customization is something you want to look at
 
 -You can choose one of four possible layouts:
  1 = character sprites, level, HP with MP. Not recommended for a small party.
  2 = characters sprite & name, level, class, HP with MP.
  3 = Face Image, Name, level, class, HP with MP.
  4 = Face Image & Name Face, HP · MP. Not recommended for a small party.

 -You can choose to hide playtime, location, gold, etc.
 -If a location contains a "#" (Or anything you choose), that location will not
  be displayed on the save screen (This is what the script creator says, but this
  is not the case.  So I have no idea what this does...)
 
  Note:
  THIS SCRIPT IS NOT COMPATIBLE WITH OLD SAVE FILES.  IF YOU INSTALL THIS SCRIPT
  AFTER YOU HAVE ALREADY SAVED, YOU MUST START OVER.

 Update History:
 7/6 Script Released
 7/7 Fixed a bug where "#" wouldn't work correctly

 This script redifines:
 Scene_File
 Window_SaveFile

 Changing this script may result in compatability errors, so do so at your
 own risk...

=end
#==============================================================================
# Begin Customization
#==============================================================================

module DAI
 # Maximum Save Files (If 6 or more, you will have to scroll down.)
 FILE_MAX = 6

 # Save File box height. (It's not really neccessary to change this.)
 FILE_HEIGHT = 60

 # Window Arrangement (0 = left displays files, right shows stats 1 = reversed)
 FILE_ARRANGEMENT = 1       

 # Message Displayed if there is no file saved
 FILE_NOT = "Keine Datei vorhanden"
 
 # Display the play time?
 FILE_PLAY_TIME = true
 # If above is true, what term should "Play time" go by?
 FILE_PLAY_TIME_NAME = "Verstrichene Spielzeit"
 
 # Display Amount of Gold?
 FILE_GOLD = true
 # If above is true, what term should display before the gold amount?
 FILE_GOLD_NAME = " Gold im Besitz:"
 
 # Display Location Name?
 FILE_PLACE_MAP = true
 # Not exactly sure what this does, so DON'T TOUCH IT!
 FILE_MAP_NAME_DE = "#"
 
 
  # Display Type
  # 1 = character sprites, level, HP with MP. Not recommended for a small party.
  # 2 = characters sprite & name, level, class, HP with MP.
  # 3 = Face Image, Name, level, class, HP with MP.
  # 4 = Face Image & Name Face, HP · MP. Not recommended for a small party.
  FILE_TYPE = 3


 # Height of One Character in Save Window
 #(Type 1 = 32-70, type 2 = 60 to 70, Type 3 = 60 to 70, Type 4 33-70)
 FILE_LENGTN = 70
 
 
  #--------------------------------------------------------------------------
  # ? IF YOU CHOSE DISPLAY TYPE 3...
  #--------------------------------------------------------------------------

  # Display the class of all actors?
   FILE_TYPE_C_3 = true
 
  # Face Size Used on The Save Screen
  # Please note, the greater the height, the screen gets more crowded
   FILE_FACE_LENGTN_X_3 = 96 # horizontal
   FILE_FACE_LENGTN_Y_3 = 68 # vertical
 
  #--------------------------------------------------------------------------
  # ?IF YOU CHOSE DISPLAY TYPE 4...
  #--------------------------------------------------------------------------
  # Face Size Used on The Save Screen
  # Please note, the greater the height, the screen gets more crowded.
   FILE_FACE_LENGTN_X_4 = 96 # horizontal
   FILE_FACE_LENGTN_Y_4 = 31 # vertical
   
  # Face Graphic Alignment (Default aligns the eyes centered)
   TYPE_4_POSITION_Y = 20

end

#==============================================================================
# End Customization
#==============================================================================

#==============================================================================
# ¦ Scene_File
#------------------------------------------------------------------------------
#  ??????????????????
#==============================================================================
class Scene_File
  #--------------------------------------------------------------------------
  # ? ???? (????)
  #--------------------------------------------------------------------------
  alias _exmincrsv_start start
  def start
    @file_max = DAI::FILE_MAX
    _exmincrsv_start
    wh = DAI::FILE_HEIGHT
    adj = (416 - @help_window.height) % wh
    @help_window.height += adj
    @page_file_max = ((416 - @help_window.height) / wh).truncate

    for i in 0...@file_max
      window = @savefile_windows
      if @index > @page_file_max - 1
        if @index < @file_max - @page_file_max - 1
          @top_row = @index
          window.y -= @index * window.height
        elsif @index >= @file_max - @page_file_max
          @top_row = @file_max - @page_file_max
          window.y -= (@file_max - @page_file_max) * window.height
        else
          @top_row = @index
          window.y -= @index * window.height
        end
      end
      for i in window
      i.y += adj
      i.visible = (i.y >= @help_window.height and
      i.y < @help_window.height + @page_file_max * i.height)
      i.x = 404 if DAI::FILE_ARRANGEMENT == 1
      end
    end
    if DAI::FILE_ARRANGEMENT == 0
      @Save_window = Window_Dai_Save.new(140,56,make_filename(@index))
    else
      @Save_window = Window_Dai_Save.new(0,56,make_filename(@index))
    end
  end
  #--------------------------------------------------------------------------
  # ? ????
  #--------------------------------------------------------------------------
  alias dai_save_terminate terminate
  def terminate
    dai_save_terminate
    @Save_window.dispose
  end
  #--------------------------------------------------------------------------
  # ? ??????????????? (???)
  #--------------------------------------------------------------------------
  def create_savefile_windows
    @top_row = 0
    @savefile_windows = []
    for i in 0...@file_max
      a = 0
      a = 1 if FileTest.exist?(make_filename(i))
      @savefile_windows.push(Window_SaveFile.new(i, make_filename(i),a))
    end
  end
  #--------------------------------------------------------------------------
  # ? ????????? (???)
  #     wrap : ??????????
  #--------------------------------------------------------------------------
  def cursor_down(wrap)
    if @index < @file_max - 1 or wrap
      @index = (@index + 1) % @file_max
      for i in 0...@file_max
        window = @savefile_windows
        if @index == 0
          @top_row = 0
          window[@index].y = @help_window.height + i % @file_max * window[@index].height
        elsif @index - @top_row > @page_file_max - 1
          window[@index].y -= window[@index].height
        end
        window[@index].visible = (window[@index].y >= @help_window.height and
          window[@index].y < @help_window.height + @page_file_max * window[@index].height)
      end
      if @index - @top_row > @page_file_max - 1
        @top_row += 1
      end
    end
    filename = @savefile_windows[@index].filename
    @Save_window.refresh(filename)
  end
  #--------------------------------------------------------------------------
  # ? ????????? (???)
  #     wrap : ??????????
  #--------------------------------------------------------------------------
  def cursor_up(wrap)
    if @index > 0 or wrap
      @index = (@index - 1 + @file_max) % @file_max
      for i in 0...@file_max
        window = @savefile_windows
        if @index == @file_max - 1
          @top_row = @file_max - @page_file_max
          window[@index].y = @help_window.height + i % @file_max * window[@index].height
          window[@index].y -= (@file_max - @page_file_max) * window[@index].height
        elsif @index - @top_row < 0
          window[@index].y += window[@index].height
        end
        window[@index].visible = (window[@index].y >= @help_window.height and
          window[@index].y < @help_window.height + @page_file_max * window[@index].height)
      end
      if @index - @top_row < 0
        @top_row -= 1
      end
    end
    filename = @savefile_windows[@index].filename
    @Save_window.refresh(filename)
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  def write_save_data(file)
    characters = []
    for actor in $game_party.members
      characters.push([
      actor.character_name,
      actor.character_index,
      actor.name,
      actor.level,
      actor.class_id,
      actor.face_name,
      actor.face_index,
      actor.maxhp,
      actor.hp,
      actor.maxmp,
      actor.mp,
      ])
    end
    assistance = []
    gold = $game_party.gold
    map_name = $game_map.name
    $game_system.save_count += 1
    $game_system.version_id = $data_system.version_id
    @last_bgm = RPG::BGM::last
    @last_bgs = RPG::BGS::last
    Marshal.dump(characters,           file)
    Marshal.dump(gold,                 file)
    Marshal.dump(map_name,             file)
    Marshal.dump(Graphics.frame_count, file)
    Marshal.dump(@last_bgm,            file)
    Marshal.dump(@last_bgs,            file)
    Marshal.dump($game_system,         file)
    Marshal.dump($game_message,        file)
    Marshal.dump($game_switches,       file)
    Marshal.dump($game_variables,      file)
    Marshal.dump($game_self_switches,  file)
    Marshal.dump($game_actors,         file)
    Marshal.dump($game_party,          file)
    Marshal.dump($game_troop,          file)
    Marshal.dump($game_map,            file)
    Marshal.dump($game_player,         file)
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  def read_save_data(file)
    characters           = Marshal.load(file)
    gold                 = Marshal.load(file)
    map_name             = Marshal.load(file)
    Graphics.frame_count = Marshal.load(file)
    @last_bgm            = Marshal.load(file)
    @last_bgs            = Marshal.load(file)
    $game_system         = Marshal.load(file)
    $game_message        = Marshal.load(file)
    $game_switches       = Marshal.load(file)
    $game_variables      = Marshal.load(file)
    $game_self_switches  = Marshal.load(file)
    $game_actors         = Marshal.load(file)
    $game_party          = Marshal.load(file)
    $game_troop          = Marshal.load(file)
    $game_map            = Marshal.load(file)
    $game_player         = Marshal.load(file)
    if $game_system.version_id != $data_system.version_id
      $game_map.setup($game_map.map_id)
      $game_player.center($game_player.x, $game_player.y)
    end
  end
end

#==============================================================================
# ¦ Window_SaveFile
#------------------------------------------------------------------------------
#  ???????????????????????????????????
#==============================================================================
class Window_SaveFile
  #--------------------------------------------------------------------------
  # ? ????????? (???)
  #     file_index : ?????????????? (0~3)
  #     filename   : ?????
  #--------------------------------------------------------------------------
  def initialize(file_index, filename , a)
    wh = DAI::FILE_HEIGHT
    super(0, 56 + file_index % DAI::FILE_MAX * wh, 140, wh)
    @file_index = file_index
    @filename = filename
    load_gamedata
    refresh(a)
    @selected = false
  end
  #--------------------------------------------------------------------------
  # ? ??????(???)
  #--------------------------------------------------------------------------
  def refresh(a)
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = 128 unless a == 1
    name = Vocab::File + " #{@file_index + 1}"
    self.contents.draw_text(4, 0, 200, WLH, name)
    @name_width = contents.text_size(name).width
  end
end

#==============================================================================
# ¦ Window_Dai_Save
#------------------------------------------------------------------------------
#  ???????????????????????
#==============================================================================
class Window_Dai_Save < Window_Base
  #--------------------------------------------------------------------------
  # ? ?????????
  #     x : ?????? X ??
  #     y : ?????? Y ??
  #--------------------------------------------------------------------------
  def initialize(x, y, filename)
    super(x, y, 404, 360)
    load_gamedata(filename)
    refresh(filename)
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def refresh(filename)
    self.contents.clear
    load_gamedata(filename)
    unless FileTest.exist?(filename)
      self.contents.draw_text(4, 150, self.width - 40, WLH, DAI::FILE_NOT, 1)
      return
    end
    if DAI::FILE_GOLD
      if DAI::FILE_PLAY_TIME
        draw_party_gold(0, 280, contents.width - 4, 0)
      else
        draw_party_gold(0, 307, contents.width - 4, 0)
      end
    end
    draw_playtime(0, 307, contents.width - 4, 0) if DAI::FILE_PLAY_TIME
    case DAI::FILE_TYPE
      when 1
        draw_party_characters(16, 33)
        draw_actor_hp_gauge(120, 5)
        draw_actor_hp(120, 5)
        draw_actor_mp_gauge(250, 5)
        draw_actor_mp(250, 5)
        draw_actor_level(50, 5)
      when 2
        draw_party_characters(16, 33)
        draw_actor_name(50, 5)
        draw_actor_hp_gauge(250, 5)
        draw_actor_hp(250, 5)
        draw_actor_mp_gauge(250, 30)
        draw_actor_mp(250, 30)
        draw_actor_level(50, 30)
        draw_actor_class(116, 30)
      when 3
        draw_face(0, 0, DAI::FILE_FACE_LENGTN_X_3, DAI::FILE_FACE_LENGTN_Y_3)
        if DAI::FILE_TYPE_C_3
          draw_actor_level(100, 25)
          draw_actor_class(168, 25)
          draw_actor_name(100, 0)
        else
          draw_actor_level(120, 25)
          draw_actor_name(120, 0)
        end
        draw_actor_hp_gauge(250, 0)
        draw_actor_hp(250, 0)
        draw_actor_mp_gauge(250, 25)
        draw_actor_mp(250, 25)
      when 4
        draw_face_type_4(0, 0, DAI::FILE_FACE_LENGTN_X_4, DAI::FILE_FACE_LENGTN_Y_4)
        draw_actor_hp_gauge(120, 5)
        draw_actor_hp(120, 5)
        draw_actor_mp_gauge(250, 5)
        draw_actor_mp(250, 5)
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #    ?????????????????? (??????????) ?
  #--------------------------------------------------------------------------
  def load_gamedata(filename)
    @time_stamp = Time.at(0)
    @file_exist = FileTest.exist?(filename)
    if @file_exist
      file = File.open(filename, "r")
      @time_stamp = file.mtime
      begin
        @characters     = Marshal.load(file)
        @gold           = Marshal.load(file)
        @map_name       = Marshal.load(file)
        @frame_count    = Marshal.load(file)
        @last_bgm       = Marshal.load(file)
        @last_bgs       = Marshal.load(file)
        @game_system    = Marshal.load(file)
        @game_message   = Marshal.load(file)
        @game_switches  = Marshal.load(file)
        @game_variables = Marshal.load(file)
        @screen_dump    = Marshal.load(file)
        @total_sec = @frame_count / Graphics.frame_rate
      rescue
        @file_exist = false
      ensure
        file.close
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #     align : ??
  #--------------------------------------------------------------------------
  def draw_party_gold(x, y, width, align)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width, WLH, DAI::FILE_GOLD_NAME + " " + @gold.to_s + " " + Vocab::gold, 2)
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #     x : ??? X ??
  #     y : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_party_characters(x, y)
    for i in 0...@characters.size
      name = @characters

*

      index = @characters[1]
      draw_character(name, index, x , y + i * DAI::FILE_LENGTN)
    end
  end
  #--------------------------------------------------------------------------
  # ? HP ????? 1 ???
  #--------------------------------------------------------------------------
  def hp_gauge_color1
    return text_color(20)
  end
  #--------------------------------------------------------------------------
  # ? HP ????? 2 ???
  #--------------------------------------------------------------------------
  def hp_gauge_color2
    return text_color(21)
  end
  #--------------------------------------------------------------------------
  # ? MP ????? 1 ???
  #--------------------------------------------------------------------------
  def mp_gauge_color1
    return text_color(22)
  end
  #--------------------------------------------------------------------------
  # ? MP ????? 2 ???
  #--------------------------------------------------------------------------
  def mp_gauge_color2
    return text_color(23)
  end
  #--------------------------------------------------------------------------
  # ? HP ???????
  #     actor : ????
  #--------------------------------------------------------------------------
  def hp_color(actor)
    return knockout_color if actor.hp == 0
    return crisis_color if actor.hp < actor.maxhp / 4
    return normal_color
  end
  #--------------------------------------------------------------------------
  # ? HP ???
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_hp(x, y, width = 120)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      maxhp = @characters[i][7]
      hp = @characters[i][8]
      self.contents.font.color = system_color
      self.contents.draw_text(x, y + i * DAI::FILE_LENGTN, 30, WLH, Vocab::hp_a)
      self.contents.font.color = normal_color if hp >= maxhp / 4
      self.contents.font.color = crisis_color if hp < maxhp / 4
      self.contents.font.color = knockout_color if hp == 0
      xr = x + width
      if width < 120
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, hp, 2)
      else
        self.contents.draw_text(xr - 90, y + i * h, 40, WLH, hp, 2)
        self.contents.font.color = normal_color
        self.contents.draw_text(xr - 50, y + i * h, 10, WLH, "/", 2)
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, maxhp, 2)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? HP ??????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_hp_gauge(x, y, width = 120)
    for i in 0...@characters.size
      h = DAI::FILE_LENGTN
      gw = width * @characters[i][8] / @characters[i][7]
      gc1 = hp_gauge_color1
      gc2 = hp_gauge_color2
      n = y + i * h
      self.contents.fill_rect(x, n + WLH - 8, width, 6, gauge_back_color)
      self.contents.gradient_fill_rect(x, n + WLH - 8, gw, 6, gc1, gc2)
    end
  end
  #--------------------------------------------------------------------------
  # ? MP ???
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_mp(x, y, width = 120)
    for i in 0...@characters.size
      maxmp = @characters[i][9]
      mp = @characters[i][10]
      h = DAI::FILE_LENGTN
      self.contents.font.color = system_color
      self.contents.draw_text(x, y + i * h, 30, WLH, Vocab::mp_a)
      self.contents.font.color = normal_color if mp >= maxmp / 4
      self.contents.font.color = crisis_color if mp < maxmp / 4
      self.contents.font.color = knockout_color if mp == 0
      xr = x + width
      if width < 120
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, mp, 2)
      else
        self.contents.draw_text(xr - 90, y + i * h, 40, WLH, mp, 2)
        self.contents.font.color = normal_color
        self.contents.draw_text(xr - 50, y + i * h, 10, WLH, "/", 2)
        self.contents.draw_text(xr - 40, y + i * h, 40, WLH, maxmp, 2)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? MP ??????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #--------------------------------------------------------------------------
  def draw_actor_mp_gauge(x, y, width = 120)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      if @characters[i][9] > 0
        gw = width * @characters[i][10] / @characters[i][9]
      else
        gw = 0
      end
      gc1 = mp_gauge_color1
      gc2 = mp_gauge_color2
      n = y + i * h
      self.contents.fill_rect(x, n + WLH - 8, width, 6, gauge_back_color)
      self.contents.gradient_fill_rect(x, n + WLH - 8, gw, 6, gc1, gc2)
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_level(x, y)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      self.contents.font.color = system_color
      self.contents.draw_text(x, y + i * h, 32, WLH, Vocab::level_a)
      self.contents.font.color = normal_color
      self.contents.draw_text(x + 32, y + i * h, 24, WLH, @characters[i][3], 2)
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_name(x, y)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      self.contents.font.color = normal_color
      self.contents.font.color = knockout_color if @characters[i][8] == 0
      self.contents.draw_text(x , y + i * h,108 , WLH, @characters[i][2], 0)
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #--------------------------------------------------------------------------
  def draw_actor_class(x, y)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      id = @characters[i][4]
      c = $data_classes[id].name
      self.contents.font.color = normal_color
      self.contents.draw_text(x , y + i * h,108 , WLH, c, 0)
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #     x            : ??? X ??
  #     y            : ??? Y ??
  #     size_x       : ?????x
  #     size_y       : ?????y
  #--------------------------------------------------------------------------
  def draw_face(x, y, size_x = 96,size_y = 57)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      face_name = @characters[i][5]
      face_index = @characters[i][6]
      bitmap = Cache.face(face_name)
      rect = Rect.new(0, 0, 0, 0)
      rect.x = face_index % 4 * 96 + (96 - size_x) / 2
      rect.y = face_index / 4 * 96 + (96 - size_y) / 2
      rect.width = size_x
      rect.height = size_y
      self.contents.blt(x, y + i * h, bitmap, rect)
      bitmap.dispose
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????????(???4??)
  #     x            : ??? X ??
  #     y            : ??? Y ??
  #     size_x       : ?????x
  #     size_y       : ?????y
  #--------------------------------------------------------------------------
  def draw_face_type_4(x, y, size_x = 96,size_y = 57)
    h = DAI::FILE_LENGTN
    for i in 0...@characters.size
      face_name = @characters[i][5]
      face_index = @characters[i][6]
      bitmap = Cache.face(face_name)
      rect = Rect.new(0, 0, 0, 0)
      rect.x = face_index % 4 * 96 + (96 - size_x) / 2
      rect.y = face_index / 4 * 96 + (96 - size_y - DAI::TYPE_4_POSITION_Y) / 2
      rect.width = size_x
      rect.height = size_y
      self.contents.blt(x, y + i * h, bitmap, rect)
      bitmap.dispose
    end
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #     x     : ??? X ??
  #     y     : ??? Y ??
  #     width : ?
  #     align : ??
  #--------------------------------------------------------------------------
  def draw_playtime(x, y, width, align)
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    time_string = sprintf("%02d:%02d", hour, min)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width, WLH, DAI::FILE_PLAY_TIME_NAME+" " + time_string, 2)
  end
end
class Game_Map
  def name
    return load_data("Data/MapInfos.rvdata")[@map_id].name
  end
end

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Juni 04, 2010, 20:17:25
Deity du bist ein Lebensretter, funktioniert (bis jetzt) ohne Probleme, danke! <3
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Juni 04, 2010, 22:35:37
Kein Problem, immer wieder gern. ^^

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Juni 06, 2010, 18:16:24
edit: wah, was hat das Forum mit meinem Post gemacht x_x *noch mal versuch*

Noch eine kleine Frage, ich benutze das Neo Message System (von Woratana)
und möchte das Namenskästchen auf der rechten Seite anzeigen lassen, finde dazu aber keine Befehl
könnte ich den Befehl nun einfügen? (und wenn ja möchte jemand das für mich machen)
oder gibt es ein anderes Skript mit dem Befehl der sich aber nicht mit dem Neo Skript beißt?

Dann hätte ich noch eine Frage zum GubiD's Tactical Battle System, gibt es ein Add-on oder ähnliches dafür
damit man beispielsweise auch Skill und Victoryposen einbauen kann?
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Juni 17, 2010, 23:32:16
Ich mal wieder *hust hust* Ich habe ein optisches Problem
Ich verwende das "RPG Tankentai SBS 3.3d Kaduki Eng" Skript und möchte meine eigenen Skills erstellen
das klappt soweit auch alles ganz gut, aber jetzt habe ich das Problem, ich möchte einen Skill, der aber eher Angriff als Skill ist, z.B wie der erste Standartskill "Dauerangriff". Trage ich meinen Skill nun einfach in die Datenbank ein, habe ich das Problem das der Char rechts auf seiner Seite stehen bleibt und von dort aus seinen Skill castet, statt zu dem Monster hinzulaufen und es zu vermöbeln, was bei einem Skill der z.B Kopfnuss heißt ein bissl blöd ausschaut. FlipelyFlip hatte sich mal daran versucht und es auch relativ nah an meine Vorstellung gebracht, allerdings war der Angriff dann nicht mehr im "KadukiStil"

(http://img706.imageshack.us/img706/5503/skillllllllll.png)
Bild 1 wie es aussehen sollte, Bild 2 wie es nach Flipelys Versuch aussah.

Ich hoffe ich hab mich einigermaßen klar ausgedrückt q.q Vll mag mir ja ein Skriptprofi da mal unter die Arme greifen der vielleicht sogar gute erfahrungen auch speziell mit dem Kaduki KS hat.
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Juni 18, 2010, 11:55:03
freu dich, hier haste es

script.rvdata (http://www.mediafire.com/?wmmmmmzyo3h) <-- downloadlink

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Johnny am Juni 19, 2010, 23:37:45
Ich suche einfach eine Funktion, die mir den Betrag einer Variable in der selben Variable ausgibt.
Beispiel: Variable A: -2
            --> Betrag
            Variable A: +2
Wäre wirklich nett, wenn mir jemand helfen könnte. Es würde mir eine Menge Abfragerrei ersparen.
Ist das irgendwas mit function abs? Weiß ich noch aus dem Infounterricht :D
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am Juni 20, 2010, 17:42:57
Ich habe auch eine Frage:
Ist es möglich die Passierbarkeit einzelner Tiles per Script zu ändern oder auszutauschen?
Wenn ja, wie?

Edit: Hab's hinbekommen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Noa3 am Juni 30, 2010, 16:23:06
habe ne frage ob jemand nen script kennt das wie eine highscore arbeitet und diese internet auf einen server hochläd und die aktuellen daten abfrägt.

im grossen und ganzen ein online highscore script
Titel: Re: Hilfe zu Skripten.
Beitrag von: Hatzu am Juli 02, 2010, 13:38:17
Halli hallo hallöle :)
Ich bin auf der suche nach einem Script ähnlich wie Pokemon.
es soll fast genauso sein wie bei Pokemon so dass man als "Trainer" Rumläuft aber man mit "Monstern" kämpft und dass man auch nur die Monster im Menü sieht.
Dann brauch ich noch ein Script mit  der man die Tastenbelegung ändern kann falls es sowas gibt :)

Mfg
RPGVX Noob
Hatzu
Titel: Re: Hilfe zu Skripten.
Beitrag von: Master Chain am Juli 02, 2010, 13:44:27
Hmm soweit ich weiß gibt es ein Pokemon Kit allerdings für den XPer korregiert mich wenn ich mich irre...

Zum Zweiten müsstest du in den Script berreich was finden könnnen
Titel: Re: Hilfe zu Skripten.
Beitrag von: Hatzu am Juli 02, 2010, 13:47:35
oki danke werd mal gucken :)

Öhm...
Ich wollte mal Fragen ob es ein AKS für den RPG Maker VX gibt ich hab bei google gesucht aber nur welche für den 2k gefunden und für den RPG Maker XP...

Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am Juli 03, 2010, 23:44:50
Ich habe ein Problem mit meinem HUD.
Ich habe das Vampyr-HUd ein wenig verändert.
Hier mein Script:
#==============================================================================
# Vampyr HUD  $game_party.members[1]
#==============================================================================
# Switch ID that show or hide the HUD
OnOff_Switch = 0

# The name of the font
Font_Name = Font.default_name

# The size of the font
Font_Size = 16

#------------------------------------------------------------------------------
#if Vampyr_Kernel.enabled?("Vampyr SBABS")
#------------------------------------------------------------------------------
Vampyr_Kernel.register("Vampyr HUD", 1.0, "09/01/2009")
#------------------------------------------------------------------------------
class Vampyr_HUD1 < Window_Base
   
  def initialize
    super(-32, -32, 224, 140)
    self.opacity = 0
    @actor = $game_party.members[0]
    @old_hp = @actor.hp if @actor != nil
    @old_mp = @actor.mp if @actor != nil         
    update
    refresh
  end
 
  def update   
    return if $game_party.members.size <= 0
    @actor = $game_party.members[0] if @actor != $game_party.members[0]
    return unless @old_hp != @actor.hp or @old_mp != @actor.mp
    @old_hp = @actor.hp
    @old_mp = @actor.mp     
    refresh
  end
 
  def refresh   
    return if $game_party.members.size <= 0
    self.contents.clear
    draw_hpbar(@actor, 18, 14)
    draw_mpbar(@actor, 18, 54)   
    draw_actor_graphic($game_party.members[0],95,70)
     self.contents.font.name = Font_Name
    self.contents.font.size = Font_Size
    self.contents.draw_outlined_text(32, 24, 44, 24, Vocab::hp_a)
    self.contents.draw_outlined_text(32, 64, 34, 24, Vocab::mp_a)   
  end
 
  def draw_hpbar(actor, x, y)
    base = Cache.system("Bars-Base")
    self.contents.blt(x, y, base, base.rect)
    bar = Cache.system("HP-Bar")
    meter = Rect.new(0, 0, base.width * actor.hp / actor.maxhp, base.height)
    self.contents.blt(x, y, bar, meter)
  end 
 
  def draw_mpbar(actor, x, y)
    base = Cache.system("Bars-Base")
    self.contents.blt(x, y, base, base.rect)
    bar = Cache.system("MP-Bar")
    meter = Rect.new(0, 0, base.width * actor.mp / actor.maxmp, base.height)
    self.contents.blt(x, y, bar, meter)
  end
   
end

#------------------------------------------------------------------------------
class Scene_Map < Scene_Base
 
  alias vampyr_hud_start start
  alias vampyr_hud_update update
  alias vampyr_hud_terminate terminate
 
  def start
    vampyr_hud_start
    @hud_window1 = Vampyr_HUD1.new
    @hud_window1.visible = false 
    showing_hud
  end
 
  def update
    vampyr_hud_update
    showing_hud
    @hud_window1.update if @hud_window1.visible   
  end
 
  def terminate
    vampyr_hud_terminate
    @hud_window1.dispose 
  end
 
  def showing_hud
    if OnOff_Switch <= 0 or $game_switches[OnOff_Switch]
      @hud_window1.visible = true 
    else
      @hud_window1.visible = false   
    end
  end

end
#------------------------------------------------------------------------------
#end

Meine Frage: Wie mache ich es, dass die Base-Bar im Vordergrund und die Hp- bzw Mp-Bar im Hintergrund angezeigt wird?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Master Chain am Juli 04, 2010, 11:06:48
@Hatzu
Zitat
Öhm...
Ich wollte mal Fragen ob es ein AKS für den RPG Maker VX gibt ich hab bei google gesucht aber nur welche für den 2k gefunden und für den RPG Maker XP...
Für den VX gibt es auch eines müsstest du im Script bereich sogar finden können
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am Juli 05, 2010, 19:54:40
Kann mir wirklich keiner helfen? Wäre nämlich sehr wichtig?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Melmier am Juli 26, 2010, 12:08:45
Habe in der SuFu nix gefunden, hier mein Problem:

Habe mit dem Script KGC_CustomMenuCommand n bizzl rumprobiert und versucht neben den KGc Scripts noch den Questlog von hellminor ins Menü zu tun, also habe ich den Skript mal umgewurschtelt, der bei diesem Costum Menü alle anderen Menüs öffnet, also sah das ganze so aus:
      when 7         # Questlog
        index_list[:Questlog] = commands.size
        commands << $scene = Scene_Questlog.new

WEnn ich jetzt ins Menü gehe, öffent der mir direkt den Questlog, beende ich den Questlog wird wieder direkt der Questlog geöffnet, es ist also n Autostart sobald ich das Menü anmache..
Titel: Re: Hilfe zu Skripten.
Beitrag von: eugene222 am Juli 28, 2010, 18:57:00
Poste mal das Komplette Skript, vielleicht kann ich dir dann dabei helfen, weil ich es dann selber testen kann...
Titel: Re: Hilfe zu Skripten.
Beitrag von: Khazmadoz am August 03, 2010, 02:52:34
Bräuchte auch nochmal Hilfe :S.
Folgendes Script habe ich eingebunden:
#==============================================================================
# ** Scene_Movie
#------------------------------------------------------------------------------
#  This class performs movies.
#==============================================================================
class Scene_Movie

  def initialize(movie, length, next_scene)
    @movie_name = Dir.getwd()+"\\Movies\\"+movie
    @counter = length
    @next_scene = next_scene
  end
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    Graphics.transition
    @wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
    @temp = @wnd.call(0,0,nil,"Mayumi").to_s
    @movie = Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V')
    @movie.call("open \""+@movie_name+"\" alias FILE style 1073741824 parent " + @temp.to_s,0,0,0)
    @message = Win32API.new('user32','SendMessage','%w(l,l,l,l)','V')
    @movie.call("play FILE",0,0,0)
    loop do
      sleep(1)
      @message.call(@temp.to_i,11,0,0)
      Input.update
      @message.call(@temp.to_i,11,1,0)
      if Input.trigger?(Input::B)
        break
      end
      @counter = @counter - 1
      if @counter == 0
        break
      end
    end
    @movie.call("close FILE",0,0,0)
    $scene = @next_scene
    Graphics.freeze
  end
end

Funktionieren tut es soweit.
Mein Problem ist jetzt, dass nach der Ausführung des Scripts das Fenster des Spiels minimiert wird/bleibt...
Meine Frage wäre ob es entweder eine Möglichkeit gibt das mithilfe einer Änderung im Script zu verbessern oder aber
ob es eine Art Befehl gibt, die das Spielfenster wieder maximiert....
Danke für die Hilfe
Titel: Re: Hilfe zu Skripten.
Beitrag von: BananenToast am August 04, 2010, 17:39:00
Hi,
bin neu und noch nich so gut mit dem RPG Maker Vertraut .. naja ein bissel kann ich schon aber beim Scripten blick ich garnet durch...
Ich verstehe ja wie ich Scripts einfüge klappt auch alles suber hab schon ein kleines Spiel.. aber mich würde jetzt mal interessieren wie man sich selber einen Script erstellt!
Ich hab schon gegoogelt und was nicht alles aber ich finde nix.. wäre nett wenn mir jemand helfen könnte =)

Danke im Voraus

MFG BananenToast
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cyberxeroxx am August 04, 2010, 18:11:23
Schau mal hier in die Tutorial Sektion^^.

Es sind nur Grundlagen aber die werden auf jedenfall helfen.

http://www.rpgvx.net/index.php/topic,5193.0.html
http://www.rpgvx.net/index.php/topic,5212.0.html

Mfg

Cyberxeroxx
Titel: Re: Hilfe zu Skripten.
Beitrag von: BananenToast am August 04, 2010, 19:45:43
Danke ich werds mir durchlesen...
Ich send dir dann mal post obs mir geholfen hat ;D
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am August 08, 2010, 15:33:27
Ich habe mal wieder eine Frage:
Ich verwende das Simple-Map-Name script von HellMinor. Nun möchte ich während dem Spiel per CallScript das Hintergrundbild austauschen. Dazu habe ich den SCript ersteinmal so abgeändert:
#==============================================================================
#  Simple Map-Name
#
#  Version : 1.24 - 12.11.08
#  Created by : hellMinor
#  Do NOT redistribute without my permission
#  Description : A little script to show the name of the current map
#  Note : This script was originally made to cut out the additions to
#         the mapname made by my Day and Night script but it works normally
#         without it.
#
#==============================================================================
# F.A.Q.
#==============================================================================
# If you want a background picture for your mapnames just put a picture
# called "location_back" into the folder "Graphics/System"
#==============================================================================
# Main config
#==============================================================================
  X_POSITION = 10           # Default = 10
  Y_POSITION = 10           # Default = 10
  DELAY = 2                 # How long the Mapname is shown (in seconds)
  ALIGN = 0                 # Align of the Mapname(0 = left, 1 = center, 2 = right)
  PICTURE_MAPNAME = "location_back"
  PIC_FORMAT = "png"        # Format for the Nightlight-Maps
  COLOR = 255,255,255,255   # Textcolor, default is white (255,255,255,255)
  $show_mapname = true      # Visible ?
#==============================================================================
class Scene_Map
#==============================================================================
  def update_transfer_player
    return unless $game_player.transfer?
    fade = (Graphics.brightness > 0)
    fadeout(30) if fade
    @spriteset.dispose
    dispose_showname_window
    $game_player.perform_transfer
    $game_map.autoplay
    $game_map.update
    Graphics.wait(15)
    @spriteset = Spriteset_Map.new
    fadein(30) if fade
    Input.update
    create_showname_window
  end
#------------------------------------------------------------------------------
  def create_showname_window
    @str = $game_map.name.gsub(/\[\w*\]/) {""}
    @mapname = Window_MapName.new(X_POSITION,Y_POSITION,200,56,@str)
    @mapname.z = 300
    @delay = DELAY*60
  end
#------------------------------------------------------------------------------ 
  def dispose_showname_window
    @mapname.dispose if defined?(@mapname)
  end
#------------------------------------------------------------------------------
  alias update_mapname_adds update
  def update
    update_mapname_adds
    if $show_mapname == true and defined?(@mapname) and not @mapname.disposed?
      @mapname.fade_in if @mapname.contents_opacity <= 255 and @delay > 0
      @delay -= 1 if @mapname.contents_opacity == 255 and @delay > 0
      @mapname.fade_out if @mapname.contents_opacity >= 0 and @delay == 0
    end
  end
#------------------------------------------------------------------------------
  def update_scene_change
    return if $game_player.moving?    # Is player moving?
    dispose_showname_window if $game_temp.next_scene != nil
    case $game_temp.next_scene
    when "battle"
      call_battle
    when "shop"
      call_shop
    when "name"
      call_name
    when "menu"
      call_menu
    when "save"
      call_save
    when "debug"
      call_debug
    when "gameover"
      call_gameover
    when "title"
      call_title
    else
      $game_temp.next_scene = nil
    end
  end
 
end
#==============================================================================
class Window_MapName < Window_Base
#============================================================================== 
  def initialize(x = 0,y = 0,width = 544, height = 416, text = "")
    super(x,y,width,height)
    self.opacity = 0
    self.contents_opacity = 0
    @text = text
    refresh
  end
#------------------------------------------------------------------------------ 
  def refresh
    self.contents.clear
    @sprite = Sprite.new()
    begin
    @sprite.bitmap = Bitmap.new("Graphics/System/" + PICTURE_MAPNAME)
    rescue Errno::ENOENT
    end
    @sprite.opacity = 0
    @sprite.x = X_POSITION+5
    @sprite.y = Y_POSITION+5
    self.contents.font.color = Color.new(COLOR[0],COLOR[1],COLOR[2],COLOR[3])
    self.contents.draw_text(4, 0, self.width - 40, WLH, @text, ALIGN)
  end
#------------------------------------------------------------------------------
  def dispose
    @sprite.dispose
    super
  end
#------------------------------------------------------------------------------
  def fade_in
    self.contents_opacity += 2
    @sprite.opacity += 2
  end
#------------------------------------------------------------------------------
  def fade_out
    self.contents_opacity -= 2
    @sprite.opacity -= 2
  end
#------------------------------------------------------------------------------   
end
#==============================================================================
class Scene_Title < Scene_Base
#==============================================================================
  alias load_database_mapname_adds load_database
  def load_database
    load_database_mapname_adds
    $data_mapinfos      = load_data("Data/MapInfos.rvdata")
    for key in $data_mapinfos.keys
      $data_mapinfos[key] = $data_mapinfos[key].name
    end
  end
 
end
#==============================================================================
class Game_Map
#============================================================================== 
  def name
    $data_mapinfos[@map_id]
  end
 
end

Nun mache ich ein Event mit folgendem Inhalt:

CallScript: PICTURE_MAPNAME = "Location2"
Teleport

Leider ändert sich das Bild aber nicht.
Wo liegt mein Fehler?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am August 08, 2010, 15:51:03
Wenn ich dir empfehlen darf, diese Version zu verwenden:
#==============================================================================
#  Simple Map-Name
#
#  Version : 1.24 - 12.11.08
#  Created by : hellMinor
#  Do NOT redistribute without my permission
#  Description : A little script to show the name of the current map
#  Note : This script was originally made to cut out the additions to
#         the mapname made by my Day and Night script but it works normally
#         without it.
#
#==============================================================================
# F.A.Q.
#==============================================================================
# If you want a background picture for your mapnames just put a picture
# called "location_back" into the folder "Graphics/System"
#==============================================================================
# Main config
#==============================================================================
  X_POSITION = 10           # Default = 10
  Y_POSITION = 10           # Default = 10
  DELAY = 2                 # How long the Mapname is shown (in seconds)
  ALIGN = 0                 # Align of the Mapname(0 = left, 1 = center, 2 = right)
  PIC_FORMAT = "png"        # Format for the Nightlight-Maps
  COLOR = 255,255,255,255   # Textcolor, default is white (255,255,255,255)
  $show_mapname = true      # Visible ?
  # Mit Call Script folgendes eingeben, um den Namen für die Hintergrundgrafik zu
  # ändern:
  #change_picture_mapname(name)
  # Der Parameter name muss in Anführungszeichen gesetzt werden.
#==============================================================================
class Scene_Map
#==============================================================================
  def update_transfer_player
    return unless $game_player.transfer?
    fade = (Graphics.brightness > 0)
    fadeout(30) if fade
    @spriteset.dispose
    dispose_showname_window
    $game_player.perform_transfer
    $game_map.autoplay
    $game_map.update
    Graphics.wait(15)
    @spriteset = Spriteset_Map.new
    fadein(30) if fade
    Input.update
    create_showname_window
  end
#------------------------------------------------------------------------------
  def create_showname_window
    @str = $game_map.name.gsub(/\[\w*\]/) {""}
    @mapname = Window_MapName.new(X_POSITION,Y_POSITION,200,56,@str)
    @mapname.z = 300
    @delay = DELAY*60
  end
#------------------------------------------------------------------------------ 
  def dispose_showname_window
    @mapname.dispose if defined?(@mapname)
  end
#------------------------------------------------------------------------------
  alias update_mapname_adds update
  def update
    update_mapname_adds
    if $show_mapname == true and defined?(@mapname) and not @mapname.disposed?
      @mapname.fade_in if @mapname.contents_opacity <= 255 and @delay > 0
      @delay -= 1 if @mapname.contents_opacity == 255 and @delay > 0
      @mapname.fade_out if @mapname.contents_opacity >= 0 and @delay == 0
    end
  end
#------------------------------------------------------------------------------
  def update_scene_change
    return if $game_player.moving?    # Is player moving?
    dispose_showname_window if $game_temp.next_scene != nil
    case $game_temp.next_scene
    when "battle"
      call_battle
    when "shop"
      call_shop
    when "name"
      call_name
    when "menu"
      call_menu
    when "save"
      call_save
    when "debug"
      call_debug
    when "gameover"
      call_gameover
    when "title"
      call_title
    else
      $game_temp.next_scene = nil
    end
  end
 
end
#==============================================================================
class Window_MapName < Window_Base
#============================================================================== 
  def initialize(x = 0,y = 0,width = 544, height = 416, text = "")
    super(x,y,width,height)
    self.opacity = 0
    self.contents_opacity = 0
    @text = text
    refresh
  end
#------------------------------------------------------------------------------ 
  def refresh
    self.contents.clear
    @sprite = Sprite.new()
    begin
    @sprite.bitmap = Bitmap.new("Graphics/System/#{$game_system.background_image_name}")
    rescue Errno::ENOENT
    end
    @sprite.opacity = 0
    @sprite.x = X_POSITION+5
    @sprite.y = Y_POSITION+5
    self.contents.font.color = Color.new(COLOR[0],COLOR[1],COLOR[2],COLOR[3])
    self.contents.draw_text(4, 0, self.width - 40, WLH, @text, ALIGN)
  end
#------------------------------------------------------------------------------
  def dispose
    @sprite.dispose
    super
  end
#------------------------------------------------------------------------------
  def fade_in
    self.contents_opacity += 2
    @sprite.opacity += 2
  end
#------------------------------------------------------------------------------
  def fade_out
    self.contents_opacity -= 2
    @sprite.opacity -= 2
  end
#------------------------------------------------------------------------------   
end
#==============================================================================
class Scene_Title < Scene_Base
#==============================================================================
  alias load_database_mapname_adds load_database
  def load_database
    load_database_mapname_adds
    $data_mapinfos      = load_data("Data/MapInfos.rvdata")
    for key in $data_mapinfos.keys
      $data_mapinfos[key] = $data_mapinfos[key].name
    end
  end
 
end
#==============================================================================
class Game_Map
#============================================================================== 
  def name
    $data_mapinfos[@map_id]
  end
 
end
class Game_System
  attr_accessor :background_image_name
  alias initialize_mapname_background initialize unless $@
  def initialize
    initialize_mapname_background
    @background_image_name = "location_back"
  end
end
class Game_Interpreter
  def change_picture_mapname(name)
    $game_system.background_image_name = name
  end
end

Der Command ist in den Commaents enthalten und ist ganz simpel. Hab es jetzt nicht ausprobiert, aber es müsste funktionieren. :)

Warum es nicht funktioniert hat:
Die Konstante PICTURE_MAPNAME war an keine Klasse "gebunden" und konnte deshalb nur innerhalb dieses Scriptes aufgegriffen und verändern werden. Desweiteren würde sich der Name wieder zurücksetzen, falls man gespeichert und geladen hätte. Nun ist der Name der Grafik in einer Variable der Klasse Game_System gespeichert, die beim speichern auch den Namen der Grafik mitübernimmt.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am August 08, 2010, 16:07:25
Vielen Dank!!!
Es funktioniert einwandfrei.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Happyman am August 08, 2010, 21:13:35
hab mal wieder eine Frage unzwar ich möchte zum Kampf Noch ein Status rein machen aber ich habe kein ATG oder wo das schon drin ist
kann da einer helfen ???

schon mal danke im voraus;)
Titel: Re: Hilfe zu Skripten.
Beitrag von: 20-Sawboy-20 am August 09, 2010, 16:54:14
Gib es ein NPC Namen zeig Skript
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am August 09, 2010, 16:57:27
Hi.
@happyman
Ich verstehe leider nicht was du genau möchtest, könntest du es genauer beschreiben?

@Sawboy
Probier doch mal folgendes aus:
http://www.rpgvx.net/index.php/topic,1130.0.html


MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: 20-Sawboy-20 am August 09, 2010, 18:04:39
Ok der hatte ich auch schon aber da spinnt mein Spiel ka wieso aber habe eine Löschung gefunden habe

Floating Event's Name benutzt
Titel: Re: Hilfe zu Skripten.
Beitrag von: Happyman am August 09, 2010, 18:33:26
Deity : Bei einen charakter im Kampf sind ja so Anzeigen Attacke,Abwehr,Technik und so weiter.Ich möchte statt Technik Wasserkraft oder so und bein einem anderen charakter Feuerkraft oder so ???
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am August 09, 2010, 18:43:55
@happyman
Geh dafür auf Database > Classes. Unten rehcts findest du dann ein Kästchen wo du ein Häckchen setzen musst. Dort kannst du die Fähigkeiten dieser Klasse bennen.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: 20-Sawboy-20 am August 09, 2010, 18:52:56
so ich bins wieder sry wenn ich nerve aber suche nach 8-Way Move System und ein respawnen Skript
Titel: Re: Hilfe zu Skripten.
Beitrag von: Happyman am August 09, 2010, 18:58:32
THX :)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Noa3 am August 09, 2010, 22:37:18
hi hoffe mir kann jemand nen bissel helfen,
ich brauche den call event um den lade bildschirm aufzurufen.
kann mir den kurz jemand hier posten?
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am August 09, 2010, 22:42:43
$scene = Scene_File.new(false, false, false)Das müsste es sein.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Noa3 am August 09, 2010, 22:46:17
vielen vielen dank :D
ging ja sehr schnell^^

Post zusammen gefügt: August 09, 2010, 22:58:24
so ich bruehcte nochmal hilfe >.<
das gleiche nur wie kann ich das spiel per call benden?
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am August 09, 2010, 23:10:01
Ganz einfach:
$scene = nil
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am August 10, 2010, 00:43:11
in der Database bei den Klassen kannst du unterschiedliche Namen für die Techniken eingeben.
lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: 20-Sawboy-20 am August 12, 2010, 18:45:29
Gib es ein Skript das mein Charakter laufen kann
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am August 12, 2010, 18:47:08
Was meinst du damit?
Der Player kann ja mit den Pfeiltasten laufen, wenn du ihm eine Route vorschreiben willst, musst du per Event eine Bewegungsroute bestimmen, das ist auf Seite 2.
Titel: Re: Hilfe zu Skripten.
Beitrag von: OceanBlue am August 12, 2010, 18:48:24
Wenn du damit rennen meinst: So eine Funktion ist im Maker bereits integriert (im Spiel Shift drücken).
Titel: Re: Hilfe zu Skripten.
Beitrag von: 20-Sawboy-20 am August 12, 2010, 19:21:04
ahh das ist mir neu aber das wollte ich wissen danke
Titel: Re: Hilfe zu Skripten.
Beitrag von: BlaBlaDieBlu am August 15, 2010, 14:29:50
Hey ^^
Kann mir jmd. helfen ich finde das Vampyr Net - Script von Vlad nicht :O
Titel: Re: Hilfe zu Skripten.
Beitrag von: Domin0e am August 15, 2010, 14:47:48
Klick mich hart (http://www.rpgrevolution.com/forums/index.php?showtopic=35062&hl=Vlad+online)

Ist der link zum thread auf rrr.
Titel: Re: Hilfe zu Skripten.
Beitrag von: BlaBlaDieBlu am August 15, 2010, 17:13:48
Wen ich dann auf Download klicke lade icih bei MSN O.o
Titel: Re: Hilfe zu Skripten.
Beitrag von: Domin0e am August 15, 2010, 17:32:27
Richtig. Der gute Vlad hat nämlich seine HP eingeebnet und alles auf sein Skydrive gestellt.
Titel: Re: Hilfe zu Skripten.
Beitrag von: BlaBlaDieBlu am August 15, 2010, 19:10:42
muss ich mich nu bei MSN anmelden?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Franky am August 17, 2010, 11:30:03
Frage zum Vlad ABS (neueste Version): Ist es möglich dort ein Event zu erstellen, welches nicht in der Gruppe ist und alle Feinde angreift, die sich diesem Event nähern? Irgendwie bin ich mir nicht ganz sicher, ob das wirklich geht.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Maroma am August 20, 2010, 21:55:25
Hat sich erledigt
Titel: Re: Hilfe zu Skripten.
Beitrag von: Franky am August 20, 2010, 23:12:47
Hat sich erledigt
Bei mir noch nicht...
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am August 26, 2010, 19:22:49
Ich habe eine Frage: Ich habe mir heute dieses Tutorial zum aliasen angeschaut: http://www.rpgrevolution.com/forums/?showtopic=13319 (http://www.rpgrevolution.com/forums/?showtopic=13319)
Nun habe ich mal versucht, eine andere Scene als Menü aufzurufen. Das habe ich so gemacht:
class Scene_Map < Scene_Base
 
  alias change_menu_ai call_menu
   def call_menu
     $scene = Scene_Menu.new
     $scene = AcIn::MENU_SCENE.new
     end
#--------------------------------------------------------------------------
 end
#--------------------------------------------------------------------------
Es funktioniert eigentlich, die andere Scene wird aufgerufen. Wenn ich aber nun die Scene verlasse (also X drücke), wird die Scene sofort wieder aufgerufen.
Was habe ich falsch gemacht?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am August 26, 2010, 20:04:15
Es funktioniert eigentlich, die andere Scene wird aufgerufen. Wenn ich aber nun die Scene verlasse (also X drücke), wird die Scene sofort wieder aufgerufen.
Was habe ich falsch gemacht?

Das liegt an der Art des Aufruffs vom Menu.
In update_call_menu wird überprüft, ob die Taste B gedrückt wurde, in diesem Fall wird in game_temp die Variable next_scene auf "menu" gesetzt.
Nun wird in update_scene_change geschaut, welchen Wert die Variable next_scene hat. Diese hat den Wert "menu" deshalb wird die Methode call_menu aufgerufen.
Nun kommt deine Veränderung ins Spiel.
In der originallen Methode, wird die Variable $game_temp.next_scene auf nil gesetzt, bei dir aber nicht. Du rufst einfach nur 2 Scenes auf, was übrigens auch falsch ist, da nur die letzte Scene aufgeruffen wird (Scene_Menu öffnet sich zwar kurz, wechselbt aber sofort wieder).
Nun schliesst du das Menu und der Update fängt von vorne an und die Variable $game_temp.next_scene hat immer noch den Wert "menu" deshalb wird sofort wieder call_menu aufgeruffen. Folge ist dieser kleine Fehler. ^^

Falls du die komplette Methode ändern möchtest, musst du letzendlich überschreiben und nicht aliasen. ^^ Das heisst in dem Fall war das Aliasen überflüssig, vor allem weil du die alte Methode garnicht gebraucht hast. :) Ausserdem solltest du folgedes beim aliasen verwenden: unless $@ oder unless method_defined?("neuer_methode_name"), um Stack Errors vorzubeugen.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am September 01, 2010, 09:30:43
Ich hätte mal wieder eine Frage >3<
Und zwar mit welchem Skript(Skripten) ich so etwas wie auf diesem Screen aufbauen kann KLICK (http://www.shrani.si/f/1Z/Vs/1o6FEFo3/enixbs.png)
Sprich, ein Sideview System, unten die Artworks der Charaktere (statt den Avataren oder nur den Namen) und oben Links oder Rechts das Menü?
Sideview KS kenn ich ja zu genüge, aber gibt es für die auch ein Add-on für Artworks?
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am September 01, 2010, 14:17:22
Tankentai mit ein paar kleinen Modifikationen (das der Battlehud so ausguckt unten, ansonsten is der blos leicht nach rechts zusammengedrückt) + Ziifee Spin Command (Overdrive Add-On)
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am September 02, 2010, 10:47:51
Hab jetzt zwar nur Bahnhof verstanden, aber trotzdem danke dir! q.q

Neben dem Problem habe ich noch ein anderes, ich weiß nicht mal ob so etwas möglich ist, aber das kann mir sicher irgend wer sagen, und zwar hab ich irgend wo mal ein skript gesehen, mit dem man die Person mit der man läuft wechseln kann (sprich man hat 2 Chars in der Party, Held 1 und Held 2, statt Held 1 kann man nach belieben auswählen ob man vll auch mal mit Held 2 laufen möchte) so, nun zu meiner eigentlichen Frage, kann man den Helden dann auch spezifische Fähigkeiten geben, so das man Held 1 spielt z.B sprinten kann, mit Held 2 springen u.s.w.?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 02, 2010, 11:17:13
Hi,
ja das ist sogar ziemmlich leicht.
Das ganze würde ich sogar ohne Ruby machen, naja nicht ganz. xD
Du erstellst ein Common Event, welches parallel zum Spiel läuft.
In der ersten Zeile müsstest du mit einem Call Script arbeiten und zwar folgendes einfügen:
$game_variables[id] = $game_party.members[0].idNun wird die Variable, die die ID id besitzt, der ID des ersten Partymitglieds gleichgesetzt. Also, ist Ralph das erste Partymitglied, so ist der Wert der Variable 1, wäre Bannet das erste Mitglied der Party, wäre der Wert 3, diese Werte entsprechen den IDs dieser Actors in der Database. ^^
(id im Call Script unbedingt mit der ID der Variable ersetzen, mit welcher du arbeiten willst.)
Nun kannst du also mit leichtigkeit abfragen, welcher Actor an erster Stelle steht.
In das Common Event, welches parallel läuft kannst du nun deine Spezialfähigkeiten packen. ^^
In den folgenden Zeilen fragst du einfach ab, welches der Partymitglieder an erster Stelle steht und fügst Effekte hinzu.
Also z.B.
ConditionalBranch Variable == 1
Sprinten: AN
else
Sprinten: AUS
end
Das kannst du nun einfach mit allen Actors aus der Database machen. ^^
Zum Actoraustausch auf der Map, kannst du ja ein Script verwenden, welches bereits geschrieben wurde, das mit Events zu gestalten wäre unnötig kompliziert.
Hier ein sehr simples von mir:
module Play_Exchange
  SE_NAME = "Cursor"
end
class Game_Party
  def change_first_member_l
    @actors.insert(0,@actors[-1])
    @actors.pop
    $game_player.refresh
  end
  def change_first_member_r
    @actors.insert(-1,@actors[0])
    @actors.delete_at(0)
    $game_player.refresh
  end
end
class Scene_Map
  alias update_player_exchange update unless $@
  def update
    if Input.trigger?(Input::L)
      Audio.se_play("Audio/SE/#{Play_Exchange::SE_NAME}")
      $game_party.change_first_member_l
    elsif Input.trigger?(Input::R)
      Audio.se_play("Audio/SE/#{Play_Exchange::SE_NAME}")
      $game_party.change_first_member_r
    end
    update_player_exchange
  end
end
Auf der Map durch drücken von Q/W kannst du den Player wechseln.

Hoffe konnte dir einen Anstoss in die Richtige Richtung geben. :P

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am September 02, 2010, 15:06:11
Danke für das Skript Deity, hätte jetzt auf anhieb auch nicht das gefunden, was ich mal irgend wo gesehen hatte, klappt auch super <3

Für den Rest bin ich irgend wie zu doof, ich hab auch noch nie großartig mit Common Events und Variablen gearbeitet, daher ist es grad etwas schwer für mich da einzufinden. Wobei ich das mit dem Common Event glaub ich sogar einigermaßen verstanden hab, nur an den Variablen scheitert es dann >3<
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 02, 2010, 15:42:09
Also ich habe ein einfaches Beispiel gemacht, was sehr weit ausgebaut werden kann, aber das Prinzip bleibt.
Hier erstmal das Bild zum Common Event.
http://250kb.de/u/100902/p/2ud4SxHKFN1K.png

Also als erstes wie oben schon gesgat, allerdings etwas anders geschrieben, um Fehler zu vermeiden.

Call Script:
id = $game_party.members[0].id
$game_variables[1] = id

Die Variable mit der ID 1 wird in diesem Fall der Database-ID des ersten Partymitglieds gesetzt. (In der STandart DB, Ralph = 1, Ulrika = 1, Bennet = 3 etc.)
Ändere die ID, sprich die 1 in die Variable, die die ID des Actor beinhalten soll.

Nun wird als erstes abgefragt welchen Wert diese Variable hat, dafür benutzt du einfach Conitional Branch, Variable == ID.
Die erste Abfrage ist für Ralph, deshalb wird abgefragt, ob die Variable den Wert 1 hat, ist dies der Fall, so habe ich mich zur Demonstration für eine HP-Regeneration entschieden, die jede 5 Sekunden (300 Frames) geschehen soll. Also lass ich eine Variable die Frames zählen und frag ab, ob 300 Frames vorbei sind und wenn ja regeneriere ich die HP um 10 und ressete die Variable.
Das selbe Prinzip habe ich auch nun bei der Abfrage für Ulrika verwendet, allerdings mit MP.
Bei der Abfrage ob Bennet der "spielbare" Character ist, habe ich einfach mal Zufallskämpfe erlaubt bzw. verboten.
Nach diesem Prinzip kannst du für alle Actors der Database, individuelle Fähgkeiten entwickeln, allerdings kann es natürlich verfeinert werden, da der Screen bzw. das Beispiel nur zur Demonstartion dienen soll. ^^

Hoffe es ist klarer geworden, was ich meine.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am September 02, 2010, 17:33:53
Vielen lieben Dank! Klappt nun super <3
brauchte nur eine ganze weile bis mir eingefallen ist das man erst einmal die Bedinung für das Common Event erfüllen sollte *hust*
Hast mir wirklich sehr weiter geholfen! '_'
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 02, 2010, 17:51:48
Freut mich, dass ich dir helfen konnte. :)

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Omega am September 06, 2010, 16:55:19
Ich hät da mal eine Frage...

Ich hab jetzt das Script für die benutzung mehrer Tilesets für MAPS mal ausprobiert(das von hellmiror)
da bräuchte ich das Java set (das ich habe) und das "Tileset_reLoaded" ding...
habe beides...
Und dann steht da das ich das Tileset_reLoaded starten muss um wechseln zu können... aber es zeigt immer wieder die Meldung...
"Fehler!"
"Kein Projekt gefunden!"
an.

Was hab ich falsch gemacht?

Schonmal danke an die Antworten die noch kommen...
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am September 06, 2010, 17:01:02
hast dus im Projektordner, in dem gewechselt werden soll?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Omega am September 06, 2010, 17:42:54
Ja... (Was fürn Spam von mir -__-)
Titel: Re: Hilfe zu Skripten.
Beitrag von: rayman am September 06, 2010, 18:49:56
Ich habe mal ein Script versucht...

Zitat
module Ray
  SWITCH_ID = 20
end

class Game_Player < Game_Character
  class Scene_Ray
  def main
    if $game_switches[Ray::SWITCH_ID] == true
        $scene_Game_Character_CENTER_X = (544/ 2 - 16) * 4
        $scene_Game_Character_CENTER_Y = (416/ 2 - 16) * 4
      end
    end
  end
end

Damit soll die feste Position des Spielers verändert werden. Dafür muss der Switch 20 aktiviert sein. Doch aus einem mir unbekannten Grund funktioniert es nich -.-
Es kommt kein Error, es funktioniert einfach nur nicht -.-
Kann mir jemand helfen?
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am September 09, 2010, 21:23:09
Ich suche nach einer Möglichkeit, statt dem normalen Speichern es so zu machen:

In einer bereits vorhandenen Savedatei sollen z.B. nur die Switches, Variablen und Gold überspeichert werden. D.h., dass alles andere in der Savedatei beibehalten werden soll.

Geht so etwas?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 09, 2010, 21:28:38
@PDM
Ja es geht. ^^
Schau dir einfach mal Scene_File an, dort müsstest du alles finden, weas du dafür benötigst.

@rayman
module Ray
  SWITCH_ID = 20
end

class Game_Player < Game_Character
  class Scene_Ray
  def main
    if $game_switches[Ray::SWITCH_ID] == true
        $game_player.center_x = (544/ 2 - 16) * 4
        $game_player.center_y = (416/ 2 - 16) * 4
        $game_switches[Ray::SWITCH_ID] = false
      end
    end
  end
end
Vllt klappt es ja so?

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am September 09, 2010, 21:44:38
Hm, ich habe es so ausprobiert:
   Marshal.dump($game_switches,       file)
    Marshal.dump($game_variables,      file)
Marshal.dump($game_party,          file)

So, jetzt werden aber nur diese Daten gespeichert (was ich nachvollziehen kann). Laden kann ich aber das ganze nicht. Ich habe aber keine Ahnung wie ich es mache, dass bei einem vorhandenen Savefile diese Dinge überschrieben werden und alles andere bleibt.
Ich arbeite daran schon den ganzen Tag und kriegs einfach nicht raus :(
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 09, 2010, 21:53:22
Möchtest du das ganze in Save_Files haben, also in der Scene, die man ingame betreten kann, oder per Call Script?
Ich könnt versuchen da was zu schreiben. ^^

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am September 09, 2010, 21:56:43
In der Scene wäre gut.
Wäre echt nett von dir wenn du mir helfen könntest.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 09, 2010, 22:32:09
class Scene_File
  def do_save
    file = @savefile_windows[@index].filename
    write_save_data(file)
    return_scene
  end
  alias write_save_data_n write_save_data unless $@
  def write_save_data(file)
    if FileTest.exist?(file)
      fl = File.open(file,"rb")
      characters           = Marshal.load(fl)
      Graphics.frame_count = Marshal.load(fl)
      @last_bgm            = Marshal.load(fl)
      @last_bgs            = Marshal.load(fl)
      game_system         = Marshal.load(fl)
      game_message        = Marshal.load(fl)
      game_switches       = Marshal.load(fl)
      game_variables      = Marshal.load(fl)
      game_self_switches  = Marshal.load(fl)
      game_actors         = Marshal.load(fl)
      game_party          = Marshal.load(fl)
      game_troop          = Marshal.load(fl)
      game_map            = Marshal.load(fl)
      game_player         = Marshal.load(fl)
      game_party.gain_gold($game_party.gold-game_party.gold)
      fl.close
      file = File.open(file,"wb")
      $game_system.save_count += 1
      Marshal.dump(characters,           file)
      Marshal.dump(Graphics.frame_count, file)
      Marshal.dump(@last_bgm,            file)
      Marshal.dump(@last_bgs,            file)
      Marshal.dump(game_system,         file)
      Marshal.dump(game_message,        file)
      Marshal.dump($game_switches,       file)
      Marshal.dump($game_variables,      file)
      Marshal.dump(game_self_switches,  file)
      Marshal.dump(game_actors,         file)
      Marshal.dump(game_party,          file)
      Marshal.dump(game_troop,          file)
      Marshal.dump(game_map,            file)
      Marshal.dump(game_player,         file)
    else
      file = File.open(file,"wb")
      write_save_data_n(file)
      file.close
    end
  end
end

Probiers mal damit. ^^

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am September 09, 2010, 22:52:35
Irgendwie hat das Script ein Problem mit dem Prexus-Party Manager.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 09, 2010, 22:54:14
Kenne das Script nicht, aber wenn du mir ein Link dazu gibst, könnte ich es mir mal anschauen. ^^
Wahrscheinlich werden die Freigeschalteten Einheiten in einer Variable gespeichert, die ich natürlich nicht übernehmen kann, kenn diese ja nicht. :P

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am September 09, 2010, 23:58:08
Hier: Link (http://www.rpgmakervx.net/index.php?showtopic=1040)
Gibt es aber nicht irgendeine Möglichkeit das so (ähnlich) zu machen?

-Selected Savefile laden (egal was für Scripte benutzt werden)
-Switches, Variablen und Gold überspeichern
-Ende

Also dass die ganzen Dinge nicht geladen werden müssen, sondern einfach nur eine Art Edit im Savefile.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am September 10, 2010, 16:35:01
So habe ich es ja auch gemacht. ;)

Also das kommt über das Party Script:
class Scene_File
  def do_save
    file = @savefile_windows[@index].filename
    write_save_data(file)
    return_scene
  end
  alias write_save_data_n write_save_data unless $@
  def write_save_data(file)
    if FileTest.exist?(file)
      fl = File.open(file,"rb")
      characters           = Marshal.load(fl)
      Graphics.frame_count = Marshal.load(fl)
      @last_bgm            = Marshal.load(fl)
      @last_bgs            = Marshal.load(fl)
      game_system         = Marshal.load(fl)
      game_message        = Marshal.load(fl)
      game_switches       = Marshal.load(fl)
      game_variables      = Marshal.load(fl)
      game_self_switches  = Marshal.load(fl)
      game_actors         = Marshal.load(fl)
      game_party          = Marshal.load(fl)
      game_troop          = Marshal.load(fl)
      game_map            = Marshal.load(fl)
      game_player         = Marshal.load(fl)
      data_actors         = Marshal.load(fl)
      game_party.gain_gold($game_party.gold-game_party.gold)
      fl.close
      file = File.open(file,"wb")
      $game_system.save_count += 1
      Marshal.dump(characters,           file)
      Marshal.dump(Graphics.frame_count, file)
      Marshal.dump(@last_bgm,            file)
      Marshal.dump(@last_bgs,            file)
      Marshal.dump(game_system,         file)
      Marshal.dump(game_message,        file)
      Marshal.dump($game_switches,       file)
      Marshal.dump($game_variables,      file)
      Marshal.dump(game_self_switches,  file)
      Marshal.dump(game_actors,         file)
      Marshal.dump(game_party,          file)
      Marshal.dump(game_troop,          file)
      Marshal.dump(game_map,            file)
      Marshal.dump(game_player,         file)
      Marshal.dump(data_actors,         file)
    else
      file = File.open(file,"wb")
      write_save_data_n(file)
      Marshal.dump($data_actors, file)
      file.close
    end
  end
end
Und hier das etwas editierte Party Script:
#==============================================================================
# ** Prexus - Party Manager (v1.1c)
#------------------------------------------------------------------------------
#  This is a Party Management system, created by Prexus. It allows you to
#  change your party makeup, out of a reserve of characters. It also allows you
#  to lock characters, making them mandatory, and make characters unavailable.
#
#  See thread at RMXP.org for instructions:
#  http://www.rmxp.org/forums/index.php?topic=42685.msg402326#msg402326
#
#  - Changelog (v1.1c)
#    * Fixed a graphical error in the party reserves window
#
#  - (v1.1b)
#    * Fixed a bug with the draw_item_name method, added the width parameter
#  - (v1.1)
#    * Added functionality to see player's equipment (press the A button)
#    $data_actors[ID].found = true                      Tìm th?y 1 hero
#    $data_actors[ID].unavailable = true                Lock 1 hero
#    $game_party.members[0].actor.required = true       Lock Leader
#    $scene = Scene_Party.new                           Call Menu P-Changer         
#
#
#
#
#==============================================================================

module RPG
  class Actor
    def setup
      @found = false
      @unavailable = false
      @required = false
    end
    attr_accessor :found
    attr_accessor :unavailable
    attr_accessor :required
  end
end

class Game_Actors
  attr_reader :data
  alias prex_party_g_actors_initialize initialize
  def initialize
    prex_party_g_actors_initialize
    $data_actors.each do |actor|
      actor.setup if actor
      @data[actor.id] = Game_Actor.new(actor.id) if actor
    end
  end
end

class Scene_File < Scene_Base
  alias prex_party_s_file_read_save_data read_save_data
  def read_save_data(file)
    prex_party_s_file_read_save_data(file)
    $data_actors = Marshal.load(file)
  end
end

class Scene_Title < Scene_Base
  alias prex_party_s_title_command_new_game command_new_game
  def command_new_game
    prex_party_s_title_command_new_game
    $game_party.members.each {|s| s.actor.found = true if s}
  end
end

class Window_Base < Window
  def draw_item_name(item, x, y, enabled = true, width = 172)
    if item != nil
      draw_icon(item.icon_index, x, y, enabled)
      self.contents.font.color = normal_color
      self.contents.font.color.alpha = enabled ? 255 : 128
      self.contents.draw_text(x + 24, y, width, WLH, item.name)
    end
  end
end

class Scene_Party < Scene_Base
  def start
    super
    create_menu_background
    create_windows
  end
  def create_windows
    @member_window = Window_CurrentMember.new
    @party_window = Window_CurrentParty.new
    @party_window.active = true
    @selectable_window = Window_SelectMember.new
  end
  def update_windows
    @member_window.update
    @party_window.update
    @selectable_window.update
    if @party_window.active
      @member_window.set_member(@party_window.member)
    elsif @selectable_window.active
      @member_window.set_member(@selectable_window.member)
    end
  end
  def terminate
    super
    @member_window.dispose
    @party_window.dispose
    @selectable_window.dispose
  end
  def update
    super
    update_windows
    update_input
  end
  def update_input
    if Input.trigger?(Input::A)
      if @member_window.mode == 1
        @member_window.set_mode(0)
      elsif @member_window.mode == 0
        @member_window.set_mode(1)
      end
    end
    if @party_window.active
      if Input.trigger?(Input::B)
        Sound.play_cancel
        $scene = Scene_Map.new
      elsif Input.trigger?(Input::C)
        member = @party_window.member
        if member != nil
          if member.actor.unavailable or member.actor.required
            Sound.play_buzzer
            return
          end
        end
        Sound.play_decision
        @party_window.active = false
        @selectable_window.active = true
        @selectable_window.index = 0
      end
    elsif @selectable_window.active
      if Input.trigger?(Input::B)
        Sound.play_cancel
        @selectable_window.index = -1
        @selectable_window.active = false
        @party_window.active = true
      elsif Input.trigger?(Input::C)
        member = @selectable_window.member
        if member != nil
          if member.actor.unavailable
            Sound.play_buzzer
            return
          end
        end
        Sound.play_decision
        $game_party.remove_actor(@party_window.member.id) if @party_window.member != nil
        $game_party.add_actor(@selectable_window.member.id) if @selectable_window.member != nil
        @selectable_window.refresh
        @party_window.refresh
        @selectable_window.index = -1
        @selectable_window.active = false
        @party_window.active = true
      end
    end
  end
end

class Window_CurrentMember < Window_Base
  attr_reader :mode
  def initialize(member = nil, mode = 0)
    super(304, 80, 192, 256)
    create_contents
    @member = member
    @mode = 0
    refresh
  end
  def member
    return @member
  end
  def set_member(member)
    old_member = @member
    @member = member
    refresh if old_member != @member
  end
  def set_mode(mode)
    @mode = mode if [0, 1].include?(mode)
    refresh
  end
  def refresh
    self.contents.clear
    return unless @member
    x, y = 0, 0
    self.draw_actor_face(@member, x, y, 48)
    self.draw_actor_name(@member, x + 52, y)
    self.draw_actor_class(@member, x + 52, y + WLH)
    self.draw_actor_level(@member, x, y + WLH*2)
    case @mode
    when 0
      self.draw_icon(142, self.contents.width - 24, y + WLH*2)
      self.contents.draw_text(x, y + WLH*2, self.contents.width - 12, WLH, 'Equip', 2)
      self.draw_actor_hp(@member, x, y + WLH*3, 160)
      self.draw_actor_mp(@member, x, y + WLH*4, 160)
      self.draw_actor_parameter(@member, x, y + WLH*5, 0)
      self.draw_actor_parameter(@member, x, y + WLH*6, 1)
      self.draw_actor_parameter(@member, x, y + WLH*7, 2)
      self.draw_actor_parameter(@member, x, y + WLH*8, 3)
    when 1
      self.draw_icon(143, self.contents.width - 24, y + WLH*2)
      self.contents.draw_text(x, y + WLH*2, self.contents.width - 12, WLH, 'Stat', 2)
      for i in 0...@member.equips.size
        item = @member.equips[i]
        self.draw_item_name(item, x, y + WLH*(3+i), true, self.contents.width - 24)
      end
    end
  end
end

class Window_CurrentParty < Window_Selectable
  def initialize
    super(48, 80, 256, 64)
    @item_max = 4
    @column_max = @item_max
    create_contents
    self.index = 0
    refresh
  end
  def member
    return $game_party.members[self.index]
  end
  def refresh
    for i in 0...@item_max
      rect = item_rect(i)
      self.contents.clear_rect(rect)
    end
    for i in 0...$game_party.members.size
      rect = item_rect(i)
      bitmap = Cache.character($game_party.members[i].character_name)
      sign = $game_party.members[i].character_name[/^[\!\$]./]
      if sign != nil and sign.include?('$')
        cw = bitmap.width / 3
        ch = bitmap.height / 4
      else
        cw = bitmap.width / 12
        ch = bitmap.height / 8
      end
      n = $game_party.members[i].character_index
      src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
      if $game_party.members[i].actor.unavailable
        self.contents.blt(rect.x, rect.y, bitmap, src_rect, 128)
      else
        self.contents.blt(rect.x, rect.y, bitmap, src_rect, 255)
      end
      if $game_party.members[i].actor.required
        lock_bitmap = Cache.system("Locked")
        self.contents.blt(rect.x + rect.width - lock_bitmap.width,
                          rect.y + rect.height - lock_bitmap.height,
                          lock_bitmap, lock_bitmap.rect)
      end
    end
  end
  def item_rect(index)
    rect = Rect.new(0, 0, 0, 0)
    rect.width = (contents.width + @spacing) / @column_max - @spacing
    rect.height = 32
    rect.x = index % @column_max * (rect.width + @spacing)
    rect.y = index / @column_max * 32
    return rect
  end
end

class Window_SelectMember < Window_Selectable
  def initialize
    super(48, 144, 256, 192)
    calculate_actors
    @item_max = @actors.size + 1
    @column_max = 4
    self.index = -1
    self.active = false
    refresh
  end
  def calculate_actors
    @actors = []
    for a in $game_actors.data
      @actors << a if a != nil and a.actor.found and !$game_party.members.include?(a)
    end
  end
  def member
    return @actors[self.index]
  end
  def refresh
    self.contents.clear
    calculate_actors
    @item_max = @actors.size + 1
    for i in 0...@actors.size
      rect = item_rect(i)
      bitmap = Cache.character(@actors[i].character_name)
      sign = @actors[i].character_name[/^[\!\$]./]
      if sign != nil and sign.include?('$')
        cw = bitmap.width / 3
        ch = bitmap.height / 4
      else
        cw = bitmap.width / 12
        ch = bitmap.height / 8
      end
      n = @actors[i].character_index
      src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
      if @actors[i].actor.unavailable
        self.contents.blt(rect.x, rect.y, bitmap, src_rect, 128)
      else
        self.contents.blt(rect.x, rect.y, bitmap, src_rect, 255)
      end
      if @actors[i].actor.required
        lock_bitmap = Cache.system("Locked")
        self.contents.blt(rect.x + rect.width - lock_bitmap.width,
                          rect.y + rect.height - lock_bitmap.height,
                          lock_bitmap, lock_bitmap.rect)
      end
    end
  end
  def item_rect(index)
    rect = Rect.new(0, 0, 0, 0)
    rect.width = (contents.width + @spacing) / @column_max - @spacing
    rect.height = 32
    rect.x = index % @column_max * (rect.width + @spacing)
    rect.y = index / @column_max * 32
    return rect
  end
end

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am September 11, 2010, 12:34:14
Danke für deine Mühe. Ich werde es ausprobieren.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Omega am September 11, 2010, 15:27:22
Mein Problem steht leider noch an!:(
Titel: Re: Hilfe zu Skripten.
Beitrag von: Happyman am September 12, 2010, 15:51:13
ich weis nicht genau wo ich fragen soll deshalb frag ich einfach drauf los
unzwar wollte ich wissen ob  es ein weg gibt das Menü so angezeigt wird:
http://ui12.gamefaqs.com/43/gfs_99493_2_2.jpg
Wäre auch gut wenn mann ein bild oder so einfügen könnte.

Und schon mal danke im voraus.
Titel: Re: Hilfe zu Skripten.
Beitrag von: CliXx am September 12, 2010, 17:40:54
Is gelöst^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am September 12, 2010, 21:54:58
@happyman
Ja es gibt einen Weg: Ein Menü scripten
Wenn du willst kann ich es mal probieren
Titel: Re: Hilfe zu Skripten.
Beitrag von: Magualie05 am September 16, 2010, 18:57:16
nur mal eine ganz kurze frage...ich kann doch bestimmt irgendwo im script das face der Message verschieben kann, also einfach nur rechtsbündig machen...
nur wo?

Merci Magualie
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am September 16, 2010, 19:01:17
Nim einfach das Neo Message System von woratana. Damit hast du auch noch viel mehr Möglichkeiten. (z.B. Namenwindow)
Link zur Demo (http://www.mediafire.com/?2mhjjkk4mte)
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am September 16, 2010, 19:19:09
würde von Neo Message System abraten, da es einige kleinere Bugs drin hat, ein gutes Message System wäre zum Beispiel das von Yanfly oder das von Star

Yanfly Message System (http://wiki.pockethouse.com/index.php?title=Yanfly_Engine_Melody#Custom_Message_Melody) <-- Link
Star Message System (http://www.mediafire.com/?4k46mpk6526mh6b) <-- Link



ich hätte mal ne etwas andre Frage zu Scripts^^"
Gibts nen Scriptbefehl mit dem man die Tile-ID von den Tiles A1-A5 abfragt, sowie wie Tiles B-E

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am September 16, 2010, 19:22:58
@FlipelyFlip
Ich versteh deine Frage nicht. was meinst du mit Tile-ID? Steh grad irgendwie auf der Leitung :)
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am September 16, 2010, 19:34:19
naja für den Maker hat jedes einzelne Tile eine eigene ID und ich bräuchte nur den Befehl, mit dem ich jede einzelne ID bekomme, damit ich diese dann weiter verwenden kann^^"

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am September 16, 2010, 20:00:37
Also du meinst so:
TileA1 = 1
TileA2 = 2
...
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am September 16, 2010, 20:04:00
nein, sondern zB. ist der erste Teil vom Wasser im Tileset A1 die ID 1, der zweite Teil davon 2, der dritte Teil 3 usw. Bis man unten ankommt, also Ende Tile A4, beginn Tile A5 is man schon bei 260 oder so, nur das Problem, habs mal so gemacht zu zählen, nur iwie stimmts nicht /=

EDIT:

habs rausgefunden, falls sonst noch jemand mal die tile-IDs braucht, er findet sie mit diesem kleinen Scriptpart:

module Flip
  VAR1 = 1  # ID der Variabel für die x-Koordinate
  VAR2 = 2  # ID der Variabel für die y-Koordinate
  VAR3 = 3  # ID der Variabel für den Layer
  VAR4 = 4  # ID der Variabel für die Map ID
end

class Scene_Tile
  def main
    x = $game_variables[Flip::VAR1]  # übernimmt den x-Wert des zu bestimmenden Tiles
    y = $game_variables[Flip::VAR2]  # übernimmt den y-Wert des zu bestimmenden Tiles
    i = $game_variables[Flip::VAR3]  # kann nur einen Wert zwischen 0 und 2 sein
    @map_id = $game_variables[Flip::VAR4]  # entspricht der ID von der Map die überprüft werden soll
    @map = load_data(sprintf("Data/Map%03d.rvdata", @map_id))
    tile_id = @map.data[a, b, c]
    p(tile_id)
    $scene = Scene_Map.new  # damit der p() befehl nicht dauernd wiederholt wird ;)
  end
end

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Hellkai am September 20, 2010, 20:42:26
Ich bräuchte Hilfe bei dem Advance face skript! Kann mir jemand für den ordner die Bilddatei als beispiel geben also da wo ich das face reinmachen will!
Titel: Re:Hilfe zu Skripten.
Beitrag von: Keyru am September 30, 2010, 16:02:15
Hey,

wie kann man ein Skript eig. kurzzeitig deaktivieren?

Will es so machen, dass Script X deaktiviert ist, wenn Switch 1 an ist, wenn Switch 1 aber aus ist, dann ist Script X aktiviert.

Wie geht das?
Titel: Re:Hilfe zu Skripten.
Beitrag von: FlipelyFlip am September 30, 2010, 16:13:22
ist je nach script unterschiedlich aber meistens reichts wenn man direkt nachm def main folgendes eingibt:

if $game_switches[1] == true
else
blablabla
end

lg flip
Titel: Re:Hilfe zu Skripten.
Beitrag von: Keyru am September 30, 2010, 16:19:50
Scheint nicht zu funktionieren!
Benutze das Requiem ABS 9 -  nach

ist
if $game_switches[1] == true
else
blablabla
end

= Copy & Paste oder muss ich da irgendetwas einfügen ?

PS: Im Script gibts kein Def main, wo muss ichs dann einfügen ? ^^
Titel: Re:Hilfe zu Skripten.
Beitrag von: FlipelyFlip am September 30, 2010, 16:22:11
okay was willst du dort abschalten? dann kann ichs dir besser erklärn (=

und nein is nich copy-paste ;)
Titel: Re:Hilfe zu Skripten.
Beitrag von: Keyru am September 30, 2010, 16:32:49
Also:
Ich will das, wenn ein bestimmer Switch an ist, der Spieler nicht mehr mit der Waffe angreifen kann... ich benutze nämlich MelekTaus' Realequip und da kann man ja die Waffe ziehen, und ich möchte halt das der Spieler wirklich nur angreifen kann wenn die Waffe gezogen ist ^.^

Die Hotkeys für Zauber und Items sowie die Schadensberechnung sollten allerdings auch bei aktiviertem Switch funktionieren.

Wenn der Switch aber wieder aus ist (heißt bei mir, wenn die Waffe gezogen wurde) soll der Spieler wieder angreifen können.

Wäre wirklich nett wenn du mir dabei helfen könntest :)
Titel: Re:Hilfe zu Skripten.
Beitrag von: PaRt am Oktober 03, 2010, 09:04:34
Hallo!

Ich habe  ein Problem wenn ich ein skip title script einfüge
kommt beim simple day & night folgende fehlermeldung:

simpe day + night line 454: NoMethodError occurred
undefined methode `update' for nil:NilClass
Titel: Re:Hilfe zu Skripten.
Beitrag von: Master Chain am Oktober 03, 2010, 11:03:29
Hmm füge das Skript unter main ein so das es als erstes kommt dann müsste es klappen
Titel: Re:Hilfe zu Skripten.
Beitrag von: Keyru am Oktober 03, 2010, 12:00:47
hat keiner ne lösung für mein problem ? ^^
bitte, ist wirklich dringend :)
Titel: Re:Hilfe zu Skripten.
Beitrag von: Ðeity am Oktober 03, 2010, 13:09:22
Welches KS ist denn das?
Man müsste dieses ja ausprobieren. ^^

MfG
Deity
Titel: Re:Hilfe zu Skripten.
Beitrag von: timas am Oktober 03, 2010, 14:31:20
Ich habe ein Problem mit meinenm Menu ....
ich poste mal das Script :
[code#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================

class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Gold.new(0, 360)
    @status_window = Window_MenuStatus.new(160, 0)
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = "Questlog"
    s6 = Vocab::game_end
    s7 = "Special"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4      # Questlog
        $scene = Scene_Questlog.new
      when 5      # End Game
        $scene = Scene_End.new
        when 6    # Menu
          $game_temp.common_event_id = 3
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Start Actor Selection
  #--------------------------------------------------------------------------
  def start_actor_selec]
Also ich möchte das Man Special anwählen kann und dann ein CE aufgerufen wird
allerdings funtzt das nicht weil wenn ich Special anwähle passiert nichts, wenn ich aber dann das Menu schließe beginnt das CE. Kann mir da Jemand helfen?
(Spechern hab ich bewusst gekickt ^^)
Titel: Re:Hilfe zu Skripten.
Beitrag von: Ðeity am Oktober 03, 2010, 14:48:38
Füg mal unter $game_temp.common_event_id = 3folgendes ein:
$scene = Scene_Map.new

Dann müsste es eigentlich funktionieren.

MFG
Deity
Titel: Re:Hilfe zu Skripten.
Beitrag von: Keyru am Oktober 03, 2010, 15:33:43
http://cid-928c1ca35718a838.skydrive.live.com/self.aspx/Scripts/With%20Demo/Requiem%20ABS%209.zip

Requiem ABS 9, das benutze ich ...

Hoffe du kannst mir helfen Deity XD
Titel: Re:Hilfe zu Skripten.
Beitrag von: Ðeity am Oktober 03, 2010, 16:04:16
ALso kopier einfach dieses Script unter das Requim ABS
SWITCH_ID_TO_ALLOW_ATTACK = 5
class Game_Player
  def attack_with_weapon
    if Input.trigger?($Requiem_ABS.attack_key1) && $game_switches[SWITCH_ID_TO_ALLOW_ATTACK]
      return if !$Requiem_ABS.allow_attack_with_shield and self.actor.defending
      return if self.weapon1_attack_time > 0
      @attack_weapon = self.actor.equips[0]
      RPG::SE.new(@attack_weapon.shot_se).play if @attack_weapon != nil and @attack_weapon.shot_se != nil
      self.anime_attack = 20
      self.right_attack_on = true
      self.left_attack_on = false
      if @attack_weapon != nil and @attack_weapon.ranged?
        range_attack_right
        self.weapon1_attack_time = @attack_weapon.delay
        @hit_time = self.weapon1_attack_time + 15
      else
        normal_attack_right
        self.weapon1_attack_time = self.actor.attack_speed
        @hit_time = self.weapon1_attack_time + 15
      end
    end
    if Input.press?($Requiem_ABS.attack_key2)
      self.actor.defending = (self.actor.equips[1].is_a?(RPG::Armor) and $Requiem_ABS.allow_shields_graphics)
    else
      self.actor.defending = false
    end
    if Input.trigger?($Requiem_ABS.attack_key2)
      return if self.weapon2_attack_time > 0
      return if !$Requiem_ABS.allow_attack_with_shield and self.actor.defending
      @attack_weapon_and_Shield = (self.actor.two_swords_style ? self.actor.equips[1] : self.actor.equips[0])
      RPG::SE.new(@attack_weapon_and_Shield.shot_se).play if @attack_weapon_and_Shield != nil and @attack_weapon_and_Shield.shot_se != nil
      self.anime_attack = 20
      self.right_attack_on = false
      self.left_attack_on = true
      if @attack_weapon_and_Shield != nil and @attack_weapon_and_Shield.ranged?
        range_attack_left
        self.weapon2_attack_time = @attack_weapon_and_Shield.delay
        @hit_time = self.weapon2_attack_time + 15
      elsif self.actor.two_swords_style
        normal_attack_left
        self.weapon2_attack_time = self.actor.attack_speed
        @hit_time = self.weapon1_attack_time + 15
      end
    end
  end
end
Am Anfang kannst du dir die ID des Switches auswählen, der an sein muss, damit man mit der Waffe angreifen kann.
Ich hoffe es funktioniert so, wie du es haben wolltest. ^^

MfG
Deity
Titel: Re:Hilfe zu Skripten.
Beitrag von: Keyru am Oktober 03, 2010, 16:56:43
scheint nicht zu klappen iwi, zumindest greift er garnicht mehr an, auch wenn der switch an ist.. :(

edit:
an deinem script liegts nicht, muss jez grad bisschen rumbasteln damits funktioniert ^^
Titel: Re:Hilfe zu Skripten.
Beitrag von: freakjasi am Oktober 04, 2010, 19:53:17
soo, ich bin neu hier und hab eine kleine Frage:

Ich habe ein Event auf meine Map gesetzt, bei der die Hauptfigur automatisch losläuft, sich bei der Hälfte des Weges umdreht und stehen bleibt. Nun soll aber genau dort, wo die Hauptfigur losgelaufen ist, eine andere Person auftauchen. Ich habe es schon versucht mit 2 Seiten in dem Event zu machen, allerdings funktioniert das nicht. Die Person die dann hinzu kommt, läuft von dort aus los, wo meine Hauptfigur dann steht (Hälfte des Weges).

Kann mir jemand helfen und sagen was ich falsch gemacht habe?


~Bitte den "Antworten"-Button klicken, nicht den "Neues Thema"-Button ;)

MfG, Colo

~Sorry das war ich Colo. Wollte den Beitrag direkt verschieben... du warst schneller xD

MfG Rose
Titel: Re:Hilfe zu Skripten.
Beitrag von: Cress2009 am Oktober 04, 2010, 20:31:23
Hey freakjasi,

Bevor ich zum Thema komme, wollte ich sagen das du hier falsch bist, also im Bereich.
Hier kommen Fragen rein die mit "Scripten" zu tun haben... Dein Problem gehört in den
"Technik" oder "Event" - Bereich.

@Topic

Also ich hab das jetzt so verstanden... Du hast ein Event und wenn der Player drüber
läuft, geht der in irgendeine Richtung, dreht sich um und dort wo er anfing loszulaufen
(Event-Standpunkt) erscheint eine andere Person. Wenn das so ist benötigst du nur
ein Event das 2 Seiten hat... Es müsste wie folgt aussehen.

1 Seite
(http://www.abload.de/img/seite1yc9g.png) (http://www.abload.de/image.php?img=seite1yc9g.png)

2 Seite
(http://www.abload.de/img/seite2cc4p.png) (http://www.abload.de/image.php?img=seite2cc4p.png)

Die "roten" Kreise im Bild zeigen wie es funktioniert, die "grünen" Kreise hingegen zeigen
wie du es machen könnest... kannst du ja individuell einstellen^^

Viel Spaß noch mit dem Maker und wilkommen im Forum ;)

~Cress

-EDIT-

Natürlich kannst du die Richtung wo dein Char hinläuft selbst bestimmen ;)

~Cress
Titel: Re:Hilfe zu Skripten.
Beitrag von: Soraphis am Oktober 04, 2010, 20:53:57
--> hab den post draußen gesehen, als ich fertig mit antworten war, wars verschoben -.-

hier also meine antwort:

achja: ich habs so verstanden: spieler geht weg entlang, bleibt stehen dreht sich um. npc erscheint an der position an der spieler gestartet hat und kommt auf spieler zu (das problem, kein event auf spieler start position)

[das hier kann man sich jetzt wegdenken]
also, erstmal.... ganz ruhig man muss ja nicht ganz überstürzen und gleich ein neues thema aufmachen ....
und es auch noch fälschlicherweise als "script hilfe" kennzeichnen ...

aber egal
[/wegdenken]

du brauchst ein event auf seite 2 -> set event location -> du machst also das event das die hauptfigur loslaufen lässt bis dorthin wo die figur sich umdreht, dann sagst du "set event location -> this event -> die anfangskoordinate von dem spieler"

jetzt sagst du "set self swich A = on"
machst eine seite und setzt links ein häckchen bei der "Self swich A = on" bedingung
gibst der zweiten seite ein charakter-bild und lässt ihn loslaufen auf seite 2

wenn du denks das ist aber unübersichtlich, alles in ein event kannst du auch ein neues machen das du dann in event 1 an die spieler-start-position setzt und dan mit dem script:
key = [5, 1, 'A']
$game_self_switches[key] = true
$game_map.refresh
es gilt:  key = [map-id, event-id, self-swich]

und dann eben den self swich eines zweiten events auf true setzten der zum erscheinen des events führt

Titel: Re:Hilfe zu Skripten.
Beitrag von: timas am Oktober 05, 2010, 14:19:49
thx Deity , du bist klasse

mfg tima
Titel: Re:Hilfe zu Skripten.
Beitrag von: Magualie05 am Oktober 06, 2010, 16:37:14
Also ich suche jetzt schon ewig rum und hab keine lust mehr, deshalb frage ich euch und hoffe ihr könnt mir helfen, denn ich hab wirklich keine Ahnung mehr...
Also ich suche für mein Spiel ein Script, das einfach nur ein kleines Menü öffnet.
D.h. ich will eine Box(Item) machen, wenn der Spieler die Box benutzt, soll sich diese öffnen und ihren Inhalt zeigen, dieser Inhalt sollen dann andere wichtigere Items sein.
Hoffe das war verständlich...

Merci Magualie05
Titel: Re:Hilfe zu Skripten.
Beitrag von: Galadriela am Oktober 06, 2010, 18:51:55
ich hab alles durchgesucht und es in einem anderen forum nur für den xp gefunden, ich suche einen script für eine itemkiste, also so eine wo man sachen hineinpacken und wieder herausholen kann, denn alles rumzuschleppen macht keinen spass ;D
Titel: Re:Hilfe zu Skripten.
Beitrag von: PDM am Oktober 06, 2010, 22:23:24
@Galadriela
Das hier ist das Vampyr Warehouse Script:
#==============================================================================
# Vampyr Warehouse
#==============================================================================
class Game_Party < Game_Unit
 
  alias vampyr_warehouse_initialize initialize
 
  attr_reader :wgold
 
  def initialize
    vampyr_warehouse_initialize
    @witems = {}
    @wweapons = {}
    @warmors = {}
    @wgold = 0
  end
 
  def witems
    result = []
    for i in @witems.keys.sort
      result.push($data_items[i]) if @witems[i] > 0
    end
    for i in @wweapons.keys.sort
      result.push($data_weapons[i]) if @wweapons[i] > 0
    end
    for i in @warmors.keys.sort
      result.push($data_armors[i]) if @warmors[i] > 0
    end
    return result
  end
 
  def store_gold(n)
    @wgold = [[@wgold + n, 0].max, 9999999].min
  end

  def withdraw_gold(n)
    store_gold(-n)
  end
 
  def witem_number(item)
    case item
    when RPG::Item
      number = @witems[item.id]
    when RPG::Weapon
      number = @wweapons[item.id]
    when RPG::Armor
      number = @warmors[item.id]
    end
    return number == nil ? 0 : number
  end
 
  def store_item(item, n)
    number = witem_number(item)
    case item
    when RPG::Item
      @witems[item.id] = [[number + n, 0].max, 99].min
    when RPG::Weapon
      @wweapons[item.id] = [[number + n, 0].max, 99].min
    when RPG::Armor
      @warmors[item.id] = [[number + n, 0].max, 99].min
    end
    n += number
  end

  def withdraw_item(item, n)
    store_item(item, -n)
  end
 
end

#------------------------------------------------------------------------------
class Window_Warehouse < Window_Selectable
 
  def initialize(x, y, width, height)
    super(x, y, width, height)
    @column_max = 2
    self.index = 0
    refresh
  end
 
  def item
    return @data[self.index]
  end
 
  def refresh
    @data = []
    $game_party.witems.each { |i| @data.push(i) }
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    item = @data[index]
    if item != nil
      number = $game_party.witem_number(item)
      rect.width -= 4
      draw_item_name(item, rect.x, rect.y)
      self.contents.draw_text(rect, sprintf(":%2d", number), 2)
    end
  end
 
  def update_help
    if $scene.is_a?(Scene_VampyrWarehouse) and $scene.description_delay > 0
      @help_window.set_text("Item abgeholt")
    else
      @help_window.set_text(item == nil ? "" : item.description)
    end
  end
 
end

#------------------------------------------------------------------------------
class Window_Item < Window_Selectable
 
  def update_help
    if $scene.is_a?(Scene_VampyrWarehouse) and $scene.description_delay > 0
      @help_window.set_text("Item deponiert")
    else
      @help_window.set_text(item == nil ? "" : item.description)
    end
  end
 
end

#------------------------------------------------------------------------------
class Window_MyGold < Window_Base
 
  def initialize
    super(0, 0, 256, 56)
    refresh
  end
 
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(contents.rect, "#{Vocab.gold}:")
    self.contents.font.color = normal_color
    self.contents.draw_text(contents.rect, $game_party.gold, 2)
  end
 
end

#------------------------------------------------------------------------------
class Window_WareGold < Window_Base
 
  def initialize
    super(0, 0, 256, 56)
    refresh
  end
 
  def refresh
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(contents.rect, "#{Vocab.gold} in der Bank:")
    self.contents.font.color = normal_color
    self.contents.draw_text(contents.rect, $game_party.wgold, 2)
  end
 
end

#------------------------------------------------------------------------------
class Window_TypeGold < Window_Command
 
  attr_reader :value
  attr_reader :commands
 
  def initialize
    super(256, ["0", "0", "0", "0", "0", "0", "0"], 7, 0, 0)
    @index = 6
  end
 
  def reset
    for i in 0...@commands.size
      @commands[i] = "0"
    end
    refresh
  end
 
  def update
    super
    value = @commands[@index].to_i
    if Input.press?(Input::UP) and Graphics.frame_count % 7 <= 0
      Sound.play_cursor
      @commands[@index] = (value < 9 ? value+1 : 9).to_s
      refresh
    elsif Input.press?(Input::DOWN) and Graphics.frame_count % 7 <= 0
      Sound.play_cursor
      @commands[@index] = (value > 0 ? value-1 : 0).to_s
      refresh
    end
  end
 
end

#------------------------------------------------------------------------------
class Scene_VampyrWarehouse < Scene_Base
 
  attr_reader :description_delay
 
  def start
    super
    create_menu_background
    @description_delay = 0
    @store_gold = false
    @withdraw_gold = false
    s1 = "Deponieren"
    s2 = "Abholen"
    s3 = "#{Vocab.gold} deponieren"
    s4 = "#{Vocab.gold} abholen"
    s5 = "Verlassen"
    @command_window = Window_Command.new(208, [s1, s2, s3, s4, s5])
    @command_window.x = (544-@command_window.width)/2
    @command_window.y = (416-@command_window.height)/2
    @command_window.visible = @command_window.active = true
    @help_window = Window_Help.new
    @help_window.visible = @help_window.active = false
    @item_window = Window_Item.new(0, 56, 544, 360)
    @item_window.help_window = @help_window
    @item_window.visible = @item_window.active = false
    @warehouse_window = Window_Warehouse.new(0, 56, 544, 360)
    @warehouse_window.help_window = @help_window
    @warehouse_window.visible = @warehouse_window.active = false
    @typegold_window = Window_TypeGold.new
    @typegold_window.x = (544-@typegold_window.width)/2
    @typegold_window.y = ((416-@typegold_window.height)/2)
    @typegold_window.visible = @typegold_window.active = false
    @mygold_window = Window_MyGold.new
    @mygold_window.visible = @mygold_window.active = false
    @mygold_window.x = (544-@mygold_window.width)/2
    @mygold_window.y = ((416-@mygold_window.height)/2)-56
    @waregold_window = Window_WareGold.new
    @waregold_window.visible = @waregold_window.active = false
    @waregold_window.x = (544-@waregold_window.width)/2
    @waregold_window.y = ((416-@waregold_window.height)/2)+56
  end
 
  def update
    super
    update_menu_background
    @description_delay -= 1 if @description_delay > 0
    @command_window.update
    @item_window.update
    @warehouse_window.update
    @help_window.update
    @mygold_window.update
    @waregold_window.update
    @typegold_window.update if @typegold_window.active
    if @command_window.active
      update_selection
    elsif @item_window.active
      update_store
    elsif @warehouse_window.active
      update_whitedraw
    elsif @typegold_window.active and @store_gold
      update_store_gold
    elsif @typegold_window.active and @withdraw_gold
      update_whitdraw_gold
    end
  end
 
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @item_window.dispose
    @warehouse_window.dispose
    @help_window.dispose
    @typegold_window.dispose
    @mygold_window.dispose
    @waregold_window.dispose
  end
 
  def update_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      @command_window.visible = @command_window.active = false
      case @command_window.index
      when 0
        @item_window.visible = @item_window.active = true
        @help_window.visible = @help_window.active = true
        @warehouse_window.visible = @warehouse_window.active = false
      when 1
        @item_window.visible = @item_window.active = false
        @help_window.visible = @help_window.active = true
        @warehouse_window.visible = @warehouse_window.active = true
      when 2
        @store_gold = true
        @withdraw_gold = false
        @typegold_window.visible = @typegold_window.active = true
        @mygold_window.visible = @mygold_window.active = true
        @waregold_window.visible = @waregold_window.active = true
      when 3
        @store_gold = false
        @withdraw_gold = true
        @typegold_window.visible = @typegold_window.active = true
        @mygold_window.visible = @mygold_window.active = true
        @waregold_window.visible = @waregold_window.active = true
      when 4
        $scene = Scene_Map.new
      end
    end
  end
 
  def update_store
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @item_window.visible = @item_window.active = false
      @help_window.visible = @help_window.active = false
      @command_window.visible = @command_window.active = true
    elsif Input.trigger?(Input::C)
      if @item_window.item == nil
        Sound.play_buzzer
      elsif @item_window.item.note.include?("Nicht deponierbar")
        Sound.play_buzzer
      else
        Sound.play_decision
        $game_party.lose_item(@item_window.item, 1)
        $game_party.store_item(@item_window.item, 1)
        @item_window.refresh
        @warehouse_window.refresh
        @description_delay = 90
      end
    end
  end
 
  def update_whitedraw
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @warehouse_window.visible = @warehouse_window.active = false
      @help_window.visible = @help_window.active = false
      @command_window.visible = @command_window.active = true
    elsif Input.trigger?(Input::C)
      if @warehouse_window.item == nil
        Sound.play_buzzer
      else
        Sound.play_decision
        $game_party.gain_item(@warehouse_window.item, 1)
        $game_party.withdraw_item(@warehouse_window.item, 1)
        @item_window.refresh
        @warehouse_window.refresh
        @description_delay = 90
      end
    end
  end
 
  def update_store_gold
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @typegold_window.visible = @typegold_window.active = false
      @typegold_window.reset
      @mygold_window.visible = @mygold_window.active = false
      @waregold_window.visible = @waregold_window.active = false
      @command_window.visible = @command_window.active = true
    elsif Input.trigger?(Input::C)
      return if @typegold_window.commands.to_s.to_i <= 0
      if $game_party.gold < @typegold_window.commands.to_s.to_i
        Sound.play_buzzer
      else
        Sound.play_shop
        $game_party.lose_gold(@typegold_window.commands.to_s.to_i)
        $game_party.store_gold(@typegold_window.commands.to_s.to_i)
        @mygold_window.refresh
        @waregold_window.refresh
      end
    end
  end
 
  def update_whitdraw_gold
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @typegold_window.visible = @typegold_window.active = false
      @typegold_window.reset
      @mygold_window.visible = @mygold_window.active = false
      @waregold_window.visible = @waregold_window.active = false
      @command_window.visible = @command_window.active = true
    elsif Input.trigger?(Input::C)
      return if @typegold_window.commands.to_s.to_i <= 0
      if $game_party.wgold < @typegold_window.commands.to_s.to_i
        Sound.play_buzzer
      else
        Sound.play_shop
        $game_party.withdraw_gold(@typegold_window.commands.to_s.to_i)
        $game_party.gain_gold(@typegold_window.commands.to_s.to_i)
        @mygold_window.refresh
        @waregold_window.refresh
      end
    end
  end
 
end
Das beinhaltet deine Funktion.
Titel: Re:Hilfe zu Skripten.
Beitrag von: Galadriela am Oktober 07, 2010, 17:59:40
ich hab es eingefügt ....und nun? grübel...gibt es dafür bitte auch eine anleitung??? ;D
-------------------------------------------------------------------------------------
danke @FlipelyFlip und @PDM haut super hin ;D
Titel: Re:Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Oktober 07, 2010, 18:11:39
das script rufste auf mit: $scene = Scene_VampyrWarehouse.new

lg flip
Titel: Re:Hilfe zu Skripten.
Beitrag von: Magualie05 am Oktober 07, 2010, 19:58:59
Wollte nur mal nachfragen ob wirklich keiner so ein Script kennt, wie ich es mir wünsche...?

Magualie
Titel: Re:Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Oktober 07, 2010, 20:01:42
du willst also in nem Item nochmal n Itemmenü haben?
Titel: Re:Hilfe zu Skripten.
Beitrag von: CliXx am Oktober 07, 2010, 20:18:10
JA so meint ers aber ich wüsste da nur ein XP script aber ob das so gehen würde weiss ic hauch nicht
Titel: Re:Hilfe zu Skripten.
Beitrag von: Magualie05 am Oktober 08, 2010, 16:34:41
Ja so meine ich das...wär halt schön, wenn es sowas geben würde...
Mir würde es auch reichen, wenn es sich einfach nur öffnen würde, sodass man reinschauen kann, also man müsste nicht mal was mit den Items da drinnen machen können, einfach nur, dass man die Box aufmacht und sieht:"aha, das ist da und das auch und das..."

Magualie05


Magualie ist übrignes ein Mädchen...
Titel: Re:Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Oktober 08, 2010, 20:56:42
willst du dann die Items normal über den change Item befehl hinzufügen?
wär eilich noch wichtig zu wissen, sonst kann ichs dir nich machen (=

lg flip
Titel: Re:Hilfe zu Skripten.
Beitrag von: Magualie05 am Oktober 09, 2010, 11:08:21
Also genau gesagt, habe ich vor, dass mein Hauptchara Puppen findet, die wichtig sind, deshalb sollen die nicht einfach so in der normalen Iemliste untergehen, sondern in die Puppenkiste kommen. Wenn sie die Puppen finden sollen die schon über Change Item reinkommen. Wär schön, dass, wenn sie die Puppenkiste öffnet, eine Liste von den Puppen kommt und wenn man über eine geht, dass dann daneben ein Bild von der Puppe erscheint...
Hab schon überlegt ich ob ich das mit einem Common Event mache und dann immer Bilder zeige, je nachdem, welche Puppe schon da ist und welche nicht, würden halt nur wirklich ein Haufen Bilder werden...

Merci Magualie
Titel: Re:Hilfe zu Skripten.
Beitrag von: CliXx am Oktober 12, 2010, 20:29:42
Hey ich bräuchte mal schnell eure Hilfe, undzwar suche ich den Befehl um einen Spielstand zu laden
Sprich ich habe einen Animierten Titelscreen also mit Events und Bildern und bräuchte nur den Befehl um den LAdebildschirm aufzurufen.
Wäre nett wenn mir den jmd sagen könnte
Titel: Re:Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Oktober 12, 2010, 20:36:47
$scene = Scene_File.new(false, true, false)

hättest auch im Scene_File script gefunden q:
und wurde schon mal beantwortet im thread ;)

lg flip
Titel: Re:Hilfe zu Skripten.
Beitrag von: lenni96 am Oktober 13, 2010, 00:08:00
Hey, hab mal ne Frage.

Ich würde gerne ein normales Window scripten (bin noch beim lernen).
Und jetzt will ich eine Auswahlliste machen in der man sachen auswählen kann (wie show choises) bei denen dann ein Script ausgeführt wird. Ein Window hätte ich schon mal. Nur statt gleich sowas zu programmieren, schaffe ich es nicht mal das das window über ESC abgebrochen wird.

Mein Script:
class Scene_FirstWin < Scene_Base
 
def start
first_window = Window.new()
first_window.windowskin = Bitmap.new("Graphics/System/Window")
first_window.x = 0
first_window.y = 0
first_window.width = 400
first_window.height = 100
first_window.opacity = 255
first_window.back_opacity = 150
end
end
Titel: Re:Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Oktober 13, 2010, 10:27:17
naja so wie das ganze ausguckt, zeigt es dir nur die Grafik an, nich das Window selbst.
Es schneidet dir sozusagen die Grafik zu nem Window zurecht die du angibst.

am besten ist es, wenn du dir meine beiden einsteigertutorials ansiehst fürs scripten.

Was aber hier allgemein das Problem is bei deinem Script:

1.: du hast keine eigene Window-class erstellt. Du rufst das Window_Base sozusagen auf.
2.: du hast nur die start methode definiert, für eine richtige Window-Anzeige braucht es mehr
als das. Da braucht es auch ne update und dispose Methode.
3.: Da du ja ein Auswahlwindow machen willst, guck dir da einfach mal die Scene_Menu an, dort
findest du wirklich alles was du brauchst. Die Standardsachen wurden nicht zum Spaß erstellt (=

Was sonst noch eine große Hilfe beim Scripten sein kann is, die Hilfe-Funktion. Drück im Maker
einfach F1 und dann such nach dem was du brauchst, aber achtung, is alles auf englisch und
oft muss man sich durch zeug durchklicken, dass man zwar nich braucht, aber trotzdem lernt
man auch schon beim durchklicken sachen und findet interessantes zum weiter arbeiten (=

Links zu den Tutorials:
Tutorial 1 (http://www.rpgvx.net/index.php/topic,5193.0.html) <-- link
Tutorial 2 (http://www.rpgvx.net/index.php/topic,5212.msg65636.html#msg65636) <-- link

hoffe ich konnte dir helfen.

lg flip
Titel: Re:Hilfe zu Skripten.
Beitrag von: Ðeity am Oktober 13, 2010, 12:37:12
Ich glaub ClixXx meinte was anderes. ^^
Und zwar möchte er das Laden direkt ohne das Menu zu betreten machen. Dafür habe ich mal ein Script geschrieben, schau einfach unter Miniscripts bei mir und zwar unter dem Begriff "On Map Load/Save".
http://www.rpgvx.net/index.php/topic,4945.0.html

MfG
Deity
Titel: Re:Hilfe zu Skripten.
Beitrag von: CliXx am Oktober 13, 2010, 13:00:33
Sooooo, also das was Flip gepostet hatte habe ich gesucht^^
Danke dafür^^
@Deity
Dein Script is auch super habs grade getestet ma kucken ob ichs verwenden werd
Titel: Re:Hilfe zu Skripten.
Beitrag von: Magualie05 am Oktober 13, 2010, 13:05:27
Also ich will ja nich drängeln, oder so, ne...aber ich kann halt echt leider nicht skripten...ich würd auch das für den XP mal testen, vielleicht funzt ja...

Magualie05
Titel: Re:Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Oktober 13, 2010, 14:17:31
das problem ist einfach, dass ich zurzeit noch keinen richtigen Weg gefunden habe, das abzugrenzen /=

und das fürn XP is nich das was du willst, weil das fürn XP erzeugt dir ne Schatztruhe, in die du sachen rein und rausnehmen kannst,
bin aber grad dran diese etwas umzufunktioniern^^"
Aber durch Change Item Eventbefehl wirds auf jeden Fall nich funktioniern /=

lg flip
Titel: Re:Hilfe zu Skripten.
Beitrag von: Ðeity am Oktober 13, 2010, 14:56:56
@ClixXx,Flipey
Dann habe ich mich geirt, sry. ^^

@Magualie05
Möchtest du wirklich ein Item, in welchem sich andere befinden, oder einfach nur die Darstellung der Puppen?

MfG
Deity
Titel: Re:Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Oktober 13, 2010, 14:57:58
er möchte mit nem Item die Darstellung der Puppen haben (=
also so hab ichs verstanden
Titel: Re:Hilfe zu Skripten.
Beitrag von: lenni96 am Oktober 13, 2010, 16:05:47
Danke FlipelyFlip, da hab ich wohl irgendwas falsch verstanden :/
Titel: Re:Hilfe zu Skripten.
Beitrag von: Magualie05 am Oktober 13, 2010, 19:03:13
Also, wenn sie die Puppen findet, dann sollen die einfach in die Puppenkiste kommen, es würde mir im Endeffeckt auch reichen, wenn man nur die Übersicht sehen könnte, welche Puppen sie schon gefunden hat...

Magualie05
Titel: Re:Hilfe zu Skripten.
Beitrag von: Ðeity am Oktober 14, 2010, 02:15:14
Magualie05, probier einfahc mal folgendes aus:
http://pastebin.com/raw.php?i=3wgwCvDS
Ich habs geschrieben, ich denke, dass es das ist, was du gesucht hast.
Die Bilder der Puppen müssen in den Ordner Pictures kopiert werden und den selben Namen wie die Items ingame haben, um angezeigt zu werden.
Am Anfang des Scriptes, kannst du die Positionen und GHrößen der Fenster festlegen.

MfG
Deity
Titel: Re:Hilfe zu Skripten.
Beitrag von: Magualie05 am Oktober 14, 2010, 12:37:05
Hey vielen vielen Dank, Deity, das ist genauso, wie ich es mir vorgestellt hab! XDXDXDXDXD

Magualie05

Edit: Äh...Aber irgendwie ändert der mir da die Schriftarten etwas ab...kann mich aber auch damit anfreunden, wenns nich zu ändern is...
Also bei der Klasse des Charas und bei der Beschreibung der Puppe ist irgendwie "dünner" und etwas kleiner als die normale...aber wie gesag, kann ich mich auch damit anfreunden, wenn mans nich ändern kann...
Titel: Re:Hilfe zu Skripten.
Beitrag von: Ðeity am Oktober 15, 2010, 13:55:47
Das liegt daran, dass der Platz begrenzt ist, aber der Text lang. Dann questscht er diesen Text zusammen. Du könntest ja die Größenverhältnisse ändern. Anonsten könnte man auch die Schriftart kleiner machen.

MFG
Deity
Titel: Re:Hilfe zu Skripten.
Beitrag von: Magualie05 am Oktober 17, 2010, 15:36:32
Kannst du mir vielleicht noch sagen, was ich umschreiben muss, damit das Puppenbild über dem Window mit den Puppennamen ist?

Magualie05
Titel: Re:Hilfe zu Skripten.
Beitrag von: Ðeity am Oktober 17, 2010, 15:40:51
Die Größen kannst du doch alle in dem Script selbst ganz oben verändern. ALso die Koordinaten und die Größen halt, damit lässt sicht das Fenster beliebig verändern.

MfG
Deity
Titel: Re:Hilfe zu Skripten.
Beitrag von: Magualie05 am Oktober 17, 2010, 16:48:15
Ja...nein...ich meinte, das überschneide, im Moment ist die Liste halt "über" dem Bild...Weil, wenn ich die Liste schmaler mache, dann schreibt er mir die Anzahl der Puppe über deren Namen...Kann ich das irgendwie machen, das die Anzahl der Puppen weg ist?

Magualie05
Titel: Re:Hilfe zu Skripten.
Beitrag von: Ðeity am Oktober 17, 2010, 17:08:48
http://pastebin.com/raw.php?i=YNQh3pi3
Ja probier mal das Script aus. ;)
Also das alte mit diesem ersetzen.

MfG
Deity
Titel: Re:Hilfe zu Skripten.
Beitrag von: Magualie05 am Oktober 17, 2010, 17:29:45
Also, ich zeig dir jetzt mal mein Problem:

(http://www.abload.de/thumb/unbenannt3w5ev.png) (http://www.abload.de/image.php?img=unbenannt3w5ev.png)

Wenn ich das Feld mi der Lsite schmaler mache, dann wird auch der Cursor so eng. Wenn ich es dann so groß mache, dass der Cursor normal ist, dann fänd ich es gu, wenn das Bold vor der Liste ist und nicht dahinter.

Ich hoffe man erkennt auf dem Bild, was ich meine.

Magualie05

PS: Ich find das Skript echt klasse, tut mir total leid, dass ich immer wieder was zu meckern hab...ehrlich...
Titel: Re:Hilfe zu Skripten.
Beitrag von: Ðeity am Oktober 17, 2010, 17:50:49
Kein Problem. ;)
Dafür haben wir auch eine Lösung:
http://pastebin.com/raw.php?i=fBEfkx1v

MfG
Deity
Titel: Re:Hilfe zu Skripten.
Beitrag von: Magualie05 am Oktober 17, 2010, 18:09:33
Okay!

Also jetzt nochmal: VIELEN VIELEN DANK! XDXDXDXD

Es ist jetzt zu 100% genauso wie ich es mir vorgestellt hab!

Merci beaucoup Magualie05 ;)
Titel: Re:Hilfe zu Skripten.
Beitrag von: Emelie Rose am November 05, 2010, 18:34:00
kann sein das es hier schon mal stand (bin zu faul 29 seiten durchzulesen)

aber wie schaltet man einen Switch per script an?

habs so versucht.

  if Input::Left
    if Switch 8 = true
      Switch 8 = false
      Switch 10 = true
    elsif Switch 10 =  true
      Switch 10 = false
      Switch 8 = true
    end
   
 if Input::Right
    if Switch 8 = true
        Switch 8 = false
        Switch 10 = true
    elsif Switch 10 =  true
        Switch 10 = false
        Switch 8 = true
  end
(Bin noch am lernen)
Titel: Re:Hilfe zu Skripten.
Beitrag von: Ðeity am November 06, 2010, 14:12:10
Hi,
um einen Switch via Script auszuschalten, musst du auf die $game_switches zugreifen. Dann brauchst du die ID des Switches:
$game_switches[id] = true/false
Self Switches hingegen, benötigen mehr. Dafür musst du die ID des Events,Map ID und Switchbezeichnung benutzen. Dafür solltest du dich unter Game_SelfSwitches umschauen.

Und Inputabfragen werden von der Syntax ebenfalls anders aufgebaut.
=> if Input.trigger?(Input::LEFT)

MfG
Deity
Titel: Re:Hilfe zu Skripten.
Beitrag von: Emelie Rose am November 06, 2010, 14:35:39
ah ok. danke dir für die antwort
Titel: Re:Hilfe zu Skripten.
Beitrag von: Boogatie Roll am November 09, 2010, 18:41:33
Hätt mal ne frage zu meinem script hier:
class Scene_Gilde < Scene_Base

  def start
    super
    create_menu_background
   @viewport = Viewport.new(0, 0, 544, 416)

      draw_currency_value($game_variables(61), 4, 0, 120)
   end

  def return_scene
    $scene = Scene_Menu.new(6)
  end

   def update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    end
 end
end

also es soll einfach ein menüpunkt sein,
bei dem ein bildschirmfüllendes fenster erscheint,
indem game variablen und text angezeigt wird,
aber irgendwie klappt das net gan :(

Post zusammen gefügt: November 13, 2010, 19:26:44
Sry für Doppelpost,

aber ist hier keiner mehr on der scripten kann?
Oder will mir nur einfach keiner helfen.

ich denke das wird jetzt kein extrem schwieriger fall sein,
und jeder der schon nur ein bisschen die regeln versteht
beim scripten kann mir sicher helfen.

brauche wirklich hilfe!

:(
Titel: Re:Hilfe zu Skripten.
Beitrag von: MicroJumper am November 15, 2010, 11:26:26
Hallo alle zusammen^^
Ganz kurze dringende Frage:

Hat jemand zufälligerweise noch den GIF-Player von Erzengel??? und wenn ja kann ich den bitte per PM oda so bekommen? °.° BITTE BITTE BITTE!! :(
Titel: Re:Hilfe zu Skripten.
Beitrag von: Akwa am November 28, 2010, 15:56:56
Hi,
in diesem Thema: NETVX (http://www.rpgvx.net/index.php?PHPSESSID=aef2fb79568f97be16ef6e0bc6eaccb9&topic=2593.0)
Wird ja das NETVX Script vorgestellt.
Was braucht man dazu damit das ganze Online läuft?
Titel: Re:Hilfe zu Skripten.
Beitrag von: PDM am November 28, 2010, 19:03:27
Ich zitiere aus dem Thread:
Zitat
DU BRAUCHT EINEN ROOT SERVER UM DAS SKRIPT ZU BENUTZEN, webspace und domain
Noah3 hatte mal aber ein Tutorial darüber gemacht, frag ihn doch einfach mal, wie das genau funktioniert.
Titel: Re:Hilfe zu Skripten.
Beitrag von: CliXx am November 28, 2010, 20:38:19
Ich hatte auch en Tutorial drüber da Noa3 seines gelöscht hatte
such einfach mal in der Tutorialsektion müsste auf der 2. seite sein
Titel: Re: Hilfe zu Skripten.
Beitrag von: Akwa am Dezember 11, 2010, 14:27:05
Ich würde gerne Woratanas 2 Players Engine benutzen nur finde ich das nie.
Und wenn ich das hier im forum suche und dann auf den demolink klicke komm ich nicht zum Skript ... hat jemand das skript noch unverändert?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Franky am Dezember 11, 2010, 21:07:11
Mir ist folgendes aufgefallen:
Wenn man unter "Game_Party" die maximale Anzahl der Mitglieder erhöht (z.B. auf 5), zeigen diverse Menüpunkte den 5. Spieler nicht mehr an.
Er ist zwar auswählbar, aber man sieht ihn nicht im Screen.
D.h. es fehlt ein Scroller für alle Menüpunkte, die Partymitglieder anzeigen.

Gibt es hierfür schon eine Überarbeitung, oder kann es jemand auf die Schnelle korrigieren?
Vielen Dank!  :haha_zwinker:
Titel: Re: Hilfe zu Skripten.
Beitrag von: Domin0e am Dezember 15, 2010, 22:10:53
Nabend Freunde (:
Ich suche ein Skript, das folgende Funktionen, die ein [desc=AddEquipmentOptions]KGC-Skript[/desc] für Ausrüstung bietet für Skills zugänglich macht. Meines Wissens gibt es sowas bei der Battle engine Melody, die ich aber nicht nutze, nicht habe und nicht weiß, ob dieses (Teil-)skript ohne die komplette Engine lauffähig ist.
#_/  <attack element ElementID>
#_/  Adds additional elements to the character's default attack.
#_/ 
#_/  <plus state StateID>
#_/  Adds additional status effects to the character's default attack.

Wäre super, wenn wer helfen könnte.

~Domi

Edit: Natürlich sollen diese Skills Statusänderungen hervorrufen, die das bewirken, sry falls das nicht ganz klar ist x.x
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cyberxeroxx am Januar 01, 2011, 04:59:14
Eine sehr kleine Frage und zwar wie war der Scriptbefehl um das Ladenmenü zu öffnen? Hab Skip Title Script drin, dennoch muss das Game von meinem Titelbild aus wieder geladen werden ^^.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Devoli am Januar 01, 2011, 11:14:45
$scene = Scene_File.new(false, true, false)hier bitte :3
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Januar 01, 2011, 11:39:24
der is ganz einfach (=

$scene = Scene_File.new(false,true,false)

und @Domin0e:

ich versteh deine frage nich richtig oO
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cyberxeroxx am Januar 01, 2011, 15:10:32
Brauche nochmal hilfe ^^.
Wenn ich das eingebe "$scene = Scene_File.new(false, true, false)" und mein Game Laden möchte kommt ein Fehler im Requiem SBABS Basic Script.

(http://img812.imageshack.us/img812/8792/fehlerimscript.png)



Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am Januar 01, 2011, 15:28:16
Könntest du das Script bitte mal posten? Habs nämlich grade nicht zur Hand :haha:
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cyberxeroxx am Januar 01, 2011, 15:49:08
Da ich probleme habe das Script hier reinzustellen kA warum bei mir geht das mit dem Code nicht geht hab ich es mal hochgelden.

http://www.mediafire.com/?2pqjmas7nkw6g94 (http://www.mediafire.com/?2pqjmas7nkw6g94)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Januar 01, 2011, 15:54:33
Hay,
geh in die Zeile wo folgendes steht:
$scene.hud_window2.refresh
und änder es in:
$scene.hud_window2.refresh if !$scene.hud_window2.nil?

Das müsste das Problem beheben.

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cyberxeroxx am Januar 01, 2011, 16:19:33
Also hab es umgeändert und nun kommt das :
(http://img31.imageshack.us/img31/562/neuerfehler.png)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Januar 01, 2011, 16:23:25
Ok,
ersetz die Zeile damit:
$scene.hud_window2.refresh if $scene.is_a?(Scene_Map)

MfG
Deity
Titel: Re: Hilfe zu Skripten.
Beitrag von: Cyberxeroxx am Januar 01, 2011, 16:35:06
Ja das geht jetzt, danke Deity ^^.
Titel: Re: Hilfe zu Skripten.
Beitrag von: ShadowFighter am Januar 03, 2011, 16:54:49
Ich bräuchte Hilfe zu dem Nightlights Skript von Hellminor :hehe:

Ich benutze es erst seit kurzem...für das Licht funktioniert es...es sieht schön aus  :haha:

allerdings, wenn ich (in paint.NET) einen Schatten platziere, dann ist der auch über dem Charakter im Game später (an manchen Stellen ist das ja normal...aber hier im Screen, da wo der Char ist

Screen:
(http://www.npshare.de/files/6bcf7089/-.-.jpg)

mach ich was falsch...oder geht das nicht anders :what:

Edit: der Shadow Remover geht iwie nicht mehr-.-
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am Januar 06, 2011, 09:57:57
ich hab ein problem und zwar nutze ich das tag nacht script von onkel hell (simple day and night) ich habe alles eingestellt und es funktioniert soweit alles wunderbar bis auf ein komisches problem wenn in meiner anzeige z.b. frühling sonntag und vierte woche angezeigt wird dann sind aber (mit f9) diese switche an winter samstag und die zweite woche.  :hehe: ...ich kann mir nicht erklären was ich falsch gemacht habe oder muß man damit leben?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Herendil am Januar 07, 2011, 21:46:53
mach ich was falsch...oder geht das nicht anders :what:
Edit: der Shadow Remover geht iwie nicht mehr-.-

Rat: Das Skript ist höchst gefährlich, wenn man sich nicht auskennt. Füge das Skript mal direkt unter Materials ein, also vor allen  anderen Benutzer-Skripts. sonst wüsste ich auch nicht, wie dir zu helfen ist.
Titel: Re: Hilfe zu Skripten.
Beitrag von: ShadowFighter am Januar 08, 2011, 19:51:23
@Herendil
Zitat
Füge das Skript mal direkt unter Materials ein, also vor allen  anderen Benutzer-Skripts.

Das hat leider  nicht funktioniert, und es war auch vorher schon als erstes...

Ich habs mal als Test unter alle anderen eingefügt...es funktioniert!! :haha:

Trotzdem danke für die Hilfe, jetzt werden meine Maps noch schöner :grimace:
Titel: Re: Hilfe zu Skripten.
Beitrag von: Atego am Januar 13, 2011, 11:01:11
Hallo Leute,

ich mache für mein Spiel ein Pausenmenü mit Bildern, aber im Hintergrund läuft das Spiel immer weiter. Ich suche daher nach einem Callskript, das wenn ich Pause mache ingame das dann alles wirklich Pausiert.

Ich hoffe ihr versteht was ich meine^^

MfG Atego

EDIT: Will mir keiner helfen oder wisst ihr es nicht?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Evolution am Januar 15, 2011, 14:15:25
Edit: Ok habs selber herausgefunden. unter Window_Battlestatus


Originale Message:
Wo kann ich die x und y Koordinaten für die Statussymbole im Kampfsystem verändern

Z.b Wenn man vergiftet wird, ist ja dann dieses Blubber Symbol zwischen dem Namen und der hp. Ich will diese Symbole etwas nach links verschieben.

Was und wo muss ich etwas im Skript ändern?
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Februar 07, 2011, 12:35:21
Ich bräuchte mal Hilfe bei meinem Battle HUD q.q
und zwar hab ich das Problem das HP/MP Balken nicht angezeigt wird, so wie die Nummern
(im Grunde wird nur das HUD_Actor angezeigt und sonst nichts) Grafiken sind alle vorhanden bzw die, die ich nicht brauche transparent

Hier ist das Skript das ich verwende
#==============================================================================
# ?–? Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Selectable
  # Skin File name
  BTSKIN_00 = "Btskin_main"   # Main Skin
  BTSKIN_01 = "Btskin_hp"     # HP(Gauge)
  BTSKIN_02 = "Btskin_mp"     # MP(Gauge)
  BTSKIN_04 = "Btskin_n00"    # HP(Numbers)
  BTSKIN_05 = "Btskin_n00"    # MP(Numbers)
  BTSKIN_03 = "Btskin_state"  # State
  # Skin coordinates[  x,  y]
  BTSKIN_B_XY = [-179, -17]     # ?Ÿ??–??™
  BTSKIN_00XY = [-35, 17]     #Main Skin
  BTSKIN_01XY = [-19,  25]     # HP(gauge)
  BTSKIN_02XY = [-15, 41]     # MP(gauge)
  BTSKIN_04XY = [ 24, 16]     # HP(numbers)
  BTSKIN_05XY = [ 28, 35]     # MP(numbers)
  BTSKIN_03XY = [ 23, 31]     # ?‚??ƒ†?ƒ??ƒˆ?‚??‚??ƒ?
  BTSKIN_06XY = [ 66, -8]     # ?‚??ƒ†?ƒ??ƒˆ
  # Various Settings
  BTSKIN_01GS = 4             # HP Gauge Speed (Low values are fast)
  BTSKIN_02GS = 6             # MP Gauge Speed(Low values are fast)
  BTSKIN_04SS = 8             # HP Rolling Numbers Speed(Low values are fast)
  BTSKIN_05SS = 2             # MP Rolling Numbers Speed(Low values are fast)
  BTSKIN_04NS = 4             # HP Maximum Digits
  BTSKIN_05NS = 4             # MP Maximum Digits
  BTSKIN_06WH = [24,24]       # [State Width, Height]
  BTSKIN_06SC = 3             # State Icon Scroll Speed
                              # (Values close to 1 are fast)
  # ?ƒ??ƒˆ?ƒ??‚??ƒ†?ƒ??‚??‚???™
  def set_xy
    @x = []
    @y = []
    for i in 0...$game_party.members.size
      x = (i * 153) + 40
      y = 3
      @x[i] = x + 176#+ STRRGSS2::ST_SX
      @y[i] = y + 16#+ STRRGSS2::ST_SY
    end
  end
  # ??š?‡?‰€?“?“??
  @@f = false
 
 
  #--------------------------------------------------------------------------
  # ?˜… ?‚??‚??ƒ??‚??‚?
  #--------------------------------------------------------------------------
  alias initialize_str33 initialize
  def initialize(f = false)
    initialize_str33
    unless @@f
      @f = @@f = true
    else
      @f = false
    end
    set_xy
    @s_sprite = []
    @s_party = []
    @s_lv = []
    @opacity = 255
    self.contents.dispose
    self.create_contents
    self.back_opacity = 0
    self.opacity = 0
    #@column_max = $game_party.actors.size
    @viewport = Viewport.new(0, 480-128, 640, 128)
    @hpgw = (Cache.system(BTSKIN_01)).width
    @mpgw = (Cache.system(BTSKIN_02)).width
    @viewport.z = self.z - 1
    @state_opacity = []
    @item_max = $game_party.members.size
    return unless @f
    for i in 0...@item_max
      draw_item(i)
    end
    update
  end
  #--------------------------------------------------------------------------
  # ?—? ?ƒ??ƒ•?ƒ??ƒƒ?‚??ƒ???—
  #--------------------------------------------------------------------------
  def refresh
    # :-)
  end
 
   #--------------------------------------------------------------------------
  # ?—? ?‚??ƒ†?ƒ??ƒˆ???”?
  #--------------------------------------------------------------------------
  def draw_actor_state(actor)
    icon = Cache.system("Iconset")
    w = actor.states.size * 24
    w = 24 if w < 1
    bitmap = Bitmap.new(w, BTSKIN_06WH[1])
    count = 0
    for state in actor.states
      icon_index = state.icon_index
      x = 24 * count
      rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
      bitmap.blt(x, 0, icon, rect)
      count += 1
    end
    return bitmap
  end
  #--------------------------------------------------------------------------
  # ?—? ??‰??œ?ˆ?
  #--------------------------------------------------------------------------
   def name_bitmap(actor)
     bitmap = Bitmap.new(100, 24)
     bitmap.font.size = 20
     bitmap.draw_text_f(-4, 40, 100, 24, actor.name)
     return bitmap
   end
  #--------------------------------------------------------------------------
  # ?—? ?‚??ƒ†?ƒ??ƒˆ?•??–?—
  #--------------------------------------------------------------------------
  def state_size(actor)
    return actor.states.size
  end
  #--------------------------------------------------------------------------
  # ?—? ?‚??‚??ƒ†?ƒ??œ?ˆ?
  #--------------------------------------------------------------------------
  def draw_item(index)
    return unless @f
    actor = $game_party.members[index]
    #
    @s_sprite[index] = []
    s = @s_sprite[index]
    # ?ƒ??‚??ƒ??‚??‚??ƒ?
    s[0] = Sprite.new(@viewport)
    s[0].bitmap = Cache.system(BTSKIN_00)
    s[0].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_00XY[0]
    s[0].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_00XY[1]
    s[0].z = 0
    # HP
    s[1] = Sprite.new(@viewport)
    s[1].bitmap = Cache.system(BTSKIN_01)
    s[1].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_01XY[0]
    s[1].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_01XY[1]
    s[1].z = 4
    w = s[1].bitmap.width
    h = s[1].bitmap.height / 2
    s[1].src_rect.set(0, 0, w, h)
    s[2] = Sprite.new(@viewport)
    s[2].bitmap = Cache.system(BTSKIN_01)
    s[2].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_01XY[0]
    s[2].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_01XY[1]
    s[2].z = 3
    s[2].src_rect.set(0, h, w, h)
    s[11] = 96
    s[6] = Sprite_strNumbers.new(@viewport, BTSKIN_04, BTSKIN_04NS)
    s[6].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_04XY[0]
    s[6].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_04XY[1]
    s[6].z = 5
    s[13] = actor.hp
    s[6].update(s[13])
    # MP
    s[3] = Sprite.new(@viewport)
    s[3].bitmap = Cache.system(BTSKIN_02)
    s[3].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_02XY[0]
    s[3].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_02XY[1]
    s[3].z = 4
    w = s[3].bitmap.width
    h = s[3].bitmap.height / 2
    s[3].src_rect.set(0, 0, w, h)
    s[4] = Sprite.new(@viewport)
    s[4].bitmap = Cache.system(BTSKIN_02)
    s[4].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_02XY[0]
    s[4].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_02XY[1]
    s[4].z = 3
    s[4].src_rect.set(0, h, w, h)
    s[12] = 56
    s[7] = Sprite_strNumbers.new(@viewport, BTSKIN_05, BTSKIN_05NS)
    s[7].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_05XY[0]
    s[7].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_05XY[1]
    s[7].z = 5
    s[14] = actor.mp
    s[7].update(s[14])
    # ?‚??ƒ†?ƒ??ƒˆ
    s[5] = Viewport.new(0, 0, BTSKIN_06WH[0], BTSKIN_06WH[1])
    s[5].rect.x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_06XY[0] + @viewport.rect.x
    s[5].rect.y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_06XY[1] + @viewport.rect.y
    s[5].z = @viewport.z + 1
    s[8] = Sprite.new(@viewport)
    s[8].bitmap = Cache.system(BTSKIN_03)
    s[8].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_03XY[0]
    s[8].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_03XY[1]
    s[8].z = -2
    s[9] = Plane.new(s[5])
    s[9].bitmap = draw_actor_state(actor)
    s[10] = state_size(actor)
    # ??œ???‚??ƒ†?ƒ??‚??‚??
    s[11] = ((@hpgw * (actor.hp / (actor.maxhp * 1.0))) + 1).truncate
    if actor.maxmp != 0
      s[12] = ((@mpgw * (actor.mp / (actor.maxmp * 1.0))) + 1).truncate
    else
      s[12] = 0
    end
     s[15] = Sprite.new(@viewport)
     s[15].bitmap = name_bitmap(actor)
     s[15].x = @x[index] + 4
     s[15].y = @y[index] + 2
     s[15].z = 255
    s[1].src_rect.width = s[11]
    s[2].src_rect.width = s[11]
    s[3].src_rect.width = s[12]
    s[4].src_rect.width = s[12]
    s[6].update(s[13])
    s[7].update(s[14])
    # ???–?
    for l in [0,1,2,3,4,8,9,15]
      s[l].opacity = 0
    end
    for l in [6,7]
      s[l].o = 0
    end
    # ?ƒ…??˜?†?(actor, x, y, size = 151)
    @s_lv[index] = actor.level
    @s_party[index] = [actor.name, actor.hp, actor.maxhp,
                       actor.mp, actor.maxmp, actor.states]
    #
     x = index * 61 - 20
     y = 90
     s[16] = Sprite.new
     s[16].bitmap = Cache.system("HUD_" + actor.name)
     s[16].x = @x[index] + 10 - 227
     s[16].y = @y[index] + -4 + 215
     s[16].z = 0
   end
  #--------------------------------------------------------------------------
  # ?—? ?‚??ƒ–?‚??‚??‚??ƒˆ?–‹?”?
  #--------------------------------------------------------------------------
  def dispose       
    super
    return unless @f
    for i in 0...@s_sprite.size
      for l in [0,1,2,3,4,8,9,15,16]
        @s_sprite[i][l].bitmap.dispose
        @s_sprite[i][l].dispose
      end
      for l in [5,6,7]
        @s_sprite[i][l].dispose
      end
    end
    @@f = false
  end
  #--------------------------------------------------------------------------
  # ?—? ?ƒ•?ƒ??ƒ??ƒ??›??–?
  #--------------------------------------------------------------------------
  def update
    super
    return unless @f
    for i in 0...@s_sprite.size
      s = @s_sprite[i]
      a = $game_party.members[i]
      m = @s_party[i]
      @state_opacity[i] = 0 if @state_opacity[i] == nil
      # ??€??˜Ž??‚??ƒƒ?ƒ—
      @state_opacity[i] += 8
      if @opacity < 272
        @opacity += 8
        for l in [0,1,2,3,4,15]
          s[l].opacity = @opacity
        end
        for l in [6,7]
          s[l].o = @opacity
        end
      end
      # ??‰??›??–?
      if a.name != m[0]
        s[15].bitmap.dispose
        s[15].bitmap = name_bitmap(a)
        m[0] = a.name
      end
      # HP/MP?›??–?
      update_hp(s,a,m)
      update_mp(s,a,m)
      # ?‚??ƒ†?ƒ??ƒˆ?›??–?
      if s[10] > BTSKIN_06WH[0] / 24 and (Graphics.frame_count % BTSKIN_06SC) == 0
        s[9].ox += 1
      end
      if s[10] > 0 and @state_opacity[i] < 272
        for l in [8,9]
          s[l].opacity = @state_opacity[i]
        end
      end
      if a.states != m[5]
        m[5] = a.states
        s[9].ox = 0
        s[9].bitmap.dispose
        s[9].bitmap = draw_actor_state($game_party.members[i])
        s[10] = state_size($game_party.members[i])
        @state_opacity[i] = 0
        for l in [8,9]
          s[l].opacity = @state_opacity[i]
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # ?—? ?ƒ•?ƒ??ƒ??ƒ??›??–? (HP)
  #--------------------------------------------------------------------------
  def update_hp(s,a,m)
    # HP??‚‹??‚‹
    if a.hp != s[13]
      c = 0; c = 1 if a.hp < a.maxhp / 4; c = 2 if a.hp == 0
      if s[13] > a.hp
        s[13] -= BTSKIN_04SS
        s[13] = a.hp if s[13] < a.hp
      else
        s[13] += BTSKIN_04SS
        s[13] = a.hp if s[13] > a.hp
      end
      s[6].update(s[13], c)
    end
    # HP
    if a.hp != m[1]
      s[11] = ((@hpgw * (a.hp / (a.maxhp * 1.0))) + 1).truncate
      m[1] = a.hp
    end
    sr = s[1].src_rect
    if sr.width != s[11]
      sp = BTSKIN_01GS
      sr.width = (s[11] + (s[1].src_rect.width * (sp - 1))) / sp
      sr.width = 2 if sr.width <= 1 and a.hp > 0
    end
    sr = s[2].src_rect
    sp = 2
    if sr.width != s[1].src_rect.width and (Graphics.frame_count % sp) == 0
      if sr.width < s[1].src_rect.width
        sr.width += 1
      else
        sr.width -= 1
      end
    end
    sr.width = 2 if sr.width <= 1 and a.hp > 0
  end
  #--------------------------------------------------------------------------
  # ?—? ?ƒ•?ƒ??ƒ??ƒ??›??–? (MP)
  #--------------------------------------------------------------------------
  def update_mp(s,a,m)
    # MP??‚‹??‚‹
    if a.mp != s[14]
      c = 0; c = 1 if a.mp < a.maxmp / 4
      if s[14] > a.mp
        s[14] -= BTSKIN_05SS
        s[14] = a.mp if s[14] < a.mp
      else
        s[14] += BTSKIN_05SS
        s[14] = a.mp if s[14] > a.mp
      end
      s[7].update(s[14], c)
    end
    # MP
    if a.mp != m[3]
      if a.maxmp != 0
        s[12] = ((@mpgw * (a.mp / (a.maxmp * 1.0))) + 1).truncate
      else
        s[12] = 0
      end
      m[3] = a.mp
    end
    sr = s[3].src_rect
    if sr.width != s[12]
      sp = BTSKIN_02GS
      sr.width = (s[12] + (s[3].src_rect.width * (sp - 1))) / sp
      sr.width = 2 if sr.width <= 1 and a.mp > 0
    end
    sr = s[4].src_rect
    sp = 2
    if sr.width != s[3].src_rect.width and (Graphics.frame_count % sp) == 0
      if sr.width < s[3].src_rect.width
        sr.width += 1
      else
        sr.width -= 1
      end
    end
    sr.width = 2 if sr.width <= 1 and a.mp > 0
  end
end

#==============================================================================
# ?–? Sprite_strNumber
#==============================================================================
class Sprite_strNumber < Sprite
  #--------------------------------------------------------------------------
  # ?—? ?‚??ƒ–?‚??‚??‚??ƒˆ?ˆ??œŸ?Œ–
  #--------------------------------------------------------------------------
  def initialize(v, gra, n = 0)
    @n = n
    super(v)
    self.bitmap = Cache.system(gra)
    @w = self.bitmap.width/10
    @h = self.bitmap.height/3
    self.src_rect = Rect.new(@n*@w, 0, @w, @h)
  end
  #--------------------------------------------------------------------------
  # ?—? ?ƒ•?ƒ??ƒ??ƒ??›??–?
  #--------------------------------------------------------------------------
  def update(n = -1, c = 0)
    @n = n
    self.src_rect.x = @n*@w
    self.src_rect.y = c*@h
  end
end
#==============================================================================
# ?–? Sprite_strNumbers
#==============================================================================
class Sprite_strNumbers
  attr_accessor :x
  attr_accessor :y
  attr_accessor :z
  attr_accessor :o
  #--------------------------------------------------------------------------
  # ?—? ?‚??ƒ–?‚??‚??‚??ƒˆ?ˆ??œŸ?Œ–
  #--------------------------------------------------------------------------
  def initialize(v, gra, n = 4, s = 0)
    @n = n # ??•?
    @x = 0
    @y = 0
    @z = 0
    @o = 255
    @sprite = []
    # ?—?–“??š
    b = Cache.system(gra)
    @s = b.width / 10 - s
    # ?‚??ƒ—?ƒ??‚??ƒˆ?œ?ˆ?
    for i in 0...n
      @sprite[i] = Sprite_strNumber.new(v, gra)
    end
    update
  end
  #--------------------------------------------------------------------------
  # ?—? ?ƒ•?ƒ??ƒ??ƒ??›??–?
  #--------------------------------------------------------------------------
  def update(v = 0, c = 0)
    val = []
    # ?•??€??‚’?…??ˆ—???
    for i in 0...@n
      if (10 ** (i)) == 0
        val[i] = v % 10
      else
        val[i] = v / (10 ** (i)) % 10
      end
    end
    val = val.reverse
    # ?…ˆ??0?‚’?–?‚Š?™??
    for i in 0...@n
      if val[i] == 0 and @n != i + 1
        val[i] = -1
      else
        break
      end
    end
    # ?‚??ƒ—?ƒ??‚??ƒˆ?›??–?
    for i in 0...@n
      @sprite[i].update(val[i], c)
      @sprite[i].x = @x + (i * @s)
      @sprite[i].y = @y
      @sprite[i].z = @z
      @sprite[i].opacity = @o
    end
  end
  #--------------------------------------------------------------------------
  # ?—? ??€??˜Ž????”?
  #--------------------------------------------------------------------------
  def o=(val)
    @o = val
    for i in 0...@n
      @sprite[i].opacity = @o
    end
  end
  #--------------------------------------------------------------------------
  # ?—? ?‚??ƒ–?‚??‚??‚??ƒˆ?–‹?”?
  #--------------------------------------------------------------------------
  def dispose
    for i in 0...@sprite.size
      @sprite[i].bitmap.dispose
      @sprite[i].dispose
    end
  end
end


#==============================================================================
# ?–? Bitmap
#==============================================================================
# This script controls the shadow behind actor names for *STR33g1_Battle Status.

class Bitmap
  #--------------------------------------------------------------------------
  # ?—? ?–‡?—??–?‚Š??”?
  #--------------------------------------------------------------------------
  def draw_text_f(x, y, width, height, str, align = 0, color = Color.new(64,32,128))
    shadow = self.font.shadow
    b_color = self.font.color.dup
    font.shadow = true
    font.color = color
    draw_text(x + 1, y, width, height, str, align)
    draw_text(x - 1, y, width, height, str, align)
    draw_text(x, y + 1, width, height, str, align)
    draw_text(x, y - 1, width, height, str, align)
    font.color = b_color
    draw_text(x, y, width, height, str, align)
    font.shadow = shadow
  end
  def draw_text_f_rect(r, str, align = 0, color = Color.new(64,32,128))
    draw_text_f(r.x, r.y, r.width, r.height, str, align = 0, color)
  end
end

Derzeit schaut das ganze so bei mir aus
(http://img715.imageshack.us/img715/6463/hud.png)

Was mich auch interessieren würde wo ich die Koordinaten des Kastens verändern kann, also nicht dem, wo die Befehle drin stehen, sondern mit dem ich unten meinen Charakter auswählen kann
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Februar 07, 2011, 19:10:07
hast du auch die grafiken für die HP & MP Balken mitkopiert? (=
Titel: Re: Hilfe zu Skripten.
Beitrag von: koushirou am Februar 07, 2011, 21:01:02
Hat sich erledigt, danke noch mal für deine Hilfe FlipelyFlip! '3'
Titel: Re: Hilfe zu Skripten.
Beitrag von: Leviathan am Februar 07, 2011, 22:18:44
Ich wollte dieses Battlesystem verwenden
http://www.rpgmakervx.net/index.php?showtopic=9727&st=0&p=90685&#entry90685 (http://www.rpgmakervx.net/index.php?showtopic=9727&st=0&p=90685&#entry90685)
Jetzt meine Frage was muss ich hinzufügen oder umschreiben,
dass daraus ein Battlesystem mit einer Zeitlinie wird?
Der Kampf sollte weiterhin auf der Karte stattfinden und die
Charaktere dürfen sich die ganze Zeit bewegen.
Bei Ablauf der Zeit erfolgt der Angriff.
Würde mich freuen, wenn mir jemand helfen könnte.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Franky am Februar 10, 2011, 19:55:16
Ich möchte Leviathans Frage nicht in den Schatten stellen, also zitiere ich sie hier nochmal xD.

Ich wollte dieses Battlesystem verwenden
[url]http://www.rpgmakervx.net/index.php?showtopic=9727&st=0&p=90685&#entry90685[/url] ([url]http://www.rpgmakervx.net/index.php?showtopic=9727&st=0&p=90685&#entry90685[/url])
Jetzt meine Frage was muss ich hinzufügen oder umschreiben,
dass daraus ein Battlesystem mit einer Zeitlinie wird?
Der Kampf sollte weiterhin auf der Karte stattfinden und die
Charaktere dürfen sich die ganze Zeit bewegen.
Bei Ablauf der Zeit erfolgt der Angriff.
Würde mich freuen, wenn mir jemand helfen könnte.


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Meine Frage ist nur ganz kurz:
Ich möchte ein Event erstellen mit folgendem Inhalt:
Wenn ein spezifischer Window Command selektiert ist, möchte ich, dass ein dazu gehöriges Picture erscheint.
D.h. Command 1 lässt Picture 1 erscheinen, Command 2 Picture 2 usw...
Dies impliziert auch, dass das (dauerhafte) Drücken einer Taste (hoch, runter) ausgeschlossen wird; es muss auf den Commands basieren und nicht auf den Tasten und wie oft man diese betätigt.
____________________________________
Titel: Re: Hilfe zu Skripten.
Beitrag von: Herendil am Februar 13, 2011, 02:33:29
Zu Leviathan:
Eine solche Anpassung ist sehr zeitaufwendig und ich glaube niemand macht sowas freiwillig. Ein neues System zu suchen wäre einfacher

Zu Franky:
Das ist einfach. Window_Command verfügt über die Variable "@index". Das heißt, dass du im Event abfragen kannst, ob bspw. @window_command.index == 1 ist. Den Rest solltest du schaffen^^
Titel: Menü-Hilfe gesucht
Beitrag von: Zeduak am Februar 17, 2011, 15:55:06
Ich komme nicht weiter, jetzt hoffe ich auf eure Hilfe.
Folgendes Problem:
Ich verwende dieses Menu-Script: http://www.rpgmakervx.net/index.php?showtopic=30069&st=0&p=277139&#entry277139 (http://www.rpgmakervx.net/index.php?showtopic=30069&st=0&p=277139&#entry277139)
Unten Rechts wird die Spielzeit angezeigt (sieht man auf dem Screen wenn man den Link anklickt)
Nun, ich will das Icon verändern und statt der Spielzeit eine Variable anzeigen lassen.
In meinem Fall Anzahl Skill-Points, aber das ist nebensächlich.


Das wars dann auch schon.
Würde mich über Hilfe rießig freuen ^_^

Das gehört nicht in VX Allgemein, sondern hierher.
~Kyo
Titel: Re: Hilfe zu Skripten.
Beitrag von: Evil95 am Februar 25, 2011, 13:41:37
ich hab da auch mal ne ganz kurze und einfache frage. ich will in bei einer condition abfragen ob gerade ein SE abgespielt wird. mit welchen befehl stelle ich das an?
big thx im vorraus :)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Eddyle am Februar 25, 2011, 20:10:46
@Evil95

Da müsstest du über Events und Schalter arbeiten.

Ein Event das parallel läuft und als Bedingungen einen Schalter hat. Das Event soll die SE abspielen und sich danach wieder selber Abschalten durch [Schalter Beispiel] Aus.

-SE abspielen
-Wait 120 Frames
-[Schalter Beispiel] Aus

In nem anderen Event das parallel läuft, kannst dann die Branch machen "Wenn Schalter an, dann...;Ansonsten..." ... und eben einfügen was passieren soll...

Und eben ein Event, das den [Schalter Beispiel] aktiviert. Durch berührung oder Interaktion oder zufall... wie dus halt haben willst.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Evil95 am Februar 25, 2011, 20:39:04
das geht zu 100% per rgss2...ich brauch ja nur den befehl :D
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Februar 26, 2011, 10:16:48
guck in der makerhilfe nach, blöd gesagt, aber soviel ich weiß, gibts dafür leider keinen befehl und man müsste ihn erst erstellen^^"

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Evil95 am Februar 26, 2011, 14:52:22
in der hilfe habe ich schon geguckt...der befehl um SEs abzuspielen lautet Audio.se_play. ich dachte conditional branch script "Audio.se_play" würde klappen...aba da kommt nur ein fehler
"Wrong # of arguments (1 for 0)"
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Februar 26, 2011, 15:04:29
kein wunder, damit sagst du dem maker über RGSS ja auch, dass eine se abgespielt werden soll, da kannst du das schlecht abfragen^^

Aber das war mehr so gemeint, wenn in der Hilfe nen begriff drin stehn würde wie zB. Audio.se_play? dann wärs abfragbar, aber wenns nich drin is, dann gibts ebn keine direkte Möglichkeit über RGSS abzufragen ob eine gespielt wird. Sprich: man müsste es scripten (=

daher ist die eventlösung meines erachtens einfacher, als sich das zu scripten^^

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Evil95 am Februar 26, 2011, 15:43:17
jut dann werd ik das wohl per event lösen müssen^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 10:29:35
kann man bei den kämpfen beim vx auch bilder einfügen? ich meine als hintergrund, so wie es bei dem xp ist?  :faint:
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 06, 2011, 11:13:28
ja kann man, man braucht dazu aber ein script.

dieses hier ist eigentlich sehr gut:

#===============================================================================
# Battle Backgrounds - RMVX
#===============================================================================
# Written by Synthesize
# January 20, 2008
# Version 1.00A
#===============================================================================
#    * This script is untested. *
#===============================================================================
module SynBattleB
  # Place your battle backgrounds in the 'Pictures' folder (Graphics/Pictures)
  # Format = {map_id => Battleback Name}
  Battle_background =
  {
  # 1 => "Canyon",
  # 2 => "Cave"
  }
  #-----------------------------------------------------------------------------
  # Create the battlefloor?
  Create_battlefloor = false
  #-----------------------------------------------------------------------------
  # This was being requested on quite a fe forums now, so I threw a quick script
  # together. It is nice and simple, and does what it is suppsoed to do. Once
  # RMVX is released in English, then I will add additional features into this.
  #-----------------------------------------------------------------------------
end
#-------------------------------------------------------------------------------
# Spriteset_Battle
#-------------------------------------------------------------------------------
class Spriteset_Battle
  alias syn_create_battlefloor create_battlefloor
  #-----------------------------------------------------------------------------
  # Create Battleback
  #-----------------------------------------------------------------------------
  def create_battleback
image = SynBattleB::Battle_background[$game_map.map_id]
@battleback_sprite = Sprite.new(@viewport1)
@battleback_sprite.bitmap = Cache.picture(image)
  end
  def create_battlefloor
@battlefloor_sprite = Sprite.new(@viewport1)
syn_create_battlefloor if SynBattleB::Create_battlefloor == true
  end
end
#===============================================================================
# * This script is untested *
#=============================================================================== 
# Version 1.00A
# January 20, 2008
# Written by Synthesize
#===============================================================================
# Battle Backgrounds - RMVX
#===============================================================================

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Kyoshiro am März 06, 2011, 11:16:02
Natürlich ist das möglich, es gibt eine Menge Scripte, die dies ermöglichen. Wenn du sagst was du genau haben möchtest, dann kann ich das entsprechende posten.

Hier eine Liste mit Möglichkeiten:
- Animierte Kampfhintergründe
- Hintergründe werden im Script für jede Mal einzeln festgelegt
- Hintergründe werden im Scrpt für Areas einzeln festgelegt
- Hintergründe werden per Variable gewechselt

Sag einfach welches du haben willst, ich kann aufgrund der Länge nicht einfach alle reinstellen.^^

~Edit:
Flip war schneller...er hat das erste Script aus meiner Liste reingestellt.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 11:41:48
 :cry:
danke für die schnelle antwort, aber bei dem hintergrund bekomme ich immer in der zeile 36 eine fehlermeldung

außerdem möchte ich doch auf kyoshiros angebot zurückkommen  :haha: und hätte gern die nr. zwei
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 06, 2011, 12:28:35
@Kyo: das script is bei dir die Nr. 2 ;D

@Galadriela: du musst zuerst noch die Map-IDs und die Bildernamen definiern, welche es verwenden soll. das ganze machst du in Zeile 17  (=

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 12:52:27
hmmmm, wahrscheinlich bin ich wieder zu blöd  :angry:
also ich schreibe im script die map id rein und lade ein bild hoch was ich auch so nenne, trotzdem kommt der fehler noch  :what:
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 06, 2011, 13:00:25
du siehst doch die beiden Beispiele im Komentar, du musst es so machen, nur eben mit deinen Bildernamen (=

also zB. du hast das Picture Cave und willst es für die MapID 2 verwenden guckt das dann so aus:

2 => "Cave"
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 13:05:39
genauso hab ich es gemacht :(

.............................................
module SynBattleB
  # Place your battle backgrounds in the 'Pictures' folder (Graphics/Pictures)
  # Format = {map_id => Battleback Name}
  Battle_background =
  {
  # 1 => "Feenberg",
  # 2 => "Knusperstadt"
  }

ich denke mal so aaaaaaaaaaaah ich seh es dieses zeichen # muss davor weg  :haha_zwinker:
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 06, 2011, 13:08:36
du musst das # zeichen vor den beiden entfernen (=
sie dürfen nicht grün sein (=
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 13:09:48
der fehler kommt trotzdem  :cry:
jetzt heul ich gleich lach
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 06, 2011, 14:00:12
wie lautet den der fehler?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 14:09:49
Script "Kampfhintergrund" line 36: Syntax Error occurred
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 06, 2011, 14:32:13
einmal maker schließen und neu aufmachen nachdem du das # zeichen entfernt hast, bin mir nich sicher ob das den fehler behebt, aber is ein versuch wert (=
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 14:33:40
 :shame: leider bleibt der fehler  :sad:
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 06, 2011, 14:36:26
hast du auch die irgendwie sonst das script verändert?
wenn ja, dann zeig es mal bitte
verwend aber bitte den code tag dazu^^"
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 14:39:07
nein gar nichts  :sad:
ich hab ihn so wie er war eingefügt und nur die beiden namen geändert

#===============================================================================
# Battle Backgrounds - RMVX
#===============================================================================
# Written by Synthesize
# January 20, 2008
# Version 1.00A
#===============================================================================
#<span style="white-space: pre;">    </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span>   * This script is untested. *
#===============================================================================
module SynBattleB
  # Place your battle backgrounds in the 'Pictures' folder (Graphics/Pictures)
  # Format = {map_id => Battleback Name}
  Battle_background =
  {
  1 => "Feenberg",
  2 => "Knusperstadt"
  }
  #-----------------------------------------------------------------------------
  # Create the battlefloor?
  Create_battlefloor = true
  #-----------------------------------------------------------------------------
  # This was being requested on quite a fe forums now, so I threw a quick script
  # together. It is nice and simple, and does what it is suppsoed to do. Once
  # RMVX is released in English, then I will add additional features into this.
  #-----------------------------------------------------------------------------
end
#-------------------------------------------------------------------------------
# Spriteset_Battle
#-------------------------------------------------------------------------------
class Spriteset_Battle
  alias syn_create_battlefloor create_battlefloor
  #-----------------------------------------------------------------------------
  # Create Battleback
  #-----------------------------------------------------------------------------
  def create_battleback
<span style="white-space: pre;">    </span>image = SynBattleB::Battle_background[$game_map.map_id]
<span style="white-space: pre;">  </span>@battleback_sprite = Sprite.new(@viewport1)
<span style="white-space: pre;">  </span>@battleback_sprite.bitmap = Cache.picture(image)
  end
  def create_battlefloor
<span style="white-space: pre;">  </span>@battlefloor_sprite = Sprite.new(@viewport1)
<span style="white-space: pre;"> </span>syn_create_battlefloor if SynBattleB::Create_battlefloor == true
  end
end
#===============================================================================
#<span style="white-space: pre;">   </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span>* This script is untested *
#=============================================================================== 
# Version 1.00A
# January 20, 2008
# Written by Synthesize
#===============================================================================
# Battle Backgrounds - RMVX
#===============================================================================
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 06, 2011, 15:12:04
hab das problemchen gefunden^^"

gab wohl formatierungsprobleme beim kopiern^^

lösch einfach alles raus aus dem script was in solchen Klammern ist: <>
die klammern aber bitte auch mit rauslöschen^^

dann dürfte es funktionieren (=
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 15:16:13
 :haha_zwinker: lach ich hab mich schon gewundert was das für ein neues zeichen im script sein soll  :haha:
....................................
du weißt aber schon das es so in dem script steht??????  :hehe:
................................
und wenn ich es rauslösche dann  ist der kampfhintergrund wie immer  :faint:
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 06, 2011, 15:36:27
wundert mich irgendwie, aber werds nachher noch raus editiern (=

du musst die ID der Map bei der der hintergrund sein soll auch angeben 1 wäre die ID der Map 1 ;)
Wenns jetzt zum Beispiel Map 57 ist, dann musst du auch 57 => "imagename" angeben (=

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 15:46:50
öhmm das versteh ich nicht  :grimace:
meine map heißt z.b. knusperstadt und das bild dazu hab ich auch so genannt  :hehe:
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 06, 2011, 16:22:28
das bild könnte blöd gesagt auch Bild heißen, die Zahl am anfang steht für die ID der Map. Die findest du rechts unten in der Leiste neben dem Mapnamen und der Größe.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 16:39:42
aaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhh lach, na das muß einem dummen menschen (MIR) ja gesagt werden lol
...........................
wenn ich jetzt aber alles rauslösche was in diesen <> zeichen ist dann zeigt es mir das normale kampfbild  :shame:
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 06, 2011, 17:02:43
ich glaub du löschst die ganzen zeilen^^"

hier nochmal das script als txt form: downloadlink (http://www.mediafire.com/?u1fedquto6093ap)

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 06, 2011, 17:12:46
cooooooooooooool  :haha_zwinker:  :haha_zwinker:  :haha_zwinker:
danke danke jetzt gehts schnauf
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 13, 2011, 19:22:49
ich hab ne neue frage  :angry:
ich hab mir den script good vs evil ins projekt gemacht und alles funktioniert wunderbar, außer wenn ich einen kampf beginne, dann bekomme ich eine fehlermeldung  :sad:  :cry:  :faint:
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 13, 2011, 19:25:51
ohne Fehlermeldung kann man nur schwer helfen, eventuell wäre es auch gut zu wissen was für ein KS du verwendest (=
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 13, 2011, 19:46:37
http://img863.imageshack.us/i/unbenanntjg.png/ (http://img863.imageshack.us/i/unbenanntjg.png/)
.......
ich benutze das ks was im vx drin ist 
----------------------
der witz ist als ich die demo gespielt habe habe ich auch eine fehlermeldung bekommen, also am original  :effort:

http://img850.imageshack.us/i/ori.png/ (http://img850.imageshack.us/i/ori.png/)
das war die meldung beim original
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 13, 2011, 19:59:18
zeig mal bitte dein Script, weil der Fehler iritiert mich etwas, da er nicht wirklich in Zusammenhang mit dem Script stehen könnte oO
habs grad selbst auch getestet und da gings eigentlich einwandfrei

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 13, 2011, 20:05:58
#===============================================================================
# Good VS Evil --- RMVX Version
#===============================================================================
# Written by Synthesize
# Version 1.0.1
# January 26, 2008
#===============================================================================
#                            * RMVX Version *
#===============================================================================
module GoodVSEvil
  # The initial Alignment for actors
  Alignment_initial = {1 => 2, 2 => 3, 3 => -5}
  Alignment_initial.default = 0
  # The names of the alignments
  Alignment_names = ["Very Good", "Good", "Neutral", "Evil", "Devil Child"]
  # maximum amount of points
  Maximum_alignment = 1000
  # Maximum amount of evil points
  Maximum_evil_alignment = -1000
  # Format = {value => amount to check}
  Rates = {0 => 50, 1 => 25, 3 => -25, 4 => 50}
  # Rates configure how many Alignment points a character needs to have
  # there alignment 'upgrade'
  # $alignment commands:
  # $alignment.add(value, member)   # Adds value of alignment
  # $alignment.remove(value, member)   # Removes value from member
  # $alignment.checksum(amount, member)   # Check value of points then return
  # $alignment.checkname(member, name)   # Check if the alignment level is =name
end
#-------------------------------------------------------------------------------
# Create and set alignment points
#-------------------------------------------------------------------------------
class Game_Actor < Game_Battler
  attr_accessor :alignment
  attr_accessor :alignment_name
  alias syn_gve_setup setup
  #-----------------------------------------------------------------------------
  # Setup Actor Alignment
  #-----------------------------------------------------------------------------
  def setup(actor_id)
    syn_gve_setup(actor_id)
    @alignment = GoodVSEvil::Alignment_initial[actor_id]
    @alignment_name = "Neutral"
  end
  #-----------------------------------------------------------------------------
  # Return Alignment Values
  #-----------------------------------------------------------------------------
  def alignment_value
    @alignment = GoodVSEvil::Maximum_alignment if @alignment > GoodVSEvil::Maximum_alignment
    @alignment = GoodVSEvil::Maximum_evil_alignment if @alignment < GoodVSEvil::Maximum_evil_alignment
    if @alignment >= GoodVSEvil::Rates[1]
      @alignment_name = GoodVSEvil::Alignment_names[1]
      @alignment_name = GoodVSEvil::Alignment_names[0] if @alignment > GoodVSEvil::Rates[0]
      return @alignment_name
    elsif @alignment <= GoodVSEvil::Rates[3]
      @alignment_name = GoodVSEvil::Alignment_names[3]
      @alignment_name = GoodVSEvil::Alignment_names[4] if @alignment >= GoodVSEvil::Rates[4]
      return @alignment_name
    else
      @alignment_name = GoodVSEvil::Alignment_names[2]
      return @alignment_name
    end
  end
end
#-------------------------------------------------------------------------------
# Window_MenuStatus add-on
#-------------------------------------------------------------------------------
class Window_Status < Window_Base
  alias syn_gve_refresh refresh
  def refresh
    syn_gve_refresh
    self.contents.font.color = system_color
    self.contents.draw_text(32, 350, 120, 32, "Ansehen:")
    self.contents.font.color = normal_color
    self.contents.draw_text(156, 350, 120, 32, @actor.alignment_value)
  end
end
#-------------------------------------------------------------------------------
# Alignment Management
#-------------------------------------------------------------------------------
class Alignment_Management
  def add(value, member)
    $game_party.members[member].alignment += value
  end
  def remove(value, member)
    $game_party.members[member].alignment -= value
  end
  def checksum(amount, member)
    if $game_party.members[member].alignment >= amount
      return true
    else
      return false
    end
  end
  def checkname(member, name)
    if $game_party.members[member].alignment_name == name
      return true
    else
      return false
    end
  end
end
#-------------------------------------------------------------------------------
# Scene_Title:: Create the Global Variable
#-------------------------------------------------------------------------------
class Scene_Title
  alias syn_gve_game_object create_game_objects
  def create_game_objects
    syn_gve_game_object
    $alignment = Alignment_Management.new
  end
end
class Game_System
  alias syn_system_update update
  def update
    $alignment = Alignment_Management.new
    syn_system_update
  end
end
#===============================================================================
#             * This script will not work with RPG Maker XP *
#===============================================================================
# Written by Synthesize
# Version 1.0.1
# January 26, 2008
#===============================================================================
# Good VS Evil --- RMVX Version
#===============================================================================

du hast recht es weist ja auf einen fehler im cache hin, aber da dieser erst aufgetreten ist als ich diesen script reingemacht habe kann es nur daran liegen
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 13, 2011, 20:14:02
Bitte schreib mal auf, welche Scripte du sonst noch verwendest neben dem Good vs Evil Script, da deine Version bei mir ebenfalls einwandfrei funktioniert.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 13, 2011, 20:15:27
hast du auch einen kampf gemacht?
....................................................
title customize
anti lage von sandgolem
game interpreter fix
simple day and night
parallaxänderung
kampfhintergrund von Synthesize
tilesetchanger von pdm
itemkiste von vampyr
monsteralbum von El Conducter
questlog von hellminor
Paragraph Formatter
Neo Message System
 Good VS Evil --- RMVX Version
Alignment Management Patch

schnauf das sind bis jetzt alle   :haha_zwinker:
  :haha:
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 13, 2011, 20:30:33
ja hab ich (=

und ich glaub ich weiß wo das Problemchen liegen könnte^^
Kann es sein, dass du in der Database nen Testkampf versucht hast? (=
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 13, 2011, 20:46:20
nein, ich hab ihn direkt auf die map gemacht
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 13, 2011, 20:52:02
die Map auch im BattleBackgroundscript definiert?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 13, 2011, 20:53:18
ich mach die kämpfe als event und jede map hat ihren eigenen hintergrund
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am März 13, 2011, 21:09:54
ist mir schon klar, nur im Script Kampfhintergrund muss jede Map-ID nen eigenen Background zugewiesen bekommen, wenn das nicht der fall ist, taucht normalerweise dieser Fehler auf^^"
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am März 13, 2011, 21:15:07
du bist der größte   :haha_zwinker:  :haha: ich hab noch einmal im script für die hintergründe nachgesehen und  da ich eine map gelöscht hatte und eine andere so genannt hatte hat es nicht mehr gestimmt, jetzt funktioniert es danke danke ;D
Titel: Re: Hilfe zu Skripten.
Beitrag von: Itakoo am April 02, 2011, 19:54:37
Hey :)

Also, ich habe folgendes Problem:

Ich verwende GubiD's Tactical Battle System Verson 1.0 for VX. Die Skripte laufen ohne Probleme.
Ich wollte jetzt eine Art "Flieh-Funktion" als Skill erstellen, indem der Spieler als Skill "Fliehen" anwählen kann,
und sich dann per CE das Battle vertschüst.

Also, gesagt getan wird per CE mit "Abort Battle" auch der Kampf abgebrochen,
nur bleiben Battle-Musik und Battle-Menüs auf dem Bildschirm.

Es fehlt sowas wie ein Screen-Update, und ich hab keinen Dunst wie ich das mach.

Help me please :)


 
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am April 04, 2011, 19:53:58
mach dann auch noch mal mit folgendem in nem Call Script: $game_map.need_refresh = true

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: RisingSun am April 16, 2011, 12:39:54
Hallo,

ich benötige ein kleines Fenster wo die Variable 0021 Leerzeichen "Gold" ausgegeben wird.
Das Fenster sollte so kompackt wie möglich sein und bitte mir einer Erklärung wie ich es ein- bzw. ausblenden lassen kann.
Titel: Re: Hilfe zu Skripten.
Beitrag von: radeon am April 19, 2011, 09:19:02
Hallo erstmal,

ich bin neu hier und leider noch nicht so erfahren (jungfräulich) was scripten angeht.  Ich benutze den RPG maker VX und habe bereits gelesen das da ein "bug" besteht das Gegner keine Attaken Animationen abspielen. Da ich das aber recht leblos finde möchte ich gern das eben die Animationen eingespielt werden. Ich habe schon ein bisschen rum gesucht...und von einem Script gelesen.

Was ich suche oder wobei ich hilfe brauche ist:

- Ein Script das Animationen der Attaken der eigentlichen Helden darstellen kann.
- Gegner sollen also Attaken die ich in der DB Anlegen nicht nur ausführen sondern auch die Animation dazu Anzeigen.

Ich wäre euch überaus dankbar wenn mir dabei jemand helfen kann, und bitte...vergesst nicht ich bin jungfräulich was scripten angeht.

lg Radeon
Titel: Re: Hilfe zu Skripten.
Beitrag von: Johny-Kk am April 20, 2011, 15:15:56
ja hi^^
willkommen auf rpgvx.net ;)
(http://www.pix6.de/pics/thumbs/thumb_4daedc5c1e57c.png) (http://www.pix6.de/pics/4daedc5c1e57c.png.html)
Hoffe das hilft dir ;)
Wenn ich dich richtig verstanden habe, dann brauchst du ja kein Skript dafür!

Edit:
Verdammt das Bild ist zu klein hier :(
Einfach Doppelklick auf das Bild machen dann wirds ;)
Titel: Re: Hilfe zu Skripten.
Beitrag von: TwistTECK am April 25, 2011, 14:12:55
Hy, ich bin neu und habe leider nichts dazu gefunden...
Ich will beim Title (dort wo man neues spiel etc auswählt) ein neues einsetzen aber wenn ich etwas eingebe kommt ein error( ein bild sollte beim Anhang sein...)

Meine Frage ist jetzt wie und was muss ich genau machen?
Wäre nett das in Schritten zu erklären...

Danke schon im Vorraus

MFG TwistTECK
Titel: Re: Hilfe zu Skripten.
Beitrag von: BenoX am April 25, 2011, 17:51:07
Hallo TwistTECK,

das war auch das erste was ich vorhin aus jucks probiert habe. Also wie man ein Menüpunkt einführt hab ich herausgefunden. Aber dahinter steckt noch keine Funktion, soweit bin ich in Ruby nicht drin :D

Ich bin vorhin so vorgegangen, habe folgende Sachen im Script Editor geändert:

1. in Scene_Title habe ich die Continue Methode kopiert und sie halt so umgenannt wie mein Menüpunkt z.B. command_option.
2. in der create_command_window methode habe ich den Wert option hinzugefügt
s1 = Vocab::new_game
    s2 = Vocab::continue
    s3 = Vocab::option
    s4 = Vocab::shutdown
    @command_window = Window_Command.new(172, [s1, s2, s3, s4])

3. ich habe die Methode update folgend geändert
def update
    super
    @command_window.update
    if Input.trigger?(Input::C)
      case @command_window.index
      when 0    #New game
        command_new_game
      when 1    # Continue
        command_continue
      when 2    # Options
        command_option
      when 3    # Shutdown
        command_shutdown
      end
    end
  end

4. Ich habe in der Datei Vocab, die ist unter modules, folgendes eingefügt
# Option
  def self.option
    return "Option"
  end

Aber wie gesagt, es ist keine Funktion dahinter, da meine Methode command_option nichts enthält.
Und da ich auch noch neu im RPG Maker Bereich bin, weiß ich nicht ob das so richtig ist, aber so klappte es  :haha:
Titel: Re: Hilfe zu Skripten.
Beitrag von: Khaelen am April 28, 2011, 11:54:51
Hi suche Hilfe Beim Takentai SBS 3.4d + ATB 1.2c und dem KGC_CustomMenuCommand

mein Problem ist das ich gern das ATB über eine Menüsteuerung ingame regeln würde...quasi das ich im Menü noch nen zusatzpunkt hätte für ATB bzw. um das Tempo und die Dynamic zu regeln.
In diesem ATB scheint das auch vorgesehen zu sein oder verstehen ich diesen menupunkt falsch?

# ++ ATB User Customization Settings
 #--------------------------------------------------------------------------
  # In-game dynamic ATB customization can be accessed from the player's menu.
  #
  ATB_CUSTOMIZE = false
  # Name for ATB options.
  ATB_CUSTOMIZE_NAME = "ATB Options"
  # Text in Help Window at the top of ATB Options scene.
  ATB_CUSTOMIZE_HELP = "Use the directional keys to select options."
  # Menu name for ATB mode.
  ATB_MODE_NAME = "Battle Mode"
  # The three ATB modes below should be aligned properly in the editor window.
  # When a number in the ATB Mode array (0~4) is set to true, the scene
  # will be designated Active; false will designate Wait.

nun frage ich mich natürlich wie das ganze in das KGC_CustomMenuCommand einbetten kann, da ich persönlich absolut  NULL Ahnung von cripten hab


mfg Tom
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Mai 02, 2011, 20:01:53
am besten den Anweisungen im KGC_CustomMenuComand folgen (:

Ist zwar Englisch, aber dafür sehr gut beschrieben.
Das einzige was dann ebenfalls noch wichtig wäre, ist zu wissen, wie
die Scene von dem ATB heißt ;)
Der Name wäre: Scene_ATB

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Happyman am Mai 21, 2011, 22:18:02
Halli Hallo,
Meine Frage ist : Wie mache ich das wenn ich eine ganz bestimmt musik abspielen will und das bei einem Kampf
und das nur einmal?
(Ich weiss der das liesst wird sich wohl denken so ein noob...aber ich hab schon per Event versucht und Variabeln...
ans skripten hab ich mich garnicht gewagt weil ich mich da net aus kenn ^^)
Titel: Re: Hilfe zu Skripten.
Beitrag von: Khaelen am Mai 22, 2011, 17:40:49
Hi Happyman...wie meinst das nur 1 mal? willst die Kampf BGM für einen Kampf geändert wird oder soll der Track einmal abgespielt werden im Kampf und dann nichts mehr?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Valentine am Juni 17, 2011, 10:47:44
Moin!
Hab mal ne frage bezüglich eines "Footstep Script"

Das hier:


## Step Sounds - Brew 01AUG10 (ref: Project3)
## Play a different sound with each terrain type
## You must have a file "terrain_x.ogg" in the Audio\SE folder
## Where 'x' is the terrain number. (1-7)


Was ist mit Terrain Number gemeint und wo find ich diese?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Happyman am Juni 22, 2011, 11:03:32
Hi, Onkel Tom
Ich hab das random Musik skript und ich wollt halt wisse ob man die kampfmusik für einen kampf ändern kann und die nächsten Kämpfe wieder mit normaler musik
Titel: Re: Hilfe zu Skripten.
Beitrag von: Khaelen am Juni 22, 2011, 12:40:38
@Happyman

Ich geh mal davon aus das du des für Bosskämpfe machen willst bzw. für spezielle Kämpfe die du eh über n Event stezerst...von daher würd ich die Kampf BGM via Event ändern
Titel: Re: Hilfe zu Skripten.
Beitrag von: Happyman am Juni 26, 2011, 01:15:16
Oh man es hat geklappt, ich dank dir ^^
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am Dezember 17, 2011, 16:01:41
Ich hab mal ne kleine aber wichtige (jedenfalls für mich) Frage.
Ich lasse per Script in einem Window einen Text anzeigen, den ich in einer Variable festgelegt habe. Das funktioniert auch, aber wenn der Text zu lange wird, kann man einen Teil nicht mehr lesen und alles ist zusammengequetscht.

Frage:
Wie kann ich dem Script sagen, dass es automatisch ab einer gewissen Textlänge eine neue Zeile anfangen soll?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Ðeity am Dezember 23, 2011, 04:11:59
Kann der Maker so direkt nicht umsetzen.
Ich habe es so gemacht,  dass ich den Text in Wörter gesplittet habe,  dann die Wörter so lange einem leerstring ergänzt,  bis dieser nicht mehr in die Zeile passt. Dann habe ich den String ausschreiben lassen,  die neuen y-Koordinaten berechnet, den string auf leer gesetzt und dann das ganze von neu. :)
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am Dezember 23, 2011, 15:48:46
Ui, dass ist vielleicht kompliziert. Ich muss nochmal überlegen, wie ich es machen könnte.
Titel: Re: Hilfe zu Skripten.
Beitrag von: Valentine am Dezember 28, 2011, 10:12:06
Moin!
Also falls ich das richtig verstanden habe...

Ich habe sowas auch gemacht, das im Intro Texte ablaufen sollen. Über Multinachricht, macht der ja dann weiter nach 4 Zeilen oder machst eine kleine Pause zwischendurch. Meine Figur kann sich wärend den Texten normal bewegen. Da diese von alleine weiterblättern.

Meinst du das so bei dir?!
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am Dezember 28, 2011, 10:18:17
Ne, ich möchte in meinem Menüscript Aufträge anzeigen lassen. Wenn aber zuviel Text dabei steht, wird der abgehackt.
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am April 22, 2012, 13:43:50
Ui, Doppelpost.
Hab mal ne Frage an die Pro-scripter:
Ist es möglich, alle Scripte aus einer oder mehreren Textdateien laden zu lassen?
Dann könnte man leicht bei den Projekten Bugfixes vornehmen.
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am April 22, 2012, 14:48:10
klar is es möglich (:
es kommt nur drauf an welche Informationen du gezielt draus laden willst. Da hat zum Beispiel MelekTaus bei seiner Engine so ziemlich alles an scripts aus textdateien geladen (:

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: PDM am April 22, 2012, 15:47:52
Danke! Vesuche da grade mal ein bisschen dran rum :haha:
Titel: Re: Hilfe zu Skripten.
Beitrag von: MystikSecret am Juni 03, 2012, 11:47:42
Hallo, ich benutze den VX Ace und stoße auf dieses Problem hier bei Nightlights Isolated.
Ich benutze auch sonst keinen Skript, eingefügt ist es ebenfalls in Material.
Hoffe ihr könnt mir helfen. :/

In 231 ist:  alias load_database_nl_adds load_database

(http://img191.imageshack.us/img191/6826/problemomk.png)
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Juni 03, 2012, 13:41:09
Nightlights Isolated ist ein VX-Script wenn ich mich nich irre und das funkt von haus aus nicht am Ace, da die Basisscripts vom Ace und vom VX schon verschieden sind und die Scripts auch komplett unterschiedlich geschrieben wurden.
Daher müsste man das Nightlights Isolated Script auf den Ace übertragen oder aber ein anderes Script, welches für den Ace gedacht ist finden und verwenden.

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Valentine am Juni 03, 2012, 18:44:04
1 Möglichkeit kannste noch probieren...

Das Title Bild einmal als png und einmal als bmp abspeichern.

Wenns nichts bringt, dann muss das Skript an Ace angepasst werden.
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Juni 03, 2012, 19:09:35
das würde nix bringen, da es die Datenbank nicht laden kann, da die Methode die gewählt wurde nicht existiert. Würde man das nun anpassen würden immernoch etliche Methoden nichts aufrufen, bzw. nicht existieren und dadurch zu unzähligen Crashs führen bzw. wenn sie funktionieren, gibts immernoch die chance das die dann falsch ausgeführt werden /:

lg flip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Valentine am Juni 03, 2012, 20:56:00
Sind da absolute keine VX Skripte mit dem Ace kompatibel? Dachte weil ist ja fast das gleiche System.
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Juni 03, 2012, 21:08:08
nur diejenigen die komplett in sich selbst aufbauen, also keine anderen Methoden oder Klassen von Basisscripten verwenden. Diese Scripts kann man locker auf jedem Maker verwenden aber sonst von Haus aus kein einziges welches Basisscripte vom VX oder nem andren Maker editiert^^"
Titel: Re: Hilfe zu Skripten.
Beitrag von: Joul am Juni 12, 2012, 17:46:22
Ich will einen Animierten Titelscreen machen.
#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
#  This class performs the title screen processing.
#==============================================================================

class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    if $BTEST                         # If battle test
      battle_test                     # Start battle test
    else                              # If normal play
      super                           # Usual main processing
    end
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    load_database                     # Load database
    create_game_objects               # Create game objects
  end
  #--------------------------------------------------------------------------
  # * Execute Transition
  #--------------------------------------------------------------------------
  def perform_transition
    Graphics.transition(20)
  end
  #--------------------------------------------------------------------------
  # * Post-Start Processing
  #--------------------------------------------------------------------------
  def post_start
      end
  #--------------------------------------------------------------------------
  # * Pre-termination Processing
  #--------------------------------------------------------------------------
  def pre_terminate
    end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    end
  #--------------------------------------------------------------------------
  # * Load Database
  #--------------------------------------------------------------------------
  def load_database
    $data_actors        = load_data("Data/Actors.rvdata")
    $data_classes       = load_data("Data/Classes.rvdata")
    $data_skills        = load_data("Data/Skills.rvdata")
    $data_items         = load_data("Data/Items.rvdata")
    $data_weapons       = load_data("Data/Weapons.rvdata")
    $data_armors        = load_data("Data/Armors.rvdata")
    $data_enemies       = load_data("Data/Enemies.rvdata")
    $data_troops        = load_data("Data/Troops.rvdata")
    $data_states        = load_data("Data/States.rvdata")
    $data_animations    = load_data("Data/Animations.rvdata")
    $data_common_events = load_data("Data/CommonEvents.rvdata")
    $data_system        = load_data("Data/System.rvdata")
    $data_areas         = load_data("Data/Areas.rvdata")
  end
  #--------------------------------------------------------------------------
  # * Load Battle Test Database
  #--------------------------------------------------------------------------
  def load_bt_database
    $data_actors        = load_data("Data/BT_Actors.rvdata")
    $data_classes       = load_data("Data/BT_Classes.rvdata")
    $data_skills        = load_data("Data/BT_Skills.rvdata")
    $data_items         = load_data("Data/BT_Items.rvdata")
    $data_weapons       = load_data("Data/BT_Weapons.rvdata")
    $data_armors        = load_data("Data/BT_Armors.rvdata")
    $data_enemies       = load_data("Data/BT_Enemies.rvdata")
    $data_troops        = load_data("Data/BT_Troops.rvdata")
    $data_states        = load_data("Data/BT_States.rvdata")
    $data_animations    = load_data("Data/BT_Animations.rvdata")
    $data_common_events = load_data("Data/BT_CommonEvents.rvdata")
    $data_system        = load_data("Data/BT_System.rvdata")
  end
  #--------------------------------------------------------------------------
  # * Create Game Objects
  #--------------------------------------------------------------------------
  def create_game_objects
    $game_temp          = Game_Temp.new
    $game_message       = Game_Message.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
  end
  #--------------------------------------------------------------------------
  # * Check Player Start Location Existence
  #--------------------------------------------------------------------------
  def confirm_player_location
    if $data_system.start_map_id == 0
      print "Startpunkt wurde nicht gesetzt!"
      exit
    end
  end
  #--------------------------------------------------------------------------
  # * Command: New Game
  #--------------------------------------------------------------------------
  def command_new_game
    confirm_player_location
    Sound.play_decision
    $game_party.setup_starting_members            # Initial party
    $game_map.setup($data_system.start_map_id)    # Initial map position
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    $game_player.refresh
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    close_command_window
    Graphics.fadeout(60)
    Graphics.wait(40)
    Graphics.frame_count = 0
    RPG::BGM.stop
    $game_map.autoplay
  end
  #--------------------------------------------------------------------------
  # * Battle Test
  #--------------------------------------------------------------------------
  def battle_test
    load_bt_database                  # Load battle test database
    create_game_objects               # Create game objects
    Graphics.frame_count = 0          # Initialize play time
    $game_party.setup_battle_test_members
    $game_troop.setup($data_system.test_troop_id)
    $game_troop.can_escape = true
    $game_system.battle_bgm.play
    snapshot_for_background
    $scene = Scene_Battle.new
  end
end
wenn ich dieses Script einfüge, und dann ein test play mache dann kommt nur schwarz und es bleibt auch schwarz....
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Juni 12, 2012, 19:34:36
ist deine Startmap zufällig schwarz und der Held unsichtbar/am anfang keiner drin in der Gruppe?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Joul am Juni 12, 2012, 20:32:44
nö. der held ist sichtbar und die map is grün
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Juni 12, 2012, 20:33:59
arbeitest du am VX oder am VX Ace?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Joul am Juni 12, 2012, 20:35:08
nur VX
Titel: Re: Hilfe zu Skripten.
Beitrag von: Toria am Juli 27, 2012, 09:20:16
Hallöle,

ich bräuchte mal eure Hilfe mit Woratana's multiple fog Skript.

Im Eigentlichen ist es ja ganz einfach zu bedienen, aber ich bekomme es nicht hin, dass sich der Fog der Bewegungsrichtung des Spielers anpasst.

Wenn der Fog still steht und der Spieler sich bewegt, kann man an einigen Stellen unansehnliche Kanten und Übergänge erkennen. Bei kleinen maps ist das ja noch zu kompensieren, aber wenn die map größer wird..........

Vielleicht habt ihr ja eine Idee dazu.

Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Juli 27, 2012, 10:39:54
einfach das ganze per show-picture befehl anzeigen lassen und die sache hat sich oO
bisschen Transparenz einstellen usw. und man hat nahezu den selben effekt wie im script
Titel: Re: Hilfe zu Skripten.
Beitrag von: Toria am Juli 27, 2012, 20:11:00

So werd ich es machen. Warum kompliziert, wenn es auch einfach geht. ;)

Besten Dank FlipelyFlip
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am Dezember 08, 2012, 12:31:12
zur zeit arbeite ich mit dem vx ace und dabei habe ich festgestellt das einige scripte nicht mehr so funktionieren wie beim vx, z.b. gibt es bei einem alias einen fehler aus, oder bei dem rufsystem von Eugene, Hanmac (war bei der demo von klex Feel!Fine dabei) erkennt er das WLH nicht und ich weiß nicht wie ich es ersetzen kann. leider bin ich beim scripten eine echte null  :what:
kann bitte einer helfen?  :haha_zwinker: zur besseren übersicht setzt ich den script mal hier rein.
#======================================================================
#Status Plus V 1.0 by Eugene
#Danke an Hanmac für seine Hilfe
#Credits an : Eugene, Hanmac
#======================================================================

class Window_Status < Window_Base
 
  #1-10 sind die IDs der Variablem im Game
   
    Var = [89,90,91,92,93,94,95,96,97,98]
 
 def refresh
    self.contents.clear
    draw_actor_name(@actor, 4, 0)
    draw_actor_class(@actor, 100, 0)
    draw_actor_face(@actor, 0, 32)
    draw_basic_info(128, 32)
    draw_parameters(32, 160)
    draw_exp_info(288, 32)
    draw_equipments(288, 160)
end   
   
   
def draw_basic_info(x, y)
     
      self.contents.font.color = system_color
       self.contents.draw_text(240,10, 120, WLH, 'Fraktion')
       self.contents.draw_text(362,10, 90, WLH, 'Gesinnung')
       self.contents.draw_text(470,10, 40, WLH, 'Ruf')
       self.contents.font.color = normal_color
       self.contents.draw_text(230,40+5  , 120, WLH, 'Mogries        :')
       self.contents.draw_text(230,65+10 , 120, WLH, 'Vergessenen    :')
       self.contents.draw_text(230,90+15 , 120, WLH, 'Bruderschaft    :')
       self.contents.draw_text(230,115+20, 120, WLH, 'Syndikats        :')
       self.contents.draw_text(230,140+25, 120, WLH, 'Frostwölfe       :')
       self.contents.draw_text(230,165+30, 120, WLH, 'Zeitwächter     :')
       self.contents.draw_text(230,190+35, 120, WLH, 'Magister       :')
       self.contents.draw_text(230,215+40, 120, WLH, 'Ralphpiraten    :')
       self.contents.draw_text(230,240+45, 120, WLH, 'Underworld      :')
       self.contents.draw_text(230,265+50, 120, WLH, 'Todeskrallen    :')
         
  temp = $game_variables[Var[0]]
    if temp >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,40+5  , 90, WLH, 'Ehfürchtig')
       self.contents.draw_text(462,40+5  , 40, WLH, $game_variables[Var[0]])
      elsif temp >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,40+5  , 90, WLH, 'Wohlwollend')
       self.contents.draw_text(462,40+5  , 40, WLH, $game_variables[Var[0]])
      elsif temp >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,40+5  , 90, WLH, 'Freundlich')
       self.contents.draw_text(462,40+5  , 40, WLH, $game_variables[Var[0]])
      elsif temp > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,40+5 ,90, WLH, 'Neutral')
       self.contents.draw_text(462,40+5  , 40, WLH, $game_variables[Var[0]])
      elsif temp <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,40+5  , 90, WLH, 'Feindlich')
       self.contents.draw_text(462,40+5  , 40, WLH, $game_variables[Var[0]])
    end
   
   
   
   temp1 = $game_variables[Var[1]]
    if temp1 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,65+10  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,65+10  , 40, WLH, $game_variables[Var[1]])
      elsif temp1 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,65+10  , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,65+10  , 40, WLH, $game_variables[Var[1]])
      elsif temp1 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,65+10  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,65+10  , 40, WLH, $game_variables[Var[1]])
      elsif temp1 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,65+10 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,65+10  , 40, WLH, $game_variables[Var[1]])
      elsif temp1 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,65+10  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,65+10  , 40, WLH, $game_variables[Var[1]])
    end
   
   
    temp2 = $game_variables[Var[2]]
    if temp2 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,90+15  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,90+15  , 40, WLH, $game_variables[Var[2]])
      elsif temp2 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,90+15 , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,90+15  , 40, WLH, $game_variables[Var[2]])
      elsif temp2 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,90+15  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,90+15  , 40, WLH, $game_variables[Var[2]])
      elsif temp2 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,90+15 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,90+15  , 40, WLH, $game_variables[Var[2]])
      elsif temp2 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,90+15  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,90+15  , 40, WLH, $game_variables[Var[2]])
    end
   
    temp3 = $game_variables[Var[3]]
    if temp3 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,115+20  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,115+20  , 40, WLH, $game_variables[Var[3]])
      elsif temp3 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,115+20 , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,115+20  , 40, WLH, $game_variables[Var[3]])
      elsif temp3 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,115+20  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,115+20  , 40, WLH, $game_variables[Var[3]])
      elsif temp3 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,115+20 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,115+20  , 40, WLH, $game_variables[Var[3]])
      elsif temp3 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,115+20  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,115+20  , 40, WLH, $game_variables[Var[3]])
    end
   
    temp4 = $game_variables[Var[4]]
    if temp4 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,140+25  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,140+25  , 40, WLH, $game_variables[Var[4]])
      elsif temp4 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,140+25  , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,140+25  , 40, WLH, $game_variables[Var[4]])
      elsif temp4 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,140+25  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,140+25  , 40, WLH, $game_variables[Var[4]])
      elsif temp4 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,140+25 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,140+25  , 40, WLH, $game_variables[Var[4]])
      elsif temp4<= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,140+25  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,140+25  , 40, WLH, $game_variables[Var[4]])
    end
   
    temp5 = $game_variables[Var[5]]
    if temp5 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,165+30  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,165+30  , 40, WLH, $game_variables[Var[5]]) 
      elsif temp5 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,165+30 , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,165+30  , 40, WLH, $game_variables[Var[5]])
      elsif temp5 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,165+30  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,165+30  , 40, WLH, $game_variables[Var[5]])
      elsif temp5 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,165+30 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,165+30  , 40, WLH, $game_variables[Var[5]])
      elsif temp5 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,165+30  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,165+30  , 40, WLH, $game_variables[Var[5]])
    end
   
    temp6 = $game_variables[Var[6]]
    if temp6 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,190+35  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,190+35  , 40, WLH, $game_variables[Var[6]])
      elsif temp6 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,190+35 , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,190+35  , 40, WLH, $game_variables[Var[6]])
      elsif temp6 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,190+35  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,190+35  , 40, WLH, $game_variables[Var[6]])
      elsif temp6 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,190+35 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,190+35  , 40, WLH, $game_variables[Var[6]])
      elsif temp6 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,190+35  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,190+35  , 40, WLH, $game_variables[Var[6]])
    end
   
    temp7 = $game_variables[Var[7]]
    if temp7 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,215+40  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,215+40  , 40, WLH, $game_variables[Var[7]])
      elsif temp7 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,215+40  , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,215+40  , 40, WLH, $game_variables[Var[7]])
      elsif temp7 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,215+40  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,215+40  , 40, WLH, $game_variables[Var[7]])
      elsif temp7 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,215+40 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,215+40  , 40, WLH, $game_variables[Var[7]])
      elsif temp7 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,215+40  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,215+40  , 40, WLH, $game_variables[Var[7]])
    end
   
    temp8 = $game_variables[Var[8]]
    if temp8 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,240+45   , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,240+45  , 40, WLH, $game_variables[Var[8]])
      elsif temp8 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,240+45   , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,240+45  , 40, WLH, $game_variables[Var[8]])
      elsif temp8 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,240+45   , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,240+45  , 40, WLH, $game_variables[Var[8]])
      elsif temp8 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,240+45  ,90, WLH, 'Neutral')
        self.contents.draw_text(462,240+45  , 40, WLH, $game_variables[Var[8]])
      elsif temp8 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,240+45   , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,240+45  , 40, WLH, $game_variables[Var[8]])
    end
   
    temp9 = $game_variables[Var[9]]
    if temp9 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,265+50  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,265+50   , 40, WLH, $game_variables[Var[9]])
      elsif temp9 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,265+50  , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,265+50   , 40, WLH, $game_variables[Var[9]])
      elsif temp9 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,265+50 , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,265+50   , 40, WLH, $game_variables[Var[9]])
      elsif temp9 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,265+50 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,265+50   , 40, WLH, $game_variables[Var[9]])
      elsif temp9 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,265+50  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,265+50   , 40, WLH, $game_variables[Var[9]])
    end
   
   
   
   
   
 

  draw_actor_level(@actor, x - 28, y + WLH * 0)
  draw_actor_state(@actor, x- 28, y + WLH * 1)
  draw_actor_hp(@actor, x- 28, y + WLH * 2)
  draw_actor_mp(@actor, x- 28, y + WLH * 3)
     
end
   
  def draw_exp_info(x, y)
    s1 = @actor.exp_s
    s2 = @actor.next_rest_exp_s
    s_next = sprintf(Vocab::ExpNext, Vocab::level)
    self.contents.font.color = system_color
    self.contents.draw_text(40, 280, 120, WLH , Vocab::ExpTotal)
    self.contents.draw_text(40, 330 ,120, WLH, s_next)
    self.contents.font.color = normal_color
    self.contents.draw_text(30, 305 , 120, WLH, s1, 2)
    self.contents.draw_text(30, 355 , 120, WLH, s2, 2)
  end
   

  def draw_equipments(x, y)
  end
end   
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Dezember 08, 2012, 14:24:58
öhm du weißt schon, dass im Ace die VX Scripte so gut wie gar nicht funktioniern?
zweiteres, hast du die erlaubnis von Klex, dass script zu nutzen, bzw. ist es frei zur nutzung herausgegeben worden?^^"

bezüglich des WLH fehlers füg einfach folgendes in ein extrascript rein:

class Window_Base < Window
WLH = 24
end

dürfte zumindest den Fehler beheben.

lg flipy
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am Dezember 08, 2012, 14:46:25
danke für deine hilfe und was deine frage angeht, ich habe ihn nicht gefragt aber da oben steht

#Status Plus V 1.0 by Eugene
#Danke an Hanmac für seine Hilfe
#Credits an : Eugene, Hanmac

und ich dachte das dann credits ausreichen, sollte ich es überhaupt fertig kriegen.  :what:
.................................................................................
das mit dem whl geht jetzt, dafür hängt es sich bei zeile 277   draw_actor_state(@actor, x- 28, y + WLH * 1) auf.
ich werd es lassen, obwohl es im menü toll aussieht.   :nothing_to_say:
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Dezember 08, 2012, 15:23:16
aso okay, dachte wäre so ein custom script für klex gewesen, wie er manchmal hat.

liegt eben daran, dass das Script ein VX Script ist. Beim Ace wurde vieles neu definiert und umstrukturiert. Ums zum Laufen zu bringen, müsste man im Window_Base die fehlenden Methoden ergänzen.

lg flipy
Titel: Re: Hilfe zu Skripten.
Beitrag von: Galadriela am Dezember 08, 2012, 16:07:26
ich habs jetzt einfach rausgenommen und noch ein wenig angepasst, ich hoffe das es trotzdem läuft, auf jeden fall sieht es schon mal gut aus.
#======================================================================
#Status Plus V 1.0 by Eugene
#Danke an Hanmac für seine Hilfe
#Credits an : Eugene, Hanmac
#======================================================================

class Window_Status
 
  #1-10 sind die IDs der Variablem im Game
    Var = [1,2,3,4,5,6]
    Var = [89,90,91,92,93,94,95,96,97,98]
 
 def refresh
    self.contents.clear
    draw_actor_name(@actor, 4, 0)
    draw_actor_class(@actor, 100, 0)
    draw_actor_face(@actor, 0, 32)
    draw_basic_info(128, 32)
    draw_parameters(32, 160)
    draw_exp_info(288, 32)
    draw_equipments(288, 160)
end   
   
   
def draw_basic_info(x, y)
     
      self.contents.font.color = text_color(3)
       self.contents.draw_text(230,165, 120, WLH, 'Fraktion')
       self.contents.draw_text(362,165, 90, WLH, 'Gesinnung')
       self.contents.draw_text(470,165, 40, WLH, 'Ruf')
       self.contents.font.color = normal_color
       self.contents.draw_text(230,190+25, 120, WLH, 'Helle Obere ')
       self.contents.draw_text(230,215+30, 120, WLH, 'Dunkle Obere')
       self.contents.draw_text(230,240+35, 120, WLH, 'Ockas       ')
       self.contents.draw_text(230,265+40, 120, WLH, 'Tarilianer  ')
       self.contents.draw_text(230,290+45, 120, WLH, 'Mahnè       ')
       self.contents.draw_text(230,315+50, 120, WLH, 'Masaru      ')
         
  temp = $game_variables[Var[0]]
    if temp >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,190+25  , 90, WLH, 'Ehfürchtig')
       self.contents.draw_text(462,190+25  , 40, WLH, $game_variables[Var[0]])
      elsif temp >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,190+25  , 90, WLH, 'Wohlwollend')
       self.contents.draw_text(462,190+25  , 40, WLH, $game_variables[Var[0]])
      elsif temp >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,190+25  , 90, WLH, 'Freundlich')
       self.contents.draw_text(462,190+25  , 40, WLH, $game_variables[Var[0]])
      elsif temp > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,190+25 ,90, WLH, 'Neutral')
       self.contents.draw_text(462,190+25  , 40, WLH, $game_variables[Var[0]])
      elsif temp <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,190+25  , 90, WLH, 'Feindlich')
       self.contents.draw_text(462,190+25  , 40, WLH, $game_variables[Var[0]])
    end
   
   
   
   temp1 = $game_variables[Var[1]]
    if temp1 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,215+30  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,215+30  , 40, WLH, $game_variables[Var[1]])
      elsif temp1 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,215+30  , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,215+30  , 40, WLH, $game_variables[Var[1]])
      elsif temp1 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,215+30  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,215+30  , 40, WLH, $game_variables[Var[1]])
      elsif temp1 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,215+30 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,215+30  , 40, WLH, $game_variables[Var[1]])
      elsif temp1 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,215+30  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,215+30  , 40, WLH, $game_variables[Var[1]])
    end
   
   
    temp2 = $game_variables[Var[2]]
    if temp2 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,240+35  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,240+35  , 40, WLH, $game_variables[Var[2]])
      elsif temp2 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,240+35 , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,240+35  , 40, WLH, $game_variables[Var[2]])
      elsif temp2 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,240+35  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,240+35  , 40, WLH, $game_variables[Var[2]])
      elsif temp2 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,240+35 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,240+35  , 40, WLH, $game_variables[Var[2]])
      elsif temp2 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,240+35  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,240+35  , 40, WLH, $game_variables[Var[2]])
    end
   
    temp3 = $game_variables[Var[3]]
    if temp3 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,265+40  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,265+40  , 40, WLH, $game_variables[Var[3]])
      elsif temp3 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,265+40 , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,265+40  , 40, WLH, $game_variables[Var[3]])
      elsif temp3 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,265+40  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,265+40  , 40, WLH, $game_variables[Var[3]])
      elsif temp3 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,265+40 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,265+40  , 40, WLH, $game_variables[Var[3]])
      elsif temp3 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,265+40  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,265+40  , 40, WLH, $game_variables[Var[3]])
    end
   
    temp4 = $game_variables[Var[4]]
    if temp4 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,290+45  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,290+45  , 40, WLH, $game_variables[Var[4]])
      elsif temp4 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,290+45  , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,290+45  , 40, WLH, $game_variables[Var[4]])
      elsif temp4 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,290+45  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,290+45  , 40, WLH, $game_variables[Var[4]])
      elsif temp4 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,290+45 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,290+45  , 40, WLH, $game_variables[Var[4]])
      elsif temp4<= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,290+45  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,290+45  , 40, WLH, $game_variables[Var[4]])
    end
   
    temp5 = $game_variables[Var[5]]
    if temp5 >= 300
      self.contents.font.color =  text_color(11)
      self.contents.draw_text(362,315+50  , 90, WLH, 'Ehfürchtig')
        self.contents.draw_text(462,315+50  , 40, WLH, $game_variables[Var[5]]) 
      elsif temp5 >= 200
      self.contents.font.color =  text_color(03)
      self.contents.draw_text(362,315+50 , 90, WLH, 'Wohlwollend')
        self.contents.draw_text(462,315+50  , 40, WLH, $game_variables[Var[5]])
      elsif temp5 >= 100
      self.contents.font.color =  text_color(24)
      self.contents.draw_text(362,315+50  , 90, WLH, 'Freundlich')
        self.contents.draw_text(462,315+50  , 40, WLH, $game_variables[Var[5]])
      elsif temp5 > -100
      self.contents.font.color =  text_color(17)
      self.contents.draw_text(362,315+50 ,90, WLH, 'Neutral')
        self.contents.draw_text(462,315+50  , 40, WLH, $game_variables[Var[5]])
      elsif temp5 <= -100
      self.contents.font.color =  text_color(18)
      self.contents.draw_text(362,315+50  , 90, WLH, 'Feindlich')
        self.contents.draw_text(462,315+50  , 40, WLH, $game_variables[Var[5]])
    end
   
   
     
    def draw_equipments(x, y)
  end
end   
end

hmpf, ich habe alles hingekriegt, aber es funktioniert nicht, alle variablen hab ich richtig eingestellt, aber irgendwas muß ich vergessen haben.  :cry:   HILFE
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sapo am Januar 16, 2013, 20:26:53
Hallo ihr lieben,

ich hab folgendes Problem mit dem "Xtended Equipment" Skript.

Bei einem neuen Testpiel funktionierts, aber wenn ich den Spielstand lade und
dann ein Item ausrüsten will kommt diese Fehlermeldung:

Skript´Xtended Equipment Line 75: NoMethodError occurred.
undefined method '[]´for nil:Nil Class

Ich hab nicht viel Ahnung vom skripten,
könnt ihr mir bitte helfen.
Was muss ich ändern damit es auch nach dem speichern funktioniert?
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Januar 16, 2013, 20:29:03
gespeicherte Spielstände können nicht mehr geladen werden, wenn ein neues Script eingefügt wird.

lg flipy
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sapo am Januar 16, 2013, 20:34:04
Habe das Skript vor dem Speichern eingefügt.
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Januar 16, 2013, 20:39:30
also Script eingefügt, Testplay, gespeichert, dann ausgemacht bzw. neu gestartet und Spielstand geladen?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sapo am Januar 16, 2013, 20:41:14
Ja genau
Titel: Re: Hilfe zu Skripten.
Beitrag von: FlipelyFlip am Januar 16, 2013, 21:42:26
hast du eventuell irgendwelche Scripts, die die Speicherfunktion erweitern oder ähnliches?
bzw. was hast du denn sonst noch für Scripts drinnen?
Titel: Re: Hilfe zu Skripten.
Beitrag von: Sapo am Januar 16, 2013, 22:13:53
Hab noch ein paar andere skripts, und um alle auszuschliessen hab ich grad mal nen test in einem neuen projekt gemacht nur mit dem Xtended Equipment Skript.
Und Problem bleibt.
SimplePortal 2.3.3 © 2008-2010, SimplePortal