collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: [Tutorial] Levelabfrage VX  (Gelesen 1452 mal)

Offline Kvote

  • Angehender Tutorinator :D
  • Mr. MACK-Tile
  • ***
  • Beiträge: 219
  • Change the Set, change the World!
    • My Senseless World - Enter it!
[Tutorial] Levelabfrage VX
« am: März 08, 2012, 18:19:28 »
VX-Tutorial - Die Levelabfrage bzw. das Level als Bedingung

Hallo und willkommen zu einem weiteren Tutorial von mir. Sicher gibt es dies irgendwo in kürzerer oder anderer Form schon, denn der VX existiert ja schon ein paar Jahre.
Wichtig bevor wir anfangen: stellt sicher das ihr DIESES SKRIPT eingefügt und so eingesetzt habt wie es beschrieben ist. Dieser Gameinterpreter Fix fixed einige Variablenfunktionen des VX. So, nun legen wir aber los


Original-Code für Variablen-Fix
Spoiler for Hiden:
#==============================================================================
# Game_Interpreter (Variablen-Fix)
#==============================================================================
class Game_Interpreter
  #--------------------------------------------------------------------------
  def command_122
    value = 0
    case @params[3]  # Operand
    when 0  # Constant
      value = @params[4]
    when 1  # Variable
      value = $game_variables[@params[4]]
    when 2  # Random
      value = @params[4] + rand(@params[5] - @params[4] + 1)
    when 3  # Item
      value = $game_party.item_number($data_items[@params[4]])
    when 4  # Actor
      actor = $game_actors[@params[4]]
      if actor != nil
        case @params[5]
        when 0  # Level
          value = actor.level
        when 1  # Experience
          value = actor.exp
        when 2  # HP
          value = actor.hp
        when 3  # MP
          value = actor.mp
        when 4  # Maximum HP
          value = actor.maxhp
        when 5  # Maximum MP
          value = actor.maxmp
        when 6  # Attack
          value = actor.atk
        when 7  # Defense
          value = actor.def
        when 8  # Spirit
          value = actor.spi
        when 9  # Agility
          value = actor.agi
        end
      end
    when 5  # Enemy
      enemy = $game_troop.members[@params[4]]
      if enemy != nil
        case @params[5]
        when 0  # HP
          value = enemy.hp
        when 1  # MP
          value = enemy.mp
        when 2  # Maximum HP
          value = enemy.maxhp
        when 3  # Maximum MP
          value = enemy.maxmp
        when 4  # Attack
          value = enemy.atk
        when 5  # Defense
          value = enemy.def
        when 6  # Spirit
          value = enemy.spi
        when 7  # Agility
          value = enemy.agi
        end
      end
    when 6  # Character
      character = get_character(@params[4])
      if character != nil
        case @params[5]
        when 0  # x-coordinate
          value = character.x
        when 1  # y-coordinate
          value = character.y
        when 2  # direction
          value = character.direction
        when 3  # screen x-coordinate
          value = character.screen_x
        when 4  # screen y-coordinate
          value = character.screen_y
        end
      end
    when 7  # Other
      case @params[4]
      when 0  # map ID
        value = $game_map.map_id
      when 1  # number of party members
        value = $game_party.members.size
      when 2  # gold
        value = $game_party.gold
      when 3  # steps
        value = $game_party.steps
      when 4  # play time
        value = Graphics.frame_count / Graphics.frame_rate
      when 5  # timer
        value = $game_system.timer / Graphics.frame_rate
      when 6  # save count
        value = $game_system.save_count
      end
    end
    for i in @params[0] .. @params[1]   # Batch control
      case @params[2]  # Operation
      when 0  # Set
        $game_variables[i] = value
      when 1  # Add
        $game_variables[i] += value
      when 2  # Sub
        $game_variables[i] -= value
      when 3  # Mul
        $game_variables[i] *= value
      when 4  # Div
        $game_variables[i] /= value if value != 0
      when 5  # Mod
        $game_variables[i] %= value if value != 0
      end
      if $game_variables[i] > 99999999    # Maximum limit check
        $game_variables[i] = 99999999
      end
      if $game_variables[i] < -99999999   # Minimum limit check
        $game_variables[i] = -99999999
      end
    end
    $game_map.need_refresh = true
    return true
  end
  #--------------------------------------------------------------------------
end
#==============================================================================

Worum geht es in diesem Tutorial?
Kurz gesagt, ihr wollt das euer Charakter sein Level als Bedingung für irgendetwas hat, dann benutz ihr die Variable  "LEVEL" bezogen auf den ausgewählten Charakter.

Schritt 1

Ihr seht ihr kommt nicht an der Wache vorbei, die den einzigen Weg zur Kiste blockiert. Dies auch standardmäßig anwendbar wenn ihr soetwas wie Gebietssperren einführt :O

Schritt 2

Grund warum er euch nicht durchlässt ist euer Level. Ich habe hier zusätzlich zu der Eventabfrage des Levels auch noch in die Messagebox die Anzeige eures Aktuellen Levels eingefügt wie ihr am Skript in Schritt 4 ablesen könnt.


Schritt 3

Die Wache weist euch somit an, noch mehr zu trainieren.


Schritt 4

Nun aber zum Skript: Unter Punkt 1  stellt ihr die Variable wie auf Bild 4b ein. Ich hab jetzt den Ralph genommen, ihr könnt aber jeden charakter nehmen den ihr wollt :)
Punkt 2 setzt den Befehl an dieses Event das es euch nicht durchlässt es sei denn Variable 4 "Leveltest" (in der der aktuelle Wert eures Levels gespeichert ist) is 5 oder höher.
Punkt 3: Gegebenenfalls ihr seid schon level 5 oder höher, dürft ihr passieren und das Event bzw. der NPC macht den weg für euch frei.
Punkt 4 könnt ihr wirklich handhaben wie ihr wollt, ihr könnt auch nichts eintragen! Denn ihr hab die "Bedingung" nicht erfüllt und kommt somit nicht durch.



Schritt 4b

So hier nochmal das Bild der Variable zur veranschaulichung! Sollte eigentlich klar :)


Schritt 5

Hier habe ich mir einen kleinen Levelpusch-Kristall gebastelt. Ich hab ihm den Befehl gegeben, dass sobald ich  ihn anspreche, er das Level meiner Party um 5 erhöht. Also da wir standardmäßig immer Level 1 sind, bin ich nun Level 6.


Schritt 6

Gehen wir nun erneut zu der Wache, lässt sie uns passieren da wir jetzt ja Level 5+ sind und die Bedingung erfüllen.



Schritt 7


Tja und und nun können wir die Kiste plündern *____*


Ich hoff die Anfänger unter euch konnten ein bisschen was lernen und verstehen nun die Variablenfunktion ein wenig  mehr.
Bis zum nächsten Tutorial.





Lg Kvote

Re: [Tutorial] Levelabfrage VX

Offline Boogatie Roll

  • VX-Meister
  • ****
  • Beiträge: 676
  • Java[Spiele] Programmierer
    • BRolls Game Website
Re: [Tutorial] Levelabfrage VX
« Antwort #1 am: März 09, 2012, 17:19:38 »
Sieht gut aus, und verständlich gemacht.
Ich denke es hätte mir vor 6 Jahren, als ich die Variablen noch nicht verstanden habe,
ziemlich geholfen.  :haha:

 


 Bild des Monats

rooftop party

Views: 3167
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal