• Anmelden

1

Sonntag, 12. Juni 2005, 12:20

hui @hallo

also ich suche wie schon gesagt 2 skripte...

1.Im standart kampfsystem soll das textbook ding weg sein...
also nu die schrift soll man sehen mit attack undso^^

2. zwei leisten (eine rot eine blau) die bis 50 gehen (so wie ne energie leiste) und immer im bild zu sehen sind...
diese 50 schritte des balkens sollten pro balken in einer variable abfrage sein^^ also variable ist 0:balken leer
25:logischer weise die halbe leiste
usw.^^

crediteintrag für den/diejenige der/die mir hilft^^

bye :wink:

2

Sonntag, 12. Juni 2005, 13:28

Also.. 1. Weiß ich ned...

Aber des mit den Balken iss easy:

mach ein neues Skript über Spriteset_Map und nochmal ein neues über dem gerade erstellten.

In das untere kommt folgendes rein:


self.src_rect.set(-10,-2, actor.hp * 200 / actor.maxhp, 12)
if $game_switches[19] = true
self.visible = true
else
self.visible = false
end
end
def update
super
self.bitmap = RPG::Cache.picture("HP.png")
self.x = @x
self.y = @y
self.z = 65535
self.opacity = 255
actor = $game_actors[1]
self.src_rect.set(-10,-2, actor.hp * 200 / actor.maxhp, 12)
if $game_switches[19] = true
self.visible = true
else
self.visible = false
end
end
def dispose
if self.bitmap != nil
self.bitmap.dispose
end
super
end
end


in das obere kommt folgendes rein:

