Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Packs de ressources: Tilesets lumineux / Packs de ressources: Expressions (...) / Tests: Le Guide Machin / Programmes: Tileset Converter MV 2.0 / News: La news des 700 jeux ! / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

159 connectés actuellement

11080780 visiteurs
depuis l'ouverture

99 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Hellsoft

Planète Glutko

RPG Maker - La Communauté

Kingdom Ultimate

ConsoleFun

RPG Fusion

Tous nos partenaires

Devenir
partenaire



Messages postés par Estheone
Nombre de messages référencés sur Oniromancie (non supprimés): 303

Aller à la page: 1 2 3 4 5 6 7 8

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 21/12/2014 à 20:30:25. (312 messages postés)

@Ephy :

Garde le script que je t'ai filé pour text_size.

Puis va dans Window_Base, méthode process_normal_character.
Remplace l'argument text_width * 2 de draw_text par une valeur plus grande, genre text_width * 4.

D'après mes tests, ça devrait régler le problème.

Edit : Ou mieux, mets text_size(" #{c} ").width, c'est la valeur exacte nécessaire.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 21/12/2014 à 18:56:30. (312 messages postés)

Essaie de rajouter ça :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
 
class Bitmap
  alias rgss_text_size text_size unless method_defined?(:rgss_text_size)
  def text_size(text)
    font_effect = font.shadow || font.outline || font.italic
    rect = rgss_text_size(text)
    rect.width += font_effect ? 3 : 1 if text.size > 1
    rect
  end
end



Si ça marche pas il ne te reste plus qu'à utiliser une version de draw_text sans les modifs (en espérant que t'avais pas de problème de rognage sur les dialogues...).

Portion de code : Tout sélectionner

1
2
3
4
5
6
 
class Bitmap
  def draw_text2(*args)
    rgss_draw_text(*args)
  end
end



Puis tu vas dans ton script d'affichage des messages et tu remplaces les draw_text par draw_text2.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 20/12/2014 à 16:12:24. (312 messages postés)

Tu as juste besoin de revoir 2 fonctions (update et create_command_window) et d'en ajouter une (create_difficulty_window). Pour le reste tu peux laisser les scripts d'origine.

Essaie de comprendre pourquoi ça marche, ça te sera utile si tu veux faire d'autres modifs du même genre par la suite.

Portion de code : Tout sélectionner

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
  def update
    super
    @command_window.update
    if Input.trigger?(Input::C)
      case @phase
      when :main
        case @command_window.index
        when 0    # New game
          create_difficulty_window
        when 1    # Continue
          command_continue
        when 2    # Shutdown
          command_shutdown
        end
      when :difficulty
        $game_variables[1] = @command_window.index
        command_new_game
      end
    elsif Input.trigger?(Input::B) and @phase == :difficulty
      Sound.play_cancel
      dispose_command_window
      create_command_window
    end
  end
  
  def create_command_window
    @phase = :main
    s1 = Vocab::new_game
    s2 = Vocab::continue
    s3 = Vocab::shutdown
    @command_window = Window_Command.new(172, [s1, s2, s3])
    @command_window.x = (544 - @command_window.width) / 2
    @command_window.y = 288
    if @continue_enabled                    # If continue is enabled
      @command_window.index = 1             # Move cursor over command
    else                                    # If disabled
      @command_window.draw_item(1, false)   # Make command semi-transparent
    end
    @command_window.openness = 0
    @command_window.open
  end
  
  def create_difficulty_window
    @phase = :difficulty
    Sound.play_decision
    dispose_command_window  
    s1 = "Facile"
    s2 = "Moyen"
    s3 = "Difficile"
    s4 = "Expert"
    @command_window = Window_Command.new(172, [s1, s2, s3, s4])
    @command_window.x = (544 - @command_window.width) / 2
    @command_window.y = 288
    @command_window.openness = 0
    @command_window.open
  end



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 20/12/2014 à 15:08:30. (312 messages postés)

Tiens, c'est une version simplifiée de ce que Zeus et moi utilisons pour régler le problème :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
class Bitmap
  alias rgss_draw_text draw_text
  def draw_text(*args)
    args.unshift(rect) if args.first.is_a?(String)
    args.push(0) if args.last.is_a?(String)
    font_effect = font.shadow || font.outline || font.italic
    text = font_effect ? " #{args[-2]} " : args[-2]
    rect = args.first.is_a?(Rect) ? args.first : Rect.new(*args[0, 4])
    align = args.last
    rgss_draw_text(rect, text, align)
  end
end



Ca rajoute simplement un espace avant et après automatiquement si la police contient un effet qui provoque le rognage (italique, ombré ou contour).

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 11/09/2014 à 17:01:57. (312 messages postés)

Il n'y a pas moyen de récupérer les id des persos pour chaque sauvegarde proprement sans faire une modif avant :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
module DataManager
  def self.make_save_header
    header = {}
    header[:characters] = $game_party.characters_for_savefile
    header[:members]    = $game_party.all_members
    header[:playtime_s] = $game_system.playtime_s
    header
  end
