collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Bedürfnissystem by Herendil Turindo Aldadur  (Gelesen 7135 mal)

Offline Anykey

  • RTP-Mapper
  • *
  • Beiträge: 24
  • Wissen ist die Macht.
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #15 am: Juni 11, 2011, 15:15:21 »
Uiiiii nice ^^ ich freu mich schon ich schaue fast jeden tag rein um zu gucken wann es was neues gibt ;D

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline Herendil

  • Jarl Turindo
  • Moderator
  • Mr. MACK-Tile
  • ***
  • Beiträge: 283
  • Jarl Turindo
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #16 am: Juni 14, 2011, 00:36:27 »
Version 3.0 wurde gepostet.

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline Anykey

  • RTP-Mapper
  • *
  • Beiträge: 24
  • Wissen ist die Macht.
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #17 am: Juni 15, 2011, 21:34:44 »
Juhhh ;) bis der beste gleich testen ;)

Edit: Bei mir funzt wa net könntest du ne Demo hochladen ?
« Letzte Änderung: Juni 21, 2011, 16:34:28 von Anykey »

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline Herendil

  • Jarl Turindo
  • Moderator
  • Mr. MACK-Tile
  • ***
  • Beiträge: 283
  • Jarl Turindo
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #18 am: Juni 23, 2011, 21:48:05 »
Edit: Bei mir funzt wa net könntest du ne Demo hochladen ?

Ne Demo wäre zu umständlich. Was funkt denn nicht?

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline Anykey

  • RTP-Mapper
  • *
  • Beiträge: 24
  • Wissen ist die Macht.
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #19 am: September 02, 2011, 21:08:59 »
Naja es ghet einfach net line 85 geht net
« Letzte Änderung: September 02, 2011, 21:10:32 von Anykey »

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline Anykey

  • RTP-Mapper
  • *
  • Beiträge: 24
  • Wissen ist die Macht.
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #20 am: September 08, 2011, 23:32:18 »
Bei mir schreibt er das die Zeile 85 falsh ist (Sytaxx Erorr)

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline Anykey

  • RTP-Mapper
  • *
  • Beiträge: 24
  • Wissen ist die Macht.
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #21 am: Oktober 31, 2011, 04:15:58 »
Also hilft mir keiner ?

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline NeoXodus

  • Ralph
  • *
  • Beiträge: 5
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #22 am: November 17, 2011, 23:14:57 »
Bei mir schreibt er das die Zeile 85 falsh ist (Sytaxx Erorr)

Bei mir ist genau das Gleiche. Bitte um Hilfe.
MfG

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline Valentine

  • Eventmeister
  • ***
  • Beiträge: 352
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #23 am: Dezember 06, 2011, 18:35:09 »
Sehr schönes Script! Werde das bei meinem Vampir Projekt gut gebrauchen können (Blutdurst) xD
Mal gespannt ob alles funktioniert.

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline FlipelyFlip

  • Will sein Alter nicht verraten xD
  • Administrator
  • VX-Großmeister
  • ****
  • Beiträge: 884
  • Heyho (=
    • Flips Musik Kariere auf Facebook xD
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #24 am: Februar 23, 2012, 19:23:06 »
Da herendil nu ne lange Zeit nichmehr da war und sich einige beschwert haben das das Script nicht geht, hab ichs mir mal kurz angeguckt und den Fehler gefunden. Auch habe ich das Script ein bisschen upgedated, so wird nun die Nachricht dass ein Status unter die Grenzen fällt per printbefehl angezeigt wird, sondern per Textnachricht.

Script
Spoiler for Hiden:
#+###=-............-=###*.............-**-.............+#=##=+-...........
#*####:............-####=-..........-*####=:...........*##########*+-.....
#*##@#:............-####=-........-*@@######=:.........*###==########*....
#*####:............-####=-......-*#######=####=:.......*##=#:.-+=##==-....
#*#######=+--......-####=-....-=#########=######=:.....*####+-............
#*#####@#####@#=+:--#####-..-=@###==-:####*-*###@#=-...*#@######=+-.......
#*####+:*#############===-..-###==-..:##==*..-*####-...*#==##########+....
#*####+.....-:*#########=-...-==-....:####*....-*#-....*####**=######-....
#*#######*+-......-:####=-...........:####*............*####:.....-:-.....
#*####==##=###=+:-.-=##==-...........:##==*............*#=##:.............
#*####+:*==#############=-...........:####*............*###=:.............
#*####:.....-+=##=######=-...........:###=*............*##=#:.............
#*####:..........-:=####=-...........:###=*............*####:.............
#*@###:............-#=##=-...........:####*............*##@#:.............
#*####:............-####=-...........:###=*............*##=#:.............
#*####:............-####=-...........:####*............*####:.............
#*####:............-####=-...........:####*............*####:.............
#*#==#:............-=###=-...........:###=*............*####:.............
#-+++:..............:+++-.............++++-............-++++..............
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#        Bedürfnissystem
#           Version 3.0 (last edit 13.06.2011)
#              by Herendil Turindo Aldadur
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#        Konfigurationsbereich - hier gemäß der Anleitung alles einstellen
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module NEEDS
  SEKUNDEN     = 01 # Variable für die Sekundenberechnung
  BEDUERFNISSE = {# Muster:
                  # Variable, Maximum, CE-id, Intervall
  "Hunger"     =>  [02,       100,     1,      10],
  "Müdigkeit"  =>  [03,       100,     2,      20], 
  "Hygene"     =>  [04,       100,     1,      16]# Am dieser Stelle ein Komma
                                                  # einfügen, um neue Bedürfnisse
                                                  # hinzuzufügen
  } # Unbedingt stehen lassen
  S_X = 0     # Position des Bedürfnisfensters auf dem Bildschirm in X-Richtung
  S_Y = 0     # Position des Bedürfnisfensters auf dem Bildschirm in Y-Richtung
  OPACITY = 255 # Deckkraft der Fensterränder und  -innren
  ANZEIGE        = 01   # Switch zur Regulierung der Fenstersichtbarkeit
                        # Switch off -> Anzeige an
  WARN_TIME      = 30   # Prozentualer Wert für erste Warnung
  WARNING        = "Das Bedürfnis %s ist unter 30% gesunken!" # Erste Warnung
  CRIT_TIME      = 10   # Prozentualer Wert für kritische Warnung
  CRIT_WARN      = "Das Bedürfnis %s ist unter 10% gesunken!!" # Zweite Warnung
  START_MAX      = true # Alle Bedürfnisse bei Spielstart maximiert?
                        # true -> ja; false -> nein                                         
  IN_MENU        = true # Soll das Bedürfnisfenster im Menu zu sehen sein?
                        # true -> ja; false -> nein
  RECOVER_ADD    = 'all'# Der Event-Befehl "Recover all" maximiert auch alle
                        # Bedürfnisse, die automatisch sinken.
                        # true -> ja; false -> nein; 'all' -> nur bei ganze Gruppe
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Funktionaler Bereich - ab dieser Trennung sind alle Änderungen nicht empfohlen
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#         Window_Beduerfnisse
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Window_Beduerfnisse < Window_Base
  def initialize
    super(NEEDS::S_X, NEEDS::S_Y, 150, (24*NEEDS::BEDUERFNISSE.keys.size+24))
    self.opacity = NEEDS::OPACITY
    refresh
  end
 
  def refresh
    self.contents.clear
    self.contents.font.size = 16
    a = []
    for i in (NEEDS::BEDUERFNISSE).keys
      o = NEEDS::BEDUERFNISSE[i]
      self.contents.draw_text(0, (NEEDS::BEDUERFNISSE.keys.index(i)*24), 71, 16, "#{i}: ", 2)
      draw_gauge(70,(NEEDS::BEDUERFNISSE.keys.index(i)*24-10), $game_variables[o[0]], o[1])
    end
    self.visible = !$game_switches[NEEDS::ANZEIGE]
  end
 
  def draw_gauge(x,y, value, max)
    gw = 40 * value / max
    c = get_colour(value, max)
    gc1 = text_color(c[1])
    gc2 = text_color(c[0])
    self.contents.fill_rect(x-1, y + WLH - 9, 40+2, 6+2, text_color(15))
    self.contents.fill_rect(x, y + WLH - 8, 40, 6, text_color(15))
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end
 
  def get_colour(value, max)
    case (value*100.00)/max
    when  0...11;  return [10,18]
    when 10...21;  return [2,10]
    when 20...31;  return [21,14]
    when 30...71;  return [0,17]     
    when 70...81;  return [24,29]
    when 80...91;  return [3,28]
    when 90...101; return [11,28]
    else
      return [15,15]
    end
  end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#         Scene_Map
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Scene_Map
  alias needs_start start
  alias needs_update update
  alias need_terminate terminate
  def start
    needs_start
    @beduerfnis_window = Window_Beduerfnisse.new
    @warned30 = []
    @warned10 = []
  end
 
  def update
    needs_update
    update_needs
    check_needs
    @beduerfnis_window.refresh
  end
 
  def terminate
    @beduerfnis_window.dispose
    need_terminate
  end
 
  def update_needs
    if Graphics.frame_count % Graphics.frame_rate == 0
      $game_variables[NEEDS::SEKUNDEN] += 1
      for i in (NEEDS::BEDUERFNISSE).keys
        o = NEEDS::BEDUERFNISSE[i]
        next if o[3] <= 0
        next unless $game_variables[NEEDS::SEKUNDEN] % o[3] == 0
        @factor = 1
        @factor = ($game_map.name.gsub('[F:','')).split(']')[0].to_f if $game_map.name.include?("[F:")
        for area in $data_areas.values
          next unless (area.map_id == $game_map.map_id)
          next unless area.name.include?("[F:")
          x = (area.rect.x)...(area.rect.x+area.rect.width)
          y = (area.rect.y)...(area.rect.y+area.rect.height)
          next unless x.include?($game_player.x) and y.include?($game_player.y)
          @factor = (area.name.gsub('[F:','')).split(']')[0].to_f
        end
        @factor = event_factor? unless event_factor? == false
        $game_variables[o[0]] -= (1*@factor)
      end
    end
  end
 
  def event_factor?
    for i in $game_map.events.keys
      event = $game_map.events[i]
      next unless ((event.x == $game_player.x) && (event.y == $game_player.y))
      next unless event.name.include?('[F:')
      return ((event.name.gsub('[F:','')).split(']')[0].to_f)
    end
    return false
  end
 
  def check_needs
    for i in (NEEDS::BEDUERFNISSE).keys
      o = NEEDS::BEDUERFNISSE[i]
      if $game_variables[o[0]] > o[1]
        $game_variables[o[0]] = o[1]
      elsif $game_variables[o[0]] <= 0
        if o[2] != nil
          $game_temp.common_event_id = o[2]
          $game_variables[o[0]] += 1
        end
      elsif 100.00*$game_variables[o[0]]/o[1] <= NEEDS::CRIT_TIME
        run_crit_warning i if not @warned10.include?(i)
      elsif 100.00*$game_variables[o[0]]/o[1] <= NEEDS::WARN_TIME
        run_warning i if not @warned30.include?(i)
      elsif ($game_variables[o[0]]*100.00/o[1]) > NEEDS::WARN_TIME
        @warned30.delete(i)
      elsif ($game_variables[o[0]]*100.00/o[1]) > NEEDS::CRIT_TIME
        @warned10.delete(i)
      end
    end
  end
 
  def run_warning(name)
    $game_message.texts.push(NEEDS::WARNING.gsub('%s', name))
    @warned30 << name
  end
 
  def run_crit_warning(name)
    $game_message.texts.push(NEEDS::CRIT_WARN.gsub('%s', name))
    @warned10 << name
  end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#         Scene_Menu
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Scene_Menu < Scene_Base
  alias need_start start
  alias need_update update
  alias need_terminate terminate
  def start
    need_start
    if NEEDS::IN_MENU
      @needs = Window_Beduerfnisse.new
      @needs.opacity = 255
      @needs.x = 0
      @needs.y = @command_window.height+@command_window.y
      @needs.width = @command_window.width
    end
  end
 
  def update
    need_update
    @needs.refresh
    @needs.visible = true
  end
 
  def terminate
    @needs.dispose
    need_terminate
  end
end

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#         Scene_Title
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Scene_Title < Scene_Base
  alias load_database_name load_database
  def load_database
    load_database_name
    $data_mapinfos      = load_data("Data/MapInfos.rvdata")
    for key in $data_mapinfos.keys
      $data_mapinfos[key] = $data_mapinfos[key].name
    end
  end
 
  alias command_new_needs command_new_game
  def command_new_game
    command_new_needs
    if NEEDS::START_MAX
      for i in (NEEDS::BEDUERFNISSE).keys
        o = NEEDS::BEDUERFNISSE[i]
        $game_variables[o[0]] = o[1]
      end
    end
  end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#         Game_Map
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Game_Map 
  def name
    $data_mapinfos[@map_id]
  end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#         Game_Interpreter
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Game_Interpreter
 
  def erholen_all(prozent = 100, absolut = 0)
    for i in NEEDS::BEDUERFNISSE.keys
      erholen(i, prozent, absolut)
    end
  end
 
  def erholen(beduerfnis, prozent = 100, absolut = 0)
    rel = NEEDS::BEDUERFNISSE[beduerfnis][1]*(prozent/100.00)
    $game_variables[NEEDS::BEDUERFNISSE[beduerfnis][0]] += (rel+absolut)
  end
 
  def erschöpfen_all(prozent = 100, absolut = 0)
    for i in NEEDS::BEDUERFNISSE.keys
      erschöpfen(i, prozent, absolut)
    end
  end
 
  def erschöpfen(beduerfnis, prozent = 100, absolut = 0)
    rel = NEEDS::BEDUERFNISSE[beduerfnis][1]*(prozent/100.00)
    $game_variables[NEEDS::BEDUERFNISSE[beduerfnis][0]] -= (rel+absolut)
  end
 
  alias command_314_needs command_314
  def command_314
    case NEEDS::RECOVER_ADD
    when true
      for i in NEEDS::BEDUERFNISSE.keys
        erholen(i)
      end
    when 'all'
      if @params[0] == 0
        for i in NEEDS::BEDUERFNISSE.keys
          next if NEEDS::BEDUERFNISSE[i][3] <= 0
          erholen(i)
        end
      end
    end
    command_314_needs
  end 
end

class Game_Event < Game_Character
  attr_reader   :name
  alias needs_initialize initialize
  def initialize(map_id, event)
    needs_initialize(map_id, event)
    @name = event.name
  end
end

viel spaß damit, funktioniert auch (wurde selbst getestet) und jo, Credits bleiben noch die selben, für das bisschen was ich da gemacht habe brauch und will ich keine Credits.

lg flip

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline NeoXodus

  • Ralph
  • *
  • Beiträge: 5
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #25 am: Februar 26, 2012, 12:50:48 »
Danke! :)
Aber jetzt habe ich noch ein Problem. Ich hab wirklich keine Ahnung vom Skripten. Was muss ich machen, dass die Bedürfnisse wieder aufgefüllt werden?

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline FlipelyFlip

  • Will sein Alter nicht verraten xD
  • Administrator
  • VX-Großmeister
  • ****
  • Beiträge: 884
  • Heyho (=
    • Flips Musik Kariere auf Facebook xD
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #26 am: Februar 26, 2012, 13:51:32 »
einfach die Variablen auf 100 setzten die du im script definiert hast, bzw. + den Wert rechnen um den Erholt werden soll (:

lg flip

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline Kouki

  • Ralph
  • *
  • Beiträge: 7
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #27 am: März 18, 2012, 09:42:42 »
Sobald ich den Script eingebunden habe und das Spiel neustarte.. seh ich zwar die Leisten von dem Menü, aber meine normalen Texte kommen nicht, die auf Autorun stehen und meine ganzen anderen Events sind dadurch schon ausgelöst ( z.B ne Brücke ist schon da, obwohl man sie erst hätte betätigen müssen.)

Das gleiche passiert auch wenn ich über nen Switch die Box grafisch ausstell.

Hilfe... :sad:

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline FlipelyFlip

  • Will sein Alter nicht verraten xD
  • Administrator
  • VX-Großmeister
  • ****
  • Beiträge: 884
  • Heyho (=
    • Flips Musik Kariere auf Facebook xD
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #28 am: März 18, 2012, 11:21:30 »
dürfte eigentlich nix mit dem Script zu tun haben, ausser du verwendest irgendwelche Switches oder Variablen die im script vordefiniert wurden. Dann müsstest du da andre einstellen^^"
Ansonsten immer ein neues Spiel starten und nicht Spiel Laden ._.

Re: Bedürfnissystem by Herendil Turindo Aldadur

Offline Kouki

  • Ralph
  • *
  • Beiträge: 7
Re: Bedürfnissystem by Herendil Turindo Aldadur
« Antwort #29 am: März 18, 2012, 11:24:36 »
Switch 100 ist nicht belegt und
Neues Spiel passiert das gleiche.


o.o´
Liegt es evtl an der X-Y des Fensters?

 


 Bild des Monats

rooftop party

Views: 3581
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