collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: hellMinors Simple Questlog  (Gelesen 24867 mal)

Offline Galadriela

  • Event-Jongleur
  • **
  • Beiträge: 57
    • Meine Bücher
Re: hellMinors Simple Questlog
« Antwort #225 am: Juni 20, 2010, 10:54:00 »
öhmmmm, ich wollte einen extra ordner für die bilder erstellen, aber wie geht das? im materialmanager kann man keinen extra ordner erstellen

Re: hellMinors Simple Questlog

Offline Master Chain

  • Smalltalk-Front
  • VX-Meister
  • ****
  • Beiträge: 605
  • Kette ähm *Hust Colo for Admin
    • Mein Youtube Channel
Re: hellMinors Simple Questlog
« Antwort #226 am: Juni 20, 2010, 11:28:10 »
Hmm dort sollst du es auch net mach sondern im Projekt Ordner

Re: hellMinors Simple Questlog

Offline Galadriela

  • Event-Jongleur
  • **
  • Beiträge: 57
    • Meine Bücher
Re: hellMinors Simple Questlog
« Antwort #227 am: Juni 20, 2010, 11:35:43 »
oooohhhhhh lach, na auf die idee muß man erst mal kommen ;DDDD danke danke

Re: hellMinors Simple Questlog

Offline Pokejhm

  • Pokemon Hellblau und Minecraft
  • Event-Jongleur
  • **
  • Beiträge: 84
  • tr7zw
    • Timolia
Re: hellMinors Simple Questlog
« Antwort #228 am: August 21, 2010, 01:14:01 »
Wieso geht das Script bei mir nicht? Ich habe das Genommen, wo eigentlich das mit dem "end" gefixxt wurde. Es geht aber immer noch nicht.
Mit einem "end" hinzu oder weg.
Hier mein Code, den ich von vorne genommen habe:
#==============================================================================
#  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
8.12.2012: Pokemon Hellblau wieder aufgenommen!

Re: hellMinors Simple Questlog

Offline Domin0e

  • Leaf in the Wind
  • Mr. MACK-Tile
  • ***
  • Beiträge: 237
    • Mein kleiner Blog~
Re: hellMinors Simple Questlog
« Antwort #229 am: August 21, 2010, 09:03:11 »
Fehlermeldung wäre hilfreich~
"Twelve highlanders and a bagpipe make a rebellion." - Scottish Proverb

Mein kleiner Blog

Re: hellMinors Simple Questlog

Offline Twonky

  • Kekseesserhutverkäufer
  • Event-Jongleur
  • **
  • Beiträge: 50
Re: hellMinors Simple Questlog
« Antwort #230 am: August 23, 2010, 14:59:24 »
Ich habe ein Problem mit dem Questlog Script.
Ich weiß das die Frage schonmal gestellt wurde, aber ich habe es irgendwie nicht verstanden.

