Leaderboard


Popular Content

Showing content with the highest reputation on 05/22/19 in all areas

  1. 2 points
    Bonjour à tous, Je viens de mettre la main sur Stump 2.42, j'en profite pour le partager ici: Emulateur : ICI Client : ICI Les BDD sont incluses dans l'archives de l'émulateur. Have fun ! --- Download
  2. 1 point
    Bonsoir, La Team FE est un projet communautaire qui a été suggéré il y a bien longtemps maintenant. Aujourd'hui, elle vous propose son premier projet: Les files 2014 de la team FE. L'objectif étant de vous proposer des files stables ouvertes à tous. MDP : teamfe (azerty) soit teq,fe (qwerty) Vous pouvez changer la disposition du clavier en tapant la commande : kbdmap puis choisir French ISO-8859-l (accent keys). La Team FE est composée de (je remercie prindo99 aussi qui a su nous faire un sauvetage de dernières minutes): Kijaru Ant0k Raptt Galet Calypso A différence des files 2014 françaises déjà partagé sur le forum, les files de la team FE ont été légèrement amélioré. De plus, nous avons compilé le game et le client de sorte que ceux-ci puissent être exploité plus facilement. Vous aurez donc la possibilité de retrouver les sources et de pouvoir les compiler sans aucune erreur. TÉLÉCHARGEMENT Virtual Machine FreeBSD 9.2 Files 2014 pré-installés + Sources Mainline du game Version 1.0: Cliquez ici pour télécharger LES FILES 2014 Modification côté File: Modifications côté game: En ce qui concerne le côté client, on a juste fait en sorte qu'il puisse être compilé (d'ailleurs le metin2client.exe compilé se trouve dans l'archive des sources). --- Download
  3. 1 point
    Mesdames, Messieurs, Bonjour, Bonsoir, Files Metin2 2016 La Team FE ( Funky Émulation ) vous propose aujourd'hui des Files Metin2 2016 de qualité avec la majorité des systèmes de l'officiel jusqu'à aujourd'hui ( 2016 ). Les Files sont actuellement en version 3.0. Les versions 1.0 et 2.0 ne sont plus disponible au téléchargement. Ces Files sont compatibles avec les serveurs en No-IP / Hamachi / Local, attention, pour permettent aux joueurs de rejoindre votre devrez rediriger les ports de box, en NO-IP / Hamachi les joueurs ne pourront pas rejoindre. Changelog 3.0 A Savoir Screenshots Téléchargements Machine Virtuelle FreeBSD 9.2 avec VirtualBox - All In One Pour aller plus loin Master Guide - Le Guide de l’Émulation Metin2 Master Guide - Le Guide des Modifications sur Metin2 Cordialement, Team FE La vente de ces files est strictement interdite, si elles ont été mises en publique ce n'est pas pour les vendre mais pour faire profiter n'importe quelle communauté de ce travail.
  4. 1 point
    Salut à tous, voici une petite API pour les votes sur RPG paradize. En gros elle fait : Récupère le captcha de la page de vote. Envoi le formulaire de vote. Regarde si le vote a été accepté et retourne true ou false. Donc au final plus besoin de faire une redirection vers RPG Paradize, et seul les bon votes seront comptés, et tout ça, très simplement ! RpgApi.php : ICI Exemple : ICI L'utilisation d'un tel système est relativement lourd, il est donc préférable de ne pas trop charger la page de vote. --- Download
  5. 1 point
    Bonjour à tous, Je viens vous partager Navicat 12, c'est à peu près la dernière version en date, et celle qu'il faut pour créer un serveur RaiderZ, voici le lien: Navicat Premium 12.0.13 Pour l'installation, lancez simplement l'installeur, et normalement la version est activée à vie L'archive n'a pas de mot de passe ! --- Download
  6. 1 point
    Master Guide Le Guilde de l’Émulation sur Metin2 Le Guide des Modifications sur Metin2 Sommaire Introduction - Le Guide des Modifications sur Metin2... Guide des Modifications sur Metin2 Introduction Client Modifications simples du Client Metin2 Modifications avancées du Client Metin2 Serveur Modifications simples du Serveur Metin2 Modifications avancées du Serveur Metin2 Modifications simples sur le Client et le Serveur Metin2 Modifications avancées sur le Client et le Serveur Metin2 Conclusion - A Vous de jouer... Introduction - Le Guide des Modifications sur Metin2 Si tu lis ce message, c'est que toi aussi tu cherches à personnaliser et à modifier notre MMORPG préféré : Metin2. Sache, qu'avec ce guide en main, tu auras la possibilité d'effectuer des modifications simples nécessitant peu de compétences à des modifications avancées qui en nécessiterons d'avantages, il te faudra de la logique, de l'analyse et de la compréhension. Avant toute choses : un peu de théorie ! Une certaine aisance en informatique est recommandée pour mener à bien la quête que tu mènes. Metin2 utilise plusieurs langages de programmation pour fonctionner, tels que le LUA, le Python, C++ et le SQL. Nous avons la chance de posséder depuis 2014, les Sources de Metin2, c'est-à-dire qu'avec les sources et quelques connaissances dans la programmation, tu seras capable de concevoir tes propres systèmes, ajouter des classes de personnages, ajouter des royaumes et pleins d'autres choses ! En soit, grâce aux sources, tu auras un contrôle complet sur le jeu ! Cette partie est réservée aux personnes ayant des connaissances dans la programmation. Le langage C++ nécessite de l'analyse et de la compréhension sur les erreurs et les informations qui sont transmises par le compilateur indépendamment des tutoriels et des partages proposés... Ce guide t'indiquera principalement quels sont les sujets importants à voir dans un premier temps, puis quelques extras pour personnaliser ton serveur Metin2. Pré-requis Un extra de patience... Une coulée de motivation... Une explosion d'imagination... Une infinité de logique... Une goûte de compréhension... Adaptabilité... Guide des Modifications sur Metin2 Introduction Rentrons dans le vif du sujet et je sais que tu attends ça avec impatience ! Aujourd'hui, tu verras sur le forum des Server Files avec une année de sortie, tel que les Server Files 2012, Server Files 2013, Server Files 2014, Server Files 2016, Server Files 2018... Garde en tête que les Server Files 2014++ disposent des Sources de Metin2. Tu peux personnaliser et modifier ton client ou ton serveur Metin2 de plusieurs manières, soit en modifiant les fichiers de configuration du serveur, soit en modifiant les fichiers Python du client ou en modifiant les sources du jeu... Les sources devront être utilisées que si tu souhaites te démarquer ou simplement de corriger des bugs qui nécessitent de faire des modifications sur les sources. Attention : Compiler nécessite tout de même quelques connaissances dans le domaine de la programmation, principalement dans la compréhension des erreurs et des alertes qui sont émises par le compilateur. La compilation, en informatique est un travail réalisé par un compilateur qui consiste à transformer un code source lisible par un humain en un fichier binaire exécutable par une machine. Par exemple, les Sources du Client Metin2, compilées avec l'aide de Microsoft Visual Studio nous donnerons un fichier exécutable que l'on nomme : metin2client.exe. Les Sources de Metin2, sont constituées de plusieurs fichiers dont les extensions sont respectivement .cpp et .h, ces fichiers forment ce qu'on appelle : les sources. La compilation de ces fichiers permet d'obtenir des files : db et le game dans un environnement UNIX avec FreeBSD, un fichier client : metin2client.exe et des tools : worldeditor.exe, dump_proto.exe dans un environnement WIN32 avec Windows... Si tu es un néophyte dans la matière, je t'invite à ne modifier que le stricte minimum sur les Sources de Metin2. Je te déconseille fortement de te lancer dans des systèmes en C++ sans avoir des connaissances dans le développement informatique. Information : Un sujet de @Kijaru explique la compilation, le pourquoi du comment : Compilation Metin2 : Pourquoi ? Comment ? Nous ferons ici la distinction entre des modifications qui ne nécessitent pas de compiler les sources du jeu et celles que l'on peu faire à partir des fichiers présents dans le client, sur la base de données ou sur le serveur lui même... Attention : Contrairement à d'autres langages de programmation, le Python possède une particularité, il est sensible à la case. C'est-à-dire que lorsque tu dois modifier des fichiers, tu dois respecter scrupuleusement l'indentation des lignes à l'aide de la touche Tabulation de ton clavier. Attention : Je t'invite fortement à réécrire les morceaux de codes dans les tutoriels / partages et de ne pas les copier / coller, en effet des caractères ou des symboles invisibles peuvent s'y glisser et empêcher le fonctionnement d'un script Python ou provoquer des erreurs lors de la compilation des sources. Client Modifications simples du Client Metin2 Forum : Liste des Systèmes Metin2 Extra : Configurer son Client Metin2 Extra : Depack / Repack son Client Metin2 avec EterNexus Extra : Depack / Repack son Client Metin2 avec EterManager Extra : Modifier le chemin d'une texture d'un GR2 Extra : Modifier le chemin d'un texture d'un GR2 Affichage : Agrandir le Logo GM Affichage : Ajouter le Level dans les MP's Affichage : ID de l'item dans la Description Affichage : Effet sur Bersek Affichage : PV's après un Duel de Combat Affichage : Coordonnées sous la MiniMap Affichage : Heure sous la MiniMap Affichage : Rareté sur les Objets Affichage : Distance Maximum de la Caméra Affichage : Taux de Réussite d'un UP Affichage : Logo au Démarrage du Client Affichage : Sidebar à gauche Affichage : Bouton sur l'Accueil du Client Affichage : Gratuit si prix de vente = 0 Affichage : Nombre de Yangs en Echange Affichage : Cacher ses MP's comme les Quêtes Affichage : Pourcentage de Vie dans le Target Affichage : Bouton dans le Target Affichage : Consulter un Magasin qu'une seule fois Affichage : Bouton de l'Entrepôt depuis l'Inventaire Affichage : Retirer le Clavier à la Connexion Affichage : Hight Light Effect sur le Dragon Soul Affichage : Couleurs du Texte Affichage : Faire courir son Personnage en Smoking / Robe de Mariée Affichage : Kill GUI Affichage : Bonus GUI Affichage : Bonus depuis l'Inventaire Affichage : Sélection de l'Empire Affichage : Sélection de l'Empire Affichage : Sélection du Personnage Affichage : Interface Affichage : Connexion ( Diablo 3 ) Affichage : Connexion Affichage : Connexion Affichage : Connexion Affichage : Connexion Affichage : Connexion Affichage : Connexion Affichage : Loong Affichage : Illumina Affichage : Yayaprod Affichage : Taskbar + MiniMap Affichage : Attribut du Personnage Affichage : Interface Inventaire Affichage : Texture et Environnement d'une Map Affichage : Grande Carte Affichage : Descriptions dans Metin2 Affichage : Taille de la Police dans le Client Affichage : Nom des Grades d'Alignement Affichage : Nom de la Fenêtre Affichage : Nom des Statuts des Channels Affichage : Brillance d'une Texture Affichage : Effects Damage ou Miss Système : Censurer des Mots dans le Chat Système : VIP Système : Fast Equip Système : SwitchBot Système : Changeur d'Environnement Système : Gestion de la Console Système : Annonce GM avec et sans Pseudo Système : AFK Système : Envoyer un MP depuis le chat Système : Dossier d'Enregistrement des Screenshots Système : Augmenter le Max de Yangs échangeables Système : Achat Rapide Debug : Assembler les Objets Debug : Activer la Téléportation de Groupe Debug : Temps Restant dans les Magasins Modifications avancées du Client Metin2 Forum : Liste des Systèmes Metin2 Extra : Apprendre à Compiler le Client Metin2 Extra : Depack / Repack son Client Metin2 avec EterNexus Extra : Depack / Repack son Client Metin2 avec EterManager Extra : Créer ses propres Systèmes Sources : EterNexus Sources : Recensement des Modifications Sources : Temps de Ramassages entre 2 Items au sol Sources : Python 2.2 en 2.7 Sources : Nouveau Module de CFG Sources : Afficher les Boss sur la MiniMap Sources : Bloquer les Drapeaux des Empires sur les PNJ's Sources : Permettre au jeu de savoir quand l'Entrepôt s'Ouvre et se Ferme Sources : Coloriser les Niveaux Sources : Afficher les Metins sur la MiniMap Sources : Augmenter le nombre de SourceSkin dans les MSM Sources : Activer & Ajouter la Brillance aux Monstres et aux PNJ's Sources : Cool Time Sources : Système de Hide Sources : Remplacer Granny 2.4 par 2.9 Sources : Système d'Effets Sources : Désactiver le mode Debug après une Compilation Sources : Ajouter les Effets sur les Costumes Sources : Protéger son Client Sources : Titre Personnalisé pour le Staff Sources : Ajouter des Extensions d'Images Sources : Hack : Anti Mob Puller / Wait Sources : Changer les Clés de Sécurité Eter LZO Sources : Changer le premier fichier Python exécuté Sources : Stop Collision Sources : Modifier la couleur des Drops selon le propriétaire Sources : Fix Rafraîchissement des Skills Sécurité : Protéger vos GR2 Sécurité : Protéger son Client Sécurité : Modifier l'Extension de vos Packs Système : Shaders Système : Barre de Raccourcis Etendue Debug : Invisibilité / Affect Eunhyeong Serveur Modifications simples du Serveur Metin2 Forum : Liste des Systèmes Metin2 Système : Ajouter un nouveau Craft Système : Ajouter des Bonus à votre Compte Metin2 Système : Recensement des DIFF's Système : Script pour Sauvegarder son serveur Système : Coloriser le MakeFile Système : Modifier le Level Maximum Système : Créer ou Modifier un Magasin Système : Gérer le Spawn des PNJ's et des Monstres Système : Modifier les valeurs des Bonus Système : Modifier les Permissions des Commandes GM Système : Ajouter / Modifier les Questions de l'OX Contest Système : Ajouter / Modifier le contenu d'une Boite Système : Créer un Compte et le mettre GM Système : Les Events Flags Système : Configurer les Drops de la Pèche Système : Orientation d'un PNJ Système : Ajouter un Core à un Channel Guide : Liste des Permissions GM Modifications avancées du Serveur Metin2 Forum : Liste des Systèmes Metin2 Extra : Apprendre à Compiler le Game et DB Metin2 Extra : Machine Virtuelle prête à l'Emploi Sources : Recensement des Modifications Sources : Créer une Commande GM Sources : GlobalChat Sources : Remettre les Proto's en SQL Sources : Buff de Groupe Sources : Evènement Dead Sources : Ajouter la Commande : Do Item Purge Sources : Ajouter la Commande : Item Socket Sources : Enregistrer les Logs des Drops Sources : Ban Messenger Sources : Changer un item équipé avec inventaire plein Sources : Ban IG + Motif Sources : Séparer / Equiper les Objets : Item Ring Sources : Supprimer la limite d'Expérience reçue par un Monstre Sources : Réduire le Temps de Résurrection Sources : Empêcher le Buff entre Joueur / Staff Sources : Modifier la probabilité des drops dans les palourdes Sources : Modifier les Permissions des Commandes GM Sources : Faire en sorte que les Montures puissent rester à proximité de vous comme le cheval Sources : Give Basic Weapon en C++ au lieu de la Quête Skill Proto SQL en TXT Sécurité : Bloquer l'API Tool Debug : Ceintures Debug : Déclencheur Kill Debug : Familier qui disparaît à l'ouverture d'un Magasin Debug : Switch Bonus sur les Equipements équipé Modifications simples sur le Client et le Serveur Metin2 Forum : Liste des Systèmes Metin2 Extra : Depack / Repack son Client Metin2 avec EterManager Extra : Depack / Repack son Client Metin2 avec EterNexus Système : Désactiver Aura de l’Épée Système : Ajouter les Potions XXL Système : Banquier sous forme de GUI Système : Modifier le Temps d'Attente des Compétences Système : Afficher les Statistiques via une GUI Système : Compteur de Kill PvP Système : Stocker des Items dans un coffre portable Système d'achèvement Système d'énergie Système : Modifier les Musiques en jeu Système : Implémenter une Arme, Armures, Costume, Objet... Système : Configurer ses Objets Système : Implémenter un Monstre Système : Implémenter une Map Système : Liaison Python <> LUA Système : Danse de Groupe Modifications avancées sur le Client et le Serveur Metin2 Forum : Liste des Systèmes Metin2 Extra : Apprendre à Compiler le Game et DB Metin2 Extra : Apprendre à Compiler le Client Metin2 Extra : Machine Virtuelle prête à l'Emploi Extra : Depack / Repack son Client Metin2 avec EterManager Extra : Depack / Repack son Client Metin2 avec EterNexus Sources : Support / Ticket In Game Sources : 4 Pages d'Inventaire Sources : Personnage : Elfe Sources : Slot de Personnages Supplémentaires Sources : Défense du Navire Sources : Meley & Ochao Sources : Système pour Cacher ses Costumes Sources : Désactiver l'Encryption des Packets Sources : Afficher les Joueurs en Ligne sous la MiniMap Sources : Skill Sage Grand Maitre Sources : Système d’Étoles sous Scale Sources : Détruire un Item Sources : Désactiver le Système de Séquence Sources : Blocage d'Amis Sources : WolfMan / Lycan Sources : Item Shop IG Sources : 6 Pages d'Inventaires dans l’Entrepôt Sources : Choix du Skin lors de la Création d'un Magasin Sources : Affichage des Informations sur les Entités ( Voir les Drops ) Sources : S’asseoir sur Metin2 Sources : Augmenter le nombre de cases dans les Echanges Sources : Interface Inventaire Sources : Carquois de Flèches Sources : Multi Logo GM / SGM / GA... Sources : Costume d'Arme Sources : Swap Item Sources : Système de Verrouillage Inventaire Sources : Anti EXP Sources : Afficher la vie dans le Target Sources : Mettre à jour le Niveau en Temps Réel Sources : 7 & 8 Skills Sources : Système de Titre Sources : Bannir par HWID / SNN / MAC Sources : Item Buff Sources : Pierre Anti Magie Sources : Entrepôt depuis l'Inventaire Sources : Implanter une Monture Sources : Modifier le Max de Yangs Sources : Système de Projection / Transmutation Sources : Magasin Hors Ligne ( Full Debug ) Sources : Système de Recherche de Magasin Sources : Inventaire Spéciale ( Loots ) Sources : Nouveau type de Potions Sources : Boites de Manuels Conclusion - A vous de jouer... Grâce à Funky-Émulation, les membres qui constituent ce forum, les partages et les tutoriels qui l'alimentent, tu es désormais capable de personnaliser un Serveur Metin2. N'hésite pas à partager tes trouvailles et tes idées permettant de faire évoluer l'émulation de ce jeu. Tu as ouvert ton Serveur Metin2 ? Présente le nous dans la rubrique Vos Serveurs ! Montre nous maintenant de quoi tu es capable ! Bonne chance à toi ! Si tu as besoin d'aide, nous serons là pour t'aider dans l'Aide / Questions / Support. Cordialement, ASIKOO...
  7. 1 point
    Niveau requis : Débutant Temps estimé : Entre 5 et 10 minutes Bonjour à tous, Aujourd'hui Je vais vous expliquer comment extraire et ré-archiver vos fichiers Metin2 contenus dans le dossier "pack". Pré-requis: Un packer qui est un utilitaire consistant à compresser un programme exécutable (.exe, .dll, .ocx etc. ...) et à le crypter simultanément, il vous permettra de mener votre tâche à bien. Eternexus qui est un outil permettant de pack / repack les fichiers de votre client Metin2.. Etermanager, un outil similaire à EterNexus. I. Quels sont les fichiers concernés ? II. Les différents types de compression III. Comment choisir son packer ? IV. Eternexus V. Etermanager Je ne vous fournirai pas de tutoriel sur l'autre packer pour la simple et bonne raison que la plupart des clients ne sont pas disponibles et qu'il n'y a pas d'interface (mise à part une console). Je vous laisse découvrir la suite par vous-même, vous êtes enfin prêt pour commencer à travailler ! Bonne chance ! 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 ! Tutoriel rédigé par Takuma. Remise en forme : Cupidon.
  8. 1 point
    Niveau requis : Débutant Temps estimé : 10 minutes Salut à toi ! Le Client Metin2 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, les maps, les modèles 3D, les textures etc... EterManager est un outil similaire à EterNexus qui est selon moi plus rapide, plus fluide et permet de repack / depack plusieurs archives en simultanée ! Vous avez la possibilité de gérer des profils dans le cas ou avez plusieurs clients et bien plus encore ! Pré-requis : Il vous faut un Client Metin2. C'est celui que vous utilisez pour vous connecter à votre serveur. EterManager : EM / FE ou EMSRC ( Sources en C# ) I. EterManager Pour continuer : Vous trouverez de nombreux partages et tutoriels sur Funky-Émulation dans la section Metin2. La 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 ! Cordialement, ASIKOO...
  9. 1 point
    Bonsoir ! Après une semaine à essayer de compiler le client de metin2, je vous fait un petit tutoriel. Tout d'abord, il vous faut les sources de metin : ICI Pour compiler le client, je vous conseille la branche novaline mais vous pouvez très bien utiliser la branche mainline. Ensuite, vous conseille Visual Studio 2013, car le 2008 est foireux et vous risquez d'avoir des erreurs dans votre compilation (je parle en connaissance de cause ) Vous pouvez le télécharger ici: [Hidden Content] Etape 1, préparez son environnement Une fois les sources et le logiciel téléchargé, ouvrez le. Cliquez sur l'icône ouvrir un fichier et choisissez ce sln: Metin2Client_VC90.sln Il se trouve dans Srcs\Client ----------------------------------------------------------------------- Maintenant, créez un dossier lib et include où vous voulez. Vous pouvez le faire à la racine de votre disque dur, sur le bureau, peu importe. On va dans chaque dossier, mettre les fichiers nécessaire au code source. DOSSIER LIB Srcs\Tools\WorldEditor\extern\lib Mettez le contenu de ce dossier, dans le dossier lib que vous avez créé. Srcs\Extern\lib Mettez le contenu de ce dossier, dans le dossier lib que vous avez créé. DOSSIER INCLUDE Srcs\Tools\WorldEditor\extern\include Mettez le contenu de ce dossier, dans le dossier include que vous avez créé. Srcs\Extern\include Mettez le contenu de ce dossier, dans le dossier include que vous avez créé. !/ N'hésitez surtout pas à remplacer /! ------------------------------------------------------------------------ Avant de lier vos dossier à votre code, je vous conseille de changer le mode de compilation. Personnellement, j'utilise le mod Release qui me permet d'avoir un lanceur d’environ 3200Ko Pour changer le mod de compilation, faites un clic droit sur votre solution (votre .sln) dans visual studio puis cliquez sur propriété. Allez dans Propriétés de configuration ---> Configuration. Cliquez sur Gestionnaire de Configuration et dans configuration de la solution active, vous choisissez Release. Vos projets vont se mettre en Release, il vous reste juste à fermer la fenêtre et cliquer sur OK. ------------------------------------------------------------------------ Maintenant, il faut lier chaque projet de votre solution à vos dossiers. Faites un clic droit sur UserInterface puis cliquez sur Propriété. Allez dans Configuration ---> Vc++ et dans répertoire include, vous choisissez votre dossier include, comme sur le screen. Dans Répertoires de bibliothèques, vous choisissez votre dossier lib. Vous faites exactement la même chose pour les 15 autres projets (EterPack, EterLib, etc ...) ------------------------------------------------------------------------ Maintenant il vous suffit juste d'appuyer sur ces touches pour compiler (en même temps): CTRL + SHIFT + B Pour recompiler le client, faites un clic droit sur la solution puis: Régénérer la solution Malheureusement, la compilation est assez longue. Le .exe final se trouvera dans le dossier /UserInterface/Release Les erreurs fréquentes Impossible d'ouvrir mon sln Votre sln n'utilise juste pas le bonne version. Vous pouvez résoudre ce problème tout simplement. Éditez avec NotePad votre SLN et à la place de: Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 Mettez(si vous utilisez Visual 2008): Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2008 Ca varie en fonction de la version de votre IDE, pensez à bien le retenir 16>.AffectFlagContainer.cpp(68 ) : error C2440: 'initializing' : cannot convert from 'CAffectFlagContainer::Element' to 'char &' 16>.\AffectFlagContainer.cpp(68 ) : error C2440: 'initializing' : cannot convert from 'CAffectFlagContainer::Element' to 'char &' Cliquez deux fois sur CAffectFlagContainer et cela va vous amener à un BYTE. Faites clic droit sur BYTE et cliquez sur Atteindre la définition Il suffit juste de remplacer char par unsigned char. 6>.PythonGraphic.cpp(294) : error C2664: 'CPythonGraphic::SaveJPEG' : cannot convert parameter 2 from 'char *' to 'LPBYTE' 6>.\PythonGraphic.cpp(294) : error C2664: 'CPythonGraphic::SaveJPEG' : cannot convert parameter 2 from 'char *' to 'LPBYTE' Double cliquez sur l'erreur et ça va vous amener sur la ligne de l'erreur. Effacez cette ligne et mettez: bool bSaved = SaveJPEG(c_pszFileName, (LPBYTE)pbyBuffer, uWidth, uHeight); Erreur Python Il arrive parfois, si vous utilisez Python-2.2, vous ayez une erreur. La même chose pour Python2.7. Trouvez donc dans un premier temps, l'erreur qui concerne cette ligne: PyAPI_FUNC(struct symtable *) PySymtable_Build(mod_ty, const char *, PyFutureFeatures *); Et commentez la. (Pour commenter: //commentaire) module' object has no attribute 'EQUIPMENT_RING1 Erreur Sysser 'module' object has no attribute 'EQUIPMENT_RING1' Dans le fichier: Locale_inc.h. Vous supprimez tout et vous mettez: #define LOCALE_SERVICE_SINGAPORE #define ENABLE_COSTUME_SYSTEM #define ENABLE_ENERGY_SYSTEM #define ENABLE_DRAGON_SOUL_SYSTEM #define ENABLE_NEW_EQUIPMENT_SYSTEM 16>cryptlib-5.6.1MTd.lib(iterhash.obj) : error LNK2001: unresolved external symbol \"void __cdecl std::_Xbad_alloc(void)" ([email protected]@@YAXXZ) 16>cryptlib-5.6.1MTd.lib(iterhash.obj) : error LNK2001: unresolved external symbol "void __cdecl std::_Xbad_alloc(void)" ([email protected]@@YAXXZ) Si vous avez des erreurs avec la lib Cryptlib-5.6.1MT, il faut recompiler cette lib. Pour se faire, avec Visual Studio, ouvrez le fichier cryptlib.2008.sln qui se trouve dans le dossier: Srcs\Extern\cryptopp Vous importez la solution, vous compilez avec CTRL + SHIFT + B et une fois terminé, la lib se trouvera dans Srcs\Extern\lib. Sous le nom de: cryptlib-5.6.1MTd.lib Attention ! Il faut compiler la lib en MT et sur le même toolset que le client ! Dans tous les cas, vous pouvez très simplement trouver cette lib avec la date du fichier. 5>mss32.lib(mss32.dll) : error LNK2026: module unsafe pour l'image SAFESEH. 5>mss32.lib(mss32.dll) : error LNK2026: module unsafe pour l'image SAFESEH. Il suffit de désactiver / SAFESEH. Pour cela, clique droit sur UserInterface, propriétés puis cliquez sur éditeur de liens, allez dans avancé puis sur la ligne Image avec gestionnaire d'exceptions sécurisés, vous mettez non. Vous régénérez la solution, et le tour est joué TraceBack - Error: Bad magic number in lib libtraceback.pyc L'erreur dans la fenêtre LOG: TraceBack - Error: Bad magic number in lib lib\traceback.pyc Le soucis vient du fait que votre lanceur est dans une certaine version de python alors que vos libs (Dans client, le dossier lib) utilisent une autre version de Python. En fait, on peut appeler le magic number, une clé pong mais avec un contexte bien différent. Vos libs, quand vous les éditez en HEXA, contiennent le nombre magique correspondant à votre python.dll python27.dll a son propre magic number tout comme python22. C'est une sorte de laison. Pour résoudre ce problème, vous avez deux choix: Passez vos libs client à la version python de votre lanceur ou alors compiler votre lanceur avec la version Python correspondant à votre client. TraceBack Hé oui, vous pouvez aussi avoir une fenêtre d'erreur mais juste avec l'erreur TraceBack. Cela signifie qu'un de votre dossier pack n'est pas apte à prendre en compte ce lanceur compilé (je simplifie, sinon j'écris un topic sur cette erreur). En gros c'est que vos fichiers n'utilisent pas les bonnes fonctions. Dans ce cas, je vous conseille de télécharger ce client: ICI Vous essayez de prendre les fichiers root et voir si votre client se lance sans cette erreur. (vous faites vos modif après) Si root ne fonctionne pas, essayé locale_* ou alors essayez uiscript. Il y en a bien un qui va résoudre votre soucis. La plus part du temps, c'est root. LoginWindow.__LoadScript.LoadObject - :Python int too large to convert to C long À l'entête du fichier: PythonUtils.cpp, ajoutez: #define PyLong_AsLong PyLong_AsLongLong #define PyLong_AsUnsignedLong PyLong_AsUnsignedLongLong Vous pouvez apprendre à passer de Python 2.2 à Python 2.7 grâce à ce tutoriel : ICI Source: Moi et en m'aidant de m2d pour la correction de certaines erreurs
  10. 1 point
    Salut FE, Je vous partage l'instance glaciale (Nemeres) , modifiée par moi même et fonctionnelle. ---------------------- -- Corpse II : Nemeres ---------------------- quest snowdungeon begin state start begin when 20397.chat."Tour de Nemeres" begin say_title("Statue Roi de gheata") say("Le mal ravage notre monde depuis des années et cela de différentes manières.") say("son pouvoir est plus fort de jour en jour.") say("Nos Royaumes commencent à tomber, mais qui pour arrêter ce cauchemar ?") say("De simple personne lambda, n'écoutant que leurs courages !") if pc.get_level() >= 90 then if party.is_party() or pc.is_gm() then if party.is_leader() or pc.is_gm() then say_reward("Êtes-vous prêt à affronter le mal et faire face à vos destins ?") if select("Oui, nous croyons en nos forces !","Non, nous sommes bien trop faibles.") == 1 then pc.remove_item(30256,1) d.join(240) end else say_reward("Vous devez être le Chef du groupe.") end else say_reward("Vous devrez faire partie d'un groupe.") end else say_reward("Vous devez etre level 100.") end end when 20397.chat."La place de Nemeres" with d.getf("actual_round") == 9 begin if party.is_leader() or pc.is_gm() then say_title("Statue Roi de gheata") say("L'aventure fut longue et périlleuse mais finalement") say("Je suis arrivé à la source de la rivière.") say("Nemeres est de l'autre côté, allez le vaincre !") say_reward("Êtes-vous prêt à y faire face ?") if select("Oui, nous sommes toujours confiants !","Non, nous ne croyons plus en nos forces.") == 1 then if d.getf("used_statue", 0) then d.setf("used_statue", 1) syschat("Dans les 10 prochaines secondes, vous serez téléporté avec votre groupe !") timer("nextlevel",10) end end end end when login with pc.get_map_index() >= 2400000 and pc.get_map_index() <= 2405000 begin d.notice("[Tour de Nemeres] La bataille a commencé.") d.notice("[Tour de Nemeres] Exterminez les ennemies ! bonne chance.") if party.is_party() then if party.is_leader() then snowdungeon.start() end else if pc.is_gm() then snowdungeon.start() end end end when 20398.take begin if d.getf("actual_round") == 5 then if item.get_vnum() == 30332 then pc.remove_item(item.get_vnum(),1) npc.purge() d.setf("box_opened", d.getf("box_opened")+1) if d.getf("box_opened") == 6 then d.notice("[Tour de Nemeres] Les joints ont été ouverts") d.notice("[Tour de Nemeres] Vous allez jusqu'au 6ème étage !") snowdungeon.purge() timer("nextlevel",10) else d.notice("[Tour de Nemeres] Courage, Il vous reste "..6-d.getf("box_opened").." sceaux à ouvrir !") end end end end when 30331.use begin if d.getf("actual_round") == 2 then if pc.get_job() == 3 or pc.get_job() == 7 then if number(1,8) == 5 then d.notice("[Tour de Nemeres] La chance vous sourit. La clé était parfaite !.") d.notice("[Tour de Nemeres] Bientôt vous serez redirigé vers le prochain étage.") snowdungeon.purge() timer("nextlevel",10) else syschat("[Tour de Nemeres] Suite à son impuissance la clé s'est brisée.") syschat("[Tour de Nemeres] Trouvez une autre clé et réessayez.") pc.remove_item(30331,1) end else syschat("La clé ne peut être utilisé seulement par un puissant chaman.") end end end when 30333.use begin if pc.get_job() == 3 or pc.get_job() == 7 or pc.get_job() == 1 or pc.get_job() == 5 then if d.getf("actual_round") == 8 then if number(1,8) == 5 then d.notice("[Tour de Nemeres] La chance vous sourit. La clé était parfaite !.") d.notice("[Tour de Nemeres] Bientôt vous serez redirigé vers le prochain étage.") snowdungeon.purge() timer("nextlevel",10) else d.notice("[Tour de Nemeres] Suite à son impuissance la clé s'est brisée.") d.notice("[Tour de Nemeres] Trouvez une autre clé et réessayez.") pc.remove_item(30333,1) end else syschat("La clé ne peut être utilisé seulement par un puissant chaman ou un ninja.") end end end when kill with pc.get_map_index() >= 2400000 and pc.get_map_index() <= 2405000 begin if d.getf("actual_round") == 6 and npc.get_race() == 6109 then d.notice("[Tour de Nemeres] Félicitations, vous avez détruit la source de ses pouvoirs") d.notice("[Tour de Nemeres] Dans quelques instants, vous monterez au 7ème étage.") timer("nextlevel",10) end if d.getf("actual_round") == 7 and npc.get_race() == 6151 then d.notice("[Tour de Nemeres] Félicitations, tuant Le fidèle Nemeres, vous serez amené au 8ème étage .") snowdungeon.purge() timer("nextlevel",10) end if d.getf("actual_round") == 9 and npc.get_race() == 20399 then d.notice("[Tour de Nemeres] Le dernier pilier de sa défense a été démoli ") d.notice("[Tour de Nemeres] Le Lion de glace est apparu.") snowdungeon.purge() d.spawn_mob(20397, 848, 669) end if d.getf("actual_round") == 10 and npc.get_race() == 6191 then d.notice("[Tour de Nemeres] Félicitations, vous avez tuer Nemeres, vous êtes les combattants de la destinée !") notice_all("Avec un dernier souffle de chef de file de l'espoir "..pc.get_name().."") notice_all("Suivi par ses guerriers fidèles ont réussi à battre le redoutable Nemeres.") d.setf("actual_round","0") ------------------ local time = get_time() d.setqf2("snowdungeon","daily_nemeres_last_kill", time) d.setqf2("snowdungeon","daily_nemeres", 1) ------------------ d.clear_regen() d.kill_all() d.spawn_mob(9012, 928, 338) timer("exit_snow", 60) d.notice("En 60 secondes, vous serez téléporté en dehors.") end if d.getf("actual_round") == 1 then d.setf("kill_count_sd1",d.getf("kill_count_sd1") +1) if d.getf("kill_count_sd1") == d.getf("sd_kill_to_next") then d.notice("[Tour de Nemeres] Vous avez terminé le premier étage .") d.notice("[Tour de Nemeres] Dans quelques instants, vous montez au 2ème étage.") snowdungeon.purge() timer("nextlevel",10) end elseif d.getf("actual_round") == 2 then if number(1,50) == 1 then game.drop_item_with_ownership(30331,1) end elseif d.getf("actual_round") == 3 then d.setf("kill_count_sd3",d.getf("kill_count_sd3") +1) if d.getf("kill_count_sd3") == d.getf("sd3_kill_to_next") then snowdungeon.purge() d.notice("[Tour de Nemeres] Vous avez terminé le 3ème étage .") d.notice("[Tour de Nemeres] Dans quelques instants, vous montez au 4ème étage.") timer("nextlevel",10) end elseif d.getf("actual_round") == 4 then d.setf("kill_count_sd4",d.getf("kill_count_sd4") +1) if d.getf("kill_count_sd4") == d.getf("sd4_kill_to_next") then snowdungeon.purge() d.notice("[Tour de Nemeres] La 4ème vague a été détruite.") d.notice("[Tour de Nemeres] Dans quelques instants, vous montez au 5ème étage.") timer("nextlevel",10) end elseif d.getf("actual_round") == 5 then if number(1,100) == 1 then game.drop_item_with_ownership(30332,1) end elseif d.getf("actual_round") == 6 then d.setf("kill_count_sd6",d.getf("kill_count_sd6") +1) if d.getf("kill_count_sd6") == d.getf("sd6_kill_to_next") then d.notice("[Tour de Nemeres] Ce qui se produit ? Il voit un ciel bleu !?") snowdungeon.purge() timer("level7metin",5) end elseif d.getf("actual_round") == 8 then if number(1,50) == 1 then game.drop_item_with_ownership(30333,1) end end end when level7metin.timer begin if d.getf("actual_round") == 6 then d.spawn_mob(6109, 743, 495) end end when nextlevel.timer begin if d.getf("actual_round") == 1 then -- Niveau 2 d.jump_all(5120+421,1536+264) d.setf("actual_round",2) d.set_regen_file("data/dungeon/snowdungeon/nivel_2.txt") d.notice("[Tour de Nemeres] Vous êtes dans le 2ème étage ") d.notice("[Tour de Nemeres] Cherchez la bonne clé pour avancer au niveau suivant.") elseif d.getf("actual_round") == 2 then -- Niveau 3 d.jump_all(5120+761,1536+268) d.setf("actual_round",3) d.setf("kill_count_sd3","0") d.setf("sd3_kill_to_next","300") d.set_regen_file("data/dungeon/snowdungeon/nivel_3.txt") d.notice("[Tour de Nemeres] Vous êtes dans le 3ème étage") d.notice("[Tour de Nemeres] Exterminez l'armée de Nemeres jusqu'au dernier pour avancer.") elseif d.getf("actual_round") == 3 then -- NIVEL 4 d.jump_all(5120+174,1536+526) d.setf("actual_round",4) d.setf("kill_count_sd4","0") d.setf("sd4_kill_to_next","300") d.set_regen_file("data/dungeon/snowdungeon/nivel_4.txt") d.notice("[Tour de Nemeres] Vouz êtes montés au 4ème étage.") d.notice("[Tour de Nemeres] Détruisez-les tous pour avancer.") elseif d.getf("actual_round") == 4 then -- Niveau 5 d.jump_all(5120+421,1536+533) d.setf("actual_round",5) d.set_regen_file("data/dungeon/snowdungeon/nivel_5.txt") local sequence = {{1,2,3,4,5},{4,3,2,1,5},{4,5,3,1,2},{5,3,4,2,1},{5,1,3,4,2}} local n = number(1,5) local coords = {{391,490},{451,490},{463,455},{380,456},{420,422}} for i = 1, 5 do d.spawn_mob(20398, coords[i][1],coords[i][2]) end d.setf("box_opened", 1) d.setf("sequence",n) d.notice("[Tour de Nemeres] Vous êtes dans le 5ème étage") elseif d.getf("actual_round") == 5 then -- Niveau 6 d.jump_all(5120+746,1536+536) d.setf("actual_round",6) d.setf("kill_count_sd6","0") d.setf("sd6_kill_to_next","200") d.set_regen_file("data/dungeon/snowdungeon/nivel_6.txt") d.notice("[Tour de Nemeres] Vous êtes dans le 6ème étage.") d.notice("[Tour de Nemeres] Ses troupes ont commencé à se désagréger.") elseif d.getf("actual_round") == 6 then -- Niveau 7 d.jump_all(5120+304,1536+719) d.setf("actual_round",7) d.regen_file("data/dungeon/snowdungeon/nivel_7.txt") d.spawn_mob(6109, 326, 657) elseif d.getf("actual_round") == 7 then -- Niveau 8 d.jump_all(5120+569,1536+642) d.setf("actual_round",8) d.set_regen_file("data/dungeon/snowdungeon/nivel_8.txt") d.notice("[Tour de Nemeres] Vous êtes dans le 8ème étage.") elseif d.getf("actual_round") == 8 then -- Niveau 9 d.notice("[Tour de Nemeres] Vous êtes dans le 9ème étage.") d.jump_all(5120+848,1536+689) d.set_regen_file("data/dungeon/snowdungeon/nivel_9.txt") d.setf("actual_round",9) d.spawn_mob(20399, 849, 659) elseif d.getf("actual_round") == 9 then -- NIVEL 10 BOSS ROOM d.setf("used_statue", 0) d.spawn_mob(6191, 927, 323) d.jump_all(5120+928,1536+390) d.setf("actual_round",10) d.set_regen_file("data/dungeon/snowdungeon/nivel_10.txt") end snowdungeon.NoticeTime() end function start() d.set_regen_file("data/dungeon/snowdungeon/nivel_1.txt") d.setf("actual_round",1) d.setf("time", get_time()+60*60*1) d.setf("sd_kill_to_next",100) d.setf("kill_count_sd1",0) server_timer("snowdungeontime",3600,pc.get_map_index()) --server_loop_timer("snowdungeontimenotice",300) snowdungeon.NoticeTime() end when snowdungeontimenotice.server_timer begin if pc.get_map_index()<= 2405000 then snowdungeon.NoticeTime() end end function GetPillarID() if pc.get_local_x() >= 391 - 5 and pc.get_local_x() <= 391 + 5 and pc.get_local_y() >= 490 - 5 and pc.get_local_y() <= 490 + 5 then return 1 elseif pc.get_local_x() >= 451 - 5 and pc.get_local_x() <= 451 + 5 and pc.get_local_y() >= 490 - 5 and pc.get_local_y() <= 490 + 5 then return 2 elseif pc.get_local_x() >= 463 - 5 and pc.get_local_x() <= 463 + 5 and pc.get_local_y() >= 455 - 5 and pc.get_local_y() <= 455 + 5 then return 3 elseif pc.get_local_x() >= 380 - 5 and pc.get_local_x() <= 380 + 5 and pc.get_local_y() >= 456 - 5 and pc.get_local_y() <= 456 + 5 then return 4 elseif pc.get_local_x() >= 420 - 5 and pc.get_local_x() <= 420 + 5 and pc.get_local_y() >= 422 - 5 and pc.get_local_y() <= 422 + 5 then return 5 else return false end end when snowdungeontime.server_timer begin if d.select(get_server_timer_arg()) then d.notice("............!") d.exit_all() end end when exit_snow.timer begin d.exit_all() end function NoticeTime() local secondsLeft = (d.getf("time") - get_time()) local minutesLeft = math.ceil(secondsLeft / 60) d.notice("[Tour de Nemeres] Temps Restant: "..minutesLeft.." minutes.") end function purge() d.kill_all() d.clear_regen() end end end Installer une quête : ici Pour les regen.txt/quest_function/group.txt vous les trouverez :Ici --- Download
  11. 1 point
    Salut, CrisisEmu a déjà été partagé sur le forum : [Hidden Content] Cela dit il s'agit ici plutôt d'une modification de CrisisEmu par Demoniaque.
This leaderboard is set to Paris/GMT+02:00