Lieber Besucher, herzlich willkommen bei: RPG Studio - Make your World real. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Sonntag, 19. Juni 2005, 13:05

[center]Anti Event Lag Script[/center]

Beschreibung:
Dieses Script ermöglicht es, die FPS sogar mit über 300 Events auf ( zB ) 40 zu halten! (Dies ist jedoch unterschiedlich bei anderen Computern!)
Dieses Script ist noch in v1.
Besonders geeignet ist das Script bei größeren Maps mit vielen Events.
-----------------------------------------------------------------------------------------------------

Script erstellt von:Near Fantastica
Forum (spätere versions updates): RMXP//Anti Event Lag Script

Kommentar:
Script weist vll bei einigen Script's fehler auf. Einfach Kontakt zum Ersteller (beim Script, welches nicht funktioniert) und fragen ob er das möglicherweise beheben kann.

.:SCRIPT:.
ÜBER MAIN NEUES SCRIPT EINFÜGEN

[php]#======================================
# ¦ Anti Event Lag Script
#======================================
# By: Near Fantastica
# Date: 12.06.05
# Version: 3
# Addon by Rabu
#======================================
# Addon: Auch Events werden upgedatet die ausserhalb des range?-Bereichs
# liegen, aber als erste Event-Zeile einen "comment"-Befehl beinhalten.
# Also Events will be updated, that have a "Comment"-command
# in the first line of the event - (inspired by Rataime)
#======================================
# ¦ Game_Map
#======================================

class Game_Map
#--------------------------------------------------------------------------
def in_range?(object)
screne_x = $game_map.display_x
screne_x -= 256
screne_y = $game_map.display_y
screne_y -= 256
screne_width = $game_map.display_x
screne_width += 2816
screne_height = $game_map.display_y
screne_height += 2176
return false if object.real_x <= screne_x
return false if object.real_x >= screne_width
return false if object.real_y <= screne_y
return false if object.real_y >= screne_height
return true
end
#--------------------------------------------------------------------------
def update
if $game_map.need_refresh
refresh
end
if @scroll_rest > 0
distance = 2 ** @scroll_speed
case @scroll_direction
when 2
scroll_down(distance)
when 4
scroll_left(distance)
when 6
scroll_right(distance)
when 8
scroll_up(distance)
end
@scroll_rest -= distance
end
for event in @events.values
#===== &Auml;nderung / Modification- Rabu ==========
if in_range?(event) or event.trigger == 3 or event.trigger == 4 or (event.list!=nil and event.list[0].code == 108)
#==============================================
event.update
end
end
for common_event in @common_events.values
common_event.update
end
@fog_ox -= @fog_sx / 8.0
@fog_oy -= @fog_sy / 8.0
if @fog_tone_duration >= 1
d = @fog_tone_duration
target = @fog_tone_target
@fog_tone.red = (@fog_tone.red * (d - 1) + target.red) / d
@fog_tone.green = (@fog_tone.green * (d - 1) + target.green) / d
@fog_tone.blue = (@fog_tone.blue * (d - 1) + target.blue) / d
@fog_tone.gray = (@fog_tone.gray * (d - 1) + target.gray) / d
@fog_tone_duration -= 1
end
if @fog_opacity_duration >= 1
d = @fog_opacity_duration
@fog_opacity = (@fog_opacity * (d - 1) + @fog_opacity_target) / d
@fog_opacity_duration -= 1
end
end
end

#======================================
# &brvbar; Spriteset_Map
#======================================

class Spriteset_Map
#--------------------------------------------------------------------------
def in_range?(object)
screne_x = $game_map.display_x
screne_x -= 256
screne_y = $game_map.display_y
screne_y -= 256
screne_width = $game_map.display_x
screne_width += 2816
screne_height = $game_map.display_y
screne_height += 2176
return false if object.real_x <= screne_x
return false if object.real_x >= screne_width
return false if object.real_y <= screne_y
return false if object.real_y >= screne_height
return true
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
i=0
for sprite in @character_sprites
if sprite.character.is_a?(Game_Event)
#===== &Auml;nderung / Modification- Rabu ==========
if in_range?(sprite.character) or sprite.character.trigger == 3 or sprite.character.trigger == 4 or (sprite.character.list!=nil and sprite.character.list[0].code == 108)
#==============================================
sprite.update
i+=1
end
else
sprite.update
i+=1
end
end
#p i
@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
@viewport1.tone = $game_screen.tone
@viewport1.ox = $game_screen.shake
@viewport3.color = $game_screen.flash_color
@viewport1.update
@viewport3.update
end
end[/php]

.:Have Fun:.
~mks~

2

Sonntag, 19. Juni 2005, 13:48

