AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



-25%
Le deal à ne pas rater :
PC Portable Gamer 16,1” HP Victus 16 – 16 Go /512 Go
749.99 € 999.99 €
Voir le deal

Partagez
 

 Compiler un event? [resolu]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Elezia
Roi des Lapinous
Roi des Lapinous
Elezia


Masculin Age : 34
Inscrit le : 11/10/2008
Messages : 2292

Compiler un event? [resolu] Empty
MessageSujet: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeVen 6 Fév 2009 - 17:47

Voila j'ai quelques questions, qui sont surtout orientés à des personnes comme ASHKA, Berka et Miraino, mais qui pourrait intéresser d'autres personnes.
Je voulais savoir une chose sur RMVX, est il entiérement fait en Ruby? Si oui, alors tout les évents qu'on écrit sur une page d'événements sont une représentation graphique de ruby? Ou se trouve ses fichiers ruby de nos events quand on sauvegarde? Y a t'il possibilité des le compiler en rgss ces events fait sur RMVX?
La question peut paraitre bizzare ou totalement débile, mais ça serait vraiment pratique je trouve..
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 32
Inscrit le : 03/07/2008
Messages : 2441

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeVen 6 Fév 2009 - 17:58

Tu veux savoir si, les événements que tu crée sont réalisés en ruby ? La réponse est oui, c'est le rôle de Game_Interpreter.
Ils sont repartis en command_xxx, ou xxx est un nombre qui va de 101 à 403 (mais qui saute plein de chiffres xD)
La command_311 gère la modification des HP ^^
Revenir en haut Aller en bas
ASHKA
Voyageur Lv.10
Voyageur Lv.10
avatar


Masculin Age : 42
Inscrit le : 04/12/2008
Messages : 383

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeVen 6 Fév 2009 - 18:00

Je ne comprends pas tout mais ...
Les infos sur les events, comme tout ce que tu defini dans l'editeur sont dans les fichier rvdata ( ici, celui de la map ).
Les events ne sont pas sauvegardés ( si tu parle sauvegarde in-game ).

Les events sont des données comme les autres, parfaitement exploitable dans d'autre circonstance que celle prevu.

J'ai, pour mon projet, testé un systeme de placement aléatoire des events.
J'ai une map où je place mes events ( ceux de mon equipe ).
Et il apparaitront aléatoirement sur les maps de villes.

Enfin bon, j'ai pas tout compris, donc je laisse les autres repondre ...

ASHKA
Revenir en haut Aller en bas
Elezia
Roi des Lapinous
Roi des Lapinous
Elezia


Masculin Age : 34
Inscrit le : 11/10/2008
Messages : 2292

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeVen 6 Fév 2009 - 18:10

En faite j'aimerais mettre un de mes événements en script, est ce possible?
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 32
Inscrit le : 03/07/2008
Messages : 2441

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeVen 6 Fév 2009 - 18:45

Lequel ?
Ils sont tous référencé dans Game_Interpreter. Dit moi lequel je t'indiquerait comment faire
Revenir en haut Aller en bas
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeVen 6 Fév 2009 - 19:15

Hum se serais génial ça !
On pourrait ainsi créer des even comme celà !
Très pratique pour les jeux de gestion ce système !
Revenir en haut Aller en bas
Elezia
Roi des Lapinous
Roi des Lapinous
Elezia


Masculin Age : 34
Inscrit le : 11/10/2008
Messages : 2292

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeVen 6 Fév 2009 - 19:38

Oui voila pour ce genre d'event un peu long et qui pourrait être mis en appel de script ou en script qui tourne tout le temps!
Moi perso je pensais à l'event que je vais poster en tutoriel cette nuit... Car au lieu de faire cet event à chaque fois je préférerais faire un appel de script =)
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 34
Inscrit le : 15/10/2008
Messages : 351

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeVen 6 Fév 2009 - 22:15

va voir du coté du script Game_Interpreter, c'est lui qui gère toutes les commandes d'event.

Pour faire simple, voici la structure d'un event:

Code:
module RPG
  class Event
    class Page
      def initialize
        condition = RPG::Event::Page::Condition.new # le declencheur
        @graphic = RPG::Event::Page::Graphic.new # l'apparence
        ...
        @list = [RPG::EventCommand.new] # les commandes
      end
    end
  end
end
je ne sais pas si ca te parle, mais tu 'print' un event, tu va trouver une quantité de données contenues dans des variables: tout ce qui fait l'event (voir ci dessus). et toutes ces données sont comme tu dis 'compilées' mais je dirais plutot encodées dans une fichier rvdata, comme l'a dit ASHKA, le map.rvdata.

pour ce qui est du codage de ton évent, c'est parfaitement réalisable.
Créer des events en cours de jeu est également possible, mais lourd a mettre en place.

bonne nuit,
berka
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeSam 7 Fév 2009 - 15:32

Et avec ça on fait quoi une l'even fini ?
Comment on l'appel ?
Et comment on le créer ?
Citation :
Créer des events en cours de jeu est également possible, mais lourd a mettre en place
Pourquoi ?
Suffit pas de
Code:
$scene = Scene_EvenMarchand.new
Je crois que je viens de dire une grosse connerie >o<
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 34
Inscrit le : 15/10/2008
Messages : 351

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeSam 7 Fév 2009 - 15:49

le code montre la structure d'un event, ce n'est pas suffisant pour en générer un

ce code ne s'appelle donc pas

créer un event en cours de jeu est lourd car il faut recréer toute la structure de l'event: la liste des commandes, notamment

Scene_EvenMarchand.new n'est pas une classe ruby. Les events sont gérés par des classes cachées, internes qui définit tous leurs parametres. Ensuite, ils sont traités par les classes Game_Event, affichés sur la Scene_Map par Sprite_Character
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeSam 7 Fév 2009 - 16:39

Ok
Mais si on a fait toute les commandes, l'apparence et tout ce qui vas avec comment on le créer ?
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 34
Inscrit le : 15/10/2008
Messages : 351

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeSam 7 Fév 2009 - 16:48

comme ceci:

dans Game_Map
Code:

event = RPG::Event.new(x, y)
event.id  = free_event_id
event.name = name
event.pages[0].graphic.character_name = character_name
event.pages[0].graphic.character_hue = character_hue
event.pages[0].graphic.direction = 2
event.pages[0].move_type = 0
event.pages[0].move_frequency = 3
...les commandes...
@events[event.id] = Game_Event.new(@map_id, event)
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 34
Inscrit le : 15/10/2008
Messages : 351

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeSam 7 Fév 2009 - 22:07