[quote================================================================#
#= Diese Klasse zeigt eine Leiste an. HP =#
#================================================================#
class Sprite_LeisteHP < Sprite
def initialize(x, y, typ)
super()
self.bitmap = RPG::Cache.picture("HUDHP.png")
@x = x
@y = y
@typ = typ
if @typ == 1
@hp = Sprite_HP.new(x, y)
else
# irgendwas
end
self.x = x
self.y = y
self.z = 65535
self.opacity = 255
if $game_switches[19] = true
self.visible = true
else
self.visible = false
end
end
def update
super
self.bitmap = RPG::Cache.picture("HUDHP.png")
if @typ == 1
@hp.update
else
# irgendwas
end
self.x = @x
self.y = @y
self.z = 65535
self.opacity = 255
if $game_switches[19] = true
self.visible = true
else
self.visible = false
end
end
def dispose
if self.bitmap != nil
if @typ == 1
@hp.dispose
else
# irgendwas
end
self.bitmap.dispose
end
super
end
end
[/quote]

So... nun ersetzt du noch dein komplettes Spriteset_Map mit folgendem:
[quote==============================================================================
# ■ Spriteset_Map
#------------------------------------------------------------------------------
#  マップ画面のスプライトやタイルマップなどをまとめたクラスです。このクラスは
# Scene_Map クラスの内部で使用されます。
#==============================================================================

class Spriteset_Map
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
# ビューポートを作成
@viewport1 = Viewport.new(0, 0, 640, 480)
@viewport2 = Viewport.new(0, 0, 640, 480)
@viewport3 = Viewport.new(0, 0, 640, 480)
@viewport2.z = 200
@viewport3.z = 5000
# タイルマップを作成
@tilemap = Tilemap.new(@viewport1)
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
for i in 0..6
autotile_name = $game_map.autotile_names[i]
@tilemap.autotiles = RPG::Cache.autotile(autotile_name)
end
@tilemap.map_data = $game_map.data
@tilemap.priorities = $game_map.priorities
# パノラマプレーンを作成
@panorama = Plane.new(@viewport1)
@panorama.z = -1000
# フォグプレーンを作成
@fog = Plane.new(@viewport1)
@fog.z = 3000
# キャラクタースプライトを作成
@character_sprites = []
for i in $game_map.events.keys.sort
sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
@character_sprites.push(sprite)
end
@character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
# 天候を作成
@weather = RPG::Weather.new(@viewport1)
# ピクチャを作成
@picture_sprites = []
for i in 1..50
@picture_sprites.push(Sprite_Picture.new(@viewport2,
$game_screen.pictures[i]))
end
# タイマースプライトを作成
@timer_sprite = Sprite_Timer.new
#================================================================#
#= Hier werden die HP, MP & Coolness Leiste angezeigt. =#
#================================================================#
if $game_switches[19] == true
@HUD1 = Sprite_LeisteHP.new(10, 15, 1)
else
@HUD1 = Sprite_LeisteHP.new(-200, 15, 1)
end
# フレーム更新
update
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
def dispose
# タイルマップを解放
@tilemap.tileset.dispose
for i in 0..6
@tilemap.autotiles[i].dispose
end
@tilemap.dispose
# パノラマプレーンを解放
@panorama.dispose
# フォグプレーンを解放
@fog.dispose
# キャラクタースプライトを解放
for sprite in @character_sprites
sprite.dispose
end
# 天候を解放
@weather.dispose
# ピクチャを解放
for sprite in @picture_sprites
sprite.dispose
end
# タイマースプライトを解放
@timer_sprite.dispose
#================================================================#
#= Hier werden die Leisten gelöscht. =#
#=========================================================
@HUD1.dispose
# ビューポートを解放
@viewport1.dispose
@viewport2.dispose
@viewport3.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# パノラマが現在のものと異なる場合
if @panorama_name != $game_map.panorama_name or
@panorama_hue != $game_map.panorama_hue
@panorama_name = $game_map.panorama_name
@panorama_hue = $game_map.panorama_hue
if @panorama.bitmap != nil
@panorama.bitmap.dispose
@panorama.bitmap = nil
end
if @panorama_name != ""
@panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
end
Graphics.frame_reset
end
# フォグが現在のものと異なる場合
if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
@fog_name = $game_map.fog_name
@fog_hue = $game_map.fog_hue
if @fog.bitmap != nil
@fog.bitmap.dispose
@fog.bitmap = nil
end
if @fog_name != ""
@fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
end
Graphics.frame_reset
end
# タイルマップを更新
@tilemap.ox = $game_map.display_x / 4
@tilemap.oy = $game_map.display_y / 4
@tilemap.update
# パノラマプレーンを更新
@panorama.ox = $game_map.display_x / 8
@panorama.oy = $game_map.display_y / 8
# フォグプレーンを更新
@fog.zoom_x = $game_map.fog_zoom / 100.0
@fog.zoom_y = $game_map.fog_zoom / 100.0
@fog.opacity = $game_map.fog_opacity
@fog.blend_type = $game_map.fog_blend_type
@fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
@fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
@fog.tone = $game_map.fog_tone
# キャラクタースプライトを更新
for sprite in @character_sprites
sprite.update
end
# 天候グラフィックを更新
@weather.type = $game_screen.weather_type
@weather.max = $game_screen.weather_max
@weather.ox = $game_map.display_x / 4
@weather.oy = $game_map.display_y / 4
@weather.update
# ピクチャを更新
for sprite in @picture_sprites
sprite.update
end
# タイマースプライトを更新
@timer_sprite.update
#================================================================#
#= Hier werden die Leisten geupdatet (neu angezeigt). =#
#================================================================#
@HUD1.update
# 画面の色調とシェイク位置を設定
@viewport1.tone = $game_screen.tone
@viewport1.ox = $game_screen.shake
# 画面のフラッシュ色を設定
@viewport3.color = $game_screen.flash_color
# ビューポートを更新
@viewport1.update
@viewport3.update
end
end
[/quote]



Die Bilder und Namen musst du natürlich ändern... Iss aber cool, da die leiste mit deinem Level agiert. Sozusagen ein intelligentes balkenskript.

Wenn du den Schalter 19 AN machst, ist die leiste Sichtbar... Ist Schalter 19 AUS iss sie nichtmehr zu sehen bzw.. etwa 200 Pixel links auserhalb des Bildes.
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.

3

Sonntag, 12. Juni 2005, 14:40

hi nochma...
also, wenn ich das game nu öffne, kommt imma die fehlermeldung:
"Datei No such file or directory - Graphics/Pictures/HUDHP.png
wurde nicht gefunden"

joa und dazu noch eine andere frage...
sind es 2 balken auf der map oda 1 im menü und 1 inner map
oder wiederrum nur 1?^^

es ging nämlich darum dass ich nen essen und trinken leiste brauch
und darum sollte es auf eine variable zugreifbar sein^^

4

Sonntag, 12. Juni 2005, 15:13

Also, du benötigst vier Pictures:

2x Rahmen bzw. leiste die du dann HUDHP.png und HUDMP.png nennst
2x Balken namens HP.png und MP.png

nun iss der rest einfach. erstelle nochmal zwei neue Skripte über Spriteset_Map und mach folgendes rein:


self.src_rect.set(-9,-2, actor.sp * 208 / actor.maxsp, 12)
if $game_switches[19] = true
self.visible = true
else
self.visible = false
end
end
def update
super
self.bitmap = RPG::Cache.picture("MP.png")
self.x = @x
self.y = @y
self.z = 65535
self.opacity = 255
actor = $game_actors[1]
self.src_rect.set(-9,-2, actor.sp * 208 / actor.maxsp, 12)
if $game_switches[19] = true
self.visible = true
else
self.visible = false
end
end
def dispose
if self.bitmap != nil
self.bitmap.dispose
end
super
end
end



und


[quote================================================================#
#= Diese Klasse zeigt eine Leiste an. MP =#
#================================================================#
class Sprite_LeisteMP < Sprite
def initialize(x, y, typ)
super()
self.bitmap = RPG::Cache.picture("HUDMP.png")
@x = x
@y = y
@typ = typ
if @typ == 2
@mp = Sprite_MP.new(x, y)
else
# irgendwas
end
self.x = x
self.y = y
self.z = 65535
self.opacity = 255
if $game_switches[19] = true
self.visible = true
else
self.visible = false
end
def update
super
self.bitmap = RPG::Cache.picture("HUDMP.png")
if @typ == 2
@mp.update
else
# irgendwas
end
self.x = @x
self.y = @y
self.z = 65535
self.opacity = 255
if $game_switches[19] = true
self.visible = true
else
self.visible = false
end
end
def dispose
if self.bitmap != nil
if @typ == 2
@mp.dispose
else
# irgendwas
end
self.bitmap.dispose
end
super
end
end
end[/quote]


so. Jetzt Spriteset Map mit folgendem ersetzen:

[quote==============================================================================
# ■ Spriteset_Map
#------------------------------------------------------------------------------
#  マップ画面のスプライトやタイルマップなどをまとめたクラスです。このクラスは
# Scene_Map クラスの内部で使用されます。
#==============================================================================

class Spriteset_Map
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
# ビューポートを作成
@viewport1 = Viewport.new(0, 0, 640, 480)
@viewport2 = Viewport.new(0, 0, 640, 480)
@viewport3 = Viewport.new(0, 0, 640, 480)
@viewport2.z = 200
@viewport3.z = 5000
# タイルマップを作成
@tilemap = Tilemap.new(@viewport1)
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
for i in 0..6
autotile_name = $game_map.autotile_names[i]
@tilemap.autotiles = RPG::Cache.autotile(autotile_name)
end
@tilemap.map_data = $game_map.data
@tilemap.priorities = $game_map.priorities
# パノラマプレーンを作成
@panorama = Plane.new(@viewport1)
@panorama.z = -1000
# フォグプレーンを作成
@fog = Plane.new(@viewport1)
@fog.z = 3000
# キャラクタースプライトを作成
@character_sprites = []
for i in $game_map.events.keys.sort
sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
@character_sprites.push(sprite)
end
@character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
# 天候を作成
@weather = RPG::Weather.new(@viewport1)
# ピクチャを作成
@picture_sprites = []
for i in 1..50
@picture_sprites.push(Sprite_Picture.new(@viewport2,
$game_screen.pictures[i]))
end
# タイマースプライトを作成
@timer_sprite = Sprite_Timer.new
#================================================================#
#= Hier werden die HP, MP & Coolness Leiste angezeigt. =#
#================================================================#
if $game_switches[19] == true
@HUD1 = Sprite_LeisteHP.new(10, 15, 1)
@HUD2 = Sprite_LeisteMP.new(10, 15, 2)
else
@HUD1 = Sprite_LeisteHP.new(-200, 15, 1)
@HUD2 = Sprite_LeisteMP.new(-200, 15, 2)
end
# フレーム更新
update
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
def dispose
# タイルマップを解放
@tilemap.tileset.dispose
for i in 0..6
@tilemap.autotiles[i].dispose
end
@tilemap.dispose
# パノラマプレーンを解放
@panorama.dispose
# フォグプレーンを解放
@fog.dispose
# キャラクタースプライトを解放
for sprite in @character_sprites
sprite.dispose
end
# 天候を解放
@weather.dispose
# ピクチャを解放
for sprite in @picture_sprites
sprite.dispose
end
# タイマースプライトを解放
@timer_sprite.dispose
#================================================================#
#= Hier werden die Leisten gelöscht. =#
#=========================================================
@HUD1.dispose
@HUD2.dispose
# ビューポートを解放
@viewport1.dispose
@viewport2.dispose
@viewport3.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# パノラマが現在のものと異なる場合
if @panorama_name != $game_map.panorama_name or
@panorama_hue != $game_map.panorama_hue
@panorama_name = $game_map.panorama_name
@panorama_hue = $game_map.panorama_hue
if @panorama.bitmap != nil
@panorama.bitmap.dispose
@panorama.bitmap = nil
end
if @panorama_name != ""
@panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
end
Graphics.frame_reset
end
# フォグが現在のものと異なる場合
if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
@fog_name = $game_map.fog_name
@fog_hue = $game_map.fog_hue
if @fog.bitmap != nil
@fog.bitmap.dispose
@fog.bitmap = nil
end
if @fog_name != ""
@fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
end
Graphics.frame_reset
end
# タイルマップを更新
@tilemap.ox = $game_map.display_x / 4
@tilemap.oy = $game_map.display_y / 4
@tilemap.update
# パノラマプレーンを更新
@panorama.ox = $game_map.display_x / 8
@panorama.oy = $game_map.display_y / 8
# フォグプレーンを更新
@fog.zoom_x = $game_map.fog_zoom / 100.0
@fog.zoom_y = $game_map.fog_zoom / 100.0
@fog.opacity = $game_map.fog_opacity
@fog.blend_type = $game_map.fog_blend_type
@fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
@fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
@fog.tone = $game_map.fog_tone
# キャラクタースプライトを更新
for sprite in @character_sprites
sprite.update
end
# 天候グラフィックを更新
@weather.type = $game_screen.weather_type
@weather.max = $game_screen.weather_max
@weather.ox = $game_map.display_x / 4
@weather.oy = $game_map.display_y / 4
@weather.update
# ピクチャを更新
for sprite in @picture_sprites
sprite.update
end
# タイマースプライトを更新
@timer_sprite.update
#================================================================#
#= Hier werden die Leisten geupdatet (neu angezeigt). =#
#================================================================#
@HUD1.update
@HUD2.update
# 画面の色調とシェイク位置を設定
@viewport1.tone = $game_screen.tone
@viewport1.ox = $game_screen.shake
# 画面のフラッシュ色を設定
@viewport3.color = $game_screen.flash_color
# ビューポートを更新
@viewport1.update
@viewport3.update
end
end[/quote]


Jetzt hast du zwei Leisten mit Rahmen.
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.

5

Sonntag, 12. Juni 2005, 15:22

eine einzige kleine frage noch...
kann ich das mit einer variable abfragen?^^
zb. weils ja hunger und durst wird
dass die variable abfragt wenn so 3 durst übrig ist verdurstet man langsam also dass ichs halt abfragen könnte...

edit:
und nochwas fällt mir auf...^^
wieder fehlermeldung undzwar:
?????'Spiriteset_Map'? 38 ??? NoMethodError??????

undefined method `push' for nil:NilClass

6

Sonntag, 12. Juni 2005, 15:44

Klar...
Suche ma in den Skripten für die balken folgende Zeilen:

Zitat von »red«

[XXXX][/color] * 200 / $game_variables[YYYY], 12)



Die roten Stellen sind die Variablennummern.
XXXX = Die Variable für den Wert der Anzeige
YYYY = Für den MAXIMALWERT der Anzeige

Ersetze XXXX und YYYY durch zwei unterschiedliche Variablen z.B.
XXXX = 1000 und heißt Durst
YYYY = 1001 und heißt Max Durst




Sobald du das hast, geh in Main und mach folgendes direkt unter begin:

Zitat

$game_variables[YYYY] = 50


machst du das nicht, stürzt des Game ab.


Jetzt kannst du per Events abfragen ov Variable [XXXX] = 3 ist
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.

Zego

Krieger

Motto: Ein gesunder Mensch hat 1000 Wünsche, doch ein kranker nur einen!

  • Nachricht senden

7

Sonntag, 12. Juni 2005, 16:32

:idea: Ich denke, dass im Kampf die Textbox weg ist is easy:
Du machst einfach bevor der Kampf beginnt Narichtenoptionen
und da die Textbox transparent...und nach dem Kampf wieder
normal..

(Ich hoffe es geht...)

Towy B)
  • :music: Bushido

    Bild
  • :balloon-smiley: Lustige Zitate

    • :thumb-up: Zitat 1
      <Noone> Kann mir vielleicht jemand bei ner Deutschhausaufgabe helfen? Komm damit nicht zurecht :/
      <Siegertyp> Ja aber beeil dich, ich muss gleich los. Ich kann dir nur eine Frage beantworten.
      <Noone> Nur eine?
      <Siegertyp> Ja
      * Siegertyp has quit IRC (quit)
    • :thumb-up: Zitat 2
      <fusion> Hast du ein paar Nacktfotos deiner Freundin?
      <chrzan> nö :/
      <fusion> Willst du welche haben? :>
    • :thumb-up: Zitat 3
      <MMM> Ich glaub ich lache nie wieder so laut...göttlich heute morgen in Bio. wir haben jeweils unseren eigenen speichel mikroskopiert. Auf einmal die eine ganz aufgeregt "Hier bewegt sich was!!" Alle werden still, Prof guckt sich das kurz an, guckt nochmal hin "Oh, ja das ist definitv eine lebende Spermazelle" Ich glaub das Mädchen wäre am liebsten gestorben ;)
    • :thumb-up: Zitat 4
      <Wretched> Religionskriege sind Konflikte zwischen erwachsenen Menschen, bei denen es darum geht, wer den cooleren, imaginaeren Freund hat
      <D3nY0> looool :D wie geil
    • :thumb-up: Zitat 5
      <HDStyle> Ist dir schonmal aufgefallen, dass irgendwie nie Amokläufe an Hauptschulen stattfinden? o.o
      <Crytek> Ja ist klar. Da schießen ja auch alle zurück.
    • :thumb-up: Zitat 6
      <RAP|TaliFecT> Meine Freundin meint ich wäre neugierig ... zumindestens steht das in ihrem Tagebuch

8

Sonntag, 12. Juni 2005, 23:24

Oo
Wenns So einfach wäre hätte er wohl nicht gefragt,
er meint (glaub ich) die Box, die Hinter den BattleSprites und den HP/SP Anzeigen steht
Bild

9

Montag, 13. Juni 2005, 15:55

hi,
nee das geht net per massage option^^
naja hoffe in dem punkt kann mir jemand noch helfen^^

und zum balken nochma...
ich hab das was ins main muss direkt unter "begin"
eingefügt und YYYY durch die variable nummer von maxhp getauscht...
nu kommt am start wieder eine fehlermeldung:
?????? 'Main' ? 8 ??? NoMethodError ??????

undefined method ´[ ]=' for nil:NilClass

joa wie man sich denken kann blick ich net durch^^
was hab isch nu wieda falsch gemacht?T_T

edit:
wenn mir jemand helfen kann bitte schnell posten^^

Social Bookmarks