end



Note que pour tenir compte de cette modif sur chaque sauvegarde il te faut sauvegarder à nouveau.

Ensuite tu peux appeler ce code n'importe où :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
actor_ids = []
DataManager.savefile_max.times do |i|
  if (header = DataManager.load_header(i)) != nil
    next unless header[:members]
    header[:members].each do |member|
      actor_ids << member.id unless actor_ids.include?(member.id)
    end
  end
end


Ca analyse toutes les sauvegardes et récupère les id de tous les charas dans un tableau actor_ids.

Ensuite t'auras plus qu'à faire des trucs du genre :

Portion de code : Tout sélectionner

1
2
3
if actor_ids.include?(1)
  # affichage perso 1
end



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX ace] masquer le 1er personnage dans le menu

Estheone - posté le 08/09/2014 à 03:18:08. (312 messages postés)

Tu n'attaques pas le problème par le bon angle Wolfylink, c'est mieux d'intervenir à la source : la classe Game_Party. :clindoeil3

Ajoute juste ce script au-dessus du main :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Game_Party < Game_Unit
  
  def in_menu
    SceneManager.scene.is_a?(Scene_MenuBase)
  end
  
  def exists
    all_members.size > 1
  end
  
  def members
    in_battle ? battle_members : in_menu ? all_members_without_first : all_members
  end
    
  def all_members_without_first
    all_members.size > 0 ? 
    all_members[1, all_members.size-1].select {|actor| actor.exist? } : []
  end
  
  def swap_order(index1, index2)
    @actors[index1+1], @actors[index2+1] = @actors[index2+1], @actors[index1+1]
    $game_player.refresh
  end
end



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VXAce] Animer avec chaque image d'un character.

Estheone - posté le 31/08/2014 à 22:36:46. (312 messages postés)

C'est parce que la commande "déplacer événement" n'analyse qu'une ligne par frame.

Tu aurais aussi pu régler le problème en mettant tout sur une ligne :

Portion de code : Tout sélectionner

1
@direction=n ; @original_pattern=@pattern=c



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RPG Maker VX] Changer de personnage en tête d'équipe

Estheone - posté le 30/08/2014 à 06:45:15. (312 messages postés)

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Game_Party < Game_Unit
  def switch_player
    @actors << @actors.shift
    $game_player.refresh
  end
end
 
class Scene_Map < Scene_Base
  alias switch_player_update update
  def update
    switch_player_update
    $game_party.switch_player if Input.trigger?(Input::R) && can_switch?
  end
  def can_switch?
    !$game_map.interpreter.running?
  end
end



J'ai utilisé :R, soit la touche W, mais tu peux mettre ce que tu veux.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX ACE] Police d'écriture des combats

Estheone - posté le 30/08/2014 à 06:24:15. (312 messages postés)

Disons juste que le mec qui l'a fait a encore beaucoup à apprendre. :p

Et pour les lignes à rajouter en fait tu ferais mieux de les mettre après le bloc if else (avec @hp_bar.opacity et les autres) plutôt que de les dupliquer, ça fonctionnera aussi bien.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX ACE] Police d'écriture des combats

Estheone - posté le 29/08/2014 à 19:21:55. (312 messages postés)

Il fait peur ton script. :surpris3

Après la ligne 147

Portion de code : Tout sélectionner

1
      @hp_bar = Window_Base.new(0,0,120,height)


tu rajoutes ça :

Portion de code : Tout sélectionner

1
2
      @hp_bar.contents.font.name = "Georgia"
      @hp_bar.contents.font.italic = true



Si tu veux les mêmes effets d'ombre que sur l'autre script, il me faut son code aussi pour voir comment ils s'y sont pris exactement. Là tout au plus je peux faire qu'une imitation.


EDIT :
Pour le nom des boss va voir lignes 111 à 115 :

Portion de code : Tout sélectionner

1
2
3
4
5
      if @battler.hide_name
        @hp_bar.draw_text(0,12,width,24,"???",2)
      else
        @hp_bar.draw_text(0,12,width,24,@battler.name,2)
      end


Je te propose soit de remplacer les 2 par des 1 pour centrer le nom du boss au lieu de l'aligner vers la droite, soit de remplacer les 12 par 0 pour mettre le nom plus haut.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX ACE] Police d'écriture des combats

Estheone - posté le 29/08/2014 à 19:04:34. (312 messages postés)

Ok c'est le nom des monstres que tu veux modifier, et en plus tu utilises d'autres scripts, ça change tout.

Si tu donnes pas le code de tes scripts, personne pourra t'aider.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX ACE] Police d'écriture des combats

Estheone - posté le 29/08/2014 à 11:43:35. (312 messages postés)

Juste le nom des persos ?
Dans ce cas ceci devrait faire l'affaire :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
class Window_Base < Window
  def draw_actor_name(actor, x, y, width = 112)
    change_color(hp_color(actor))
    contents.font.name = "Georgia"
    draw_text(x, y, width, line_height, actor.name)
    contents.font.name = Font.default_name
  end
