AccueilAccueil  PortailPortail  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  S'enregistrerS'enregistrer  ConnexionConnexion  




Partagez | 
 

 [VX] Langue Morte

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Habitant Lv.6
Habitant Lv.6
avatar


Masculin Age : 23
Inscrit le : 28/02/2010
Messages : 124

MessageSujet: [VX] Langue Morte   Dim 21 Mar 2010 - 17:16

Par Milow

Description
Que diriez vous d'ajouter une longue Morte à la manière des Al Bhed (dans FFX) ?
Voici donc le but de ce script ^^

Comment sa marche ?
Alors pour composer un message il vous suffit de taper votre texte dans cette balise
Code:
\L[text]
Le script gère ensuite la conversion.
Pour faire apprendre une lettre faite un appel de script dans un event et rentrez ceci dedans
Code:
savoir(id, value)
id > ID de la lettre (ici la lettre A a pour ID 1)
value >
- true > Connaissance de la traduction
- false > Non connaissance de la traduction

Screen
Spoiler:
 

Code:
#==============================================================================
# ● [VX] ◦ Langue Morte
#--------------------------------------------------------------------------
# ◦ Par  Milow
# ◦ Version 2
#==============================================================================
# * Ecrire un message étrangé
# Ecrivez tous simplement votre message avec cette balise
# \L[text]
# text : Votre message
# Le script gére ensuite la conversion
# * Régler la connaissance de l'alphabet étrangé
# Pour cela faite un appel de script dans un event
# savoir(id, value)
# id : Numéro d'appartion de la lettre
# value : true/false si true alors la lettre est convertie en lettre connu, si false en lettre étrangére
#==============================================================================
module Alphabet
  #--------------------------------------------------------------------------
  # * Police de l'écriture étrangère
  #--------------------------------------------------------------------------
  Police = "Webdings"
  #--------------------------------------------------------------------------
  # * Alphabet
  #--------------------------------------------------------------------------
  Lettre = [
  #--------------------------------------------------------------------------
  # * Comment ajouter une lettre
  # Sautez une ligne puis suivez le model suivant
  # ["a", "b", "c", value],
  # a : Caractère étrangé
  # b : lettre minuscule inétrangére
  # c : lettre majuscule inétrangére
  # value : true/ false si true possédé dés le départ du jeu sinon c'est à gagner
  # ["£", "a", "A", false],
  # remplace la lettre a par £ tant qu'un certain objet n'est pas possédé
  #--------------------------------------------------------------------------
  ["y", "a", "A", false], # 1
  # Ne mettez rien après ici !!
  ]
  #--------------------------------------------------------------------------
  # * Couleur de l'écriture étrangère
  # En fonction des couleurs du Window Skin
  #--------------------------------------------------------------------------
  Color = 1
end

#==============================================================================
# ** Game_Interpreter
#==============================================================================

class Game_Interpreter
  def savoir(id, value)
    $game_party.alphabet[id-1][3] = value
  end
end
#==============================================================================
# ** Game_Party
#==============================================================================

class Game_Party
  attr_reader :alphabet
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias add_ini initialize
  def initialize
    add_ini
    @alphabet = Alphabet::Lettre
  end
end
#==============================================================================
# ** Window_Message
#==============================================================================

