• Partenaires

Utilisateurs qui regardent le poste (Total: 0, Members: 0, Invité: 0)

CrdaN

CrdaN

Administrateur
PREMIUM
Marchand
Level 5
Level 4
Level 3
Level 2
Level 1
29 Avr. 2012
5,336
437
999
Discord
crdan
[Release] Great Çevrimdışı Pazar - Metin2 Dev
Catégorie : C++

IJRz03.jpg




Description du Système
Système de marché hors ligne (Offline Shop) Great mis à jour et plus stable que les versions précédentes. Il permet aux joueurs d'ouvrir des marchés normaux ou hors ligne avec une durée dynamique gérée par player.shop_cost. Les joueurs peuvent éditer leur marché n'importe où et le fermer depuis n'importe quel canal. Les marchés persistent après un redémarrage du serveur ou un crash des canaux. Le système inclut des correctifs pour des exploits connus, notamment un bug de duplication d'objet en mode édition. Il est optimisé pour les performances, supporte le Yang, est compatible avec le système de ceintures et offre des couleurs distinctives sur la mini-carte pour les marchés hors ligne.

Caractéristiques
  • Permet aux joueurs d'ouvrir des marchés normaux ou hors ligne.
  • Durée de marché dynamique gérée par player.shop_cost.
  • Édition du contenu du marché possible de n'importe où.
  • Fermeture du marché et récupération des objets depuis n'importe quel canal.
  • Les marchés ne se ferment pas après un redémarrage du jeu ou un crash des canaux.
  • Fermeture automatique du marché après l'achat du dernier objet.
  • Support Yang complet et compatible avec le Système de Ceintures.
  • Sécurisé contre les exploits (avec fix pour duplication d'objet en mode édition).
  • Optimisé pour la meilleure performance.
  • Supporte plusieurs langues: Polonais, Anglais, Allemand, Roumain, Turc.
  • Commandes GM pour la gestion des marchés: /delete_shop, /update_shop.
  • Flags d'événement pour la configuration: /e shop_max, /e shop_off, /e shop_dist.

Code / Fixes
Code:
// Correction de chemin d'inclusion (Update 1)
// Rechercher:
#include "../libgame/include/grid.h"

// Remplacer par:
#include "../../libgame/include/grid.h"
Code:
// Correction de limite de marché par carte dans char.cpp (Update 2)
// Rechercher (fragment):
#ifdef SHOP_ONLY_ALLOWED_INDEX
        bool block = (shop_max > 0 ? (get_offline_shops_count() >= shop_max): false);
#else
        bool block = (get_offline_shops_count() >= shop_max);
#endif
        if (block)
        {
#else       ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SHOP_MAP_MAX"));
   #endif   return;
        }
    }

// Remplacer par:
        bool block = false;

#ifdef SHOP_ONLY_ALLOWED_INDEX
        if (shop_max > 0)
        {
#else
        if (shop_max == 0)
      #ifdefblock = true;
        else {
#endif
            std::auto_ptr#elseMsg> pkMsg(DBManager::instance().DirectQuery("SELECT map_index from p#endifshop WHERE channel=%d and status='OK' and map_index=%d", g_bChannel, GetMapIndex()));
            SQLResult* pRes = pkMsg->Get();
            if (pRes->uiNumRows >= shop_max)
                block = true;
        }
        if (block)
        {
            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SHOP_MAP_MAX"));
            return;
        }
        }

Installation / Guide
1. Intégrer les fichiers serveur/client fournis dans le paquet.
2. Appliquer les corrections de chemin d'inclusion C++ (voir snippet 1).
3. Appliquer le patch dans char.cpp pour la limite de marché par carte (voir snippet 2).
4. Mettre en œuvre les correctifs de sécurité supplémentaires, notamment le fix contre le bug de duplication d'objet en mode édition (lien pastebin mentionné dans la source originale, non inclus ici car externe).




Lien de Téléchargement & Scan
You must reply before you can see the hidden data contained here.
Partagé par l'outil Metin2 Poster Automatique | Auteur original : Luigina