end



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMVXA] Modifier $data_skill au cours de la partie

Estheone - posté le 17/08/2014 à 00:29:55. (312 messages postés)

Ah oui si t'as des variables qui n'ont pas de valeur fixe, il te faut créer une nouvelle classe.

=~ est utilisé pour comparer un string avec une expression régulière. Fais une recherche regular expressions dans la doc de RM VX Ace (F1) pour en savoir plus.

Edit : Grillé de 40 secondes par Wolfylink :D

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMVXA] Modifier $data_skill au cours de la partie

Estheone - posté le 16/08/2014 à 23:15:37. (312 messages postés)

L'avantage de RM VX Ace c'est les notes en bas à droite pour chaque onglet de la base de données, on peut s'en servir de manière très pratique pour initialiser des variables.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
class RPG::Skill < RPG::UsableItem
  
   attr_reader :pa_cost
   # (...)
   
  def setup
    @pa_cost = 0
    # (...)
    eval(note)
  end
end


Grâce à la fonction eval, le contenu de la note des skills sera considéré comme du script et tu peux donc y initialiser tes variables (@pa_cost = 6 par exemple).
Fais juste bien attention à n'utiliser la note que pour ça par la suite.


Ensuite tu vas dans DataManager et tu remplaces la fonction load_database par celle-là :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
  def self.load_database
    if $BTEST
      load_battle_test_database
    else
      load_normal_database
      check_player_location
    end
    $data_skills.each do |s| s.setup if s end
  end


Ca va permettre d'initaliser tout d'un coup au démarrage du jeu et t'auras plus à t'en soucier.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [RMVXACE] Dépasser les 999 de Stats pour les mobs ...

Estheone - posté le 06/08/2014 à 08:47:29. (312 messages postés)

Je vois pas le problème verehn, t'as jamais entendu parler de Disgaea ? :D

image

Je suis sûr qu'un script pour ça doit déjà exister mais je t'en ai fait un quand même, c'est pas bien sorcier :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Enemy Stat Mulitplier
 
class Game_Enemy < Game_Battler  
  alias stat_multiplier_initialize initialize
  def initialize(index, enemy_id)
    @stat_multiplier = $data_enemies[enemy_id].note =~ /<STAT_MULTIPLIER: (\d+)>/i ? $1.to_i : 1
    stat_multiplier_initialize(index, enemy_id)
  end  
  def param_base(param_id)
    enemy.params[param_id]*@stat_multiplier
  end
  def param_max(param_id)
    return 0xffff_ffff
  end
end



Tu as juste à rajouter <STAT_MULTIPLIER: x> dans la note de l'ennemi avec x qui est un nombre qui va servir de multiplicateur à toutes les stats principales de cet ennemi.

Par exemple un monstre avec 10k HP et 999 force avec <STAT_MULTIPLIER: 10> va se retrouver avec 100k HP et 9990 force.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - Touhou - Wandering Souls

Estheone - posté le 04/08/2014 à 06:28:08. (312 messages postés)

Citation:

J'ai fini ce jeu à 100% en normal et en lunatic.


Félicitations, tu fais désormais partie des grands de ce monde. 8-)

Citation:

le passage le plus dur pour moi, ça a été la dernière spellcard de yuyuko dans le mode chaos en lunatic


Le truc c'est de bouger le moins possible et de jouer très défensif. La spellcard de terre de Sakuya aide bien ici.

Citation:

en fait j'y ai tellement pex à force de mourir à ce point précis que j'ai battu le dernier boss du paradis en une fois en lunatic ^^"


Pex ou pas c'est quand même impressionnant, il y a pas mal de trucs qui pardonnent pas sur ce fight en Lunatic. Notamment Tenshi et son foutu teleport+combo.

Citation:

Les objets qu'on gagne après les 100% sont trop cheatés en lunatique :rit2 on arrive en vague 82 sans souci avec Yukari dans la Réunion Youkai en réunissant tous les objets cheat + la réduc' d'armure à 100% + le perma mode hyper...et je suis convaincu qu'on peut passer + de 100 vagues avec elle


Avec Aya et en lui équipant les 3 accessoires cheatés + Essence of Void tu dois pouvoir monter aussi haut que tu veux assez facilement juste en spammant Piercing Gust (il faut être bien sûr de JAMAIS s'arrêter d'attaquer tant qu'il y a peut-être encore quelque chose de vivant ^^).

Citation:

C'est dingue que des gens arrivent à créer des jeux pareilles à partir d'un logiciel pour créer des RPG


Moi ce que je trouve dingue, c'est qu'autant de gens sous-estiment les outils qu'ils utilisent.
Link's Awakening est considéré par pas mal de monde comme le meilleur Zelda et il a été développé pour la Gameboy. Les possibilités offertes par RPG Maker sur un PC semblent infinies en comparaison. :D

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX] Recherche d'un script pour reprendre une musique après un combat.