class Window_Message
  #--------------------------------------------------------------------------
  # * Update Message
  #--------------------------------------------------------------------------
  def update_message
    loop do
      c = @text.slice!(/./m)            # Get next text character
      case c
      when nil                          # There is no text that must be drawn
        finish_message                  # Finish update
        break
      when "\x00"                      # New line
        new_line
        if @line_count >= MAX_LINE      # If line count is maximum
          unless @text.empty?          # If there is more
            self.pause = true          # Insert number input
            break
          end
        end
      when "\x01"                      # \C[n]  (text character color change)
        @text.sub!(/\[([0-9]+)\]/, "")
        contents.font.color = text_color($1.to_i)
        next
      when "\x02"                      # \G  (gold display)
        @gold_window.refresh
        @gold_window.open
      when "\x03"                      # \.  (wait 1/4 second)
        @wait_count = 15
        break
      when "\x04"                      # \|  (wait 1 second)
        @wait_count = 60
        break
      when "\x05"                      # \!  (Wait for input)
        self.pause = true
        break
      when "\x06"                      # \>  (Fast display ON)
        @line_show_fast = true
      when "\x07"                      # \<  (Fast display OFF)
        @line_show_fast = false
      when "\x08"                      # \^  (No wait for input)
        @pause_skip = true
      when "\x09"
        @text.sub!(/\[([0-9]+)\]/, "")
        contents.font.name = $1.to_i == 0 ? Font.default_name : Alphabet::Police
      else                              # Normal text character
        contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
        c_width = contents.text_size(c).width
        @contents_x += c_width
      end
      break unless @show_fast or @line_show_fast
    end
  end
  alias add_convert convert_special_characters
  #--------------------------------------------------------------------------
  # * Convert Special Characters
  #--------------------------------------------------------------------------
  def convert_special_characters
    add_convert
    if (@text =~ /\\L\[(.*?)\]/i) != nil
      text = $1.to_s
      alphabet = $game_party.alphabet
      alphabet.each_index { |i|
        if alphabet[i][3]
          for x in 1..2
            text.gsub!(alphabet[i][x]) {"\x01[#{Alphabet::Color}]#{alphabet[i][x]}\x01[0]"}
          end
        else
          for x in 1..2
            text.gsub!(alphabet[i][x]) {"\x09[1]#{alphabet[i][0]}\x09[0]"}
          end
        end
      }
      @text.gsub!(/\\L\[(.*?)\]/i) {text}
    end
  end
end

Risque d'incompatibilité avec certains scripts touchant aux messages!


Dernière édition par Milow le Ven 11 Juin 2010 - 11:29, édité 5 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Vagabond Lv.5
Vagabond Lv.5
avatar


Masculin Age : 23
Inscrit le : 13/03/2010
Messages : 93

MessageSujet: Re: [VX] Langue Morte   Dim 21 Mar 2010 - 17:18

Déjà que les langue des Al Bhed est trop étrange ^^
Mais j'aime bien l'idée !

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Maire Lv.9
Maire Lv.9
avatar


Masculin Age : 30
Inscrit le : 04/02/2009
Messages : 326

MessageSujet: Re: [VX] Langue Morte   Dim 21 Mar 2010 - 18:47

Humm ce qui pourrait être intéressant sera de mixer cela avec un changement de police entre les 2 langues...

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Poulet carnivore Lv.2
Poulet carnivore Lv.2
avatar


Masculin Age : 27
Inscrit le : 21/03/2010
Messages : 10

MessageSujet: Re: [VX] Langue Morte   Dim 21 Mar 2010 - 19:04

Salut,

Il est vrai que l'idée de base est originale ! Smile
Bravo.

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ex-Admin Cruelle
Ex-Admin Cruelle
avatar


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

MessageSujet: Re: [VX] Langue Morte   Lun 22 Mar 2010 - 16:56

Nickel ! Bien joué. C'est ton premier script ?
+5 en script dans tout les cas =)

_________________

Ma librairie de scripts

♥ Tata blockie vous conseille :

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Habitant Lv.6
Habitant Lv.6
avatar


Masculin Age : 23
Inscrit le : 28/02/2010
Messages : 124

MessageSujet: Re: [VX] Langue Morte   Lun 22 Mar 2010 - 16:57

Citation :
Humm ce qui pourrait être intéressant sera de mixer cela avec un changement de police entre les 2 langues...
Ah oui pas mal comme idée ^^
Je vois s'il y a d'autre idées puis ensuite je ferrais une MàJ

Citation :
C'est ton premier script ?
Mon premier script potable xD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ex-Admin Cruelle
Ex-Admin Cruelle
avatar


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