et voila une ébauche de script:
Code:
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                            Générateur d'événement
#  par berka
#                          www.rpgmakervx-fr.com                                         
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#  Rgss 2                  v 1.0
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                          -Utilisation-
# écrivez dans un event, commande insérer un script:
#
# #minimum requis:
# [event]                # obligatoire !
#  x = 5                # position abscisses
#  y = 10                # position ordonnées
# ou pos_rand=true      # position aléatoire
#  nom = "Event01"      # nom de l'event
#  chara = "Actor01"    # nom du fichier du charset
#  index = 0            # index sur la planche de chara
#  dir = 2              # direction de l'event
#  type_mov = 1          # 1 mouvement aléatoire, 0 immobile...
#  freq_mov = 3          # frequence de mouvement
#  vit_mov = 0          # vitesse de mouvement
#
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
class Game_Map
  def check_event(x,y)
    for event in $game_map.events.values
      return event.id if event.x==x&&event.y==y
    end
    return nil
  end
  def event_name(id)
    return $game_map.events[id].name if !$game_map.events[id].nil?
  end
  def make_event(hash)
    if hash[:pos_rand]
      x,y=*aleatoire_pos
    else
      x,y=hash[:x].to_i,hash[:y].to_i if hash.has_key?(:x)&&hash.has_key?(:y) rescue return
    end
    return if x.nil?||y.nil?
    if check_event(x,y).nil?
      event=RPG::Event.new(x,y)
      hash.has_key?(:id) ? id=hash[:id] : id=99
      hash.has_key?(:nom) ? nom=hash[:nom] : nom=event.id
      hash.has_key?(:chara) ? chara=hash[:chara] : chara=""
      hash.has_key?(:index) ? index=hash[:index].to_i : index=0
      hash.has_key?(:dir) ? dir=hash[:dir].to_i : dir=3
      hash.has_key?(:type_mov) ? type_mov=hash[:type_mov].to_i : type_mov=0
      hash.has_key?(:freq_mov) ? freq_mov=hash[:freq_mov].to_i : freq_mov=3
      hash.has_key?(:vit_mov) ? vit_mov=hash[:vit_mov].to_i : vit_mov=3
      hash.has_key?(:traversable) ? trav=eval(hash[:traversable].to_i) : trav=false
      hash.has_key?(:trigger) ? trigger=hash[:trigger].to_i : trigger=0
      text=hash[:text] if hash.has_key?(:text)
     
      event.id=id
      event.name=nom
      event.pages[0].graphic.character_name=chara
      event.pages[0].graphic.character_index=index
      event.pages[0].graphic.direction=dir
      event.pages[0].move_type=type_mov
      event.pages[0].move_frequency=freq_mov
      event.pages[0].move_speed=vit_mov
      event.pages[0].through=trav
      event.pages[0].trigger=trigger
      event.pages[0].list=[text] if !text.nil?
      @events[event.id]=Game_Event.new(@map_id,event)
      $scene=Scene_Map.new
    end
  end
  def aleatoire_pos
    loop{x,y=rand(width).to_i,rand(height).to_i
    (return x,y) if passable?(x,y)}
    return nil,nil
  end
end

class Game_Interpreter
  def eval(script)
    if script.include?('[event]')
      hash={}
      script.gsub!('[event]','')
      list=script.split("\n")
      list.each{|e|e.gsub!(/\ \=\ /,"=");f=e.split("=");hash[f[0].to_sym]=f[1] if !f[1].nil?}
      $game_map.make_event(hash)
    else
      return Kernel.eval(script)
    end 
  end
end

mince... double post... au temps pour moi Embarassed
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 7:46

Wouaw !
Mais il menque un truc...
Les commandes !
Comment on les ajoutes Embarassed
Se serait pas trop utilise d'avoir juste un even...vide...
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 34
Inscrit le : 15/10/2008
Messages : 351

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 9:36

ouaip, je disais que c'etait un début de script. D'ailleurs, il reste pas mal de truc a régler:
event infranchissable, commandes, mouvement paramétré... mais ca peut etre pas mal pour créer des PNJ !
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 9:47

Ok !
Donc j'attends la version final... avec impatience !
Revenir en haut Aller en bas
Elezia
Roi des Lapinous
Roi des Lapinous
Elezia


Masculin Age : 34
Inscrit le : 11/10/2008
Messages : 2292

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 13:39

Cool ça me parait nickel =) Mais avec ce genre de systéme des pnj peuvent se créer aléatoirement?
En tout cas ça me permettra d'inclure mon premier script sur lequel je travaille... mais y a encore du boulot x)
Revenir en haut Aller en bas
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 13:43

Citation :
Mais avec ce genre de systéme des pnj peuvent se créer aléatoirement?
Gestion de variable X = nombre entre y et z
Condition la variable X = d alors tu fais le truc etc...

Citation :
En tout cas ça me permettra d'inclure mon premier script sur lequel je travaille... mais y a encore du boulot x)
Tu peux en dire plus Very Happy
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 34
Inscrit le : 15/10/2008
Messages : 351

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 14:48

nan, berka a tout prévu:
Code:
[event]
pos_rand=true
chara=Actor1
index=0
nom= event
type_mov=1

et hop, un event est créé sur une case aléatoire franchissable Wink
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Elezia
Roi des Lapinous
Roi des Lapinous
Elezia


Masculin Age : 34
Inscrit le : 11/10/2008
Messages : 2292

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 15:23

Y a deux choses qui serait vraiment parfaite si c'étais réalisable:
-la premiére serait qu'on puisse définir une variable entre 0 et X et que selon ça le pnj créé aléatoirement dise une phrase toute faite de pnj.
-la deuxiéme serait pour un univers ouvert faire en sorte que les pnj arrive là et se ballade comme ça, puis disparaisse sur un bord de la carte.

Et enfin mon premier script lameche est pas génial x) je veux juste rajouter une fonction qui me parait intéressante... le problème c'est que j'aimerais le faire moi même et pas que quelqu'un le fasse à ma place, c'est un entrainement Surprised
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 34
Inscrit le : 15/10/2008
Messages : 351

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 18:31

Voila une nouvelle version avec quelques améliorations:
Code:
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                            Générateur d'événement
#  par berka
#                          www.rpgmakervx-fr.com                                         
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#  Rgss 2                  v 1.0
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                          -Utilisation-
# écrivez dans un event, commande insérer un script:
#
# #minimum requis:
# [event]                # obligatoire !
#  x = 5                # position abscisses
#  y = 10                # position ordonnées
# ou pos_rand=true      # position aléatoire
#  nom = "Event01"      # nom de l'event
#  chara = "Actor01"    # nom du fichier du charset ou: chara=aleatoire
#  c_index = 0          # index sur la planche de chara
#  face = "Actor01"      # nom du fichier du faceset ou: face=aleatoire
#  f_index = 0          # index sur la planche de chara
#  dir = 2              # direction de l'event
#  type_mov=0            # type de mouvement
#  vit_mov=0            # vitesse de mouvement
#  freq_mov=0            # frequence de mouvement
#  texte="bonjour"      # dialogue ou: texte=aleatoire (cf. liste dessous)
#  trigger=0            # declencheur de l'event
#  prio_type=1          # type de priorité
#
#
#
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
$dialogues=["Bonjour, il fait beau, nan ?","Comment allez vous ?","Partez d'ici !",
            "Je n'ai pas de temps à vous accorder !","Vous m'ennuyez...","Encore vous ?",
            "Ah! vous voilà, cher ami !","Tiens, vous semblez fatigué","Grrrrr...",
            "Hors de ma vue !","Quelle belle journée!","Je me promène.","Vous êtes de retour ?",
            "Hihihi !","Rien.","Je ne veux plus vous parler.","Je n'ai rien à vous proposer.",
            "Que faire ?","Mais c'est ¥N[1] !","Le temps change...","Vous êtes mon idole...",
            "Dieu, que vous êtes laid !","Vous me rappelez quelqu'un...","Vous avez l'air sournois",
            "Je ne vous fais pas confiance...","Ne m'approchez pas !","Hé ! tu la connais celle là ?",
            "Ahhahaharff...","Bonjour","Portez vous bien !"]
class Game_Map
  include RPG
  def check_event(x,y)
    for event in @events.values
      return event.id if event.x==x&&event.y==y
    end
    return nil
  end
  def event_name(id)
    return @events[id].name if !@events[id].nil?
  end
  def make_event(hash)
    @commandes=[]
    if hash[:pos_rand];x,y=*aleatoire_pos
    else;x,y=hash[:x].to_i,hash[:y].to_i if hash.has_key?(:x)&&hash.has_key?(:y) rescue return
    end
    return if x.nil?||y.nil?
    if check_event(x,y).nil?
      @event=RPG::Event.new(x,y)
      @event.id=creerid
      hash.has_key?(:nom)? nom=hash[:nom] : nom=@event.id
      hash.has_key?(:chara)? chara=hash[:chara] : chara=""
      hash.has_key?(:face)? face=hash[:face] : face=""
      hash.has_key?(:c_index)? c_index=hash[:c_index].to_i : c_index=0
      hash.has_key?(:f_index)? f_index=hash[:f_index].to_i : f_index=0
      hash.has_key?(:dir)? dir=hash[:dir].to_i : dir=3
      hash.has_key?(:type_mov)? type_mov=hash[:type_mov].to_i : type_mov=0
      hash.has_key?(:freq_mov)? freq_mov=hash[:freq_mov].to_i : freq_mov=3
      hash.has_key?(:vit_mov)? vit_mov=hash[:vit_mov].to_i : vit_mov=3
      hash.has_key?(:traversable)? trav=eval(hash[:traversable].to_i) : trav=false
      hash.has_key?(:trigger)? trigger=hash[:trigger].to_i : trigger=0
      hash.has_key?(:prio_type)? prio_type=hash[:prio_type].to_i : prio_type=1
      texte=hash[:texte] if hash.has_key?(:texte)
      chara,c_index,face,f_index=perso_aleatoire if chara=="aleatoire"||face=="aleatoire"
      (ajout_cmd(101,[face,f_index,0,2])
      if texte=="aleatoire";ajout_cmd(401,[$dialogues[rand($dialogues.size)]])
      else;ajout_cmd(401,[texte]);end) if !texte.nil?
     
      @event.name=nom
      @event.pages[0].graphic.character_name=chara
      @event.pages[0].graphic.character_index=c_index
      @event.pages[0].graphic.direction=dir
      @event.pages[0].move_type=type_mov
      @event.pages[0].move_frequency=freq_mov
      @event.pages[0].move_speed=vit_mov
      @event.pages[0].through=trav
      @event.pages[0].trigger=trigger
      @event.pages[0].priority_type=prio_type
      @events[@event.id]=Game_Event.new(@map_id,@event)
      @need_refresh=true
      $scene.refresh_spriteset 
    end
  end
  def aleatoire_pos
    loop{x,y=rand(width).to_i,rand(height).to_i
    (return x,y) if passable?(x,y)}
    return nil,nil
  end
  def perso_aleatoire
    i=rand(7)
    res="people#{rand(3)+1}"
    return [res,i,res,i]
  end
  def creerid
    id=1;id+=1 while @events.keys.include?(id)
    return id
  end
  def ajout_cmd(code,param=[],i=0)
    cmd=EventCommand.new
    cmd.code=code
    cmd.parameters=param
    cmd.indent=i
    @event.pages[0].list.insert(-2,cmd)
  end
end
class Scene_Map<Scene_Base
  def refresh_spriteset
    @spriteset.dispose
    @spriteset=Spriteset_Map.new
  end
end
class Game_Interpreter
  def eval(script)
    if script.include?('[event]')
      hash={}
      script.gsub!('[event]','')
      list=script.split("\n")
      list.each{|e|e.gsub!(" =","=");e.gsub!("= ","=");f=e.split("=");hash[f[0].to_sym]=f[1] if !f[1].nil?}
      $game_map.make_event(hash)
    else
      return Kernel.eval(script)
    end 
  end
end

exemple:
Code:
[event]
pos_rand=true
chara=aleatoire
index=0
texte= aleatoire
nom= event
type_mov=1
prio_type=1
face=Actor1
f_index=0
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Elezia
Roi des Lapinous
Roi des Lapinous
Elezia


Masculin Age : 34
Inscrit le : 11/10/2008
Messages : 2292

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 19:19

Ahahah ça me parait presque parfait =) Plus que quelques détails et options supplémentaires et ça le sera ^o^
Sinon moi je bosse activement sur mon script, LaMeche m'ayant fait penser à un détail auquel je ne pensais pas, je fini de le régler et je me lance :p
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 34
Inscrit le : 15/10/2008
Messages : 351

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 19:29

quoi comme options ?
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Elezia
Roi des Lapinous
Roi des Lapinous
Elezia


Masculin Age : 34
Inscrit le : 11/10/2008
Messages : 2292

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 19:36

Fonction comme, suivre l'événement, suivre le héros, apparait d'un bout de la carte marche aléatoirement et au bout de X temps va à une extrémité de la carte et redisparait, des trucs complexes qui donnerait un aspect plus vivant aux pnj, je sais ça fais très bling bling mais je trouve ça sympa ^^
Là perso je pensais que suivre l'événement était facile, j'ai commencé à m'en charger, mais je ralenti sur le passage des obstacles, enfin encore deux trois petits détails et ça passera nickel Smile
Revenir en haut Aller en bas
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 34
Inscrit le : 15/10/2008
Messages : 351

Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitimeDim 8 Fév 2009 - 20:47

voila une nouvelle version, permettant de déclencher des combats, et de lancer des scripts...
pour ce qui est de tes idées, si elles sont bonnes, je pense qu'elles ne s'appliquent pas trop a ce script. Mon script se lance dès la création de l'event et s'arrete dès qu'il existe. Pour gerer l'event dans la duree, il faut creer un autre type de script...

Code:
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                            Générateur d'événement
#  par berka                                            rgss2
#                          www.rpgmakervx-fr.com                                         
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#  Rgss 2                  v 1.0        sur les bases de mithos et pipo
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#                          -Utilisation-
# écrivez dans un event, commande insérer un script:
#
# #minimum requis:
# [event]                # obligatoire !
#  x : 5                # position abscisses
#  y : 10                # position ordonnées
# ou pos_rand:true      # position aléatoire
#  nom : "Event01"      # nom de l'event
#  chara : "Actor01"    # nom du fichier du charset ou: chara:aleatoire
#  c_index : 0          # index sur la planche de chara
#  face : "Actor01"      # nom du fichier du faceset ou: face:aleatoire
#  f_index : 0          # index sur la planche de chara
#  dir : 2              # direction de l'event
#  type_mov:0            # type de mouvement
#  vit_mov:0            # vitesse de mouvement
#  freq_mov:0            # frequence de mouvement
#  texte:"bonjour"      # dialogue ou: texte:aleatoire (cf. liste dessous)
#  trigger:0            # declencheur de l'event
#  prio_type:1          # type de priorité
#  script: print @a=1    # lance une commande de script
#  combat: 1,true,false  # combat: id_monstre, fuite, continuer si defaite
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# ne fonctionne pas avec mon script de video... pour toute demande de résolution
# de compatibilité me demander...
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
$dialogues=["Bonjour, il fait beau, nan ?","Comment allez vous ?","Partez d'ici !",
            "Je n'ai pas de temps à vous accorder !","Vous m'ennuyez...","Encore
            vous ?","Ah! vous voilà, cher ami !","Tiens, vous semblez fatigué",
            "Grrrrr...","Hors de ma vue !","Quelle belle journée!","Je me promène.",
            "Vous êtes de retour ?","Hihihi !","Rien.","Je ne veux plus vous parler.",
            "Que faire ?","Mais c'est ¥N[1] !","Le temps change...","Vous êtes mon
            idole...","Dieu, que vous êtes laid !","Vous me rappelez quelqu'un...",
            "Vous avez l'air sournois","Je ne vous fais pas confiance...","Ne m'
            approchez pas !","Hé ! tu la connais celle là ?","Ahhahaharff...",
            "Bonjour","Portez vous bien !"]