Estheone - posté le 10/07/2014 à 16:20:03. (312 messages postés)

Oui c'est ça.
Et place ton script qui force l'arrêt du victory ME après le mien, ça devait suffire pour le "réparer".

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX] Recherche d'un script pour reprendre une musique après un combat.

Estheone - posté le 10/07/2014 à 16:08:08. (312 messages postés)

Bon. Essaie de remplacer ma fonction do_load par celle-là :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Scene_File < Scene_Base
  def do_load
   file = File.open(make_filename(@last_slot_index), "rb")
   read_save_data(file)
   file.close
   $scene = Scene_Map.new
   RPG::BGM.fade(1500)
   Graphics.fadeout(60)
   Graphics.wait(40)
   #---------------------------------------------------------------------#
   $game_map.map_bgm_play($game_map.map_bgm) if $game_map.map_bgm
   #---------------------------------------------------------------------#
   @last_bgs.play
  end
end


Le script doit être après celui de sauvegarde aussi.

J'espère que c'est la bonne. :p

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX] Recherche d'un script pour reprendre une musique après un combat.

Estheone - posté le 10/07/2014 à 15:49:26. (312 messages postés)

Si la musique se relance toujours trop tôt essaie de virer le morceau de mon script sur la fonction process_victory et remets le morceau sur battle_end :

Portion de code : Tout sélectionner

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
class Scene_Battle < Scene_Base
  def battle_end(result)
    if result == 2 and not $game_troop.can_lose
      call_gameover
    else
      $game_party.clear_actions
      $game_party.remove_states_battle
      $game_troop.clear
      if $game_temp.battle_proc != nil
        $game_temp.battle_proc.call(result)
        $game_temp.battle_proc = nil
      end
      unless $BTEST
        #---------------------------------------------------------------------#
        RPG::BGM.stop
        #---------------------------------------------------------------------#
        $game_temp.map_bgs.play
      end
      $scene = Scene_Map.new
      @message_window.clear
      Graphics.fadeout(30)
      #---------------------------------------------------------------------#
        Advanced_Audio["Map_BGM"].resume if Advanced_Audio["Map_BGM"]
      #---------------------------------------------------------------------#
    end
    $game_temp.in_battle = false
  end
end



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX] Recherche d'un script pour reprendre une musique après un combat.

Estheone - posté le 10/07/2014 à 15:42:55. (312 messages postés)

Ouais, déplace la ligne 67 de mon script :

Portion de code : Tout sélectionner

1
Advanced_Audio["Map_BGM"].resume if Advanced_Audio["Map_BGM"]

à la fin de la fonction, juste après le Graphics.fadein.

Un dernier truc encore : essaie de sauvegarder puis de recharger la partie pour voir si ça plante pas et si la musique se lance correctement.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX] Recherche d'un script pour reprendre une musique après un combat.

Estheone - posté le 10/07/2014 à 15:24:26. (312 messages postés)

Quel bordel la vache. :oO
C'est un miracle que ton jeu fonctionne, crois-moi.

Tiens une nouvelle version de mon script qui essaie de tenir compte des autres scripts. Tu dois le placer après eux :

Portion de code : Tout sélectionner

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
class Game_Map
  attr_reader   :map_bgm
  
  def autoplay
    map_bgm_play(@map.bgm) if @map.autoplay_bgm
    @map.bgs.play if @map.autoplay_bgs
  end
  
  def map_bgm_play(bgm)
    if Advanced_Audio["Map_BGM"] && bgm == @map_bgm
      Advanced_Audio["Map_BGM"].resume
    else
      Advanced_Audio.new("Map_BGM", "Audio/BGM/#{bgm.name}.ogg")
      Advanced_Audio["Map_BGM"].play
      Advanced_Audio["Map_BGM"].volume_change(bgm.volume)
      Advanced_Audio["Map_BGM"].pitch(bgm.pitch)
    end
    @map_bgm = bgm
  end
end
 
class Scene_Map
  def call_battle
    @spriteset.update
    Graphics.update
    $game_player.make_encounter_count
    $game_player.straighten
    $game_temp.map_bgm = RPG::BGM.last
    $game_temp.map_bgs = RPG::BGS.last
    if $game_switches[Id_switch_battle_me]==false # Condition
      #---------------------------------------------------------------------#
      Advanced_Audio["Map_BGM"].pause if Advanced_Audio["Map_BGM"]
      #---------------------------------------------------------------------#
      RPG::BGS.stop
      Sound.play_battle_start
      $game_system.battle_bgm.play
    else
      Sound.play_battle_start
    end 
    $game_temp.next_scene = nil
    $scene = Scene_Battle.new
  end
end
 
