Astarode Admin
Nombre de messages : 374 Age : 53 Localisation : Elleslande Date d'inscription : 16/11/2005
| Sujet: [GENERAL] "honor" : une table de base d'Elleslande Dim 26 Fév - 1:32 | |
| Ce script permet de créer la table "honor", elle constitue une des tables de base d'Elleslande dans la mesure ou elle regroupe plusieures données essentielles. - Citation :
#include "ff_include" // Inclus la bibliothèque "ff_include"
SQLExecDirect("CREATE TABLE IF NOT EXISTS `honor` ("+ // créé la table si elle n'existe pas déjà "`Reference` int(11) NOT NULL auto_increment,"+ "`Id` int(11) NOT NULL,"+ "`Player` varchar(100) NOT NULL default '',"+// Nom du compte "`Name` varchar(100) NOT NULL default '',"+ // Nom du Perso "`Faction` varchar(100) NOT NULL default '',"+ // Ce champs permet de savoir si le PJ est alignés à une des factions d'Elleslande "`Honor` int(11) NOT NULL default '0',"+ // Contient le nombre de point d'honneur/réputation du PJ "`BM1` varchar(100) NOT NULL default '0',"+ // Début des compteurs de quête "`BM2` varchar(100) NOT NULL default '0',"+ "`BM3` varchar(100) NOT NULL default '0',"+ "`UU1` varchar(100) NOT NULL default '0',"+ "`UU2` varchar(100) NOT NULL default '0',"+ "`UU3` varchar(100) NOT NULL default '0',"+ "`UU4` varchar(100) NOT NULL default '0',"+ "`UU5` varchar(100) NOT NULL default '0',"+ "`UU6` varchar(100) NOT NULL default '0',"+ "`UU7` varchar(100) NOT NULL default '0',"+ "`UU8` varchar(100) NOT NULL default '0',"+ "`TH1` varchar(100) NOT NULL default '0',"+ "`TMS` varchar(100) NOT NULL default '0',"+ "`SUN1` varchar(100) NOT NULL default '0',"+ "`SUN2` varchar(100) NOT NULL default '0',"+ " PRIMARY KEY (`Reference`),"+ // Définit "Référence" comme cléf primaire "UNIQUE KEY `IdKey` (`Id`)"+ // Définit "IdKey" comme cléf unique ") TYPE=MyISAM");
SQLExecDirect("ALTER TABLE `honor` ADD COLUMN "+ "`ORC` varchar(100) NOT NULL default '0'"); // Permet d'altérer la table en rajoutant un champs (utilisé ici comme compteur de quête)
SQLExecDirect("ALTER TABLE `honor` ADD COLUMN "+ "`OM1` varchar(100) NOT NULL default '0'");
SQLExecDirect("ALTER TABLE `honor` ADD COLUMN "+ "`DEM1` varchar(100) NOT NULL default '0'");
SQLExecDirect("ALTER TABLE `honor` ADD COLUMN "+ "`DEM2` varchar(100) NOT NULL default '0'");
SQLExecDirect("ALTER TABLE `honor` ADD COLUMN "+ "`DEM3` varchar(100) NOT NULL default '0'");
SQLExecDirect("ALTER TABLE `honor` ADD COLUMN "+ "`DEM4` varchar(100) NOT NULL default '0'");
SQLExecDirect("ALTER TABLE `honor` ADD COLUMN "+ "`DEM5` varchar(100) NOT NULL default '0'");
SQLExecDirect("ALTER TABLE `honor` ADD COLUMN "+ "`BU1` varchar(100) NOT NULL default '0'");
SQLExecDirect("ALTER TABLE `honor` ADD COLUMN "+ "`BU2` varchar(100) NOT NULL default '0'"); le champ "Player" permet de connaitre le nom du compte du joueur loggé sur le serveur ; le champ "Name" permet quant à lui de stocker le nom du PJ. Ainsi, on évite le risque de conflit si un joueur à plusieurs perso ou si plusieurs joueurs ont décidés d'avoir des persos ayant le même nom. les champs désignés ici comme "compteurs" permettent de garder une trace des quêtes incluses dans le module que le PJ a déjà effectué. Le compteur est par défaut à 0. Par convention (c'est plus pratique de s'y retrouver d'un seul coup d'oeil en éditant la table), il a été choisi les états suivants : 0 --> quête non commencée (état de base) 1 --> quête initialisée (trouvée par le PJ ou donnée par un PNJ) 2 --> quête achevée (le PJ a réuni les indices et/ou résolu le(s) énigme(s), etc...) 3 --> quête close (le PJ a rendu compte des ses recherches au PNJ qui lui a confié la quête, etc...) | |
|