Wie kann ich das Questmenü aufrufen?
Tut mir Leid, aber ich kenne mich nicht aus :(
Im Moment arbeite ich an einem Projekt, wobei ich leider noch keinen Namen dafür habe :(

Re: hellMinors Simple Questlog

Offline Domin0e

  • Leaf in the Wind
  • Mr. MACK-Tile
  • ***
  • Beiträge: 237
    • Mein kleiner Blog~
Re: hellMinors Simple Questlog
« Antwort #231 am: August 23, 2010, 15:09:22 »
# 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)

Wenn du den Questlog per Event aufrufst musst du bei den Event Commands auf Seite 3 unter Advanced "Script..." benutzen.
"Twelve highlanders and a bagpipe make a rebellion." - Scottish Proverb

Mein kleiner Blog

Re: hellMinors Simple Questlog

Offline Twonky

  • Kekseesserhutverkäufer
  • Event-Jongleur
  • **
  • Beiträge: 50
Re: hellMinors Simple Questlog
« Antwort #232 am: August 23, 2010, 15:25:48 »
# 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)

Wenn du den Questlog per Event aufrufst musst du bei den Event Commands auf Seite 3 unter Advanced "Script..." benutzen.

Bei Common Events oder wo?
Im Moment arbeite ich an einem Projekt, wobei ich leider noch keinen Namen dafür habe :(

Re: hellMinors Simple Questlog

Offline Domin0e

  • Leaf in the Wind
  • Mr. MACK-Tile
  • ***
  • Beiträge: 237
    • Mein kleiner Blog~
Re: hellMinors Simple Questlog
« Antwort #233 am: August 23, 2010, 16:42:43 »
Wenn du den Questlog über ein Item aufrufst dann in den Common Events, ja. Ansonsten in dem Event, welches den Questlog aufruft.
"Twelve highlanders and a bagpipe make a rebellion." - Scottish Proverb

Mein kleiner Blog

Re: hellMinors Simple Questlog

Offline Twonky

  • Kekseesserhutverkäufer
  • Event-Jongleur
  • **
  • Beiträge: 50
Re: hellMinors Simple Questlog
« Antwort #234 am: August 23, 2010, 17:50:38 »
Nein, ich will das man jetzt Q drückt und dann das Questfenster erscheint.
Geht das nicht?
Im Moment arbeite ich an einem Projekt, wobei ich leider noch keinen Namen dafür habe :(

Re: hellMinors Simple Questlog

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: hellMinors Simple Questlog
« Antwort #235 am: August 23, 2010, 18:17:34 »
Doch dafür musst du ein Common Event mit parallelem Prozess haben.
Dort machst du eine Abfrage, ob die Taste Q(L) gerückt wurde und wenn dies der Fall ist, führst du den Call Script aus.
Ein Waitbefehl könnte vor unnötigen Aufwand schützen.

MfG
Deity



Re: hellMinors Simple Questlog

Offline Zak

  • Berater
  • Mr. MACK-Tile
  • *
  • Beiträge: 243
Re: hellMinors Simple Questlog
« Antwort #236 am: August 24, 2010, 08:46:40 »
Frisst das aber nicht an der Leistung des Spiels? Wäre es per Script nicht besser, wenn es schon eingebaut wäre?
Mein Projekt:

Re: hellMinors Simple Questlog

Offline Twonky

  • Kekseesserhutverkäufer
  • Event-Jongleur
  • **
  • Beiträge: 50
Re: hellMinors Simple Questlog
« Antwort #237 am: August 24, 2010, 18:10:11 »
Doch dafür musst du ein Common Event mit parallelem Prozess haben.
Dort machst du eine Abfrage, ob die Taste Q(L) gerückt wurde und wenn dies der Fall ist, führst du den Call Script aus.
Ein Waitbefehl könnte vor unnötigen Aufwand schützen.

MfG
Deity

Was muss den da für ein Switch hin?

EDIT: Vielen Dank nun funktioniert es endlich :D
« Letzte Änderung: August 24, 2010, 18:13:30 von Twonky »
Im Moment arbeite ich an einem Projekt, wobei ich leider noch keinen Namen dafür habe :(

Re: hellMinors Simple Questlog

Offline Deses

  • Database-Verunstalter
  • **
  • Beiträge: 105
    • Ulugar - Developers Blog
Re: hellMinors Simple Questlog
« Antwort #238 am: September 13, 2010, 17:47:19 »
Hey Leute... Ich habe ein kleines großes Problem mit dem Questlog, will ich es per button starten klappt alles soweit, will ich allerdings das Questlog ins Menü einbauen gehts nicht.
So stell ich es beispielsweise über Speichern und geh ins Game und geh aufs Questlog öffnet sich die Save Scene ... bei den anderen ist es das selbst =/
Das einzige das funktionierte ist an 1. Stelle ..
Habe auch bereits die vorgschlagene Lösung von Seite 1 probiert- da erhalte ich sobald ich ins Menü will direkt einen schwarzen Bildschirm und das wars ^^

Hoffe ihr könnt mir helfen :D

EDIT: hat sich erledigt -.- war zu blöd :D
« Letzte Änderung: September 13, 2010, 17:54:55 von Deses »

Re: hellMinors Simple Questlog

Offline Anykey

  • RTP-Mapper
  • *
  • Beiträge: 24
  • Wissen ist die Macht.
Re: hellMinors Simple Questlog
« Antwort #239 am: Dezember 01, 2010, 15:49:15 »
Leute vieleicht  könnt ihr mir helfen  bei simpel qeuslog wenn ich eine beschrebung schreibe also ändere läuft der script net alles wunder paar titel und so aber ändere ich die bschreibung bums script läuft nicht
« Letzte Änderung: Dezember 01, 2010, 15:52:52 von Anykey »

 


 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