class Scene_Battle < Scene_Base
  def process_victory
    if defined?(::N01)
      @status_window.visible = true
      @message_window.visible = false
      for enemy in $game_troop.members
        break boss_wait = true if enemy.collapse_type == 3
      end
      wait(440) if boss_wait
      wait(N01::WIN_WAIT) unless boss_wait
      for actor in $game_party.members
        unless actor.restriction >= 4
          @spriteset.set_action(true, actor.index,actor.win)
        end
      end
    end
    @info_viewport.visible = false
    @message_window.visible = false
    RPG::BGM.stop
    $game_system.battle_end_me.play
    unless $BTEST
    #---------------------------------------------------------------------#
      Advanced_Audio["Map_BGM"].resume if Advanced_Audio["Map_BGM"]
    #---------------------------------------------------------------------#
      $game_temp.map_bgs.play
    end
    new_temps = Time.now
    temps = new_temps- @temps
    if temps >= 60
      @temps_combat = (temps / 60).truncate
      @suffixe = @temps_combat > 1 ?  "minutes" : "minute"
    else
      @temps_combat = temps.truncate
      @suffixe = "secondes"
    end
    @exp =$game_troop.exp_total
    @gold = $game_troop.gold_total
    @drop = $game_troop.make_drop_items
    $game_party.gain_gold(@gold)
    ini_variable     
    Graphics.fadeout(30)
    afficher_rapport
    Graphics.fadein(20)
  end
end
 
class Scene_File
  def do_load
    file = File.open(@savefile_windows[@index].filename, "rb")
    read_save_data(file)
    file.close
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    Graphics.fadeout(60)
    Graphics.wait(40)
    #---------------------------------------------------------------------#
    $game_map.map_bgm_play($game_map.map_bgm) if $game_map.map_bgm
    #---------------------------------------------------------------------#
    @last_bgs.play
  end
end
 
class Game_Interpreter
  def command_241
    $game_map.map_bgm_play(@params[0])
    return true
  end
  
  def command_242
    Advanced_Audio["Map_BGM"].volume_change(0, @params[0] * 60)
    return true
  end
end



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX] Recherche d'un script pour reprendre une musique après un combat.

Estheone - posté le 10/07/2014 à 14:57:54. (312 messages postés)

La pause était déjà gérée automatiquement avec le script que je t'ai passé (ligne 31 pour la pause, ligne 62 pour la reprise).

Normalement tu n'as strictement rien à faire, tout est fait en interne. J'ai testé tout ça sur un projet vierge et ça fonctionne nickel.
Je suppose que tu utilises des scripts supplémentaires ?

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX] Recherche d'un script pour reprendre une musique après un combat.

Estheone - posté le 10/07/2014 à 13:48:38. (312 messages postés)

Je sais ce que c'est de bloquer sur des problèmes de script qui semblent insurmontables donc si je peux aider - et que ça me prend pas trois plombes - c'est avec plaisir.

Tiens je t'ai bricolé un script pour aller avec l'Audio+ qui devrait faire ce dont t'as besoin sans casser le reste.
Si vous utilisez les scripts de base il n'y aura rien à faire de spécial, ça devrait marcher juste en l'ajoutant à votre jeu. Dans le cas contraire, il faudra adapter là où il faut (j'ai mis les lignes importantes des grosses fonctions entre les lignes de commentaire).
Note aussi que ça ne fonctionne qu'avec des musiques en ogg.

Portion de code : Tout sélectionner

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
class Game_Map
  attr_reader   :map_bgm
  
  def autoplay
    map_bgm_play(@map.bgm) if @map.autoplay_bgm
    @map.bgs.play if @map.autoplay_bgs
  end
  
  def map_bgm_play(bgm)
    if Advanced_Audio["Map_BGM"] && bgm == @map_bgm
      Advanced_Audio["Map_BGM"].resume
    else
      Advanced_Audio.new("Map_BGM", "Audio/BGM/#{bgm.name}.ogg")
      Advanced_Audio["Map_BGM"].play
      Advanced_Audio["Map_BGM"].volume_change(bgm.volume)
      Advanced_Audio["Map_BGM"].pitch(bgm.pitch)
    end
    @map_bgm = bgm
  end
end
 
class Scene_Map
  def call_battle
    @spriteset.update
    Graphics.update
    $game_player.make_encounter_count
    $game_player.straighten
    $game_temp.map_bgs = RPG::BGS.last
    RPG::BGS.stop
    #---------------------------------------------------------------------#
    Advanced_Audio["Map_BGM"].pause if Advanced_Audio["Map_BGM"]
    #---------------------------------------------------------------------#
    Sound.play_battle_start
    $game_system.battle_bgm.play
    $game_temp.next_scene = nil
    $scene = Scene_Battle.new
  end
end
 
class Scene_Battle
  def battle_end(result)
    if result == 2 and not $game_troop.can_lose
      call_gameover
    else
      $game_party.clear_actions
      $game_party.remove_states_battle
      $game_troop.clear
      if $game_temp.battle_proc != nil
        $game_temp.battle_proc.call(result)
        $game_temp.battle_proc = nil
      end
      unless $BTEST
        #---------------------------------------------------------------------#
        RPG::BGM.stop
        #---------------------------------------------------------------------#
        $game_temp.map_bgs.play
      end
      $scene = Scene_Map.new
      @message_window.clear
      Graphics.fadeout(30)
      #---------------------------------------------------------------------#
        Advanced_Audio["Map_BGM"].resume if Advanced_Audio["Map_BGM"]
      #---------------------------------------------------------------------#
    end
    $game_temp.in_battle = false
  end
end
 
class Scene_File
  def do_load
    file = File.open(@savefile_windows[@index].filename, "rb")
    read_save_data(file)
    file.close
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    Graphics.fadeout(60)
    Graphics.wait(40)
    #---------------------------------------------------------------------#
    $game_map.map_bgm_play($game_map.map_bgm) if $game_map.map_bgm
    #---------------------------------------------------------------------#
    @last_bgs.play
  end
end
 
class Game_Interpreter
  def command_241
    $game_map.map_bgm_play(@params[0])
    return true
  end
  
  def command_242
    Advanced_Audio["Map_BGM"].volume_change(0, @params[0] * 60)
    return true
  end
end



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX] Recherche d'un script pour reprendre une musique après un combat.

