Search the Community

Showing results for tags 'tutoriel'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Register & Login
    • Register
    • Login
  • Espace Communautaire
    • Funky Emulation
    • Présentations
    • Services
    • Discussions Générales
    • Bureau de la Communauté
    • Espace Premium
  • Emulation & Co
    • Rewrite a Release / Tutorial
    • Suggest a Release / Tutorial
    • The Ideas Box
  • Emulation de jeux
    • RaiderZ
    • Aura Kingdom
    • Metin2
    • Dofus
    • World of Warcraft
    • Minecraft
    • Aion
    • Habbo
    • Voir plus...
  • Espace Divers
  • Internationnal Forum
  • PassionDev's Forum
  • M2Project - Metin2's M2SF
  • M2Project - Metin2's Aide / Questions / Support
  • M2Project - Metin2's Tutoriels & Partages
  • M2Project - Metin2's Suggestions
  • M2Project - Metin2's Report de Bugs

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Nationality


Sexe


Discord


Skype


Biographie


Site


Nombre

 
or  

Found 327 results

  1. Niveau requis : Débutant Temps estimé : 3 minutes HelloW... Introduction L’IPv4, pour Internet Protocol version 4, est utilisé depuis 1983 pour permettre à internet de fonctionner : chaque terminal sur le réseau internet (ordinateur, téléphone, serveur etc.) est adressable par une adresse IPv4. Celui-ci offre un espace d’adressage de près de 4,3 milliards d’adresses IPv4. Or, le succès d’internet, la diversité des usages et la multiplication des objets connectés ont comme conséquence directe l’épuisement progressif des adresses IPv4, certaines régions du monde étant touchées plus que d’autres. "Les quatre principaux opérateurs français (Bouygues Telecom, Free, Orange, SFR) ont déjà affecté entre 88% et 99% des adresses IPv4 qu’ils possèdent, à fin juin 2018", précise l’Arcep. Pour rappel, l’iPV6 doit à terme remplacer l’iPv4, qui ne peut pas générer suffisamment d’adresses. Grâce à des adresses de 128 bits au lieu de 32 bits, IPv6 dispose d’un espace d’adressage bien plus important que l’IPv4. Si le déploiement de ce nouveau protocole est relativement compliqué à mettre en place (nécessitant une période de transition avec la cohabitation des deux protocoles iPv4 et iPv6), Free mène la danse en France mais ne laissera plus l’abonné choisir entre l’IPV4 et l’IPV6, comme c’était le cas jusqu’à présent. Tutoriel Aujourd'hui, Free mutualise les IPv4 entre 4 utilisateurs pour économiser l'adressage IPv4, cela entraîne par conséquent un partage des ports informatique et dans le monde merveilleux de l'émulation cela peut vite poser problème... Pour vérifier si vous avez une IPv4 partagée ou non, il vous suffit pour cela de vous connecter sur votre Espace Abonné, rubrique Ma Freebox, la mention Demander une adresse IP fixe V4 full-stack doit être indiquée, si tel est le cas, il vous suffit de cliquer dessus et d'en faire la demande, c'est gratuit et cette action irréversible. Vous aurez besoin de patienter une petite trentaine de minutes avant de redémarrer votre Freebox pour constater le changement. Vous aurez ensuite à votre disposition l'ensemble des ports pour faire vos redirections. Source : UF ( Introduction ) Cordialement, ASIKOO
  2. Salut tout le monde ! Ce tutoriel vous permettra de créer un serveur WoW Cataclysm en version 4.3.4 en local ou en hamachi. Téléchargements requis : Navicat : CLIQUEZ ICI Hamachi : CLIQUEZ ICI NotePad++ : CLIQUEZ ICI Un client Wow: CLIQUEZ ICI Le repack : CLIQUEZ ICI dbc: CLIQUEZ ICI maps : CLIQUEZ ICI mmaps : CLIQUEZ ICI vmaps : CLIQUEZ ICI I°/Mise en place des fichiers Commençons par créer un dossier sur notre bureau Windows qui va accueillir notre serveur WoW (Pour que l'on puisse s'organiser) Mettez y le contenue de l'archive (NomadicWow 4.3.4 Blizzlike Repack v3.0) dans le dossier créé à l'instant. Un fois fait, ça devrait ressembler à ça : Dans le dossier Nomadic 4.3.4 Blizzlike Repack 3.0, allez directement dans le dossier Core et extrayez les archives dbc , maps , mmaps et vmaps. Ce qui nous donne: II°/Lancement d'Apache & MYSQL Dans le dossier _Server, lancez Apache (Attention, Skype utilise le port 80 http, donc fermer Skype avant de lancer Apache). Une fois que cela est fait, lancez MySQL. III°/Créer un compte joueur Lancez Navicat. Cliquez sur Connection => MySQL Nom de connexion : Vous mettez le nom de votre connexion, peu importe. Nom du serveur : localhost Port : 3306 Nom d'utilisateur : root Mot de passe par défaut : ascent Ouvrez votre navigateur et tapez localhost (ou 127.0.0.1) dans votre barre d'adresse. Vous tomberez sur ce site (qui est en local) : Remplissez les champs pour créer votre compte. Hamachi: Retournez donc dans la table realmlist et à dans " address " vous remplacer le 127.0.0.1 par votre IP hamachi. (Ou si vous voulez faire un serveur local, vous laissez 127.0.0.1) IV°/Mettre son compte MJ Dans la table account de la databse auth, retenez l'ID de votre compte. Puis dans la table account_acces de la database auth: iD : Vous mettez l'id de votre compte gmlevel : Pour avoir toutes les commandes c'est 3 RealmID : Vous y touchez pas V°/Configurer son client Passons maintenant à la configuration du client Wow. Allez dans le dossier du client puis dans Data/frFR Ouvrez le fichier realmlist.wtf avec un éditeur tel que NotePad Une fois ceci à la première ligne vous remplacer VOTREIPHAMACHI: Si vous voulez faire un serveur Hamachi: Vous mettez votre IP Hamachi à la place de VOTREIPHAMACHI Si vous voulez faire un serveur local: Vous mettez localhost à la place de VOTREIPHAMACHI Maintenant, rendons nous dans le dossier Core de notre serveur (Dans le dossier NomadicWoW 4.3.4 Blizzlike Repack 3.0) Lancez authserver.exe et worldserver.exe et le serveur va démarrer. /!\ Il faut créer un réseau Hamachi si vous voulez que des gens rejoignent le serveur. Vous pouvez dès à présent lancer le client et vous connecter au jeu (il faut utiliser le nom du compte pour vous connecter et non l'adresse email ! C'est tout bon ! Bon jeu à vous --- Download
  3. Niveau requis : Débutant Temps estimé : 30 minutes Salut à toi ! Tu n'as jamais fait de serveur Metin2 ? Ce tutoriel est fait pour toi ! Je vais t'expliquer comment créer un serveur de A à Z ! Tu pourras ensuite le modifier à ta guise et le mettre à ton image. Information. Lors de ce tutoriel, vous allez apprendre à créer un serveur en No-IP. Vos amis pourront donc rejoindre le serveur pour jouer avec vous ! Attention ! Les files utilisés pendant ce tutoriel sont les 2014. Cependant, sur les 2014+, un bug survient à la sélection du personnage quand un ami souhaite se connecter quand le serveur est sur une machine virtuelle. Il faudra appliquer ce patch pour corriger ce problème. Pré-requis: Virtual Box, qui nous permettra de virtualiser un système d'exploitation. En effet, un serveur Metin2 fonctionne sous FreeBSD, il sera plus simple pour vous de virtualiser ce système sur votre Windows que de faire une deuxième installation sur votre ordinateur. Navicat, un client Mysql. Il vous permettra de vous connecter à la base de données de votre serveur Metin2. On y retrouveras toutes les informations liées aux joueurs, aux items, aux comptes des utilisateurs, etc ... WinSCP, un client SFTP. Similaire au FTP, il vous permettra de naviguer sur les différents fichiers de votre serveur (maps, configurations, etc ..) Le serveur VDI tout prêt pour vous qui possède déjà tous les fichiers du serveur avec FreeBSD d'installé. Il ne nous manquera plus qu'à le lancer avec Virtual Box. Le client metin2 qui vous permettra de vous connecter en jeu à votre serveur. No-IP, un outil qui va vous permettre d'avoir une IP fixe si votre fournisseur d'accès vous donne une IP dynamique. Sinon, les joueurs devront changer l'IP du client à chaque fois que la votre change. Pas très pratique, non ? I. La machine virtuelle II. Configuration de la machine virtuelle III. Installation de No-IP IV. Configuration des ports sur la box V. Lancement du serveur Metin2 VI. Se connecter In Game VII. Accéder aux fichiers du serveur VIII. Accéder à la base de données Vous pouvez maintenant vous amuser sur votre serveur ou tout simplement y rajouter des fonctionnalités sympas. Pour continuer: Vous trouverez de nombreux partages et de tutoriels sur Funky-Emu dans la section Metin2. Cette FAQ pourra répondre à la plupart de vos questions. Vous pouvez créer un compte GM en suivant ce tutoriel Une catégorie support est disponible. Si vous avez un problème ou une question, n'hésitez pas à poster une demande ! Bon courage à vous et bienvenue dans le monde des serveurs privés Metin2 !
  4. Niveau requis : Débutant Temps estimé : Entre 5 et 10 minutes Ce tutoriel aura pour but de vous indiquer comment et oú changer les drapeaux de vos empires afin d'ajouter une petite personnalisation à votre serveur Metin2., réécriture by Xayah. Pré-requis: Photoshop muni du plugin DDS ( Tutoriel // Téléchargement de Photoshop ) Votre client Eternexus ( Téléchargement Eternexus ) I. Modifier les drapeaux présents en jeu II. Modifier les drapeaux à la sélection d'empire Pour continuer: Si vous avez un soucis n'hésitez pas à le poster dans la section A/Q/S de Metin2.
  5. Niveau requis : Débutant Temps estimé : 30 minutes Salut à toi ! Tu n'as jamais fait de serveur Metin2 ? Ce tutoriel est fait pour toi ! Je vais t'expliquer comment créer un serveur de A à Z ! Tu pourras ensuite le modifier à ta guise et le mettre à ton image. Ce tutoriel utilisera Hamachi. N'étant plus trop utiliser, je vous conseille de l'utiliser qu'en dernier recours (voir encadré bleu ci dessous). Information. Lors de ce tutoriel, vous allez apprendre à créer un serveur avec Hamachi. Vos amis pourront donc rejoindre le serveur pour jouer avec vous ! Cependant, ils devront tous télécharger Hamachi pour pouvoir rejoindre le réseau ainsi que votre serveur. Si vous souhaitez un serveur juste en local, utilisez ce tutoriel. Si vous souhaitez que vos amis puissent vous rejoindre mais ne pas utiliser Hamachi, dirigez vous vers ce tutoriel. Attention ! Les files utilisés pendant ce tutoriel sont les 2014. Cependant, sur les 2014+, un bug survient à la sélection du personnage quand un ami souhaite se connecter quand le serveur est sur une machine virtuelle. Il faudra appliquer ce patch pour corriger ce problème. Pré-requis : Virtual Box, qui nous permettra de virtualiser un système d'exploitation. En effet, un serveur Metin2 fonctionne sous FreeBSD, il sera plus simple pour vous de virtualiser ce système sur votre Windows que de faire une deuxième installation sur votre ordinateur. Navicat, un client Mysql. Il vous permettra de vous connecter à la base de données de votre serveur Metin2. On y retrouveras toutes les informations liées aux joueurs, aux items, aux comptes des utilisateurs, etc ... WinSCP, un client SFTP. Similaire au FTP, il vous permettra de naviguer sur les différents fichiers de votre serveur (maps, configurations, etc ..) Le serveur VDI tout prêt pour vous qui possède déjà tous les fichiers du serveur avec FreeBSD d'installé. Il ne nous manquera plus qu'à le lancer avec Virtual Box. Le client metin2 qui vous permettra de vous connecter en jeu à votre serveur. Hamachi qui permet de créer un réseau virtuel privé. C'est sur ce réseau et non le votre que l'on mettra votre serveur Metin2. Portmap (Fichier #138), qui va vous permettre d'ouvrir les ports pour que vos joueurs puissent se connecter au réseau. I. La machine virtuelle II. Configuration de la machine virtuelle III. Configuration de Portmap IV. Lancement du serveur Metin2 V. Créer le réseau Hamachi VI. Se connecter In Game VII. Accéder aux fichiers du serveur VIII. Accéder à la base de données Pour continuer : Vous trouverez de nombreux partages et de tutoriels sur Funky-Emu dans la section Metin2. Cette FAQ pourra répondre à la plupart de vos questions. Vous pouvez créer un compte GM en suivant ce tutoriel Une catégorie support est disponible. Si vous avez un problème ou une question, n'hésitez pas à poster une demande !
  6. Niveau requis : Débutant Temps estimé : 30 minutes Salut à toi ! Tu n'as jamais fait de serveur Metin2 ? Ce tutoriel est fait pour toi ! Je vais t'expliquer comment créer un serveur de A à Z ! Tu pourras ensuite le modifier à ta guise et le mettre à ton image. Information. Lors de ce tutoriel, vous allez apprendre à créer un serveur en local. Vous serez le seul à pouvoir vous y connecter. Information. Les fichiers utilisés sont les files 2014. Vous pourrez à l'avenir les changer sans aucun problème Pré-requis: Virtual Box, qui nous permettra de virtualiser un système d'exploitation. En effet, un serveur Metin2 fonctionne sous FreeBSD, il sera plus simple pour vous de virtualiser ce système sur votre Windows que de faire une deuxième installation sur votre ordinateur. Navicat, un client Mysql. Il vous permettra de vous connecter à la base de données de votre serveur Metin2. On y retrouveras toutes les informations liées aux joueurs, aux items, aux comptes des utilisateurs, etc ... WinSCP, un client SFTP. Similaire au FTP, il vous permettra de naviguer sur les différents fichiers de votre serveur (maps, configurations, etc ..) Le serveur VDI tout prêt pour vous qui possède déjà tous les fichiers du serveur avec FreeBSD d'installé. Il ne nous manquera plus qu'à le lancer avec Virtual Box. Le client metin2 qui vous permettra de vous connecter en jeu à votre serveur. I. La machine virtuelle II. Lancement du serveur Metin2 III. Se connecter In Game IV. Accéder aux fichiers du serveur V. Accéder à la base de données Succès ! Vous venez de créer un serveur Metin2 en local. Vous pouvez maintenant vous amuser sur votre serveur ou tout simplement y rajouter des fonctionnalités sympas. Pour continuer: Vous trouverez de nombreux partages et de tutoriels sur Funky-Emu dans la section Metin2. Cette FAQ pourra répondre à la plupart de vos questions. Vous pouvez créer un compte GM en suivant ce tutoriel Une catégorie support est disponible. Si vous avez un problème ou une question, n'hésitez pas à poster une demande ! Bon courage à vous et bienvenue dans le monde des serveurs privés Metin2 !
  7. Niveau requis : Débutant Temps estimé : Entre 10 et 15 minutes Bonjour, Vous êtes peut-être actuellement en création de serveur, peu importe. Vous avez changé vos maps 1, ainsi que les bâtiments et vous trouvez qu'il y a un truc qui cloche, qui ne tourne pas rond avec celles-ci. Vous avez remarqué alors qu'il y a un "glitch" qui selon la distance à laquelle vous vous trouvez, vos bâtiments reprenne le style prédéfini, celui de base de Metin2. Trève de blabla, un image expliquant le problème sera plus parlant. [Hidden Content] Et bien je vais vous expliquer comment régler ceci dès maintenant. Avant tout choses je tiens à remercier @Kijaru qui m'a aidé à corriger ce problème. Pour commencer rendez-vous dans un premier temps dans le pack de votre client et dépacké le fichier qui contient les bâtiments que vous avez modifiés. Une fois cela fait regardé si les nouveaux bâtiments que vous avez ajoutés ont été fourni avec des .gr2 finissant par _lod_xx* (xx correspond à des chiffres) si cela n'est pas le cas c'est que votre client utilise donc les anciens _lod (celui des bâtiments de base). Il gère justement à afficher les bâtiments quand vous vous trouvez loin d'eux. C'est assez compliqué à comprendre mais pour corriger ce problème de maps vous n'avez donc qu'à supprimer les fichiers .gr2 finissant par _lod_xx qui correspond aux bâtiments que vous avez donc changés. Une fois les bons _lod_xx supprimé repacké votre fichier, lancé votre client et le tour est joué ! Peu importe la distance à laquelle vous vous trouverez vos bâtiments resteront les mêmes et ne changeront plus par ceux de bases. Pour toutes autres questions concernant ce soucis, je vous laisse vous rendre dans la section A/Q/S dédié. *_lod_xx signifie Level Of Details celui-ci permet d'afficher des modèles 3D moins complexes quand il se trouve plus loin du joueur. Si tu te trouves près de l'objet en question celui-ci sera complètement détaillé hors si tu t'éloignes et que tu te trouves loin celui-ci prendra le relais sur le _lod pour avoir un rendu moins complexe de loin.
  8. Niveau requis : Débutant Temps estimé : 30 minutes Les boucles permettent de répéter une certaine opération autant de fois que nécessaire, autant de fois que voulu... Peut être que mes exemples vont vous sembler inutiles, mais ne considérez pas while comme inutile. Elle est très importante ! Cordialement, Takuma
  9. Bonjour à tous, Vous savez maintenant compiler un core Trinity quel que soit la version. Si vous n'avez pas encore prit le temps de lire mon ancien tutoriel, je vous invite à aller sur ce topic. Il vous sera ainsi possible lors de ce tutoriel, de créer un serveur WoW avec le core que vous avez compilé. Intéressant non ? Avant de commencer, il faut savoir plusieurs choses: Nous allons devoir émuler le jeu. L'émulation consiste à substituer un élément de matériel informatique, tel un terminal informatique, un ordinateur ou une console de jeux par un logiciel. La définition du terme émuler est « chercher à imiter ».L'objectif de ce tutoriel est donc de créer un serveur différent à celui des serveurs officiels (ceux de Blizzard) où nous allons pouvoir se connecter. Nous pourrons ensuite modifier le jeu telle nos envies. Le serveur est composé d'un core. C'est le cœur même du serveur et c'est lui qui va permettre la liaison entre les fichiers serveur et la base de donnée. Il est donc un élément indispensable. Il est codé en C++ Il est aussi composé d'une base de donnée. Elle permet de stocker une multitude de donnée. Dans notre cas, elle va permettre de stocker les comptes des joueurs, les personnages, les sorts, etc ... C'est le langage SQL qui est utilisé. Nous allons utiliser Xampp, qui est un très bon logiciel MySQL Enfin, nous allons utilisé un client pour nous connecter au serveur. C'est le client World Of Warcraft. Un client est un logiciel qui va envoyé des demandes au serveur. Téléchargements : INSTALLATION DE LA BASE DE DONNÉES Je ne vais pas faire une partie pour l'installation de Xampp, je pense que c'est assez simple. Commencez par démarrer Apache & MySQL via le control panel de Xampp. (Apache car il va avoir besoin de se connecter à PHPMYADMIN. Attention, Skype utilise le port 80. Il faut donc le fermer avant d'allumer Apache. Cliquez sur Admin à côté de MySQL. Nous allons changer le mot de passe de notre base de données. Il faut modifier le mot de passe de l'utilisateur root en localhost. Puis dans l'onglet Modifier le mot de passe: Mettez le mot de passe souhaité puis Exécuter. Changeons maintenant le mot de passe dans le conf.inc.php: Vous mettez le mot de passe que vous avez rentrez tout à l'heure dans les ' ', sur la ligne password. Enregistrez le fichier et vous aurez de nouveau accès à PHPMyAdmin. Créons maintenant une base de donnée pour accueillir nos tables WoW. Renommez la comme vous le souhaitez. Ouvrez la base de données et cliquez sur importer. Nous allons y mettre le fichier SQL téléchargé précédemment. Un fichier SQL contient des requêtes. Une requête est une action qui va être effectué sur une base de données. Cliquez sur Exécuter et voila que votre base de donnée contient les tables nécessaire au fonctionnement du serveur. INSTALLATION DES FICHIERS NÉCESSAIRES Pour fonctionner, votre serveur à besoin des DBC, de MAPS. Vous pouvez aussi mettre VMAPS mais ce n'est pas obligatoire. Les fichiers DBC sont les formats utilisés par Blizzard pour stocker des données. C'est une base de donnée binaire. Ces fichiers stockent par exemple les icônes, etc ... Les MAPS c'est les mondes. Là où votre personnage peut marcher. Le VMaps n'est pas obligatoire. Il permet de prendre plus en considération les murs. Par exemple, un mob ne pourra pas voir à travers les murs ou encore un skill à distance prendra fin s'il rencontre un obstacle. C'est beaucoup plus réaliste. J'ai posté les fichiers juste pour la version 4.3.4 Postez ici les fichiers pour les autres version et je les ajouterais à ce topic. Téléchargez donc ces dossiers et mettez les dans le dossier où se trouvent vos exécutables Trinity. Voila, vous avez les fichiers nécessaire au bon fonctionnement du serveur. Pour les curieux, vous pouvez vous même extraire les fichiers nécessaire avec les extractor compilé. CONFIGURATION DU SERVEUR Nous allons modifier les fichiers pour permettre la connexion à la base de donnée. Renommez vos fichiers .conf.dist de sorte d'enlever le .dist. Par exemple, worldserver.conf.dist devient worldserver.conf Modifions donc ces fichiers. Prenons exemple avec le fichier authserver.conf Cherchez la ligne: LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth" La ligne est organisé de cette façon: host,port;utilisateur;mdp;auth. Imaginons que mon mdp est funkyemu, voici comment je vais organiser ma ligne: LoginDatabaseInfo = "127.0.0.1;3306;root;funkyemu;auth" Dans ce cas, mon fichier auth est correctement configuré. Il faut faire la même chose pour bnetserver.conf et worldserver.conf Attention, dans worldserver.conf, il y a 3 lignes à modifier: LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth" WorldDatabaseInfo = "127.0.0.1;3306;trinity;trinity;world" CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity;characters" Votre serveur est prêt au lancement. LANCER LE SERVEUR Modifions le realmlist du client. Rendez vous au chemin suivant: \World of Warcraft\Data\frFR et ouvrez le fichier realmlist.wtf Remplacez VOTREIPHAMACHI par votre IP hamachi si vous êtes en Hamachi ou alors localhost si vous voulez le mettre en local. Votre serveur est prêt, lancez worldserver.exe et authserver.exe. Une fois worldserver lancé, créez votre compte: account create NomDuCompte MotDePasse [ENTRÉE] --- Création du compte account set addon NomDuCompte 2 [ENTRÉE] --- Activer les addons. 0 = WoW Classique, 1 = Burning Crusade, 2 = Wrath of the Lich King account set gmlevel NomDuCompte 3 -1 [ENTRÉE] --- Le statut du compte. 0 = Joueurs, 1 = Animateur, 2 = MJ, 3 = Administrateur Vous pouvez dès à présent vous connecter IG. Si vous avez des suggestions pour améliorer le tutoriel, n'hésitez pas. Si vous avez des questions, n'hésitez pas non plus, on est là pour ça. J'essayerais de faire d'autres tutoriel concernant WoW pour remplir un peu cette section Bon travail à tous ! Calypso --- Download
  10. Niveau requis : Débutant Temps estimé : Entre 2 et 5 minutes Ce tutoriel a pour but de vous expliquer comment modifier la distance maximum de votre caméra. Pré-requis: Un client Un depacker Notepadd++ I. Tutoriel Pour continuer: Si vous ne savez pas comment depacker vos fichiers dans le dossier pack je vous invite à lire ceci : Depack & Repack avec Eternexus Si vous avez un problème vous pouvez poster votre demande dans la section AQS !
  11. Niveau requis : Intermédiaire Temps estimé : Entre 30 à 35 minutes Bonjour. Après une longue inactivité sur le forum, il est temps pour moi de reprendre du service. Je vais m'efforcer lors de ce tutoriel de vous apprendre tout ce qu'il y a à savoir sur les classes en Python. Je ne rentrerait pas dans le python trop avancé afin que tous les niveaux intermédiaires en Python puissent suivre ce tutoriel. Ce tutoriel s'adresse à toutes les personnes qui voudraient apprendre le Python, ou aux personnes qui travaillent sur Metin2 par exemple : Metin2 emploie beaucoup de classe; il est donc essentiel de connaitre leur fonctionnement afin de pouvoir créer du contenu à sa guise. J'essayerai au maximum de vous apprendre directement un code qui respecte les conventions, j'espère ne pas faire d'erreur... A vrai dire, il y en a énormément, et personne n'est à l'abris de ne pas tous les respecter. Pré-requis: Comme précisé ci-haut, je ne vais pas faire de Python trop avancé ici, cependant je considère que les personnes suivant ce petit guide ont un niveau intermédiaire c'est à dire qu'elles ont des connaissances en : Fonctions; Attributs; Portée de variable. Le reste peut vous être utile, mais je vais essayer de vous l'apprendre également. I - Introduction aux classes : Rangez votre éditeur de code, pour le moment nous allons discuter ! Effectivement, cela ne servirait à rien de commencer à programmer sans vous expliquer concrètement à quoi servent les classes et quelles sont leurs principales caractéristiques. Avant de commencer, je tiens à préciser que ceux qui pensent être à l'abris de lire tout le tutoriel car ils ont déjà des connaissances dans d'autres langages : mauvaise idée. Chaque langage de programmation à sa propre méthode, sa propre philosophie pour les objects. Les classes ne sont pas que des boites dans les quelles vous pouvez mettre des fonctions où des variables, les classes sont la base de la Programmation Orientée Objet (POO). En réalité en Python, vous utilisez des objects depuis longtemps. Pour citer Mathieu Nebra : "En python, tout est objet". Une liste par exemple, est un objet, et non réellement une variable. Créer une classe permet de créer de nouveaux objets et de nouvelles instances avec ses propres attributs. Ne paniquez pas, nous allons définir ces termes au fil du guide. Par défaut les objets sont publics (sauf mention contraire : private), et toutes les fonctionnalités des classes sont virtuelles. II - La portée des variables : Nous attaquons ici un paragraphe que je vais vite résumer, mais ne le négligez surtout pas, c'est un des points les plus importants de ce guide. Les portées sont définies de manières statiques, mais sont utilisées de manières dynamiques. En réalité nous pouvons découper les portées Python en 4 espaces (dites de nommage) qui définissent à eux quatre la plage de nommage. Pour simplifier la compréhension de ces espaces je vous conseille d'utiliser une métaphore : les poupées russes. Imaginez qu'une poupée ne peut voir que ce qu'elle contient : Si on imbrique une poupée dans une plus grande (respectivement la poupée A et B), la poupée B pourra voir A et tout ce qu'elle peut voir. Cependant A ne verra pas ce que contient B. Voici une liste de ces 4 espaces : Une portée dite centrale : elle contient les noms locaux. C'est à dire qu'ils ne sont accessibles nul part d'autre. Une portée dite des fonctions englobante : c'est un espace entre le global et le local. Pour la définir au maximum nous allons dire qu'elle contient des éléments non-locaux, et exclusivement des éléments non-globaux. Une portée dite intermédiaire : c'est l'avant-dernière portée, elle contient les noms globaux du module. Une portée englobante : La vraie et l'unique, elle contient tout simplement tout. Elle est l'espace de nommage contenant toutes les primitives. La façon dont vous allez définir vos variables va déterminer dans quel espace de la plage de nommage elle va être renseignée. En Python, si aucune instruction global n'est précisée, les affectations de noms vont dans la portée la plus proche. Ceci a une implication sur leur contenu et leur suppression, nous le verrons sûrement plus tard lors de ce guide. Pour rendre une variable privée, vous devez faire précéder son nom de deux underscore comme ceci : __var. III - Définir notre première classe : Enfin ! Munissez vous de votre meilleur éditeur de code et de votre courage, nous allons enfin commencer à coder ! J'espère ne pas vous avoir perdu avant, car la difficulté va aller crescendo jusqu'à la fin de ce guide. Vous pouvez définir une fonction absolument où vous voulez, cependant pour des soucis de clarté et de difficulté, je vais définir une classe directement dans le fichier. Vous commencez à connaitre python, comme pour les fonctions, il existe un mot clé pour définir une classe, et il n'est rien d'autre que class. Voici sans plus attendre la définition de notre première fonction : Ici, nous venons de définir une classe nommée FirstClass. Notez que pour les classes, nous n'utilisons pas d'underscore, et leur nom commence par une majuscule, ce qui permet de les différencier des fonctions par exemple. IV - Remplissons notre classe avec des variables : Dans notre classe, nous allons pouvoir mettre principalement deux éléments : Les variables Principales D'instances Les méthodes Pour vous illustrez ceci, nous allons faire les choses dans le mauvais sens, nous allons commencer par les méthodes. Vous le savez peut être : en Python, une méthode est extrêmement spéciale, la méthode d'initialisation. Elle se nomme toujours __init__. Les classes ne font pas exception à cette règle, la méthode d'initialisation de notre classe va être exécutée au moment où nous instancierons la classe. Ne vous inquiétez pas, nous allons illustrer ça très vite. Notez que la méthode d'initialisation est aussi appelée le constructeur, il m'arrive d'utiliser les deux termes, ne soyez pas surpris. Vous pouvez remarquer qu'un mot est arrivé comme par magie, sans que j'en parle : self ! Tout d'abord le mot self n'est pas une réelle obligation, vous pourriez mettre "fe" à la place. Cependant, self est une convention forte. C'est à dire que même les codes review ne comprennent que self. Ensuite, self est l'instance en elle même. Nous pouvons accéder à ses méthodes par self.method. Pour commencer avec les variables, nous allons en définir une qui sera la même pour toutes les instances car celle-ci ne sera pas définie par la biais du mot clé self : Ici, notre variable language sera accessible partout, sans même instancier la classe. C'est à dire que n'importe où (où cette classe sera accessible), vous pourrez faire FirstClass.language qui vous retournera la chaîne de caractères "Python". Maintenant, passons au plus intéressant avec les variables : les variables d'instances. Pour cela, nous allons rajouter un paramètre à notre constructeur, par exemple : name qui contiendra le nom de la personne qui instancie la classe. Modifions notre code comme ceci : Ici, nous allons faire un point pour vous expliquer comment tout cela fonction. Si vous demandez à Python de print : FirstClasse.language celui-ci vous renverra bien Python. Cependant pour connaitre name, nous devons déjà la préciser, et pour cela, nous devons instancier la classe. Il serait peut-être temps de vous apprendre à le faire ! Pour instancier une classe en python, vous allez stocker l'instance, l'objet renvoyer comme une variable, comme ceci : var = FirstClass("Takuma"). (Renvoie dans la console : Takuma) V - Remplissons notre classe avec des méthodes : Pour cette partie, je vous propre de repartir d'une nouvelle classe. Nous allons essayer de faire une class "identity" qui permettra de générer une mini carte d'identité contenant : Le nom : Ajouté dans le constructeur en paramètre Son âge : Ajouté par une méthode Son pays : ajouté par une fonction également Voici la structure de notre fonction avec exclusivement ce que nous avons vu pour le moment : Bien, nous allons maintenant ajouter une méthode permettant d'ajouter l'âge de la personne. Pour cela, nous allons créer une méthode la même manière que les fonctions que vous créiez en dehors des classes. Celle-ci tout comme le constructeur prendra en premier paramètre notre instance self et en deuxième paramètre l'âge de la personne. Nous lui demanderons ensuite d'affecter cette valeur à notre variable d'instance "old", comme ceci : Faisons de même pour le pays : Bien, pour finir cette partie, je vous propose d'ajouter une méthode permettant d'afficher le tout : Je vous laissez donc un petit rendu, sachant que vous pouvez instancier plusieurs fois la classe dans plusieurs objets différent. Ici la variable identifier n'est pas utilisée. Output : Identity : Name : Takuma Old: : 18 Country: France VI - Vers la programmation avancée : J'achèverai ce tutoriel sur ce dernier chapitre qui vous permet d'explorer les possibilités qui s'offrent à vous avec les classes. Cette partie va s'adresser aux plus avancés de vous, je vais parler d'héritage de metaclasse, effectivement le nom ne donne pas vraiment envie... Ce principe est dur à aborder, mais simple et très puissant que on sait s'en servir, courage soldat ! 1 - Héritage : Le principe de l'héritage est d'utiliser des classes "entre" elles afin que certaines héritent, obtiennent les variables et les méthodes d'une autre. Je vais vous donner un exemple pour que vous compreniez mieux. Imaginons l'ensemble des êtres humains. Vous pouvez très bien créer une classe permettant d'instancier comme nous l'avons fait juste avant chaque personne. Cependant, imaginons que nous voulions mettre dans cette classe le travail de ce personnage, et les caractéristiques propres à ce travail. Il faudrait faire une classe entière par travail ? Arf, vous aussi vous sentez la répétition ? Eh bien c'est maintenant que l'héritage rentre en jeu ! Nous allons regrouper toutes les caractéristiques communes à toutes les personnes dans une classe d'abord, bien prenons quelques exemples comme la classe que nous avons définie juste avant : Nom, âge, pays. Pour simplifier la tâche, nous allons juste mettre une fonction init de dans : Maintenant, nous allons créer une autre classe, par exemple : Banker qui va hérité des variables (méthodes également, mais il n'y en a pas dans Person pour que ce soit plus lisible). Banker contiendra par exemple le salaire de la personne, et son rang dans l'entreprise. Quand nous allons créer la classe, nous devrons ajouter en paramètre à la classe, la classe Person,, comme ceci : Vous remarquerez que dans le constructeur de Banker, j'ai ajouté les paramètres de la class Person, c'est normal, nous allons instancier notre classe Person dans le constructeur de Banker. Pour cela nous avons deux choix : Faire directement référence à Person avec Personne.__init__(); Faire référence à la classe mère avec super.__init__(); Utilisons super() pour l'exemple. Attention, si vous décidez d'utiliser le nom de la classe directement, vous devrez passer le self en argument également, comme ceci : On s'arrêtera ici, car ce n'est qu'une découverte, vous pouvez maintenant appeler les éléments définis dans Person par Banker, par exemple : Renverra bien "Takuma" dans la console. Voilà, on va s'arrêter là, je pense que vous avez un peu de lecture, merci pour ceux qui auront lu jusqu'au bout. N'hésitez pas à me dire si quelque chose n'est pas clair pour vous, j'ai sorti ça d'une traite par manque de temps, je vais peut être remplacer les screens par des blocs codes par la suite, je sais pas ce qui rend le mieux, je vais voir. Cordialement, Takuma.
  12. Niveau requis : Intermédiaire Temps estimé : 30 minutes Bonjour à tous, Ce tutoriel va vous expliquer comment installer un environnement FreeBSD complet pour Metin2 une machine complètement vierge en installant FreeBSD par vous même. Ce tutoriel fonctionne aussi pour installer un environnement sur un serveur dédié. Pré-requis: Virtual Box qui vous permet de virtualiser le système d'exploitation FreeBSD FreeBSD. Téléchargez l'ISO de la version souhaité. Dans ce tutoriel, j'utiliserai la version 9.3 Les sources de Metin2 Les libs, nécessaires au bon fonctionnement de votre environnement Avoir Internet I. Configurer sa Virtual Machine (VM) II. Configuration de MySQL III. Installer des files IV. Mettre en place les sources de Metin2 Pour continuer : Vous trouverez de nombreux partages et tutoriels sur Funky-Emu dans la section Metin2. Pour configurer votre client pour connecter à votre serveur, suivez ce tutoriel Vous pouvez apprendre à sauvegarder vos fichiers durablement Cette FAQ pourra répondre à la plupart de vos questions. Une catégorie support est disponible. Si vous avez un problème ou une question, n'hésitez pas à poster une demande !
  13. Niveau requis : Débutant Temps estimé : 10 minutes Bonjour à tous, Ce tutoriel va vous expliquer comment changer le nom des états de channels ainsi que leur couleur. Information. L'état d'un channel est ce qui s'affiche au niveau de la page de connexion du client. Les mots NORM, FULL, BUSY, etc ... Pré-requis: Un depackeur tel que EterNexus I. Changer le nom de la fenêtre Pour continuer : Vous trouverez de nombreux partages et de tutoriels sur Funky-Emu dans la section Metin2. Cette FAQ pourra répondre à la plupart de vos questions. Une catégorie support est disponible. Si vous avez un problème ou une question, n'hésitez pas à poster une demande !
  14. Niveau requis : Débutant Temps estimé : Entre 5 et 10 minutes Hello, beaucoup ont l'erreur Finished with error suite a une version mysql plus récente. Pré-requis: notepad ++, Navicat. I. Partie I r continuer: Citer les tutoriels / partages à pour poursuivre la création. Ou un lien vers des partages / vers l'AQS.
  15. Salut! Après avoir vu encore et encore le même problème, j'ai décidé de poster un mini tutoriel pour corriger vos erreurs Navicat si jamais vous n'avez pas le bon mot de passe, ou si malgré tout vous avez le bon mot de passe mais que vous n'avez quand même pas accès à la base de données. Je fais un bref copié/collé de mon message, mais c'est pour permettre aux personnes qui cherchent la solution dans les tutoriels plutôt que l'A/Q/S puissent y trouver leur bonheur facilement. Question de référencement. Si vous êtes sûrs que votre mot de passe est correct (car vous l'avez vous-même créé par exemple) mais que vous obtenez cette erreur: C'est que le blocage ne provient pas du mot de passe. Un accès refusé peut se manifester également lorsque l'adresse IP qui souhaite se connecter au serveur n'est pas explicitement autorisée dans la liste des utilisateurs. Par exemple, un utilisateur défini comme: 'root'@'%' pourra se connecter via n'importe quelle adresse IP (le '%' étant un masque d'adresse IP signifiant "toutes directions"). Essayez de créer un utilisateur via le compte mysql local: [email protected]# mysql -u mt2 -p [email protected]# [email protected]# mysql -u mt2 -p epv4minq S'il vous demande un mot de passe, essayez les deux précédents, ou alors n'entrez aucun mot de passe. Une fois connecté en local, vous avez deux options: 1) Créer un utilisateur qui acceptera toute adresse IP entrante ( avec le '%' ) 2) Créer un utilisateur pour vous seul (avec une IP entrante prédéfinie) /!\ Attention /!\ en revanche, si votre IP Hamachi change, vous perdrez l'accès car votre nouvelle IP ne sera pas acceptée avec l'option 2. Pour ce faire, une fois connecté au serveur mysql: mysql> CREATE USER 'ID'@'VOTRE_IP_HAMACHI' IDENTIFIED BY 'VOTRE_MOT_DE_PASSE'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'ID'@'VOTRE_IP_HAMACHI' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; #Juste au cas où, mais ce n'est pas obligatoire. Bien entendu, vous remplacerez "ID" par l'identifiant que vous désirez utiliser pour vous connecter à MySQL, "VOTRE_MOT_DE_PASSE" par votre mot de passe (évidemment) ainsi que "VOTRE_IP_HAMACHI" par votre IP Hamachi, et non celle finissant par '.100' !. Si vous souhaitez l'option 1, pour pouvoir vous connecter depuis n'importe quelle IP, mettez juste un % à la place de IP_HAMACHI, comme ceci par exemple: CREATE USER 'Kameyu'@'%' IDENTIFIED BY '123456789011223344'; Si ça ne marche toujours pas, c'est que vous avez mal configuré vos paramètres réseau. La bise!
  16. Niveau requis : Intermédiaire Temps estimé : 10 minutes Bonjour à tous, BugFix: 2014+: Grace à ce bugfix, vous aurez la possibilité de vous connecter à votre serveur en local avec vos joueurs ! Toutes les modifications se font sur les sources serveur ! Attention, ce n'est pas compatible avec NO-IP et HAMACHI, seulement en passant par l'IP publique de votre box, il faut pour cela qu'elle soit statique et non dynamique ! Game Metin2 compilé avec la correction ( Files 2016 ) : ICI Apprendre à compiler son game : [Hidden Content] CONFIG.CPP Cherchez char g_szInternalIP[16] = "0"; Ajoutez char g_szExternalIP[16] = "0"; Cherchez TOKEN("bind_ip") { strlcpy(g_szPublicIP, value_string, sizeof(g_szPublicIP)); } Ajoutez TOKEN("bind_external_ip") { strlcpy(g_szExternalIP, value_string, sizeof(g_szExternalIP)); } CONFIG.H Cherchez extern char g_szInternalIP[16]; Ajoutez extern char g_szExternalIP[16]; DESC_CLIENT.CPP Cherchez if (!bSentBoot) { bSentBoot = true; TPacketGDBoot p; p.dwItemIDRange[0] = 0; p.dwItemIDRange[1] = 0; memcpy(p.szIP, g_szPublicIP, 16); DBPacket(HEADER_GD_BOOT, 0, &p, sizeof(p)); } } TEMP_BUFFER buf; TPacketGDSetup p; memset(&p, 0, sizeof(p)); strlcpy(p.szPublicIP, g_szPublicIP, sizeof(p.szPublicIP)); Remplacez if (!bSentBoot) { bSentBoot = true; TPacketGDBoot p; p.dwItemIDRange[0] = 0; p.dwItemIDRange[1] = 0; memcpy(p.szIP, g_szExternalIP, 16); DBPacket(HEADER_GD_BOOT, 0, &p, sizeof(p)); } } TEMP_BUFFER buf; TPacketGDSetup p; memset(&p, 0, sizeof(p)); strlcpy(p.szPublicIP, g_szExternalIP, sizeof(p.szPublicIP)); Finalisation : compiler et remplacer le game et ouvrir les fichiers CONFIG (Auth, Channel(X)/Core(X) et Game99) et ajoutez : BIND_EXTERNAL_IP: TON_IP_EXTERNE Source : M2D & Gurgarath Cordialement, ASIKOO
  17. HTML - Présentation et Structures Introduction 1 - Qu'est ce que le World Wide Web ? Le World Wide Web (Web) est un réseau de ressources et d'informations. Le Web repose sur trois mécanismes pour rendre disponible ces données le plus largement possible. Un système de nommage uniforme pour leur localisation sur le Web (par exemple les URL) Des protocoles, pour accéder à des ressources nommées dont on possède l'adresse (par exemple HTTP) L'hypertexte, pour faciliter la navigation entre ces ressources (par exemple HTML) 2 - Qu'est ce que le HTML ? Publier de l'information en vue d'une distribution mondiale nécessite l'usage d'un langage universellement compréhensible, d'une sorte de « langue maternelle » acceptée par tous les ordinateurs. Le langage de publication utilisé sur le World Wide Web est le langage de bali-sage hypertexte HTML (Hyper Text Markup Language). HTML donne aux auteurs les moyens de : Publier des documents en ligne possédant des titres, du texte, des tables, des listes, des photos, etc. Ramener des informations en ligne via des liens hypertextes avec un clic Concevoir des formulaires pour conduire des transactions avec des services distants, dans le but de rechercher des informations, de faire des réservations, de prendre des commandes, etc Inclure des feuilles de calculs, des séquences vidéos ou sonores et d'autres applica-tions, directement dans les documents C'est un langage de balise, qui a comme objectif de représenter de l’information. Ces balises sont interprétables par les différents navigateurs (Internet Explorer/Edge, Firefox, Safari, Opera etc.) et permettent l’affichage de l’information désirée. Historique du HTML : 1993 : HTML (1.0) 1995 : HTML 2.0 1997 : HTML 3.2 et 4.0 2000 : XHTML 2009 : HTML 5 3 - HTML5 Le HTML 5, publié en 2009, est la version actuelle du HTML. Les règles de base du HTML 5 : Fermer toutes les balises Les balises et les attributs sont toujours en minuscules Les valeurs des attributs sont entre guillemets Tous les attributs ont des valeurs explicites Les balises indiquent la structure du document et non pas sa présentation. Les balises et les attributs de présentation sont remplacés par l'application de styles CSS Comme à chaque évolution du langage HTML, le HTML 5 apporte des nouveautés et supprime certaines balises. Cette page liste l'ensemble des balises HTML 5 en précisant les nouvelles et celles devenues obsolètes. Architecture HTML 1 - HTML : Un langage de balises sémantique Le langage HTML est formé de balises (tag en anglais) assemblées afin de déterminer le plan (découpage) d'une page, le document.est formé de balises (tag en anglais) assemblées afin de déterminer le plan (découpage) d'une page, le document. Une balise possède un nom qui permet de décrire son contenu : on appelle cela un langage sémantique. Par exemple si on utilise la balise <article>, cela indique (suppose) que le texte qu'elle contient est un article. Le nom des balises est inséré entres les signes < et >, lesquels sont appelés chevrons : Exemples : <p>, <div>, <article>, <meta>... Certaines balises doivent être ouvertes puis fermées avec le même tag (précédée d'un / pour la fermeture). Exemples : <p>texte</p> <header>autres balises</header>. Dans d'autres cas, les balises sont dites autofermantes, c'est-à-dire fermées par un simple chevron fermant sans répeter le nom de la balise. Exemples : <br> <hr> <img> En HTML, la casse (lettres minuscules ou majuscules), n'a aucune importance. La bonne pratique est toutefois d'écrire les balises en minuscule. Une balise possède des attributs, ce sont des paramètres supplémentaires à appliquer spécifiquement à la balise. Un attribut a un nom, auquel on affecte une valeur (une chaîne entre guillemets) via l’opérateur = : <p id="intro"> : balise paragraphe avec un seul attribut, l'attribut id (identifiant unique) <p id="intro" class="rouge"> : balise paragraphe plusieurs attributs, id et class. Selon la balise, il y a des attributs obligatoires ou facultatifs. Certains attributs peuvent rece-voir une valeur librement définie par le développeur (comme les attributs id et class ci-dessus), d'autres doivent avoir une valeur proposée par les spécifications du HTML (W3C). 2 - Le nombre d'attributs peut donc être variable Certaines balises peuvent être imbriquées, cela forme un ensemble hiérarchique appelé balisage, on a donc des balises enfant d'autres balises. La hiérarchie peut s’établir sur plusieurs niveaux. Les balises imbriquées peuvent être multiples et différentes. Exemples : une liste d'options : les balises <li> (= list item) héritent de la balise <ul> (= unordered list) : <ul> <li>1er élément</li> <li>2ème élément</li> <li>3ème élément</li> </ul> Structure d'un document HTML Un document HTML 5 se compose de plusieurs parties dont l'ordre est à respecter. Une ligne de déclaration de type contenant les informations de la version HTML de la page : en HTML 5, cette déclaration doit être <!DOCTYPE html> Attention : la casse de cette balise est à respecter. Un élément <html> qui comprend : Une section en-tête déclarative (enclose par la balise <head>) Un corps, qui emporte le contenu effectif du document. Le corps est généralement enclos par l'élément <body> Chaque balise <head> ou <body> peut elle-même contenir des balises incluses. Voici un exemple de document HTML 5 simple : <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Ma première page en HTML 5</title> </head> <body> <h1>Le HTML 5</h1> <p>Le langage HTML, c'est fantastique.</p> </body> </html> Attention : en HTML 5, toutes les balises ainsi que leurs attributs doivent être en minuscule (sauf DOCTYPE). Dans la balise <html>, ne pas omettre l'attribut lang qui permet d'indiquer la langue dans laquelle la page web est rédigée aux robots de référencement ou aux logiciels de synthèse vocale. Entête du document <head> </head> Le bloc <head></head> contient des informations sur le document courant, tels que son titre, des mots-clés que les moteurs de recherche peuvent exploiter et qui permettront d'indexer (référencer) votre site, et d'autres données qui ne sont pas considérées comme faisant partie du contenu du document : ce sont des métadonnées qui, pour leur grande majorité, seront contenues dans des balises <meta>. Les balises de la partie <head> ne sont pas affichées par le navigateur à l'internaute, à l'exception de la balise <title> qui apparaît dans les onglets du navigateur et dans les moteurs de recherche et de la meta « description » reprise elle aussi par les moteurs de recherche (ci-dessous, copie d'écran de la page de résultats de Google) : Cependant, le contenu de la partie <head> est visible dans le code source (Ctrl+U dans un navigateur). Il ne doit donc pas contenir d’informations sensibles pouvant compromettre la sécurité de votre site. Les balises <meta> 1 - Principe Les balises <meta> permettent de fournir ce que l'on appelle des metadonnées d'une page web, c'est-à-dire des indications supplémentaires différentes du contenu de la page. 2 - Evolution des balises <meta> Certaines balises <meta> sont obligatoires, d'autres sont facultatives et certaines (par exemple keywords, refresh) ont désormais une utilité controversée ou obsolète. 3 - Obligatoire : la balise <meta charset> La balise <meta charset> permet de spécifier aux navigateurs l'encodage de la page web. La valeur standard est l'utf-8 : <meta charset="utf-8"> Spécifier en UTF-8 évite de se retrouver avec des problèmes de caractères spéciaux ou d'accents mal affichés du genre après avoir été lancé. Cette balise doit donc se trouver avant tout texte affiché à l'internaute, soit en pratique avant la balise <title> (et donc immédiatement après la balise d’ouverture <head>). 4 - La balise <link> L'élément HTML <link> définit la relation entre le document courant et une ressource externe (CSS, icône). Cet élément peut être utilisé pour définir un lien vers une feuille de style ou un cadre de navigation (accéder à la même page dans une langue différente par exemple). Cette balise est principalement utilisée pour lier les feuilles de styles CSS (que nous aborderons à la séquence suivante) à la page web : <link href="style.css" rel="stylesheet"> Contrairement aux balises vues jusqu'ici, il est possible d'avoir plusieurs <link> car il en faut une par ressource appelée. 4 - Le corps du document <body> </body> Le contenu réel de la page (textes, images, tableaux etc.) affiché à l'internaute se trouve dans le bloc <body></body> : c'est le corps du document. Exemples : <body> <h1>Mon contenu</h1> <p>Le HTML 5 c’est fantastique.</p> </body> La partie <body> accueille à la fois : les éléments (balises) qui structurent la page (colonnes, blocs, paragraphes, menus, entête, pied de page etc.) les éléments relevant davantage du formatage (mise en exergue, gras, italique, citations, médias etc.). Ces différentes balises seront vues au prochain chapitre. Commentaires Vous pouvez commenter votre code source, l'internaute ne verra pas ce commentaire. Exemples : <!-- Ceci est un commentaire --> Les commentaires seront visibles dans le code source HTML de votre page (afficher la page dans un navigateur puis touches Ctrl + U). Par conséquent, éviter trop d’indications pouvant compromettre la sécurité. Les commentaires seront affichés dans le code source de la page. Par conséquent, évitez trop d'indications pouvant compromettre la sécurité. Pour voir le code source d'une page, afficher la page dans un navigateur web puis touches Ctrl + U ou, si vous connaissez déjà, inspectez-le via les outils de développement des navigateurs. Sources : W3Schools, "Pour les nuls", Formation personnel, OpenClassRooms, MDN
  18. Niveau requis : Débutant Temps estimé : 5 minutes Salut à toi ! Le client est composé d'un dossier pack, comportant plusieurs fichiers qui sont cryptés. Dans ces fichiers, on y retrouve toutes sortes de ressources comme les fichiers python du client, les maps, les modèles 3D, les textures, etc... Information. Le dossier pack contient tous les fichiers cryptés et compressés. Ils sont compressés car cela permet de réduire considérablement leur taille. Ce qui est très utile pour quelqu'un qui télécharge le client ou même en ce qui concerne la lecture des packs par le client. Des logiciels ont été créé afin de permettre de décompresser / décrypter ces fichiers (pour obtenir leur contenu en clair) et de pouvoir ensuite les recompresser / recrypter. Ce tutoriel vous expliquera comment depack un fichier, modifier le contenu et comment repack celui-ci pour que cela prenne effet sur votre client. Pré-requis: Il vous faut un client Metin2. C'est ce que vous utilisez pour vous connecter à votre serveur. Eternexus qui est un logiciel de repack / depack simple conçu pour les fichiers de Metin2 I. Depack un fichier II. Repack un fichier Pour continuer : Vous trouverez de nombreux partages et tutoriels sur Funky-Emu dans la section Metin2. Cette FAQ pourra répondre à la plupart de vos questions. Une catégorie support est disponible. Si vous avez un problème ou une question, n'hésitez pas à poster une demande ! --- Download
  19. Niveau requis : Débutant Temps estimé : Entre 5 et 10 minutes Bonjour, Je vais vous expliquer comment résoudre les problème de connexion avec un serveur dédié online.net. Ce problème arrivant quand vous éxécutez la commande pkg update et que l'erreur ci-dessous (ou similaire) vous est retourné. freebsd has no meta file, using default settings pkg : [Hidden Content] : No addres record Unable to update repository freebsd Pas de panique, nous allons résoudre ce souci ensemble: Pré-requis: FreeBSD WinSCP (ce n'est pas réellement requis mais je le recommande pour si vous n'aimez pas modifier un document en ligne de commande) Merci à saw qui m'a aidé à fix cette erreur.
  20. Niveau requis : Débutant Temps estimé : 5 minutes. Pré-requis: Avoir suivi ce tutoriel : I. Changes Logs Pour continuer: Si vous avez suivi le 1er tutoriel, vous avez juste à remplacer les fichiers par les fichiers de l'archive. Attention ! Toutes fois. Si vous avez déjà fait un compte jouable est que vous êtes sous SQLite, ou que vous avec déjà modifier votre fichier Config.conf..., évitez de remplacer ces fichiers ! Si dans le futur une mise à jour majeure touche ces fichiers je vous avertirai !! Download
  21. Ceci est un template de tutoriel recommandé par Funky-Emulation Niveau requis : Débutant Temps estimé : Entre 5 et 10 minutes Bonjour, bonsoir Aujourd'hui j'ai décidé de vous apprendre à développé un serveur GTAV orienté RP. Si vous suivez le tutoriel à la lettre, vous n'aurez aucuns problèmes pour réussir dans votre développement. Informations : Le tutoriel va se diviser en plusieurs parties, allant de l'installation de la base de données, jusqu'à la création de scripts. Pour commencer, je vais vous apprendre à connaitre les différents types de serveurs ainsi que leurs fonctionnement. I. Les types de serveurs II. Local ou VPS ? Pour finir: La prochaine fois, nous commencerons le développement d'un serveur GTAV orienté RP. Cordialement, Vanithys
  22. Bonjour, bonsoir, Après quelques mois de pause, je reviens pour vous apprendre à continuer votre serveur GTA V. Pour ce tuto; nous allons installé tout les éléments de base utiles à votre serveur, ainsi qu'un petit cadeau en fin de tuto. Niveau requis : Débutant Temps estimé : 20 minutes Pré-requis : Votre VPS ou Local WinSCP Navicat PuTTy I. MySQL-async II. Les Essentiels III. Le SQL Pour finir : La prochaine fois, vous apprendrez comment préparé votre serveur sur une base "RP / Roleplay".
  23. Niveau requis : Débutant Temps estimé : Entre 5 et 10 minutes Bonjour à tous, La configuration de votre client est une étape cruciale à la création d'un serveur privé Metin2, en effet, il permet de connecter votre client Metin2 à votre serveur. Pré-requis: Sublime Text, un éditeur de code puissant qui vous permettra de modifier les fichiers pythons (.py) de votre client de manière simple. Vous devez savoir comment depack / repack les fichiers de votre client avec EterNexus ou EterManager. I. Configurer son client Pour continuer: Vous trouverez de nombreux partages et tutoriels sur Funky-Emu dans la section Metin2. Cette FAQ pourra répondre à la plupart de vos questions. Une catégorie support est disponible. Si vous avez un problème ou une question, n'hésitez pas à poster une demande !
  24. Niveau requis : Débutant Temps estimé : 15 minutes Bonjour à tous, Ce tutoriel a pour but de vous expliquer comment configurer un item sur votre serveur. Voici la liste des configurations possibles : Pré-requis: Ce tutoriel vidéo et écrit vous permet d'apprendre comment modifier facilement votre item_proto à l'aide d'un tableur. Un item déjà implanté sur le serveur sur lequel vous souhaitez effectuer les configurations. Ce tutoriel vous explique comment implanter un objet sur votre serveur (item, arme, armure, coiffure, étole, ect ...) L'item_proto.txt qui se trouve dans les fichiers de votre serveur (WinSCP). C'est dans ce fichier que se trouve la configuration de tous les objets du jeu. I. Item_proto.txt, c'est quoi ? II. Partie II Pour continuer : Vous trouverez de nombreux partages et tutoriels sur Funky-Emu dans la section Metin2. Cette FAQ pourra répondre à la plupart de vos questions. Une catégorie support est disponible. Si vous avez un problème ou une question, n'hésitez pas à poster une demande !
  25. Niveau requis : Débutant Temps estimé : Entre 5 et 10 minutes Ce tutoriel aura pour but de vous apprendre à écrire vos MSM et surtout de vous expliquer plusieurs modèles de codes. Les MSM c'est ce qui lie votre modèle au client. Pré-requis: Notepadd++ Vos différents MSM I. Le MSM Pour continuer: Vous pouvez désormais implanter de nouvelles armures : Section Armures Vous pouvez ajouter plus de textures déclarées dans vos MSM : Augmenter le nombre de sourceskin dans les msm Si vous avez des soucis n'hésitez pas à les poster dans la section A/Q/S mise à votre disposition Xayah,