Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

674 connectés actuellement

30729228 visiteurs
depuis l'ouverture

2845 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Tashiroworld

Guelnika & E-magination

Hellsoft

Lumen

Offgame

Tous nos partenaires

Devenir
partenaire



InterpreteurEX 1.01

Rajoute des fonctions aux commandes événementielles, à appeler par appels de script.

Script pour RPG Maker XP
Ecrit par Tonyryu (site de l'auteur)
Publié par tonyryu (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Auteur : Tonyryu
Logiciel : RPG Maker XP
Nombre de scripts : 1
Source : https://web.archive.org/web/20190628174618/http://www.tonyryudev.com/joomla3/index.php/menu-mes-developpements/menu-script-rpgmaker/23-xp-extension-commande-d-evenement
Ce script a été ajouté avec l'accord de son auteur.

Principe
Le script a pour but de rajouter des commandes étendues appelables par événement.

Installation
Le script à mettre en dessous du script Interpreter 7, appelez-le Interpreter EX.

Utilisation
Il ne comporte pour le moment que quelques commandes, référez vous à l'entête pour l'utilisation.

Si une erreur de syntaxe se produit lors d'un test, c'est que la ligne que vous avez mise dans une commande script ne correspond pas à une commande étendue.

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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
#==============================================================================
# ■ InterpreterEX
#------------------------------------------------------------------------------
# Script permettant d'ajouter des fonctionnalités étendues à l'interpreteur
#   de commande évènementielle
# Createur : Tonyryu
# Date : 29/08/2006
# Version : 1.01 - 09/10/2006
# 
# Attention : Ce script est ma propriété en tant que création et il est donc
# soumis au droit de la propriété intellectuelle ( http://www.irpi.ccip.fr/ ).
# En aucun cas, il ne doit être copié ou publié vers un autre forum sans en
# avoir reçu mon accord au préalable.
#
#------------------------------------------------------------------------------
=begin
 Pour utiliser les commandes étendues, il suffit de les appelés dans la
   commande "Appeler un script" ou "Conditions..." script, en utilisant
   cette syntaxe :
 COMMAND-[nom de la commande]
   exemple :  COMMAND-MODIF_INT_LOCAL:2=0
 
 Liste des commandes étendues :
 
  MODIF_INT_LOCAL:[interrupteur]=[etat]
   permet de modifier un interrupteur local
   parametre : interrupteur : nombre entre 0 et 99 (0:A, 1:B, 2:C, 3:D, ...)
               etat : 0 pour activé, et 1 pour désactivé
   exemple : COMMAND-MODIF_INT_LOCAL:2=0 permet de désactiver l'interupteur local C
 
  TEST_INT_LOCAL:[interrupteur]=[etat]
   permet de tester dans une condition un interrupteur local
   parametre : interrupteur : nombre entre 0 et 99 (0:A, 1:B, 2:C, 3:D, ...)
               etat : 0 pour activé, et 1 pour désactivé
   exemple : COMMAND-TEST_INT_LOCAL:2 permet de récupérer l'interrupteur local C
 
  TEST_HERO_SUR_EVENT
   permet de tester dans une condition si le hero se trouve sur l'evenement
   exemple : COMMAND-TEST_HERO_SUR_EVENT
   
  MODIF_CLASSE:[id_hero]=[id_classe]
   permet d'utiliser la commande qui ne fonctionne pas.
   exemple : COMMAND-MODIF_CLASSE:1=2 permet de changer la classe du hero 1 en classe id 2
   
  MESSAGE:[variable_chaine]
   permet de passer outre la fenêtre d'édition de message, et donc écrire en japonnais
   exemple : COMMAND-MESSAGE:$maChaine permet d'afficher le contenue de $maChaine
   prise en compte des \n pour sauter à la ligne.
             
 
=end
#==============================================================================
class Interpreter
 
  # Renommer les fonctions par défaut
  alias command_111_base command_111
  alias command_355_base command_355
 
  #--------------------------------------------------------------------------
  # ● command_111
  # Surcharge de fonction de base
  #--------------------------------------------------------------------------
  def command_111
    # Si la commande script de la condition est utilisée
    if @parameters[0] == 12
      # Si cela correspond à une commande étentu
      if @parameters[1][0,8] == "COMMAND-"
        # effectuer le traitement étendu
        return command_extend(@parameters[1].clone)
       
      else
        # Sinon effectuer le traitement de base
        return command_111_base
      end
    end
    # effectuer le traitement de base
    return command_111_base
 
  end
 
  #--------------------------------------------------------------------------
  # ● command_355
  # Surcharge de fonction de base
  #--------------------------------------------------------------------------
  def command_355
    script = @parameters[0]
    # Si la commande script est une commande étendu
    if script[0,8] == "COMMAND-"
      # effectuer le traitement étendu
      return command_extend(script.clone)
    else # Sinon
      # effectuer le traitement de base
      return command_355_base
    end
  end
 
 
  #--------------------------------------------------------------------------
  # ● save_param
  #--------------------------------------------------------------------------
  def save_param
    @saveParam = []
    for i in 0..@parameters.size - 1
      @saveParam[i] = @parameters[i]
    end
  end
 
  #--------------------------------------------------------------------------
  # ● save_param
  #--------------------------------------------------------------------------
  def load_param
    for i in 0..@parameters.size - 1
      @parameters[i] = @saveParam[i]
    end
  end
 
  #--------------------------------------------------------------------------
  # ● command_extend
  #--------------------------------------------------------------------------
  def command_extend(commande)
    commande[0,8] = ""
    # Selon la commance étendu
    case commande
    when /MODIF_INT_LOCAL:(.*)=(.*)/ # Modifier l'interrupteur local
      if @list[@index].code == 355
        int = $1.to_i
        etat = $2.to_i
        if ( int > -1 and int < 100 ) and ( etat == 0 or etat == 1 )
          save_param
          @parameters[0] = int
          @parameters[1] = etat
          result = command_123
          load_param
          return result
        end
      end
      return true
     
    when /TEST_INT_LOCAL:(.*)=(.*)/  # Tester l'interrupteur local
      if @list[@index].code == 111
        int = $1.to_i
        etat = $2.to_i
        if ( int > -1 and int < 100 ) and ( etat == 0 or etat == 1 )
          save_param
          @parameters[0] = 2
          @parameters[1] = int
          @parameters[2] = etat
          result = command_111_base
          load_param
          return result
 
        end
        return command_skip
      end
      return true
      
      
    when /TEST_HERO_SUR_EVENT/ # Tester la position du hero sur l'event
      if @list[@index].code == 111
        for i in 0..$game_map.events.size
          eventTest = $game_map.events[i]
          if eventTest.id == @event_id
            $fic_log.write("eventTest [#{eventTest.x},#{eventTest.y}]\nplayer [#{$game_player.x},#{$game_player.y}]\n")
            result = (eventTest.x == $game_player.x and eventTest.y == $game_player.y )
            @branch[@list[@index].indent] = result
            if @branch[@list[@index].indent] == true
              @branch.delete(@list[@index].indent)
              return true
            end
            return command_skip
          end
        end
        for event in $game_map.events
        end
        return command_skip
      end
      return true
      
    when /MODIF_CLASSE:(.*)=(.*)/ # Changer la classe du héro
      if @list[@index].code == 355
        @list.insert(@index + 1, RPG::EventCommand.new(321, 0, [$1.to_i,$2.to_i]))
        @list.delete_at(@index)
        @index -= 1
      end
      
    when /MESSAGE:(.*)/ # afficher un message
      if @list[@index].code == 355
        
        tabLignes = eval($1).split("\n")
        #print tabLignes
        nbLignes = tabLignes.size
        for i in 0..nbLignes - 2
          ligne = tabLignes[nbLignes - i - 1]
          @list.insert(@index + 1, RPG::EventCommand.new(401, 0, [ligne]))
        end
        @list.insert(@index + 1, RPG::EventCommand.new(101, 0, [tabLignes[0]]))
        @list.delete_at(@index)
        @index -= 1
      end
      
    end # fin case
    
  end
end





Aucun commentaire n'a été posté pour le moment.

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

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/Plugins | Ressources graphiques / sonores | 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