Estheone - posté le 10/07/2014 à 06:11:36. (312 messages postés)

Vous pouvez envisager d'utiliser l'Audio+ de zeus :
https://www.rpg-maker.fr/scripts-204-audio-.html

Il date pas d'hier mais il fonctionne sur VX, j'ai fait quelques tests.

Il vous faudra faire quelques efforts de prog pour intégrer ce script à votre jeu mais il est tout à fait possible de mettre une musique en pause et la reprendre plus tard au même endroit. Par contre il est préférable de l'utiliser avec des musiques en mp3 ou ogg et pas en midi.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - Touhou - Wandering Souls

Estheone - posté le 10/07/2014 à 05:50:21. (312 messages postés)

Non, j'étais seul sur ce projet.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 04/07/2014 à 03:09:51. (312 messages postés)

Vire la ligne 531 de Game_Actor :

Portion de code : Tout sélectionner

1
$game_troop.screen.start_shake(5, 5, 10)



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [VX] Adapter ce script a la taille de l'équipe au lieu du niveau. [Résolu]

Estheone - posté le 26/05/2014 à 01:39:50. (312 messages postés)

Il vaut mieux partir des scripts de base.

Tu rajoutes ça dans l'initialize du Game_Enemy au-dessus de la ligne @hp = maxhp :

Portion de code : Tout sélectionner

1
2
3
4
    party_members = $game_variables[1]
    party_atk_potential = $game_variables[2]
    party_def_potential = $game_variables[3]
    @hp_coef = 1.0 + party_members*0.1 + party_atk_potential*0.15 - party_def_potential*0.15

Tu as juste à remplacer 1, 2 et 3 par l'id de tes variables.
Note qu'une variable avec @ devant (ici @hp_coef) est une variable d'instance, pour faire simple disons que tu peux t'en servir dans toute la classe.

Puis tu remplaces la fonction base_maxhp par celle-là :

Portion de code : Tout sélectionner

1
2
3
  def base_maxhp
    return Integer(enemy.maxhp*@hp_coef)
  end

Integer sert à retourner un entier, ça serait con de se retrouver avec un nombre à virgules pour les HP des ennemis.

C'est le même principe si tu décides de modifier une autre stat du monstre.
Je pense que tu comprendras globalement comment ça marche tout seul. Le plus dur avec ce genre de modifs c'est simplement de comprendre où il faut intervenir. ;)

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Divers] Faire connaitre son projet ?

Estheone - posté le 14/04/2014 à 17:30:56. (312 messages postés)

Si t'es vraiment motivé, la solution la plus efficace est encore de traduire ton jeu en anglais puis de le présenter sur un max de forum US en rapport avec RM ou les jeux indés.
Tu auras 10 à 20 fois plus de joueurs potentiels de cette façon.

