• Anmelden

xShenx

Ankömmling

  • »xShenx« ist der Autor dieses Themas

Motto: Die Welt ist hart aber grausam...

  • Nachricht senden

1

Mittwoch, 22. Dezember 2010, 12:59

Statuswert Pdef (Physical Defense) verändern

Hallo erstmal,

also ich habe folgendes Problem. Für einen Talentbaum an dem ich arbeite möchte ich gerne den Pdef Wert für genau einen Charakter verändern (Am besten per Callscript). Das Problem daran ist, dieser Wert ist ja von Standart aus 0 und lässt sich nur über Equip verbessern. Mir geht es aber darum, dass selbiger Wert zwar durch Equip verbessert Werden kann, jedoch auch mit Talenten.

Hat jemand eine Idee wie ich dieses Problem lösen kann (Mit und ohne RGSS)

~Shen

Ps: Bin ich eigentlich im richtigen Topic?
!NEUES Spiel! FocusRPG !NEUES Spiel!
Klicke auf den Link um die offizielle Seite von FocusRPG zu besuchen.
Spoiler
Vorstellung geplant: November
zum Lesen den Text mit der Maus markieren

Spoiler
Client Release: Januar/Februar
zum Lesen den Text mit der Maus markieren

Clientfortschritt:
Bild

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

2

Mittwoch, 22. Dezember 2010, 14:16

Mit Events hast du natürlich etwas eingeschränktere Möglichkeiten als mit Scripts, allerdings könntest du in dem Fall z.B. den Wert mithilfe eines permanenten Statuseffekts (prozentual) erhöhen , den du beim Aufrüsten des Talents auch austauschen kannst.

Alternativ kannst du auch dieses Script verwenden:
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Game_Actor < Game_Battler
 
  alias_method(:setup_ILC22122010, :setup) unless method_defined?(:setup_ILC22122010)
  def setup(actor_id)
    setup_ILC22122010(actor_id)
    @pdef_plus = 0
  end
 
  def pdef=(pdef)
    @pdef_plus += pdef - self.pdef
    @pdef_plus = [[@pdef_plus, -999].max, 999].min
  end
 
  alias_method(:base_pdef_ILC22122010, :base_pdef) unless method_defined?(:base_pdef_ILC22122010)
  def base_pdef
    base_pdef_ILC22122010 + @pdef_plus
  end
end
zum Lesen den Text mit der Maus markieren

mit dem Scriptbefehl

$game_actors[1].pdef += 16

Kannst du die PDEF eines Actors (hier der mit ID 1 in der Database) erhöhen (hier um 16)
Mit dem Scriptbefehl

$game_actors[1].pdef -= 16

kannst du entsprechend die PDEF wieder verringern.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Irrlicht« (22. Dezember 2010, 22:11)


Social Bookmarks