class Game_Map
  include RPG
  def check_event(x,y)
    for event in @events.values
      return event.id if event.x==x&&event.y==y
    end
    return nil
  end
  def event_name(id)
    return @events[id].name if !@events[id].nil?
  end
  def make_event(hash)
    @commandes=[]
    if hash[:pos_rand];x,y=*aleatoire_pos
    else;x,y=hash[:x].to_i,hash[:y].to_i if hash.has_key?(:x)&&
      hash.has_key?(:y) rescue return
    end
    return if x.nil?||y.nil?
    if check_event(x,y).nil?
      @event=RPG::Event.new(x,y)
      @event.id=creerid
      hash.has_key?(:nom)? nom=hash[:nom] : nom=@event.id
      hash.has_key?(:chara)? chara=hash[:chara] : chara=""
      hash.has_key?(:face)? face=hash[:face] : face=""
      hash.has_key?(:c_index)? c_index=hash[:c_index].to_i : c_index=0
      hash.has_key?(:f_index)? f_index=hash[:f_index].to_i : f_index=0
      hash.has_key?(:dir)? dir=hash[:dir].to_i : dir=3
      hash.has_key?(:type_mov)? type_mov=hash[:type_mov].to_i : type_mov=0
      hash.has_key?(:freq_mov)? freq_mov=hash[:freq_mov].to_i : freq_mov=3
      hash.has_key?(:vit_mov)? vit_mov=hash[:vit_mov].to_i : vit_mov=3
      hash.has_key?(:traversable)? trav=eval(hash[:traversable].to_i) : trav=false
      hash.has_key?(:trigger)? trigger=hash[:trigger].to_i : trigger=0
      hash.has_key?(:prio_type)? prio_type=hash[:prio_type].to_i : prio_type=1
      texte=hash[:texte]if hash.has_key?(:texte)
      script=hash[:script]if hash.has_key?(:script)
      combat=hash[:combat].sub(" ","").split(',')if hash.has_key?(:combat)
      chara,c_index,face,f_index=*perso_aleatoire if chara=="aleatoire"||face=="aleatoire"
      (ajout_cmd(101,[face,f_index,0,2])
      if texte=="aleatoire";ajout_cmd(401,[$dialogues[rand($dialogues.size)]])
      else;ajout_cmd(401,[texte]);end)if !texte.nil?
      ajout_cmd(355,[script])if !script.nil?
      ajout_cmd(301,[0,combat[0].to_i,combat[1]=='true',
      combat[2]=='true'])if !combat.nil?
     
      @event.name=nom
      @event.pages[0].graphic.character_name=chara
      @event.pages[0].graphic.character_index=c_index
      @event.pages[0].graphic.direction=dir
      @event.pages[0].move_type=type_mov
      @event.pages[0].move_frequency=freq_mov
      @event.pages[0].move_speed=vit_mov
      @event.pages[0].through=trav
      @event.pages[0].trigger=trigger
      @event.pages[0].priority_type=prio_type
      @events[@event.id]=Game_Event.new(@map_id,@event)
      @need_refresh=true
      $scene.refresh_spriteset 
    end
  end
  def aleatoire_pos
    loop{x,y=rand(width).to_i,rand(height).to_i
    (return x,y)if passable?(x,y)}
    return nil,nil
  end
  def perso_aleatoire
    i=rand(7)
    res="people#{rand(3)+1}"
    return [res,i,res,i]
  end
  def creerid
    id=1;id+=1 while @events.keys.include?(id)
    return id
  end
  def ajout_cmd(code,param=[],i=0)
    cmd=EventCommand.new
    cmd.code,cmd.parameters,cmd.indent=code,param,i
    @event.pages[0].list.insert(-2,cmd)
  end
end
class Scene_Map<Scene_Base
  def refresh_spriteset
    @spriteset.dispose;@spriteset=Spriteset_Map.new
  end
end
class Game_Interpreter
  def eval(script)
    if script.include?('[event]')
      hash={}
      script.gsub!('[event]','')
      list=script.split("\n")
      list.each{|e|e.gsub!(" :",":");e.gsub!(": ",":");f=e.split(":")
      hash[f[0].to_sym]=f[1]if !f[1].nil?}
      $game_map.make_event(hash)
    else;return Kernel.eval(script)
    end 
  end
end
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Contenu sponsorisé




Compiler un event? [resolu] Empty
MessageSujet: Re: Compiler un event? [resolu]   Compiler un event? [resolu] Icon_minitime

Revenir en haut Aller en bas
 

Compiler un event? [resolu]

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

 Sujets similaires

-
» [Résolu] Compiler un projet.
» [Résolu] Problème pour compiler le jeu
» Problème d'event activant un autre event...[résolu]
» [Résolu] un ARPG en event
» [Résolu]Event dialogue

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Résolu-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit