Das Thema klingt doof, ist aber so!
Und zwar gibt es ja dieses Advancend-Message-Script bei dem man verschiedene Fonts benutzen, die Schriftgröße verändern und vor allem einen Text über einem Event anzeigen lassen kann. Nun hab ich mir gedacht, wenn man den Text wirklich an anderen Stellen anzeigen lassen kann, warum dann nur über einem Event?
Ich könnte ein Script gebrauchen, mit dem man, wie das Thema sagt, einen Text egal wo auf der Map anzeigen lassen kann. Und zwar hab ich mir das so vorgestellt wie bei der Funktion ein Bild anzeigen zu lassen. Man gibt seine x und y Werte und anschließend einen Text ein, der dann an den gesetzten Werten erscheint. Und zwar sollte das ohne Hintergrund sein, und der Text sollte an der Stelle stehen bleiben. Also er sollte nicht mit Enter weggedrückt werden können.
Ich bräuchte dieses Script um Werte aus Variablen auf dem Bildschirm anzeigen zu lassen. Es handelt sich hierbei um Werte, die sich ständig verändern, und deshalb für den Spielbar sichtbar sein sollten. Ich könnte das ganze mit Pictures umsetzen, da ich aber für mein Projekt alle 50 Pictures brauche, ist mir das nicht möglich.
Nun die Frage, ist so ein Script möglich, bekommt das irgendein Profi hin? Oder gibt es sowas sogar schon? Wie gesagt bräuchte ich so etwas dringend. Vielleicht kann man ja das "Text-Über-Event"-Script ja so umschreiben, dasset so funktioniert... also Text anzeigen mit dem normalen Picture anzeigen kombinieren oder so...
Bin sehr dankbar für jede Hilfe...
Und zwar gibt es ja dieses Advancend-Message-Script bei dem man verschiedene Fonts benutzen, die Schriftgröße verändern und vor allem einen Text über einem Event anzeigen lassen kann. Nun hab ich mir gedacht, wenn man den Text wirklich an anderen Stellen anzeigen lassen kann, warum dann nur über einem Event?
Ich könnte ein Script gebrauchen, mit dem man, wie das Thema sagt, einen Text egal wo auf der Map anzeigen lassen kann. Und zwar hab ich mir das so vorgestellt wie bei der Funktion ein Bild anzeigen zu lassen. Man gibt seine x und y Werte und anschließend einen Text ein, der dann an den gesetzten Werten erscheint. Und zwar sollte das ohne Hintergrund sein, und der Text sollte an der Stelle stehen bleiben. Also er sollte nicht mit Enter weggedrückt werden können.
Ich bräuchte dieses Script um Werte aus Variablen auf dem Bildschirm anzeigen zu lassen. Es handelt sich hierbei um Werte, die sich ständig verändern, und deshalb für den Spielbar sichtbar sein sollten. Ich könnte das ganze mit Pictures umsetzen, da ich aber für mein Projekt alle 50 Pictures brauche, ist mir das nicht möglich.
Nun die Frage, ist so ein Script möglich, bekommt das irgendein Profi hin? Oder gibt es sowas sogar schon? Wie gesagt bräuchte ich so etwas dringend. Vielleicht kann man ja das "Text-Über-Event"-Script ja so umschreiben, dasset so funktioniert... also Text anzeigen mit dem normalen Picture anzeigen kombinieren oder so...
Bin sehr dankbar für jede Hilfe...
Ähm, ja, das klingt...toll.
Ich hab zwar keine große Ahnung von den Scripten, aber ich denke mal, dass das schon ginge. In dem Message Script, was du hast (und welches bei mir nicht geht), muss ja irgendwo die Position bestimmt worden sein. Die müsste man ja nur ändern.
Aber dann stehen die Nachrichten immer da.
Kann sein, dass du das willst, dann is das ja O.K.
Genau helfen kann ich dir jetzt nicht, da ich das Script nich habe, weil es eben nich funktioniert bei mir.
Und wie meinst du das: Ich brauche für mein Projekt alle 50 Bilder?
Ich hab zwar keine große Ahnung von den Scripten, aber ich denke mal, dass das schon ginge. In dem Message Script, was du hast (und welches bei mir nicht geht), muss ja irgendwo die Position bestimmt worden sein. Die müsste man ja nur ändern.
Aber dann stehen die Nachrichten immer da.
Kann sein, dass du das willst, dann is das ja O.K.
Genau helfen kann ich dir jetzt nicht, da ich das Script nich habe, weil es eben nich funktioniert bei mir.
Und wie meinst du das: Ich brauche für mein Projekt alle 50 Bilder?
Naja, der RMXP kann maximal 50 Bilder gleichzeitig anzeigen... und das nutze ich voll aus. Also ich brauche viele Grafiken. Wird ein Kartenspiel. Und jede Karte braucht ja seine Grafik, oder?
Aber das hat ja wenig mit dem Script zu tun. Habe im Quelltext des Scripts (bei mir funzt das einwandfrei) schon nach der Stelle gesucht (manuell) hab die aber ned gefunden ^^" .. ich kann den Code ja ned innen Texteditor kopieren (afaik) deshalb kannsch keine Suchfunktion benutzen.
Aber das hat ja wenig mit dem Script zu tun. Habe im Quelltext des Scripts (bei mir funzt das einwandfrei) schon nach der Stelle gesucht (manuell) hab die aber ned gefunden ^^" .. ich kann den Code ja ned innen Texteditor kopieren (afaik) deshalb kannsch keine Suchfunktion benutzen.
Es gibt so ein Skript schon.
Ich habe das glaube ich auch irgendwo noch auf meiner Festplatte. Wenn ich es nachher finde, editiere ich es rein.
~Monsta~
Ich habe das glaube ich auch irgendwo noch auf meiner Festplatte. Wenn ich es nachher finde, editiere ich es rein.
~Monsta~
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
Zitat von »"Monsta"«
Es gibt so ein Skript schon.
Ich habe das glaube ich auch irgendwo noch auf meiner Festplatte. Wenn ich es nachher finde, editiere ich es rein.
~Monsta~
Wäre verdammt nett von dir! .. is das auch echt so, dass der Text da bleibt wo ich ihn hinhgaben will? Denn beim AMS, Text über Event geht der Text nach Druck auf Enter ja immer weg...
Aber mal so ganz nebenbei, wenn ich den RGSS-Bereich vom Forum durchforste...du hast doch alle Scripts auf der Platte, oder? Bist ein richtiger Script-freak
Also das Skript ist eigentlich gar nicht dafür gedacht normale Texte anzuzeigen, geht aber trotzdem^^
Müsstest halt die Variabel ändern die zurückgegeben wird. z.B.
in
ändern.
Und um da Texte reinzuschreiben einfach ein Event Skript aufrufen.
Hoffe das war verständlich^^
Hier noch das Skript, Credits gehen an Caesar:
PS: Naja, finde der Ausdruck Freak hat immer son negativen Beigeschmack. Und ich habe viele Skripte, aber lange nicht alle!
~Monsta~
Müsstest halt die Variabel ändern die zurückgegeben wird. z.B.
|
|
Quellcode |
1 2 |
when 1
return actor.hp.to_s |
in
|
|
Quellcode |
1 2 |
when 1
return $game_variables[1].to_s |
ändern.
Und um da Texte reinzuschreiben einfach ein Event Skript aufrufen.
|
|
Quellcode |
1 |
$game_variables[1] = "Hallo" |
Hoffe das war verständlich^^
Hier noch das Skript, Credits gehen an Caesar:
|
|
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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 |
#aufruf: $actor_values.show(x,y,actor_id,value_id)#
#löschen: $actor_values.dispose(actor_id,value_id)
#/////////////////////////////////////ShowVariable-Script///////////////////////////////////////////////
#///////////////////////////////////++ActorValue-Script++/////////////////////////////////////////////
#~+*~+*~+*~+*~+*~+*~+*~by Caesar~+*~+*~+*~+*~+*~+*~+*~+*~+*~
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#********************************************************************************
#_____________________________________________________
class Vars < Sprite
def initialize(x, y, id, opacity)
super()
self.bitmap = Bitmap.new(get_size(id), 32)
@target_x = x
@target_y = y
@target_opacity = opacity
@duration = 0
self.x = x
self.y = y
self.bitmap.font.name = "Arial"
self.bitmap.font.size = 25
self.bitmap.font.color = Color.new(255, 255, 255)
self.opacity = opacity
@original_var = $game_variables[id]
@var_id = id
self.bitmap.draw_text(bitmap.rect, $game_variables[id].to_s)
end
#-----------------
def update
if $game_variables[@var_id] != @original_var
self.bitmap.clear
self.bitmap = Bitmap.new(get_size(@var_id), 32)
self.bitmap.font.name = "Arial"
self.bitmap.font.size = 25
self.bitmap.font.color = Color.new(255, 255, 255)
self.bitmap.draw_text(bitmap.rect, $game_variables[@var_id].to_s)
@original_var = $game_variables[@var_id]
end
if @duration >= 1
d = @duration
self.x = (self.x * (d - 1) + @target_x) / d
self.y = (self.y * (d - 1) + @target_y) / d
self.opacity = (self.opacity * (d - 1) + @target_opacity) / d
@duration -= 1
end
end
#-----------------
def set_opacity(opacity)
self.opacity = opacity
end
#-----------------
def move(x, y, duration)
@target_x = x
@target_y = y
@duration = duration
end
#-----------------
def change_opacity(opacity, duration)
@target_opacity = opacity
@duration = duration
end
#-----------------
def get_size(var_id)
dummy_bitmap = Bitmap.new(32, 32)
dummy_bitmap.font.name = "Arial"
dummy_bitmap.font.size = 25
return dummy_bitmap.text_size($game_variables[var_id].to_s).width
end
end
#==================
class Variables
def initialize
@vars = {}
end
#-------------------
def show(x, y, id, opacity=255)
@vars[id] = Vars.new(x, y, id, opacity)
end
#-------------------
def move(x, y, id, duration)
@vars[id].move(x, y, duration) if @vars[id] != nil
end
#-------------------
def set_opacity(opacity, id)
@vars[id].set_opacity(opacity) if @vars[id] != nil
end
#-------------------
def change_opacity(opacity, id, duration)
@vars[id].change_opacity(opacity, duration) if @vars[id] != nil
end
#-------------------
def dispose(id)
if @vars[id] != nil
@vars[id].dispose
@vars[id] = nil
end
end
#------------
def update
for i in @vars.values
i.update
end
end
end
#==================
class Game_Map
alias init_vars initialize
def initialize
$vars = Variables.new
$actor_values = Actor_Values.new
init_vars
end
#----------
alias check_vars update
def update
$vars.update
$actor_values.update
check_vars
end
end
#===================
class Actor_Values
def initialize
@values = {}
end
#--------
def show(x, y, actor_id, value)
# **********************
# value:
# 1 ---> HP
# 2 ---> MP
# 3 ---> Stärke
# 4 ---> Geschicklichkeit
# 5 ---> Tempo
# 6 ---> IQ
# 7 --> max. HP
# 8 --> max. MP
# 9 --> HP/max.HP
# 10 --> MP/max.MP
# 11 --> Exp
# 12 --> Exp for next Level
# 13 --> Exp left for next level
# 14 --> Level
# 15 --> Name
# 16 --> Klasse
#***********************
data = [actor_id, value]
@values[data] = Values.new(x, y, actor_id, value)
end
#----------
def update
for i in @values.values
i.update if i != nil
end
end
#-------------
def dispose(actor_id, value)
data = [actor_id, value]
if @values[data] != nil
@values[data].dispose
@values[data] = nil
end
end
#--------
def dispose_all
for i in @values.values
if i != nil
i.dispose
i = nil
end
end
end
end
#==================
class Values < Sprite
def initialize(x, y, actor_id, value)
super()
@value = get_value(value, actor_id)
@value_type = value
self.bitmap = Bitmap.new(get_size(@value), 32)
self.x = x
self.y = y
self.bitmap.font.name = "Arial"
self.bitmap.font.size = 25
@original_value = @value
@actor_id = actor_id
@value_id = value
set_font_color
self.bitmap.draw_text(bitmap.rect, @value)
end
#----------
def set_font_color
if (@value_type == 1 or @value_type == 9)
hp = $game_party.actors[@actor_id].hp
maxhp = $game_party.actors[@actor_id].maxhp
if hp == 0
self.bitmap.font.color.set(255, 0, 0)
elsif hp <= maxhp * 0.2
self.bitmap.font.color.set(255, 255, 0)
else
self.bitmap.font.color.set(255, 255, 255)
end
else
self.bitmap.font.color.set(255, 255, 255)
end
end
#----------
def get_value(value, actor_id)
actor = $game_party.actors[actor_id]
case value
when 1
return actor.hp.to_s
when 2
return actor.sp.to_s
when 3
return actor.base_str.to_s
when 4
return actor.base_dex.to_s
when 5
return actor.base_ani.to_s
when 6
return actor.base_int.to_s
when 7
return actor.maxhp.to_s
when 8
return actor.maxsp.to_s
when 9
return actor.hp.to_s + "/" + actor.maxhp.to_s
when 10
return actor.sp.to_s + "/" + actor.maxsp.to_s
when 11
return actor.exp_s
when 12
return actor.next_exp_s
when 13
return actor.next_rest_exp_s
when 14
return actor.level
when 15
return actor.name
when 16
return actor.class_name
else
print("Unexpected Error! Sie haben einen ungültigen Parameter übergeben: #{value}. Ihr PC wird in wenigen Sekunden explodieren :-P")
end
end
#--------------
def get_size(text)
dummy_bitmap = Bitmap.new(32, 32)
dummy_bitmap.font.name = "Arial"
dummy_bitmap.font.size = 25
return dummy_bitmap.text_size(text).width
end
#--------------
def update
if get_value(@value_id, @actor_id) != @original_value
self.bitmap.clear
@value = get_value(@value_id, @actor_id)
set_font_color
self.bitmap.draw_text(bitmap.rect, @value)
@original_value = @value
end
end
end |
PS: Naja, finde der Ausdruck Freak hat immer son negativen Beigeschmack. Und ich habe viele Skripte, aber lange nicht alle!
~Monsta~
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
Vielen Dank.. damit kann ich also die Werte der Variablen aus der DB auslesen und Anzeigen lassen. Und was muss ich bei actor_id eintragen? value_id ist ja die ID meiner Variable, oder??
P.S.: Das mit dem "Freak" sollte echt nicht böse gemeint sein, ich meinte damit, dass du eigentlich auf fast jede Scriptanfrage eine Antwort bzw. ein passendes Script hast. Du bist sehr Hilfreich für die User und sowas lobe ich mir! Kannst stolz auf dich sein! (und das jetzt ohne mich einzuschleimen..)
P.S.: Das mit dem "Freak" sollte echt nicht böse gemeint sein, ich meinte damit, dass du eigentlich auf fast jede Scriptanfrage eine Antwort bzw. ein passendes Script hast. Du bist sehr Hilfreich für die User und sowas lobe ich mir! Kannst stolz auf dich sein! (und das jetzt ohne mich einzuschleimen..)
Zitat von »"lucmat"«
Vielen Dank.. damit kann ich also die Werte der Variablen aus der DB auslesen und Anzeigen lassen. Und was muss ich bei actor_id eintragen? value_id ist ja die ID meiner Variable, oder??
Ähm... Was meinst du jetzt mit value_id? Naja. Wie gesagt, bei Zeile 203 das Skript so abändern:
Zitat von »"Monsta"«
Müsstest halt die Variabel ändern die zurückgegeben wird. z.B.
![]()
Quellcode
1 2when 1 return actor.hp.to_s
in
![]()
Quellcode
1 2when 1 return $game_variables[1].to_s
ändern.
~Monsta~
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
Habe das probiert mit dem Script ändern. Hab es gemacht und oben steht ja wie ich es aufrufe. In nem Script-Event und zwar so:
. Wenn ich das Script richtig verstanden habe, ist das eigentlich dafür da, Werte der in der Datenbank eingetragenen Heros anzugeigen. z.B. von Hero Nummer 2, was die actor_id entspricht. Der value_id sind die Nummern bei der value case. Wenn man 1 eingibt würden die HP des Helden Nummer 2 dort angezeigt werden wo man die x und y Werte eingegeben hat. Ändert man das Script nun so, wie du gesagt hast, wird stattdessen die Variable angezeigt, zumindest theoretisch. Bei mir kommt bei geänderten Script aber nur eine Fehlermeldung. Irgendwas mit Nil:bla. Dachte ich hätte etwas falsch gemacht und hab das mal mit dem Orginalscript ausprobiert( also nochma eingefügt ohne etwas zu ändern. Aber auch hier erhalte ich nur eine Fehlermeldung und das Spiel stürzt ab. Woran könnte das denn liegen? Ich hab zum testen mal
eingegeben. War daran was falsch??
|
|
Quellcode |
1 |
$actor_values.show(x,y,actor_id,value_id) |
|
|
Quellcode |
1 |
$actor_values.show(100,100,1,1) |
Sowas ist immer sehr schwer zu sagen, da es bei mir funktioniert.
Bitte beschreibe die genaue Fehlermeldung mit Zeilenangabe!
Dann kann ich dir vielleicht helfen.
~Monsta~
Bitte beschreibe die genaue Fehlermeldung mit Zeilenangabe!
Dann kann ich dir vielleicht helfen.
~Monsta~
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
Könnte an dem Schriftart-Zeug liegen. Ersetz mal dein gesamtes Main-Script hierdurch:
Kann ich gar nicht mehr wirklich dran erinnern, wozu das Script gut is, aber wenn du's gebrauchen kannst, bitte sehr^^
Edit:
Okay, vergiss das mit dem Main. Monsta hat Recht.
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#//////////////////////////////////////////////Main/////////////////////////////////////////
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
begin
#:::::::::::::::::::::::::::
# Font-Variablen
$defaultfonttype = $fontface = Font.default_name = "Tahoma"
$defaultfontsize = $fontsize = Font.default_size = 22
#::::::::::::::::::::::::
Graphics.freeze
$scene = Scene_Title.new
while $scene != nil
$scene.main
end
Graphics.transition(20)
rescue Errno::ENOENT
filename = $!.message.sub("No such file or directory - ", "")
print("File #{filename} not found.")
end |
Kann ich gar nicht mehr wirklich dran erinnern, wozu das Script gut is, aber wenn du's gebrauchen kannst, bitte sehr^^
Edit:
Zitat von »"Monsta"«
Daran kann es eigentlich nicht liegen. Im Skript werden die Schriften einzeln mit „Arial" deklariert.
Okay, vergiss das mit dem Main. Monsta hat Recht.
Wie lassen sich die Werte zweier Integervariablen vertauschen?
Machen Sie mit und gewinnen Sie Ruhm und Ehre! ?"Caesar"?
Die kürzeste Lösung gewinnt. Gibt es mehrere richtige Einsendungen, wird ein zufälliger Gewinner aus diesen gezogen.
zum Lesen den Text mit der Maus markieren
Die Aufgabe der letzten Runde lautete:
Es hat keiner teilgenommen, daher gibt es keinen Gewinner ^^ Eine mögliche Lösung wäre gewesen:
Zitat
Schreiben Sie einen Parser für die ASCII-Form des Dateiformats PBM (Portable Bitmap). Die Methode soll als Parameter einen Dateinamen erhalten und eine Bitmap zurückgeben. 0 ist weiß, 1 ist schwarz. Eine Beispieldatei, die den Buchstaben 'A' darstellti:
![]()
Quellcode
1 2 3 4 5 6 7 8 9 10 11 P1 9 9 000010000 000010000 000101000 000101000 001000100 001111100 001000100 010000010 111000111
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
def parse_pbm(filename)
f = File.open(filename)
return nil unless f.readline.chomp == "P1"
width, height = f.readline.split(' ').collect {|i| i.to_i}
bitmap = Bitmap.new(width, height)
c0 = Color.new(255, 255, 255)
c1 = Color.new(0, 0, 0)
for iy in 0...height
f.readline.chomp.split('').each_with_index do |v, k|
bitmap.set_pixel(k, iy, v == '0' ? c0 : c1)
end
end
return bitmap
end |
zum Lesen den Text mit der Maus markieren
...wie man zum Testen schnell einzelne Scripts "ausbaut", ohne das Script aus dem Scripeditor zu löschen?
Ganz einfach: Man fügt im Scripteditor ganz oben im Script die folgende Zeile ein:
und ganz unten als letzte Zeile:
Das hat den gleichen Effekt, wie wenn man das ganze Script aus dem Scripteditor gelöscht hätte.
|
|
Quellcode |
1 |
if false |
|
|
Quellcode |
1 |
end |
zum Lesen den Text mit der Maus markieren
Daran kann es eigentlich nicht liegen. Im Skript werden die Schriften einzeln mit "Arial" deklariert.
~Monsta~
~Monsta~
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
Zitat von »"Monsta"«
Sowas ist immer sehr schwer zu sagen, da es bei mir funktioniert.
Bitte beschreibe die genaue Fehlermeldung mit Zeilenangabe!
Dann kann ich dir vielleicht helfen.
~Monsta~
Naja, das ist immer die Zeile, die ich mit der value_id anspreche. Also wenn ich da jetzt statt der 1 die 2 nehmen würde, würde da 218 statt 216 stehen ...scheint ein allgemeiner Fehler zu sein. Ich hab die Fehlermeldung mal hochlgeaden. Büdde:
Det liegt an der actor_id. Wenn du eine Zahl als actor_id angibst, die größer oder gleich der Anzahl Helden ist, kommt der Fehler. Gib einfach einen kleineren Wert an.
Wie lassen sich die Werte zweier Integervariablen vertauschen?
Machen Sie mit und gewinnen Sie Ruhm und Ehre! ?"Caesar"?
Die kürzeste Lösung gewinnt. Gibt es mehrere richtige Einsendungen, wird ein zufälliger Gewinner aus diesen gezogen.
zum Lesen den Text mit der Maus markieren
Die Aufgabe der letzten Runde lautete:
Es hat keiner teilgenommen, daher gibt es keinen Gewinner ^^ Eine mögliche Lösung wäre gewesen:
Zitat
Schreiben Sie einen Parser für die ASCII-Form des Dateiformats PBM (Portable Bitmap). Die Methode soll als Parameter einen Dateinamen erhalten und eine Bitmap zurückgeben. 0 ist weiß, 1 ist schwarz. Eine Beispieldatei, die den Buchstaben 'A' darstellti:
![]()
Quellcode
1 2 3 4 5 6 7 8 9 10 11 P1 9 9 000010000 000010000 000101000 000101000 001000100 001111100 001000100 010000010 111000111
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
def parse_pbm(filename)
f = File.open(filename)
return nil unless f.readline.chomp == "P1"
width, height = f.readline.split(' ').collect {|i| i.to_i}
bitmap = Bitmap.new(width, height)
c0 = Color.new(255, 255, 255)
c1 = Color.new(0, 0, 0)
for iy in 0...height
f.readline.chomp.split('').each_with_index do |v, k|
bitmap.set_pixel(k, iy, v == '0' ? c0 : c1)
end
end
return bitmap
end |
zum Lesen den Text mit der Maus markieren
...wie man zum Testen schnell einzelne Scripts "ausbaut", ohne das Script aus dem Scripeditor zu löschen?
Ganz einfach: Man fügt im Scripteditor ganz oben im Script die folgende Zeile ein:
und ganz unten als letzte Zeile:
Das hat den gleichen Effekt, wie wenn man das ganze Script aus dem Scripteditor gelöscht hätte.
|
|
Quellcode |
1 |
if false |
|
|
Quellcode |
1 |
end |
zum Lesen den Text mit der Maus markieren
Zitat von »"Caesar"«
Det liegt an der actor_id. Wenn du eine Zahl als actor_id angibst, die größer oder gleich der Anzahl Helden ist, kommt der Fehler. Gib einfach einen kleineren Wert an.
Ein kleinerer Wert als 1 geht doch garnicht? Ich versteh das ned so ganz... ich dachte die Actor ID ist gleich DIE Zahl, die in der Datenbank entspricht. Also Held 001 is actor_id = 1 .. genau wie bei den Variablen und Switches.
Edit: Habs getestet. Hab die DB auf 5 Helden erweitert und den Wert 1 eingegeben. Funzt ned, selbe Fehlermeldung.
Mal eine Frage: Kann es sein, dass ich für dieses Script eventuell dieses Standart Development Kit-Script (SDK-Script) brauch? Hab mal gehört für manche Scripts wirds benötigt.
1. Mit dem SDK hat das nichts zu tun!
2. Das mit dem Actor id ist nicht so wie du sagst. Es fängt bei Null an. Also erster Held = 0, zweiter Held = 1 usw.
Also schreib mal 0 hin oder Füge mehr Helder in die Gruppe ein (Database -> System)
~Monsta~
2. Das mit dem Actor id ist nicht so wie du sagst. Es fängt bei Null an. Also erster Held = 0, zweiter Held = 1 usw.
Also schreib mal 0 hin oder Füge mehr Helder in die Gruppe ein (Database -> System)
~Monsta~
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
Zitat von »"Monsta"«
1. Mit dem SDK hat das nichts zu tun!
2. Das mit dem Actor id ist nicht so wie du sagst. Es fängt bei Null an. Also erster Held = 0, zweiter Held = 1 usw.
Also schreib mal 0 hin oder Füge mehr Helder in die Gruppe ein (Database -> System)
~Monsta~
Okay, hat aber auch nichts gebracht. Es kommt immer diese Fehlermeldung. Wie gesagt, jedes mal erscheint in der Fehlermeldung, die Stelle, die mit der value_id angesrochen wird. Also gebe ich z.B. 1 ein, ist es die Zeile 216 in der return actor.hp.to_s steht... nehm ich die 2 ist es 218, wo return actor.sp.to_s steht. Also immer die eigentliche Funktion.
1 --> Held HP Ausgeben auf Bildschirm
2 --> Held MP Ausgeben auf Bildschirm
usw.
Edit:
Okay, ich hab den Fehler. Also wie gesagt, ich mache ein Kartenspiel. Folglich befindet sich auf der Map kein Charakter, weshalb ich den aus der Datenbank in der Rubrik System rausgenommen habe, also dass der Charakter auf dem Bildschirm nicht zu sehen ist. Wenn ich ihn aber einstelle, funzt das Script. Kann man das Ding ned irgendwie so umschreiben, dass es nimmer auf die actor_id angewiesen ist. Will ja wie gesagt nur Variablen angezeigt bekommen. Geht das??
Wie viele Helden hast du denn in der Gruppe? Wenn du als actor_id 1 angibst müssen es ja mindestens 2 sein! Warum erzählst du mir als was von der value_id?
~Monsta~
~Monsta~
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
arg, warst zu schnell.. lese Edit oben... oder ich kopiers hier schnell rein:
Okay, ich hab den Fehler. Also wie gesagt, ich mache ein Kartenspiel. Folglich befindet sich auf der Map kein Charakter, weshalb ich den aus der Datenbank in der Rubrik System rausgenommen habe, also dass der Charakter auf dem Bildschirm nicht zu sehen ist. Wenn ich ihn aber einstelle, funzt das Script. Kann man das Ding ned irgendwie so umschreiben, dass es nimmer auf die actor_id angewiesen ist. Will ja wie gesagt nur Variablen angezeigt bekommen. Geht das??
Wenn ned, mach ich den Helden einfach transparent ^^
Okay, ich hab den Fehler. Also wie gesagt, ich mache ein Kartenspiel. Folglich befindet sich auf der Map kein Charakter, weshalb ich den aus der Datenbank in der Rubrik System rausgenommen habe, also dass der Charakter auf dem Bildschirm nicht zu sehen ist. Wenn ich ihn aber einstelle, funzt das Script. Kann man das Ding ned irgendwie so umschreiben, dass es nimmer auf die actor_id angewiesen ist. Will ja wie gesagt nur Variablen angezeigt bekommen. Geht das??
Wenn ned, mach ich den Helden einfach transparent ^^
Lösch mal Zeile 213:
Und dann halt bei "when 0" das ändern wie ich auf der ersten Seite gesagt habe...
~Monsta~
EDIT: OH, geht noch net. Muss mal nach gucken...
|
|
Quellcode |
1 |
actor = $game_party.actors[actor_id] |
Und dann halt bei "when 0" das ändern wie ich auf der ersten Seite gesagt habe...
~Monsta~
EDIT: OH, geht noch net. Muss mal nach gucken...
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