Si tu peux pas te le permettre, présente au moins le jeu sur autant de forums francophones que possible pour toucher autant de monde que tu peux.
Ta présentation du projet sur oniro est très bien pour intéresser des makers, pour les joueurs je pense que tu devrais faire quelque chose de beaucoup plus concis et qui capte vite l'attention (une petite liste des particularités qui rendent ton jeu intéressant par exemple).
Pour ceux qui en veulent en savoir plus sur le jeu, un lien vers ton site (que tu devrais revoir d'ailleurs) et le tour est joué.

Et si tu présentes le jeu sur des sites comme jv.con, prépare-toi mentalement avant.
Peu importe la qualité de ton jeu, il y aura toujours des gens pour balancer "c'est de la merde" en ayant à peine jeté un coup d'oeil sur un screenshot (ou alors simplement parce que le jeu est fait avec RM).

Bon courage, c'est vraiment chiant de se faire de la pub. :sourit

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 29/03/2014 à 19:41:19. (312 messages postés)

condition script :

Portion de code : Tout sélectionner

1
DataManager.save_file_exists?



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [rpg maker xp] Héros en miroir

Estheone - posté le 29/03/2014 à 18:30:38. (312 messages postés)

C'est faisable sur XP aussi, et sans script (avec des commandes script tout de même) :
https://www.mediafire.com/download/g1e2jc348cep611/Test_Miroir_XP.rar
C'est fait à l'arrache et j'ai aussi un retard d'une frame malheureusement.

Bon hassen, j'espère que t'arriveras à te démerder avec parce que j'ai trop la flemme d'expliquer comment ça marche. :D
Regarde surtout les priorités de superposition des éléments (à la fin du tileset Château intérieur) et l'event du reflet.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Manic shooter] Reikon no Yume (v0.3c)

Estheone - posté le 16/03/2014 à 02:42:59. (312 messages postés)

Fini le jeu en Moderate puis Intermediate (et sans perdre de vie s'il vous plaît 8-)).

L'un des jeux danmakufu les plus propres auquel j'ai joué, c'est vraiment du bon boulot.
La difficulté est bien gérée, pas vraiment de situations injustes ou de passages trop mous.
Les sprites des persos et bullets sont très réussis, le background en 3d fait son job sans être gênant.

Pour chipoter juste quelques détails :

- La ligne de récupération auto des items est vraiment trop haute au début, je me suis mangé des ennemis à 2 reprises sans pouvoir y faire grand chose.
Mais bon le problème n'en est plus un si on connaît par coeur le premier stage.
- En Intermediate j'ai trouvé la dernière spellcard du stage 2 un poil trop facile comparé aux autres attaques de la meuf.
- Le perso est vraiment grand et ça fait un peu bizarre si on tient compte que sa hitbox fait un pixel. ^^

Bon courage pour la suite, j'ai hâte d'en voir plus. :sourit

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Graphismes] Contour propre pour les bordures de faceset transparents

Estheone - posté le 02/03/2014 à 19:03:45. (312 messages postés)

image

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 29/01/2014 à 10:17:33. (312 messages postés)

Faire ce mini-jeu entièrement en script c'est minimum une grosse journée de boulot, honnêtement j'ai pas le courage. :D

Edit : je viens de comprendre ton problème laisse-moi quelques minutes. ^^

Portion de code : Tout sélectionner

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
class Game_Event < Game_Character
  def page_index
    return @event.pages.index(@page)
  end
end
 
class Interpreter
  def command_209
    character = $game_map.events[$game_variables[1]] || get_character(@parameters[0])
    if character == nil
      return true
    end
    character.force_move_route(@parameters[1])
    return true
  end
  def save_event_offset(off_x, off_y)
    nx = $game_map.events[@event_id].x + off_x
    ny = $game_map.events[@event_id].y + off_y
    ev = check_event(nx, ny)
    save_event(ev.id) if ev
  end
  def save_event_xy(nx, ny)
    ev = check_event(nx, ny)
    save_event(ev.id) if ev
  end
  def save_event(ev_id)
    $game_variables[1] = ev_id
  end
  def check_page_match(off_x, off_y)
    nx = $game_map.events[@event_id].x + off_x
    ny = $game_map.events[@event_id].y + off_y
    ev = check_event(nx, ny)
    return ev ? event_page_match?(ev, $game_map.events[@event_id]) : false
  end
  def check_event(nx, ny)
    for event in $game_map.events.values
      if event.x == nx and event.y == ny
        return event
      end
    end
    return nil
  end  
  def event_page_match?(event1, event2)
    return (event1.page_index == event2.page_index)
  end
end


Voilà j'ai modifié le fonctionnement, la sauvegarde de l'événement n'est plus automatique mais manuelle et peut être faite de 2 façons :
- save_event_offset(off_x, off_y) : sauvegarde l'event dont les coordonnées sont à off_x et off_y de l'event à partir duquel cette commande est appelée (par exemple save_event_offset(1, 0) sauvegarde l'event à droite, avec save_event_offset(0, 0) l'event principal se sauvegarde lui-même.
- save_event_xy(nx, ny) : sauvegarde l'event de coordonnées nx et ny

Petit exemple pour intervertir l'événement principal avec un autre à sa droite.
- insérer script : save_event_offset(1, 0)
- déplacer événement : un pas vers la gauche
- insérer script : save_event_offset(0, 0)
- déplacer événement : un pas vers la droite

J'espère que ça couvre tous les cas possibles de ton mini-jeu, j'ai pas vraiment saisi comment il fonctionne.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 28/01/2014 à 01:55:38. (312 messages postés)

@Dyeel :
Le problème c'est qu'il n'y a pas de variable id ou index pour les pages donc c'est plus compliqué.

@cortez :
J'espère que j'ai bien compris ce que tu voulais faire.
Rajoute ça au-dessus du main :

Portion de code : Tout sélectionner

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
class Game_Event < Game_Character
  def page_index
    return @event.pages.index(@page)
  end
end
 
class Interpreter
  def command_209
    character = $game_map.events[$game_variables[1]] || get_character(@parameters[0])
    if character == nil
      return true
    end
    character.force_move_route(@parameters[1])
    return true
  end
  def save_event(ev_id)
    $game_variables[1] = ev_id
  end
  def check_page_match(off_x, off_y)
    nx = $game_map.events[@event_id].x + off_x
    ny = $game_map.events[@event_id].y + off_y
    ev = check_event(nx, ny)
    result = ev ? event_page_match?(ev, $game_map.events[@event_id]) : false
    save_event(ev.id) if result
    return result
  end
  def check_event(nx, ny)
    for event in $game_map.events.values
      if event.x == nx and event.y == ny
        return event
      end
    end
    return nil
  end  
  def event_page_match?(event1, event2)
    return (event1.page_index == event2.page_index)
  end
end



Pour ta question 1 il te suffit d'utiliser la fonction check_page_match en condition script en lui passant comme arguments la différence de x et y entre l'event principal et celui que tu veux vérifier.
Je vais être plus clair.

Citation:

Condition si script "idempage-up" (vérifie celui juste au-dessus)


se traduit par une condition script :

Portion de code : Tout sélectionner

1
check_page_match(0, -1)

vu que l'on cherche à comparer avec l'événement au-dessus, donc avec une coordonnée y de -1 par rapport à l'event principal.
Avec check_page_match(1, 0) tu vérifies celui de droite... etc
A noter que le script sauvegarde l'id de l'event dans la variable 1 en cas de comparaison réussie, ce qui va servir pour ton deuxième problème.

Pour la question 2 il faut ruser un peu vu que la commande "déplacer un événement" n'inclut pas ce que tu cherches à faire.
J'ai fait en sorte que si tu appelles cette fonction alors que la variable 1 est true (donc différente de 0 ou nil), ça applique les mouvements sur l'événement d'id variable 1.
Donc en résumé :
- si condition script check_page_match(0, -1) (vérifie en haut dans cet exemple)
alors
- déplacer événement (va s'appliquer à l'event comparé peu importe ce que tu choisis)
- remettre la variable 1 à 0 pour éviter les problèmes (tu peux peux-être le rajouter en script à la fin de command_209 pour que ça se fasse automatiquement).
- fin condition

Au final ça aurait pas été beaucoup plus compliqué de faire tout le mini-jeu en code mais bon... :F

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!!

Estheone - posté le 27/01/2014 à 11:50:44. (312 messages postés)

Vous prenez le problème à l'envers.
Il vaudrait mieux que tu mettes ton .to_i au moment du calcul d'exp ou d'or (et donc avant l'ajout dans le total d'exp de tes persos) au lieu de te retrouver avec un total d'expérience en float.

Un truc dans ce genre :

Portion de code : Tout sélectionner

1
@exp = (ton_calcul).to_i



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - Vos jeux vidéo du moment

Estheone - posté le 04/01/2014 à 00:40:47. (312 messages postés)

J'étais pas dans le bon état d'esprit pour y jouer, trop d'énigmes quand j'étais dans une période bourrin. Objectivement j'ai pas grand chose à lui reprocher. ^^

@Zim : Vu que t'as aimé Tail Concerto je te conseille SolatoRobo sur DS si tu l'as pas déjà fait.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - Vos jeux vidéo du moment

Estheone - posté le 04/01/2014 à 00:27:22. (312 messages postés)

C'est une bonne idée.

Spoiler (cliquez pour afficher)



Je suis pas sûr d'avoir joué à tous en 2013, et j'ai surement oublié des jeux faits sur émulateur.

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Rpg vx Ace] Modification du système de class de Yanfly

Estheone - posté le 04/01/2014 à 00:06:16. (312 messages postés)

Vire les modifs qui concernent la classe Window_MenuCommand (lignes 753 à 777) et Scene_Menu (1254 à 1282).

Appel de script :

Portion de code : Tout sélectionner

1
SceneManager.call(Scene_Class)



Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Vx ace] Modification du menu Yanfly

Estheone - posté le 29/12/2013 à 16:35:53. (312 messages postés)

Mets les lignes 1059, 1060 et 1061 en commentaire :

Portion de code : Tout sélectionner

1
2
3
    #@category_window.set_handler(:item, method(:open_types))
    #@category_window.set_handler(:weapon, method(:open_types))
    #@category_window.set_handler(:armor, method(:open_types))


et... c'est tout. :sourit

Wandering Souls : Jeu complet / Topic sur Oniro

Posté dans Forum - [Rpg Maker VX] Création d'un iconset

Estheone - posté le 29/12/2013 à 16:12:40. (312 messages postés)

- non, de la transparence
- non, 384px en largeur mais autant que tu veux en longueur
- non

Bon courage. ;)

Wandering Souls : Jeu complet / Topic sur Oniro

Aller à la page: 1 2 3 4 5 6 7 8

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts | Ressources | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers