Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...

Couleurs dans les quêtes


Playzer

Messages recommandés

Centre de Téléchargement

Hidden Content

    Give reaction to this post to see the hidden content.
( Interne )

Bonsoir tout le monde :)

 

Je reviens pour mon deuxième tutoriel / partage.

Je vais vous partager un système vous permettant de mettre de la couleurs dans les titres et dans les textes.

(Je suis au courant qu'il existe déjà un tutoriel, mais pas assez approfondie et trop peu d'explications.)

 

Quels sont les fichiers concernés ?

  • - questlib.lua
  • - quest_functions
  • - Eh, evidemment une quête

 

Infos : Toutes les modifications se feront dans le répertoire suivant :

cd /usr/metin2/share/locale/france/quest (Pour files 2011 ou +)
cd /usr/rain/channel/share_data/locale/hongkong/quest (Pour files 2010 ou -)
 

Première étape :

  • - Ouvrer le fichier nommé ' questlib.lua '

 

Et insérer-y ceci tout en bas (une fois collé, ne pas oublié de laisser une ligne vide) :

function say_color(color,text)
  if color=="blue" then
    say(color256(0, 0, 255)..text..color256(196, 196, 196))
  elseif color == "green" then
    say(color256(0, 255, 0)..text..color256(196, 196, 196))
  elseif color == "red" then
    say(color256(255, 0, 0)..text..color256(196, 196, 196))
  elseif color == "yellow" then
    say(color256(255, 255, 0)..text..color256(196, 196, 196))
  elseif color == "white" then
    say(color256(255, 255, 255)..text..color256(196, 196, 196))
  elseif color == "black" then
    say(color256(0, 0, 0)..text..color256(196, 196, 196))
  elseif color == "cyan" then
    say(color256(0, 255, 255)..text..color256(196, 196, 196))
  elseif color == "pink" then
    say(color256(255, 0, 255)..text..color256(196, 196, 196))
  elseif color == "orange" then
    say(color256(255, 145, 0)..text..color256(196, 196, 196))
  elseif color == "purple" then
    say(color256(100, 0, 255)..text..color256(196, 196, 196))
  else
    say(color256(196, 196, 196)..text..color256(196, 196, 196))
  end
end

function say_title_color(color,text)
  if color=="blue" then
    say_title_color(color256(0, 0, 255)..name..color256(196, 196, 196))
  elseif color == "green" then
    say_title_color(color256(0, 255, 0)..name..color256(196, 196, 196))   
  elseif color == "red" then
    say_title_color(color256(255, 0, 0)..name..color256(196, 196, 196))
  elseif color == "yellow" then
    say_title_color(color256(255, 255, 0)..name..color256(196, 196, 196))   
  elseif color == "white" then
    say_title_color(color256(255, 255, 255)..name..color256(196, 196, 196))   
  elseif color == "black" then
    say_title_color(color256(0, 0, 0)..name..color256(196, 196, 196))   
  elseif color == "cyan" then
    say_title_color(color256(0, 255, 255)..name..color256(196, 196, 196))   
  elseif color == "pink" then
    say_title_color(color256(255, 0, 255)..name..color256(196, 196, 196))   
  elseif color == "orange" then
    say_title_color(color256(255, 145, 0)..name..color256(196, 196, 196))   
  elseif color == "purple" then
    say_title_color(color256(100, 0, 255)..name..color256(196, 196, 196))   
  else       
    say_title_color(color256(196, 196, 196)..name..color256(196, 196, 196))
  end
end

function say_color(color, text)
  local rgb = rawget(colors_data, color)
  say(color256(rgb[1],rgb[2],rgb[3])..text..color256(colors_data.default[1], colors_data.default[2], colors_data.default[3]))
end

function say_color_title(color, text)
  local rgb = rawget(colors_data, color)
  say_title(color256(rgb[1],rgb[2],rgb[3])..name..color256(colors_data.default[1], colors_data.default[2], colors_data.default[3]))
end

function set_text_color(color)
  local rgb = rawget(colors_data, color)
  raw_script(color256(rgb[1],rgb[2],rgb[3]))
end