Das is ja stark! Coooooooool.
Ich habe das Script mal gestestet auf einer map mit 300 Events,
ohne dieses Script: 17-20 Frames
Mit diesem Script 30-35 Frames,

zwar keine 40, aber ich hatte ja eh im allgmeinen vorher schon Probleme wegen dem ruckeln. Das Script is echt total genial, danke, dass du dich darum bemüht hast es für uns hier rein zu stellen, das hilft mir echt sehr *freu*
Bild

3

Sonntag, 19. Juni 2005, 13:53

sorry wegen meiner blödheit aber was bewirkt dieser Script genau? :?

4

Sonntag, 19. Juni 2005, 13:56

Zitat von »"e-dogg"«

sorry wegen meiner blödheit aber was bewirkt dieser Script genau? :?


Um es ganz leicht auszudrücken, vermindert dieses Script auch, wenn man eine map mit seeehr vielen Events hat, dass es anfängt stark zu ruckeln, also wie ein Leistungsupdate^^
Bild

5

Sonntag, 19. Juni 2005, 13:56

Danke fürs finden!
Das Script hilft auf jeden Fall...
Ich habe zwar kein so gutes System (1,8 GHz, 224 MB RAM), aber mit dem Script läuft der Maker bzw. das Spiel im Maker viel besser.

Ohne Script:
100x100, 136 Events, Random Movement, Speed und Freqruency auf 3: Egal wo ich bin, maximal 14 FPS

Mit Script: 100x100, 136 Events, Random Movement, Speed und Freqruency auf 3: Wenn viele Events im Bild sind, ca. 20 FPS (ca. 6 FPS mehr) und wenn kein Event im Bild ist, zwischen 30 und 35 FPS.

6

Sonntag, 19. Juni 2005, 13:58

Ähm ich muss edogg zustimmen, bei mir bewikt es nichts, egal wieviele Events ich habe, bei mir schwankt es zwischen 40-60 FPS, kein Ruckeln.

7

Sonntag, 19. Juni 2005, 14:03

Zitat von »"Geocrash"«

Ähm ich muss edogg zustimmen, bei mir bewikt es nichts, egal wieviele Events ich habe, bei mir schwankt es zwischen 40-60 FPS, kein Ruckeln.


-__-" vll liegt das an deinem super script oder was du das gemacht hast, womit du eh bis zu 60 Frames schaffst, ausserdem habe ich in Erinnerung, dass du eh einen ziemlich Leistungsstarken Pc hast, bei mir bewirkt das Script auf jeden Fall was.
Bild

8

Sonntag, 19. Juni 2005, 14:16

Schönes Skript!

Und verdammt sinnvoll ich weiss nicht wo oft ich schon threads gesehen habe wo geklagt wurde das der Xp ruckelt wie sau....usw.



Also diese Skript ist auf jeden Fall ne echt geile sache !!!
Bild Greetz an Special Thx: Emixp, Eddi, Geo, Rabu, Lelli, Eddi, Ryo Sakura, GruSy, Sasuke und natürlich alle Mods und Admins die so wunderbar auf das Forum hier aufpassen.

9

Sonntag, 19. Juni 2005, 15:20

Wuhuuuuuuuuuu! Super! Endlich keine Probleme mehr!
Near ist einfach ein Gott des Makers! :D
Aber sagt mal funzt das auch mit anderen Scripts?
Ich hab nämlich n eigenes Wetterscript! °° (zum Beispiel!)

Edit: Ach schade! Bei mir funzt das nit!
Hab 30 Events, wobei jedes Event ein Picture auf seine Koordinaten legt und die Frames purzeln wieder in den Keller...

10

Sonntag, 19. Juni 2005, 15:32

Also bei mir funktioniert das auch nicht so richtig :?


Edit: Kann das sein , dass das bei fast kein richtig läuft ? ^^

11

Sonntag, 19. Juni 2005, 15:58

Ich muss mal genau erklären was dieses Script eigentlich bewirken soll.
Es funktioniert nämlich nur auf seeehhr grossen maps.
Dieses Script ist dazu da, dass ein Event erst dann eingeschaltet wird, wenn es auch auf der Map zu sehen ist.
zB ist das in einem AKS sehr nützlich, wenn man viele Gegner hat und man durch ein grosse map läuft und die dann auf den helden zulafen.
Ohne dieses Script laufen die Viecher dann, ohne, dass man sie überhaupt sieht auf den Helden zu, mit diesem Script fangen sie erst dann an zu laufen, wenn sie auch auf dem Bildschirm zu sehen sind.

Edit: zudem hab ich im Ruckelorgie Thread gelesen, dass es in verbingung mit dem Shadow-Script wohl nicht richtig funzen soll.
Bild

