Dear visitor, welcome to RPG Studio - Make your World real. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Sunday, June 19th 2005, 1:05pm

[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

Sunday, June 19th 2005, 1:48pm

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

Sunday, June 19th 2005, 1:53pm

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

4

Sunday, June 19th 2005, 1:56pm

Quoted from ""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

GruSy

Unregistered

5

Sunday, June 19th 2005, 1:56pm

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

Sunday, June 19th 2005, 1:58pm

Ä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

Sunday, June 19th 2005, 2:03pm

Quoted from ""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

Sunday, June 19th 2005, 2:16pm

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

Sunday, June 19th 2005, 3:20pm

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

Sunday, June 19th 2005, 3:32pm

Also bei mir funktioniert das auch nicht so richtig :?


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

11

Sunday, June 19th 2005, 3:58pm

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

Sunday, June 19th 2005, 4:40pm

Ä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

Sunday, June 19th 2005, 7:55pm

Quoted from ""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

Sunday, June 19th 2005, 8:15pm

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

Sunday, June 19th 2005, 8:16pm

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

Chaosgod Espér

Enchanted lord of Shadows

  • Send private message

16

Sunday, June 19th 2005, 10:30pm

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

Sunday, June 19th 2005, 11:39pm

Stell ich morgen umfangreich vor...

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

18

Monday, June 20th 2005, 11:42pm

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,

Source code

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,

Source code

1
Graphics.frame_rate = 1000000000

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

Source code

1
Graphics.frame_rate = 9999999999

nicht mehr Startet.

19

Tuesday, June 21st 2005, 1:22pm

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

Tuesday, June 21st 2005, 1:51pm

Jo, is aber n´ bissel schnell!

Social bookmarks