2.0 [Tutoriel]

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.

Zénith

Membre actif
Dec 26, 2010
159
0
922
In The Log
Salut, j'ai vu que vous vouliez pouvoir paramétrer à 100% les tiles dans une BDD ?
Voici comment :
Il suffit déjà d'aller dans votre dossier www/dofus/lang/swf/titles_X_X (X = nom de la langue et X le chiffre le plus haut) normalement pour francais : titles_fr_7.swf
L'ouvrir et rajouter la ligne suivante (CTRL+E pour enregistrer) avec SWF QUICKER =
Rajouter une ligne pour pouvoir paramétrer personnellement les tiles :
PT[55] = {pt: 0, c: 16777215, t: "%1"};
Ensuite, on enregistre (CTRL+E), on remplace dans www/dofus/lang/swf puis on vide son cache.

Dans les sources Ancestra Remake :
(Dans Common.Constants) public static Map<Byte, String> TITLES = new TreeMap<Byte, String>(); public static String getTitlebyID(byte i, Personnage perso) { String title_name = null; String modified = ""; for(Entry<Byte, String> title : Constants.TITLES.entrySet()) { String name_align = "Neutre"; if (perso.get_align() == 1) { name_align = "Bontarien"; } if (perso.get_align() == 2) { name_align = "Brâkmarien"; } if (perso.get_align() == 3) { name_align = "Sériane"; } if(title.getKey() == i) { title_name = "*"+title.getValue();
modified = title_name.replaceAll("%p%", perso.get_name()); modified = modified.replaceAll
("%g%", perso.get_guild().get_name());
modified = modified.replaceAll("%lvl%", ""+perso.get_lvl()); modified = modified.replaceAll
("%gm%", ""+perso.get_compte().get_gmLvl());
modified = modified.replaceAll("%ps%", perso.get_compte().get_pseudo());
modified = modified.replaceAll("%id%", ""+i);
modified = modified.replaceAll
("%ban%", perso.get_compte().isBanned()?("Joueur Banni"):("Joueur")); modified = modified.replaceAll("%sn%", "Ancestra Remake V:"+Constants.SERVER_VERSION);
modified = modified.replaceAll("%vie%", perso.get_PDV()+""); modified = modified.replaceAll("%gfx%", perso.get_gfxID()+""); modified = modified.replaceAll("%align%", name_align);
return modified; } } return title_name; }

Ensuite dans Common.SQLManager : public static int LOAD_TITLES() { int i = 0; try { ResultSet RS = SQLManager.executeQuery("SELECT id, title from titles;",Ancestra.STATIC_DB_NAME); while (RS.next())
{ Constants.TITLES.put(RS.getByte("id"), RS.getString("title")); i++; } closeResultSet(RS); }catch(SQLException e) { RealmServer.addToLog("SQL ERROR: "+e.getMessage()); e.printStackTrace(); } return i; }
Ensuite dans World.createWorld()
Rajouter : Entre System.out.print("Chargement des Drops: "); SQLManager.LOAD_DROPS(); System.out.println ("Ok !"); et Ancestra.PrintSystemln("====>Données dynamique<====");
ceci : System.out.println ("Chargement des Titles: "); nbr = SQLManager.LOAD_TITLES();
System.out.println (nbr+" Titles chargés");
Ensuite, dans Objects.Personnages.ParsetoGM() :
Remplacez : str+= (this.get_title()>0?(","+this.get_title()+";"):(";"));
Par : str+= (this.get_title()>0?(","+55+Constants.getTitlebyID(this._title,this)+";"):(";"));

Ensuite, allez dans Navicat, ouvrez votre BDD Ancestra_static, puis la "Console MySQl" et collez ceci :
SET FOREIGN_KEY_CHECKS=0; DROP TABLE IF EXISTS `titles`; CREATE TABLE `titles` ( `id` int(11) NOT NULL, `title` varchar(300) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Appuyez sur "Entrée" pour lancer l'a création de la table. Ensuite enregistrez, compilez Ancestra-Remake.
Allez dans votre nouvelle table Ancestra_static/titles ouvrez-là et remplissez-là : (ID début : 1) La table s'incrémente automatiquement, vous n'avez plus qu'à remplir comme bon vous semble les titres de la colonne "title", pour compléter vos titres avec des variables qui retourneront :
" %ps% pour retourner le pseudo du joueur en question %id% pour retourner l'ID du titre utilisé %ban% pour retourner si il est banni ou non (Joueur Banni ou Joueur)
%sn% = Nom de l'émulateur
%vie% = Vie actuelle du joueur
%gfx% = id du gfx du joueur (skin)
%align% = Nom de l'alignement qu'il possède
%p% = Nom du personnage
%g% = nom de la guilde
%lvl% = lvl du joueur
%gm% = Niveau du compte (0,1,2,3..) "

Vous pouvez désormais, une fois avoir tout redémarré, vidé le cache, puis lancé Ancestra-remake et rempli cette table, essayer les titles...
Avec la commande "TITLE <PERSO> <ID (de la table remplie)>"

Note : les ID des titres de chaque personnage sont sauvegardés dans la BDD table personnages d'Ancestra Other, et les données TITLES dans titles d'Ancestra_remake (paramétrable).

Je n'ai retrouvé mon propre Turoriel alors voici un qui suit à peu près ce que j'avais fait, celui -c i by Alleos13 .
 
Status
Not open for further replies.