12

Sonntag, 19. Juni 2005, 16:40

Äh...
Meine Events SIND auf ner SEHR großen Map!
Geht trotzdem nicht... Hab schon durchgeguckt und wirklich was bewirken tut das nix! Selbst bei ner Map mit 500x500 Größe und 200 umherlaufenden Events! Ist bei mir immer 40FPS!
Nur eben, wenn Nebel und Pictures etc. dargestellt wird senkt sich die Framezahl!

P.S.: Das shadowscript ist doof! Hat man nur Grafikfehler an bestimmten Prioritäten!

13

Sonntag, 19. Juni 2005, 19:55

Zitat von »"Kiwinuptuô"«

Ich muss mal genau erklären was dieses Script eigentlich bewirken soll.
Es funktioniert nämlich nur auf seeehhr grossen maps.
Dieses Script ist dazu da, dass ein Event erst dann eingeschaltet wird, wenn es auch auf der Map zu sehen ist.
zB ist das in einem AKS sehr nützlich, wenn man viele Gegner hat und man durch ein grosse map läuft und die dann auf den helden zulafen.
Ohne dieses Script laufen die Viecher dann, ohne, dass man sie überhaupt sieht auf den Helden zu, mit diesem Script fangen sie erst dann an zu laufen, wenn sie auch auf dem Bildschirm zu sehen sind.

Edit: zudem hab ich im Ruckelorgie Thread gelesen, dass es in verbingung mit dem Shadow-Script wohl nicht richtig funzen soll.


Soo ganz richtig ist das nicht.
Es wird nur nicht um Event überprüft, was drinnen steht, wenn nicht gerade Auto/Parrallel Start läuft.
Macht man eine route, so läuft auch das event, ohne das es im bild ist.

[size=120]Achtet auf Edits in meinen ersten Post[/size]

14

Sonntag, 19. Juni 2005, 20:15

Mir ist ein fehler aufgefallen...
Wenn man lange genug auf der map herumläuft, kann es passieren, dass die einzelnen Chars im Bildrand feststecken und hinterhergezogen werden. Schwierig zu erklären...
Sie sind einfach da, also ob sie Plötzlich als picture angezeigt werden.
Nach einer zeit bleiben sie aber dann irgendwo hängen und verschwinden wieder.
Existiert dieser Fehler nur bei mir?
Bild

15

Sonntag, 19. Juni 2005, 20:16

Nein glaub ich nicht.
Denn dieser fehler kommt bei mir auch.
Wie behebt man das?

16

Sonntag, 19. Juni 2005, 22:30

Man muss zum Skript sagen:

Schatten, Reflektions, Sonnen und Spiegelskript funktionieren hiermit nichtmehr. Retaim ( hat die Schatten..usw..Skripte erstellt ) aberietet aber daran.


Anderes cooles Skript:

markusmks, such doch des destruction Skript im selben Forum :D
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.

17

Sonntag, 19. Juni 2005, 23:39

Stell ich morgen umfangreich vor...

Retaim hatte schon mal erwähnt, dass er die scripts kompitabel machen will.

18

Montag, 20. Juni 2005, 23:42

Also ich habs jetzt wiedergefunden, man kann mit diesem einfachen Schritt
die Framerate auf praktisch unbegrenzt hochstufen, getestet hab ich diesen Trick mit 60.000 Frames pro Sekunde als Einstellung, herrausgekommen sind ca 200 FPS pro sekunde im Maker wenn ich F2 drücke,

es ist garantiert mit jedem Skript Kompatibel,

Erstellt ein neues Skript über Main und gebt das ein,

Quellcode

1
Graphics.frame_rate = 60000

fertig, mehr ist es nicht, danach ist alles deutlich schneller, ich hoffe das es jetzt endlich mal bei niemanden mehr ruckelt :roll:


Edit
ich habs mal übertrieben,

Quellcode

1
Graphics.frame_rate = 1000000000

ist noch möglich, aber weiter hab ichs nicht getestet, da das Spiel mit

Quellcode

1
Graphics.frame_rate = 9999999999

nicht mehr Startet.

19

Dienstag, 21. Juni 2005, 13:22

Wow Geo, du bist echt unschlagbar manchmal :)
Der typ geht dann ja ab wie ne Rakete, und das Ruckeln ist komplett weg *freu*
echt genial^^ , wobei es aber ausreicht die Frameszahl auf 60 zu stellen.
Naja auf jeden Fall n absolut genialer Trick.
Bild

20

Dienstag, 21. Juni 2005, 13:51

Jo, is aber n´ bissel schnell!

Social Bookmarks