MessageSujet: Re: [VX] Langue Morte   Lun 22 Mar 2010 - 17:19

D'accord ! Bon bah je te rajoute 5 points en script si tu fait une gestion de la police =) Et si t'a d'autre idée te gène pas surtout !
Sinon c'est bien codé, je te donne quand même deux trois p'tits conseils :

Alors tu as "$game_party.alphabet" qui reviens plusieurs fois. Je te conseille de placer en début de méthode :
Code:
alphabet = $game_party.alphabet
comme ca t'a juste à réécrire alphabet ca va plus vite, et il à pas à aller chercher la valeur à chaque fois.

Ensuite pour le "not" tu peux le remplacer par un "!", ou bien utiliser unless la condition inverse du if (c'est ce n'est pas vrai au lieu de si c'est vrai) par exemple ces trois lignes de codes sont équivalentes :
Code:
if !alphabet
if not alphabet
unless alphabet

Et pour finir
Code:
for i in 0...alphabet.size
# Instructions
end
peut se remplacer par une instruction plus pratique :
Code:
alphabet.each_index { |i|
 # Instructions }
.each_index prend tout les index des termes de ton tableau et les place dans la variable que t'a définie entre les "||". Si tu veux récupérer tout les termes, et non pas les index suffit de mettre ".each"

Voila voila, deux trois p'tits conseil qui pourront t'aider dans tes futurs scripts =)

_________________

Ma librairie de scripts

♥ Tata blockie vous conseille :

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Habitant Lv.6
Habitant Lv.6
avatar


Masculin Age : 23
Inscrit le : 28/02/2010
Messages : 124

MessageSujet: Re: [VX] Langue Morte   Lun 22 Mar 2010 - 18:39

Et voilà script optimisé Wink

Gestion de la police

Blockade > Ouaw énorme O.O
Je viens d'apprendre à me servir de .each !
C'est un peu plus rapide à écrire
et sa fait plus pro !
Merci pour tes autres conseils =)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ex-Admin Cruelle
Ex-Admin Cruelle
avatar


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

MessageSujet: Re: [VX] Langue Morte   Lun 22 Mar 2010 - 19:18

Nickel =) Mais de rien je suis la pour vous aider dans votre création de scripts ! J'te rajoute tes 5 points mérités !

_________________

Ma librairie de scripts

♥ Tata blockie vous conseille :

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Maître des Duels
Maître des Duels
avatar


Masculin Age : 24
Inscrit le : 29/07/2009
Messages : 7838

MessageSujet: Re: [VX] Langue Morte   Lun 22 Mar 2010 - 20:09

Sympa ce script ^^

Il me semble que j'en avais trouvé un du même genre sur un autre forum.

C'est du beau travail !!

+ 10 en script Ah merde je peux pas en fait xD

_________________
Gimme a hell yeah.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Habitant Lv.6
Habitant Lv.6
avatar


Masculin Age : 26
Inscrit le : 26/09/2009
Messages : 128

MessageSujet: Re: [VX] Langue Morte   Lun 22 Mar 2010 - 20:10

Milow je vais utiliser ton script ! Je te félicite pour cet œuvre magnifique ! cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
avatar


Inscrit le : 07/10/2009
Messages : 54

MessageSujet: Re: [VX] Langue Morte   Mar 23 Mar 2010 - 17:11

J'ai pas compris à quoi ca sert...

_________________
-Je ne fréquente plus ce forum -
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Habitant Lv.6
Habitant Lv.6
avatar


Masculin Age : 23
Inscrit le : 28/02/2010
Messages : 124

MessageSujet: Re: [VX] Langue Morte   Mar 23 Mar 2010 - 19:08

......
Le screen est pas explicite ? x]
En fait tu peux convertir un texte en langue inconnue puis au fur et à mesure que tu connais la signification du symbole le texte en langue connue apparait !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Mage Lv.11
Mage Lv.11
avatar


Masculin Age : 20
Inscrit le : 02/03/2009
Messages : 513

