| Problème de lag (trop d'évenement) [Resolu] | |
|
Auteur | Message |
---|
Vagabond Lv.5
Inscrit le : 14/05/2008 Messages : 86
| Sujet: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 16:19 | |
| Bonjour à tous! Dites... J'ai fichu 354 events sur une seule map pour faire des bruits de pas... Le problème c'est que le script anti-lag n'a rien changé Je vous explique. Je veux faire des bruits de pas (question réalisme toussa) et donc J'ai fait 5 bruits de pas pour 5 terrains differents : neige, herbe , bois, pierre et tapis Donc naturellement je dois créer des events partout pour passer d'un terrain a l'autre pour avoir les differents bruits de pas... Resultat : Le jeu avance à 3 frames par seconde. Il y aurait pas quelque chose de plus simple à faire? Thank You |
|
| |
Invité
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 16:22 | |
| Mmm, enlève les events et essaye par script, ton jeu sera peut etre moins lourd, si tu as ajouter des musiques, c'est peut-etre ça qui le rend plus lent. |
|
| |
Vagabond Lv.5
Inscrit le : 14/05/2008 Messages : 86
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 16:28 | |
| Je connais pas de script pour les bruits de pas, moi :S |
|
| |
Invité
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 16:29 | |
| Si,je crois en avoir vu un, mais je ne sais plus où... |
|
| |
Vagabond Lv.5
Inscrit le : 14/05/2008 Messages : 86
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 16:34 | |
| ah.. j'ai cherché dernièrement je n'ai pas trouvé :/ Enfin si mais le script en question ne fonctionne pas... - Code:
-
#============================================================================== # ¦ DeadlyDan_Footsteps by DeadlyDan #------------------------------------------------------------------------------ # Enables ability to "sound" footsteps when walking over specific tiles #============================================================================== # Usage: =begin Simple, place the audio files in your SE directory, and try the game. There are some known bugs in this, if anyone has any fixes just let me know:) To add custom sounds for custom tiles you can do for example: FOOTSTEP_WOOD = [15] # The tilenumber ID that you get with debug_tileid function FOOTSTEP_WOOD_FILE = "Audio/SE/stepwood" # The filename for the sound then add underneath the # Insert custom sounds here line: footstep_check ( FOOTSTEP_WOOD, FOOTSTEP_WOOD_FILE, 0 ) The last number in that function stands for the layer, since the wood tile i selected is on the ground layer, it's layer is 0. (NOTE) There is a problem that when you go on carpet it makes dirt and snow sounds, i currently can't find a way to fix this, so, the best thing to do is to call the command $game_player.footsteps_enabled = false. To enable footsteps while stopping the carpet and tables from making the snow and dirt sounds, there's an uneasy solution of placing a touch event which calls $game_player.footsteps_enabled = false. Sorry about this inconvenience.
=end
class Game_Player < Game_Character FOOTSTEP_GRASS = [28, 29, 30] FOOTSTEP_GRASS_LONG = [29, 30] FOOTSTEP_GRASS_FILE = "Audio/SE/stepgrass" FOOTSTEP_DIRT = [32, 33, 34] FOOTSTEP_DIRT_LONG = [32 ,34] FOOTSTEP_DIRT_FILE = "Audio/SE/stepdirt" FOOTSTEP_SAND = [36, 37, 38] FOOTSTEP_SAND_LONG = [36, 38] FOOTSTEP_SAND_FILE = "Audio/SE/stepdirt" FOOTSTEP_SNOW = [39, 41] FOOTSTEP_SNOW_LONG = [40, 41] FOOTSTEP_SNOW_FILE = "Audio/SE/stepsnow" FOOTSTEP_WOOD = [15] FOOTSTEP_WOOD_FILE = "Audio/SE/stepwood" FOOTSTEP_PITCH = 100 FOOTSTEP_PITCH2 = 90
attr_accessor :last_foot attr_accessor :footsteps_enabled alias foot_initialize initialize def initialize foot_initialize @last_foot = 0 @last_foot_pitch = FOOTSTEP_PITCH2 @next_foot_pitch = FOOTSTEP_PITCH @footsteps_enabled = true end alias foot_move_left move_left def move_left ( turn_ok = true ) foot_move_left ( turn_ok ) if ( @move_failed == false ) sound_foot end end alias foot_move_right move_right def move_right ( turn_ok = true ) foot_move_right ( turn_ok ) if ( @move_failed == false ) sound_foot end end alias foot_move_up move_up def move_up ( turn_ok = true ) foot_move_up ( turn_ok ) if ( @move_failed == false and @footsteps_enabled ) sound_foot end end alias foot_move_down move_down def move_down ( turn_ok = true ) foot_move_down ( turn_ok ) if ( @move_failed == false and @footsteps_enabled ) sound_foot end end def no_layer_tile? ( layer ) result = [false, false, false] for i in 0..2 if ( @map_tile_id[i] == 0 ) result[i] = true end end if ( layer == 0 ) if ( result[1] and result[2] ) return true else return false end end else if ( layer == 1 ) if ( result[2] ) return true else return false end else return true end end def debug_tileid $game_message.texts[0] = @map_tile_tex[0] $game_message.texts[1] = @map_tile_tex[1] $game_message.texts[2] = @map_tile_tex[2] end def footstep_check ( footstep, file, layer ) for i in 0..footstep.length if ( ( @map_tile_tex[layer] == footstep[i].to_s ) and ( no_layer_tile? ( layer ) ) ) Audio.se_play ( file, 100, @next_foot_pitch ) @last_foot = Graphics.frame_count return nil end end end def sound_foot if ( dash? ) mul = 6 else mul = 7 end if ( Graphics.frame_count > ( @last_foot + mul ) ) @map_tile_id = [] @map_tile_tex = [] for i in 0..2 @map_tile_id.push ( $game_map.data[@x, @y, i] ) @map_tile_tex.push ( @map_tile_id[i].to_s[0,2] ) end # Use "debug_tileid" here to bring up the numbers of all the current tiles # to use with definitions of the tileids, walk over tiles ingame... if ( @last_foot_pitch == FOOTSTEP_PITCH ) @next_foot_pitch = FOOTSTEP_PITCH2 @last_foot_pitch = FOOTSTEP_PITCH2 else @next_foot_pitch = FOOTSTEP_PITCH @last_foot_pitch = FOOTSTEP_PITCH end # Ground layer footstep_check ( FOOTSTEP_GRASS, FOOTSTEP_GRASS_FILE, 0 ) footstep_check ( FOOTSTEP_DIRT, FOOTSTEP_DIRT_FILE, 0 ) footstep_check ( FOOTSTEP_SAND, FOOTSTEP_SAND_FILE, 0 ) footstep_check ( FOOTSTEP_SNOW, FOOTSTEP_SNOW_FILE, 0 ) footstep_check ( FOOTSTEP_WOOD, FOOTSTEP_WOOD_FILE, 0 ) # Layer 1 footstep_check ( FOOTSTEP_GRASS_LONG, FOOTSTEP_GRASS_FILE, 1 ) footstep_check ( FOOTSTEP_DIRT_LONG, FOOTSTEP_DIRT_FILE, 1 ) footstep_check ( FOOTSTEP_SAND_LONG, FOOTSTEP_SAND_FILE, 1 ) footstep_check ( FOOTSTEP_SNOW_LONG, FOOTSTEP_SNOW_FILE, 1 ) # Insert custom sounds here end end end
|
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 17:02 | |
| Revois ta map, je crois que même le script anti-lag ne saurait pas faire des miracles, 354 event °_° Mon maximum était 150 et le script marchait plus ou moins ... |
|
| |
Voyageur Lv.10
Age : 30 Inscrit le : 17/04/2008 Messages : 493
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 17:30 | |
| Ou alors tu peux utiliser cinq évents uniquement pour tous les bruits. Je m'explique, admettons que tu marche dans la neige, depuis ton évent pour la neige tu fais un peu comme dans le tuto de fabY ( Tuto de fabY) En fait, tu fais comme ça, mais dans le sens inverse on va dire, c'est à dire que tu fais en sorte de mettre le son lorsque le personnage est sur telle case, et tu fais pareil pour les autres évents... Enfin après il te faut la patience nécessaire, mais quand même, pouvoir caser 354 évents dans une map >< faut qu'elle soit immense ! Mais bon, voila...j'espère que tu as compris x) |
|
| |
Roi des Lapinous
Age : 34 Inscrit le : 11/10/2008 Messages : 2292
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 18:09 | |
| Non pas spécialement grande car sur une 20*20 tu peux déja mettre 400 events... enfin tu as du sable, de la neige, de l'herbe sur la même map? Peu importe mais le mieux c'est un script sinon je vois pas par event :/ |
|
| |
Chevalier Lv.17
Age : 31 Inscrit le : 27/04/2008 Messages : 1835
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 19:08 | |
| Il y a pas moyen de donner un n° de type de terrain comme dans xp? =/ |
|
| |
Flibustier Lv.21
Age : 30 Inscrit le : 24/05/2008 Messages : 3234
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 19:35 | |
| - Citation :
- Il y a pas moyen de donner un n° de type de terrain comme dans xp
C'est ça qui est domage :s On peut pas dans VX ! |
|
| |
Vagabond Lv.5
Inscrit le : 14/05/2008 Messages : 86
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 19:45 | |
| en effet c'est une carte 20x20 t il y a que 2 terrains, herbe et roche. Mais pour faire différencier les bruits de pas, je dois submerger la carte d'events sur les bords des chemins pour faire en sorte que si il entre dans l'herbe, les bruits de pas changent. Je vais essayer le tuto de fabY |
|
| |
Invité
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 19:48 | |
| |
|
| |
Vagabond Lv.5
Inscrit le : 14/05/2008 Messages : 86
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 19:50 | |
| j'voyais que ça comme solution...
PS: fabY j'ai rien compris à ton tuto :'( |
|
| |
Invité
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 20:24 | |
| Si t'es courageux, continu, mais sinon, abandonne, ou fait-le seulement pour la neige... |
|
| |
Roi des Lapinous
Age : 34 Inscrit le : 11/10/2008 Messages : 2292
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Dim 16 Nov 2008 - 20:25 | |
| Tu met quoi exactement dans tes evenements? tu peux nous montrer s'il te plait? |
|
| |
Vagabond Lv.5
Inscrit le : 14/05/2008 Messages : 86
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Lun 17 Nov 2008 - 17:39 | |
| Ceci est un evenement de la limite Pierre / Herbe Ceci est la limite Herbe / Pierre Quand par exemple l'interrupteur Herbe s'active, l'evenement commun "Herbe" est active et fait un bruit de pas dès que les cordoonées du héros change |
|
| |
Roi des Lapinous
Age : 34 Inscrit le : 11/10/2008 Messages : 2292
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Lun 17 Nov 2008 - 17:59 | |
| Bin je vais peut être dire une bétise (mais dans ce cas là des membres me corrigeront) là à chaque fois que ton personnage touche le programme se demande si l'interrupteur est activé, et si c'est sur deux pages ce qui ferait que quand il marche d'un terrain herbe à un terrain herbe il ne se demande pas si la condition herbe activé ça pourrait lager moins? je sais pas à demander... |
|
| |
Habitant Lv.6
Age : 58 Inscrit le : 31/03/2008 Messages : 103
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] Lun 17 Nov 2008 - 19:53 | |
| Sa fait beaucoup trop d'événement inutile je trouve. J'espère que tu ne feras pas sa sur une carte du monde de 100x100 (ou plus grand), j'imagine même pas combien tu auras d'événement!
Personnellement, je trouve qu'on fait déjà assez d'événements sur une carte, sans en ajouter d'autres qui sont inutiles. Je veux bien que tu veux du réalisme, mais là je trouve sa un peut trop demander à nos PC (ou au tien). Moi si j'étais toi j'abandonnerais cette idée de bruit de pas. C'est beau le réalisme, mais si sa alourdi pour rien tes cartes sa te fera un jeu trop lourd pour tout le monde qui voudra y jouer.
Bon, tu feras se que tu voudras et bonne chance (ou plutôt bon courage) si tu veux toujours faire tes bruits de pas. Bonne continuation. |
|
| |
| Sujet: Re: Problème de lag (trop d'évenement) [Resolu] | |
| |
|
| |
| Problème de lag (trop d'évenement) [Resolu] | |
|