Questlog
Hallo Leute, neuer Tag und neues Problem: Wie Im Titel erwähnt suche ich ein Questlog (Das von Cäsar ist mir bekannt, funzt aber bei SdK angeblich nicht). Es soll sich per Code öffnen lassen und ohne allen Schnickschnack sein. Das bedeutet, dass ich keine Statistik will, die mir sagt wie lang ich gebraucht habe , sondern einfach aus Titel des Quests, Beschreibung(mit villeicht einem Bild) und nach abgschlossener Mission eine schönes Häckchen hintendran :-) Wenn es ein paar Zusatzfunktionen hat, die leicht verständlich sind, wäre ich auch nicht unzufrieden. thx im voraus.
Langsam ziehe ich meine Runden und beobachte jene, die nur im Kreis laufen.
Hm, schwierig. Einerseits willst du es möglichst simpel, andererseits Zusatzfunktionen OO
Also hier ist ein einfaches Quest Skript, das ich heute morgen erstellt habe.
Wenn du Fragen hast, stell' sie ruhig ^^
In diesem Skript wird die Variable $quest zum Speichern der Quests genutzt.
Die Variable muss natürlich abgespeichert werden.
Deswegen öffnest du den Skript Editor und fügst bei Scene_Save
unter der Zeile 82:
Damit die Variable auch geladen wird, bei Scene_Load unter Zeile 82
Wenn du noch ausprobieren willst, wie das am Ende aussieht, erstelle
nach dem Einfügen der Skript Dateien ein neues NPC, das folgendes
Skript ausgibt:
Also hier ist ein einfaches Quest Skript, das ich heute morgen erstellt habe.
Wenn du Fragen hast, stell' sie ruhig ^^
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# Quest Skript by Creaping
$quest = []
class Quest
attr_accessor :beschreibung
attr_accessor :titel
attr_accessor :erledigt
attr_accessor :bild
def initialize(titel)
@titel = titel
@beschreibung = "keine vorhanden"
@erledigt = false
@bild = "001-Fighter01"
end
end
class Window_Questlog < Window_Selectable
def initialize
super(0,0,200,480)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
@item_max = $quest.size
@column_max = 1
self.index = 0
self.active = true
refresh
end
def refresh
x = 0
for i in 0...$quest.size
y = 32* i
if $quest[i].erledigt
bitmap = RPG::Cache.icon("018-Accessory03")
self.contents.blt(0, y + 4, bitmap, Rect.new(0, 0, 24, 24))
end
self.contents.draw_text(28,y, self.width, 32, $quest[i].titel)
end
end
def update_cursor_rect
self.cursor_rect.set(0, @index * 32, 200-32, 32)
end
end
# ------------
class Window_Questinfo < Window_Base
def initialize
super(200,0, 440, 480)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
end
def update(index)
self.contents.clear
if $quest[index].bild != nil
bitmap = RPG::Cache.battler($quest[index].bild, 0)
#mach' aus "battler" ein "picture", wenn du deine Bilder aus dem Picture Ordner willst
self.contents.blt((self.width-bitmap.width)/2, y + 4, bitmap, Rect.new(0, 0, 440, 300))
end
self.contents.draw_text(0,300, self.width, 32, $quest[index].titel, 1)
end
end
# --------------------------------------
class Scene_Questlog
def main
@window_quest = Window_Questlog.new
@window_info = Window_Questinfo.new
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@window_quest.dispose
@window_info.dispose
end
def update
@window_quest.update
@window_info.update(@window_quest.index)
if Input.trigger?(Input::B)
$scene = Scene_Map.new
end
end
end
|
zum Lesen den Text mit der Maus markieren
In diesem Skript wird die Variable $quest zum Speichern der Quests genutzt.
Die Variable muss natürlich abgespeichert werden.
Deswegen öffnest du den Skript Editor und fügst bei Scene_Save
unter der Zeile 82:
|
|
Quellcode |
1 2 |
Marshal.dump($game_player, file) Marshal.dump($quest, file) # <-- Diese Zeile ist hinzugekommen |
Damit die Variable auch geladen wird, bei Scene_Load unter Zeile 82
|
|
Quellcode |
1 2 |
$game_player = Marshal.load(file) $quest = Marshal.load(file) |
Wenn du noch ausprobieren willst, wie das am Ende aussieht, erstelle
nach dem Einfügen der Skript Dateien ein neues NPC, das folgendes
Skript ausgibt:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 |
$quest[0] = Quest.new("Bier holen")
$quest[0].bild = "081-Angel03"
$quest[1] = Quest.new("Garten säubern")
$quest[1].bild = "019-Thief04"
$quest[2] = Quest.new("Questlog erstellen")
$quest[2].bild = nil
$quest[2].erledigt = true
$quest[3] = Quest.new("Standart")
$scene = Scene_Questlog.new |
zum Lesen den Text mit der Maus markieren
Den Questlog 2.0 von Caeser findest du im RMXP Script Explorer
von Monsta (Kannst du auf unserer Hauptseite runterladen).
Original-Thread zum Questlog 3.0 findest du auf rpg-xp.net:
http://forum.rpg-xp.net/thread.php?threadid=3986
~Bye Hybbie
von Monsta (Kannst du auf unserer Hauptseite runterladen).
Original-Thread zum Questlog 3.0 findest du auf rpg-xp.net:
http://forum.rpg-xp.net/thread.php?threadid=3986
~Bye Hybbie
Nichts und unbrauchbar...
Sollte mich jemand suchen, ich habe mich nun komplett aus der Szene zurückgezogen und
habe momentan auch keinen festen Internetzugang...Ich wünsche euch allen viel Erfolg.
Sollte mich jemand suchen, ich habe mich nun komplett aus der Szene zurückgezogen und
habe momentan auch keinen festen Internetzugang...Ich wünsche euch allen viel Erfolg.