colors_data =     {
  ['green'] = {0,190,0},
  ['light green'] = {0,255,0},
  ['dark green'] = {0,110,0},
  ['semi light green'] = {144,238,144},   
  ['teal'] = {102,205,170},    
  ['red'] = {240,0,0},        
  ['semi light red'] = {255,69,51},   
  ['rose'] = {255,64,160},         
  ['dark rose'] = {255,0,128},     
  ['light rose'] = {255,182,193},     
  ['light orange'] = {255,127,80},          
  ['orange'] = {255,130,0},            
  ['dark orange'] = {255,90,0},         
  ['semi dark violet'] = {255,0,255},    
  ['violet'] = {224,129,255},      
  ['dark violet'] = {148,0,148},           
  ['light violet'] = {200,162,200},         
  ['brown'] = {161,63,0},           
  ['dark brown'] = {120,66,0},      
  ['light brown'] = {200,164,115},     
  ['yellow'] = {255,255,53},             
  ['light yellow'] = {255,255,128},        
  ['gold'] = {255,191,24},            
  ['blue'] = {0,0,250},      
  ['dark blue'] = {0,0,150},     
  ['cyan'] = {128,255,255},         
  ['light cyan'] = {180,255,255},     
  ['turquoise'] = {0,255,255},        
  ['white'] = {255,255,225},          
  ['gray'] = {128,128,128},      
  ['black'] = {0,0,0},           
  ['default'] = {196,196,196}     
} 
 

Deuxieme étape :

  • - Ouvrer le fichier nommé ' quest_functions '

 

Et insérer-y ceci tout en bas (une fois collé, ne pas oublié de laisser une ligne vide) :

say_color
say_color_title
set_text_color
 
Après avoir copié collé, ce que je vous ai dit de faire, vous allez bien lire mes explications, comme ça vous ne reviendrais pas en me disant 'j'ai des bugs'. En copiant bêtement, on n'apprend rien ^^

Explications des différents fichiers

 

A quoi sert le fichier ' questlib.lua ' ?

Ce fichier, répertorie toutes les fonctions qui ont été créer et servant a coder une quête.

 

A quoi sert le fichier ' quest_functions ' ?

Dans ce fichier, c'est dans celui-ci que l'on va renseigner notre function récemment créer, afin qu'elle soit indexée.

 

A quoi correspond cette fonction ' function say_color(color, text) ' ?

function say_color(color, text)
  local rgb = rawget(colors_data, color)
  say(color256(rgb[1],rgb[2],rgb[3])..text..color256(colors_data.default[1], colors_data.default[2], colors_data.default[3]))
end
 

Avant pour écrire un say on faisait tout simplement,

       say("Bla Bla ...") 
 

Maintenant c'est encore plus simple, il suffit d'écrire :

       [i]say_color("nom_couleur", "Bla Bla ...")
 

Mais, d'où sors-tu le "nom_couleur" ?

Tout simplement que dans ma fonction, on attribut directement une couleur au texte, pour ce faire, on la sépare du texte, afin que cela soit beaucoup plus propre.

Dont le say_color, affecte que une ligne, exemple pour vous aider à comprendre :

say("Pas de couleurs")
say_color("blue", "Une couleur bleu")
say("Pas de couleurs")
 

Ce n'est pas plus bête que ça ^^

A quoi correspond cette fonction ' function say_color_title(color, text) ' ?

function say_color_title(color, text)
  local rgb = rawget(colors_data, color)
  say_title(color256(rgb[1],rgb[2],rgb[3])..name..color256(colors_data.default[1], colors_data.default[2], colors_data.default[3]))
end
 
Ceci est le même système que le say_color sauf que a cet effet, cela affecte juste le say_title, qu'on transformerai en say_color_title("color", "texte")

 

A quoi correspond cette fonction ' function set_text_color(color) ' ?

Cette fonction possède une différence comparé aux 2 autres fonctions, elle permet d'affecter une couleur a plusieurs say, comme ci-dessous, par exemple :

set_text_color("red")
say("Texte en rouge")
say("Texte en rouge")
set_text_color("orange")	
say("texte en orange")	
say("texte en orange")	
set_text_color("blue")	
say("texte en bleu")	
say("texte en bleu")
 

Ne pas oublier de faire un p'tit reboot du serveur !

 

Voilà, ce petit tutoriel est fini.

Je vous souhaite une très bonne implantation.

Bonne soirée :P

  • Metin2 Dev 1
  • Love 1
Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 5
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet



  • brilliantdiscord_widget
  • Flux d'Activité

    1. 37
    2. 21

      Metin2 en 2020 peut-on en parler?

    3. 0

      METIN2Project

    4. 3

      Ressources - UnPack - Metin2 Client - Officiel

    5. 0

      Barre des tâches d'argent étendue

    6. 16

      Redémarrage automatique des channels

    7. 16

      Multi Logo GM / SGM / GA

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.