MessageSujet: Re: [VX] Langue Morte   Sam 3 Avr 2010 - 17:17

Ouah c'est enorme merci beaucoup, je cherchai des scripts comme celui-là mais aucun vraiment potable

merci beaucoup je l'utiliserais

Ciao

Sylfurion

_________________
N'oubliez pas de consulter la liste de script corrigée par Blockade et établie par moi-même Wink
Liste des Scripts [MAJ-28/06/2012]


Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Citadin Lv.7
Citadin Lv.7
avatar


Masculin Age : 28
Inscrit le : 12/05/2010
Messages : 159

MessageSujet: Re: [VX] Langue Morte   Ven 11 Juin 2010 - 7:38

testé et il y a un bug ici :
en mettent plus de 12 lettre (donc la l'alphabet en entier)

["z", "a", "A", false],
["y", "b", "B", false],
["x", "c", "C", false],
["w", "d", "D", false],
["v", "e", "E", false],
["u", "f", "F", false],
["t", "g", "G", false],
["s", "h", "H", false],
["r", "i", "I", false],
["q", "j", "J", false],
["p", "k", "K", false],
["o", "l", "L", false],
["n", "m", "M", false],
["m", "n", "N", false],
["l", "o", "O", false],
["k", "p", "P", false],
["j", "q", "Q", false],
["i", "r", "R", false],
["h", "s", "S", false],
["g", "t", "T", false],
["f", "u", "U", false],
["e", "v", "V", false],
["d", "w", "W", false],
["c", "x", "X", false],
["b", "y", "Y", false],
["a", "z", "Z", false],# 1
# Nemettez rien après ici !!
]

le script a un bug ,on met "abcdefghijklmnopqrstuvwxyz" dans un text du jeu et quand on test le jeu sa va faire "abcdefghijklmmlkjihgfedcba"
donc le premiere partie du text n'est pas converti et il ya que le deaxieme qui est converti.
est ce que tu peut reparé cette bug stp?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Habitant Lv.6
Habitant Lv.6
avatar


Masculin Age : 23
Inscrit le : 28/02/2010
Messages : 124

MessageSujet: Re: [VX] Langue Morte   Ven 11 Juin 2010 - 11:28

Pourrais-tu poster un screen du message IG et un de l'éditeur de l'event ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Citadin Lv.7
Citadin Lv.7
avatar


Masculin Age : 28
Inscrit le : 12/05/2010
Messages : 159

MessageSujet: Re: [VX] Langue Morte   Ven 11 Juin 2010 - 12:27

j'ai tout fait dans un projet vierge et comme je te l'ai decris dans l'editeur et In-Game sa fait aussi comme j'ai expliqué^^

EDIT: copie colle le partie modifie dans ton script et test le, tu verra ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Habitant Lv.6
Habitant Lv.6
avatar


Masculin Age : 23
Inscrit le : 28/02/2010
Messages : 124

MessageSujet: Re: [VX] Langue Morte   Ven 11 Juin 2010 - 17:59

Ok je vois le problème.
Le seul souci c'est que je ne vois pas du tout comment faire...
Le mieux serait que tu te crées une police qui quand tu tapes un "a" te met un "z" ainsi tu n'aurais pas ce problème...

Désolé mais je vois pas du tout coup comment faire =/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Citadin Lv.7
Citadin Lv.7
avatar


Masculin Age : 28
Inscrit le : 12/05/2010
Messages : 159

MessageSujet: Re: [VX] Langue Morte   Sam 12 Juin 2010 - 12:19

heureusement que j'ai font creator ^^
je peut en faire moi meme des polices:)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [VX] Langue Morte   

Revenir en haut Aller en bas
 

[VX] Langue Morte

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

 Sujets similaires

-
» Créer un logiciel Multi langue
» ID langue de ressource
» Comment changer la langue dans le NUVI 3790T
» pb au demarage NUVI 255W PB DE LANGUE
» Langue du Forum : une moitié et demi

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Divers-
Créer un forum | © phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit