RPG Maker VX/VXAce - La Communauté - v3
Le forum de la communauté francophone de making. News, entraide, ressources, venez nombreux!
Spécialisés dans RPG Maker VX et RPG Maker VXAce

AccueilPage d'accueilFAQRechercherS'enregistrerConnexion



Partager | 
 

 Boîte à Outils pour event-makers

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Mist'
Administrateur
Administrateur


Nombre de messages: 2689
Age: 19
Localisation: France // Auvergne // Cantal
Capacités: expert
Distinction: Elite du Service Anti Boulets

Force Rouge Mist', toujours EN ACTION!! contre les Gaaxkun de la cité d'Erem Vehyx
La biatch préréfée à Coco'
[Coco' ]

"J'en branle"
[Mist' à Yuko]

JEAN LOU de la commu' (Jena Lee fake)
[Universal Music]
Date d'inscription: 22/12/2007

MessageSujet: Boîte à Outils pour event-makers   Mer 11 Fév 2009 - 20:49

Et bien voilà, j'avais réfléchis à ce projet un bon moment, j'vous en ai parlé sur la ChatBox, maintenant, j'fais un post expliquatif de ce projet de "BAO" pour event-makers.

La plupart des makeurs ne savent pas scripter, donc, j'ai eu pour idée de confectionner cette BAO afin de leur permettre d'exploiter le RGSS via les évènements de RPG Maker VX.
Donc, cela nous permettra aussi de combler les faiblesses de RMVX niveau évènements par rapport à RMXP (ajout d'une commande brouillard, etc.).

Comment allons nous procéder?

Moi, j'pensais faire un sondage discret dans la section problèmes, histoire de demander aux event-makers ce qu'ils aimeraient comme commandes en plus, ensuite, coder les meilleures idées retenues dans le Game_Interpreter.

Ensuite, à partir de là, je continuerais mon post, il faut connaître les résultats du sondage pour s'étaler davantage sur le sujet je pense.

Ca nous (à moi aussi évidemment) permettrai d'en apprendre un peu plus sur les commandes Interpreter de RPG Maker VX, qu'en pensez-vous?

_________________
~ The Sauce Make The Difference.


Revenir en haut Aller en bas
http://www.rpgmakervx-fr.com
Berka
Administrateur
Administrateur


Nombre de messages: 1824
Age: 21
Localisation: Paris
Capacités: expert
Distinction: rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription: 16/12/2007

MessageSujet: Re: Boîte à Outils pour event-makers   Mer 11 Fév 2009 - 20:55

déja, il faut trouver un moyen de recuperer des commandes passées par la commande d'appel de script.
Car je pense qu'on ne peut utiliser que cette commande...

un truc du genre:
Code:
[commande]
>obligatoire
a:1
g:true
>options
f:false
...

et ensuite on interprete le tout...
un peu comme j'ai essayé de faire pour mon script de video et de génération d'event.

Mais c'est vraiment une super idée, ca... ca permettra a chacun de coder selon ses disponibilités...
j'adhère !

_________________
.: Je code, donc je suis :.

Berka sur twitter, tavu ?
Pensées politiques et juridiques. Réflexions informatiques.

.: Bonjour Invité, je ne fais pas de support de script par MP :.
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Mist'
Administrateur
Administrateur


Nombre de messages: 2689
Age: 19
Localisation: France // Auvergne // Cantal
Capacités: expert
Distinction: Elite du Service Anti Boulets

Force Rouge Mist', toujours EN ACTION!! contre les Gaaxkun de la cité d'Erem Vehyx
La biatch préréfée à Coco'
[Coco' ]

"J'en branle"
[Mist' à Yuko]

JEAN LOU de la commu' (Jena Lee fake)
[Universal Music]
Date d'inscription: 22/12/2007

MessageSujet: Re: Boîte à Outils pour event-makers   Mer 11 Fév 2009 - 21:27

Tant mieux, à voir Aray' maintenant, et ce sera bon, j'lancerais le sondage (discret quand même, j'trouverais un prétexte pour éviter les questions inutiles.

Content que tu approuves ^^

Berka : c'est sympa comme mot, le sondange !

Mist' : Mais xD
Ca arrive d'appuyer sur une mauvaise touche de temps en temps hein x')
M'enfin, corrigé, merci pour m'l'avoir fait remarquer ^^

_________________
~ The Sauce Make The Difference.




Dernière édition par Mister M. le Mer 11 Fév 2009 - 21:55, édité 2 fois
Revenir en haut Aller en bas
http://www.rpgmakervx-fr.com
ASHKA
Jeune Etudiant
Jeune Etudiant


Nombre de messages: 242
Age: 29
Localisation: Omnipresent !!
Distinction: aucune
Date d'inscription: 28/10/2008

MessageSujet: Re: Boîte à Outils pour event-makers   Mer 11 Fév 2009 - 21:46

Sur le concept, j'adhere aussi !!

J'adore l'Event Langage de Roys et Avygeil pour les possibilités qu'ils offrent aux non-scripteurs, mais j'ai toujours trouvé que c'est assez lourd à mettre en place.

Ce que propose berka, c'est un bon systeme, tout comme une bete methode avec des parametres.
Mais dans le deux cas, faut faire une notice clair et détaillé.

Pour les idées de commande, il y avait un topic sur un autre forum "Les events manquant aux RM", ou un truc du genre ...
Je vais voir s'il y a des trucs à "recuperer" !!

Bien sur, pour ce qui est de coder, je vous degagerais un peu de temps selon vos besoins, suffit de demander !!

ASHKA
Revenir en haut Aller en bas
Mist'
Administrateur
Administrateur


Nombre de messages: 2689
Age: 19
Localisation: France // Auvergne // Cantal
Capacités: expert
Distinction: Elite du Service Anti Boulets

Force Rouge Mist', toujours EN ACTION!! contre les Gaaxkun de la cité d'Erem Vehyx
La biatch préréfée à Coco'
[Coco' ]

"J'en branle"
[Mist' à Yuko]

JEAN LOU de la commu' (Jena Lee fake)
[Universal Music]
Date d'inscription: 22/12/2007

MessageSujet: Re: Boîte à Outils pour event-makers   Mer 11 Fév 2009 - 21:58

Content que ça te plaise aussi Ashka ^^

Bah, plus qu'Aray' à attendre, et j'lance le topic x)


@Ashka : Si t'arrives à récup' des idées dans ce sujet, ce serait pas plus mal hein x)
Merci de t'proposer pour aller voir ça ^_^

_________________
~ The Sauce Make The Difference.


Revenir en haut Aller en bas
http://www.rpgmakervx-fr.com
Berka
Administrateur
Administrateur


Nombre de messages: 1824
Age: 21
Localisation: Paris
Capacités: expert
Distinction: rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription: 16/12/2007

MessageSujet: Re: Boîte à Outils pour event-makers   Mer 11 Fév 2009 - 21:58

Cool !
C'est vrai, que j'ai aussitot pensé a l'EL de Roys... mais je suis de ton avis: c'est beaucoup trop complexe...

Pour le fonctionnement, c'est selon le schéma suivant en gros:

cmd en script dans un évent:
l'interpréteur exécute la commande de script, via la def command_355
dedans, le script est exécuté en tant que chaine, via la fonction eval("...") de kernel

En gros, il faut redéfinir la fonction eval pour l'interpreteur: on aura:
une Game_Interpreter#eval et une Kernel#eval (celle de base)

alors, il suffira d'évaluer la 1ere ligne du script, pour déterminer la commande, et récuperer les réglages:
par un regexp (cassdedi pour aray' ^^) on extrait la commande:
du genre: ligne1.gsub!(/\[(Aa-Zz)\/){cmd=$1}
cmd est le nom de la commande, on l'ajoute à un tableau, suivies des commandes...

les commandes seront alors exécutées si un script rajouté spécifie la commande...

Voila les bases, je pense que c'est le moyen le plus simple...

_________________
.: Je code, donc je suis :.

Berka sur twitter, tavu ?
Pensées politiques et juridiques. Réflexions informatiques.

.: Bonjour Invité, je ne fais pas de support de script par MP :.
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Mist'
Administrateur
Administrateur


Nombre de messages: 2689
Age: 19
Localisation: France // Auvergne // Cantal
Capacités: expert
Distinction: Elite du Service Anti Boulets

Force Rouge Mist', toujours EN ACTION!! contre les Gaaxkun de la cité d'Erem Vehyx
La biatch préréfée à Coco'
[Coco' ]

"J'en branle"
[Mist' à Yuko]

JEAN LOU de la commu' (Jena Lee fake)
[Universal Music]
Date d'inscription: 22/12/2007

MessageSujet: Re: Boîte à Outils pour event-makers   Mer 11 Fév 2009 - 22:08

En parlant des Regexp, si il t'était possible de m'expliquer ça quand t'auras un moment, j't'en serais reconnaissant ^^

Parce que pour le moment, moi et les expressions régulières... ^^"
(C'est enrichissant tout ça x) )
J'pense avoir compris le schéma qu't'as fait :

On récupère les datas via l'eval recodé pour l'interpréteur, ensuite on lit ces mêmes datas grâce à la Regexp qui sort la commande de la chaîne de caract., et donc, on éxécute, c'est ça?

_________________
~ The Sauce Make The Difference.


Revenir en haut Aller en bas
http://www.rpgmakervx-fr.com
ASHKA
Jeune Etudiant
Jeune Etudiant


Nombre de messages: 242
Age: 29
Localisation: Omnipresent !!
Distinction: aucune
Date d'inscription: 28/10/2008

MessageSujet: Re: Boîte à Outils pour event-makers   Mer 11 Fév 2009 - 22:20

J'ai retrouvé le topic en question dans les archives.
Et pour une fois, ça n'est pas trop partie en freestyle ...
Il y a plein d'idée, toutes ne sont pas interessantes, certaines sortent du cadre d'une BAO, mais on peux en tirer pas mal de chose.

Je me permet de mettre un lien : A voir !!

Si je peux demain, j'essayerais d'en extraire la quintessence ... et de vous faire une liste.

ASHKA
Revenir en haut Aller en bas
Mist'
Administrateur
Administrateur


Nombre de messages: 2689
Age: 19
Localisation: France // Auvergne // Cantal
Capacités: expert
Distinction: Elite du Service Anti Boulets

Force Rouge Mist', toujours EN ACTION!! contre les Gaaxkun de la cité d'Erem Vehyx
La biatch préréfée à Coco'
[Coco' ]

"J'en branle"
[Mist' à Yuko]

JEAN LOU de la commu' (Jena Lee fake)
[Universal Music]
Date d'inscription: 22/12/2007

MessageSujet: Re: Boîte à Outils pour event-makers   Mer 11 Fév 2009 - 22:22

Merci Ashka ='P
J'vais y faire un tour, après, j'vais coder un ou deux trucs qui m'sont venus à l'esprit ^^

_________________
~ The Sauce Make The Difference.


Revenir en haut Aller en bas
http://www.rpgmakervx-fr.com
Berka
Administrateur
Administrateur


Nombre de messages: 1824
Age: 21
Localisation: Paris
Capacités: expert
Distinction: rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription: 16/12/2007

MessageSujet: Re: Boîte à Outils pour event-makers   Ven 13 Fév 2009 - 23:59

voila, j'ai un peu regardé pour le noyau:

fait:
création de commande,
vérification de l'existence de la commande
conversion des valeurs: strings, int, bool...

a faire: comment executer spécialement la commande

le script:
Code:
class Game_Interpreter
  def eval(script)
    cmd=script.split("\n")[0].gsub(/\[(\w+)\]/){$1}
    if $asaevent.commandes.include?(cmd)
      if script.split(/\\n/)[0]=~"[#{cmd}]"
        liste=script.split("\n")
        liste[0].gsub(cmd){@com=$&}
        liste.delete_at(0)
        $asaevent.asacmd[@com]={}
        liste.each{|c|c=~/:/;$asaevent.asacmd[@com][$`.to_sym]=$asaevent.trad($')}
        $asaevent.run($asaevent.asacmd[@com])
      end
    else
      Kernel.eval(script)
    end
  end
end

class ASA_Event
  attr_accessor :commandes,:asacmd
  def initialize
    @commandes,@asacmd=[],{}
  end
  def ajout_commande(cmd) # ajoute une commande
    @commandes<<cmd
  end
  def retire_commande(cmd) #enleve une commande
    @commandes.delete(cmd)
    return @commandes
  end
  def liste_commandes # pas tres utile ^^
    return @commandes
  end
  def trad(cmd) #convertit les chaines en objets spécifiques
    case cmd
    when "true";return true
    when "false";return false
    when /^[0-9]/;return eval(cmd).to_i
    else; return cmd
    end
  end
  def run(hash)
    p hash
    # trouver moyen execution:
    # |-> determiner la méthode a appeler
  end
end

$asaevent=ASA_Event.new
$asaevent.ajout_commande("test") # ajout d'une commande [test]
$asaevent.ajout_commande("rgss")

_________________
.: Je code, donc je suis :.

Berka sur twitter, tavu ?
Pensées politiques et juridiques. Réflexions informatiques.

.: Bonjour Invité, je ne fais pas de support de script par MP :.
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Arayashiki
Démonophile sadique
Démonophile sadique


Nombre de messages: 655
Age: 22
Localisation: Trois lettres me demangent. Oserai-je ?
Capacités: bon
Avertissements: Avertissements infinis |-)
Distinction: FUCKING nouveau dieu du mal. Gros connard en chef.
Date d'inscription: 18/08/2008

MessageSujet: Re: Boîte à Outils pour event-makers   Sam 14 Fév 2009 - 0:09

Pour moi je suis grave dedans. L'idéal serait de pouvoir rajouter des boutons ... Mais sans les codes sources c'est impossible. Pour l'idée de sondage, je suis d'accord. Ayant un peu bu je n'irais pas plus loin pour ce soir.
Revenir en haut Aller en bas
Berka
Administrateur
Administrateur


Nombre de messages: 1824
Age: 21
Localisation: Paris
Capacités: expert
Distinction: rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription: 16/12/2007

MessageSujet: Re: Boîte à Outils pour event-makers   Sam 14 Fév 2009 - 0:16

malheureusement, je crois qu'il va falloir se limiter a la fonction appel de scripts !

_________________
.: Je code, donc je suis :.

Berka sur twitter, tavu ?
Pensées politiques et juridiques. Réflexions informatiques.

.: Bonjour Invité, je ne fais pas de support de script par MP :.
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
Arayashiki
Démonophile sadique
Démonophile sadique


Nombre de messages: 655
Age: 22
Localisation: Trois lettres me demangent. Oserai-je ?
Capacités: bon
Avertissements: Avertissements infinis |-)
Distinction: FUCKING nouveau dieu du mal. Gros connard en chef.
Date d'inscription: 18/08/2008

MessageSujet: Re: Boîte à Outils pour event-makers   Sam 14 Fév 2009 - 0:49

Sauf si on trouve un développeur de enterbrain assez gentil pour nous donner les codes sources. Sinon une solution plus chère qui consiste à racheter les droits d'exploitation de VX et ainsi récupérer les codes sources. Mais bon je ne vois pas d'autre alternative... On se limitera à l'appel de script ^^.
Revenir en haut Aller en bas
Berka
Administrateur
Administrateur


Nombre de messages: 1824
Age: 21
Localisation: Paris
Capacités: expert
Distinction: rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription: 16/12/2007

MessageSujet: Re: Boîte à Outils pour event-makers   Sam 14 Fév 2009 - 16:09

Voila un premier jet:
le noyau
Code:
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#  Rgss2                          ASA_Event
#-------------------------------------------------------------------------------
# Par l'Assemblée des Scripteurs Associés              http://rpgmakervx-fr.com
#  |-> membres: Arayashiki, ASHKA, Mister M. et Berka
#-------------------------------------------------------------------------------
# Script Noyau:  permet l'utilisation et l'interprétation de nouvelles commandes
# d'events.
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

class Game_Interpreter
  def eval(script)
    cmd=script.split("\n")[0].gsub(/\[(\w+)\]/){$1}
    if ASA_Event.commandes.include?(cmd)
      begin
        if script.split(/\\n/)[0]=~"[#{cmd}]"
          liste=script.split("\n")
          liste[0].gsub(cmd){@com=$&}
          liste.delete_at(0)
          ASA_Event.asacmd[@com]={}
          liste.each{|c|
          c.gsub!(" :",":");c.gsub!(": ",":")
          c=~/:/;ASA_Event.asacmd[@com][$`.to_sym]=ASA_Event.trad($',@event_id)}
          ASA_Event.run(@com,ASA_Event.asacmd[@com])
        end
      rescue Exception
        msg="Type d'Erreur:\n\t\t#{$!.class}\n"
        msg<<"Commande exécutée:\n\t\t#{cmd}\n"
        msg<<"Valeur lancée:\n\t\t#{Kernel.eval("!@com.nil? ? @com : '-'")}\n"
        msg<<"Map conteneur:\n\t\t#{$game_map.map_id}\n"
        msg<<"Event conteneur:\n\t\t#{@event_id}\n"
        ASA.new.erreur_log(msg)       
      end
    else;Kernel.eval(script)
    end
  end
end

module ASA_Event
  class<<self
    attr_accessor :commandes,:asacmd
    def scripts(*args)
      @liste||={}
      @liste['Noyau']={:date=>'14-02-09',:ver=>'0.1a',:auteur=>'ASA'}
      @liste[args[0]]={:date=>args[1],:ver=>args[2],:auteur=>args[3]}if !args.empty?
      return @liste
    end
    def ajout_commande(cmd,classe)
      @commandes||=[];@cmdexec||={};@asacmd||={}
      @commandes<<cmd
      @cmdexec[cmd]=classe
      return @commandes
    end
    def retire_commande(cmd)
      @commandes.delete(cmd)
      @cmdexec.delete(cmd)
      return @commandes
    end
    def trad(cmd,event)
      case cmd
      when "joueur";return $game_player
      when "event";return $game_map.events[event]
      when "tous";return $game_map.events.values
      when "true";return true
      when "false";return false
      when /[0-9]/;return eval(cmd).to_i
      when /\W/;return eval(cmd)
      when /\w\s/;return cmd
      else;return cmd
      end
    end
    def run(com,hash)
      @cmdexec[com].new(hash)
    end
  end
end

class ASA
  def initialize
    p 'Noyau Manquant' if ASA_Event.nil?
  end
  def ok?(hash,cmd)
    return hash.include?(cmd)
  end
  def erreur_log(msg="")
    log=File.open("raport d'erreur ASA.txt","w+")
    log<<"Log d'erreur ASAEvent du #{Time.now}\n"
    ASA_Event.scripts.each{|s,c|log<<"\nscript: #{s}:\n"
    c.each{|k,v|log<<"\t\t#{k}: #{v}\n"}}
    log<<eval("'\n'+'-'*20+'\n'+msg")
    api=Win32API.new('kernel32','GetPrivateProfileString','pppplp','l')
    api.call("Game","Library","",dll="\0"*96,96,".//Game.ini")
    log<<'-'*20+"\nRgss Dll:\n\t\t#{dll.strip}"
    log<<"\n\nFichier à renvoyer aux auteurs, à http://www.rpgmakervx-fr.com"
    p "Un fichier d'erreur a été créé."
    log.close
  end
end

class Hash
  def get(k)
    k=k.to_sym if k.is_a?(String)
    return self[k] if self.has_key?(k)
    return nil
  end
end


et une classe lambda:
Code:
class Exemple<ASA
  def initialize(hash)
    p @x=hash.get('x')
  end
end
ASA_Event.ajout_commande('test',Exemple)
ASA_Event.scripts('test','14-02-09','0.1','berka')


edit: nouvelle version !

_________________
.: Je code, donc je suis :.

Berka sur twitter, tavu ?
Pensées politiques et juridiques. Réflexions informatiques.

.: Bonjour Invité, je ne fais pas de support de script par MP :.
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
 

Boîte à Outils pour event-makers

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» LES OUTILS DE GREPOLIS
» Premier event
» [Event] Au bord du vide.
» Inscriptions à l'EVENT "Guerre de Guildes"
» Mise a jour réparation bug pet filter, Event Spéciale.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX/VXAce - La Communauté - v3 :: Thématique de recherches-
Web Designers : Widowan, SD-Arius, Coco-Drift & Mist'

|
Forum gratuit | © phpBB | Forum gratuit d'entraide | Contact | Signaler un abus | Créer un forum