2.0 [mega tuto]Crée objet,swf modifier ...

    Partenaires

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

    Status
    Not open for further replies.
    C

    Ch&at[dof]

    Level 2
    Level 1
    Feb 24, 2011
    40
    0
    426
    http://dofaid.blogspot.com/
    Méga-tutoriel by Ch&at[dof].
    Édition : personnalisation de votre serveur.
    Sommaire :
    Qu’est ce que c’est que les SWF ?!
    I – Redirection des swf serveur.
    II – Changement des infos serveur.
    III – Création d’un objet.
    IV – Création de PNJ en tout genre :
    - Dialogue
    - Vendeur
    - Téléporteur (fournit …)
    - …
    V – Création de monstres.
    VI – Création de sorts.
    VII – Outils utiles.
    VIII– Ressources utiles.
    IX– Bonus en image/ à venir.
    Qu’est ce que c’est que les SWF ?!
    Les SWF sont les fichiers Flash qui contiennent toutes les infos concernant dofus :
    - C'est-à-dire que coté client, on trouve toutes les images/musiques
    qui composent le jeu, comme :
    o Les apparences des objets
    o Les apparences des personnages
    o Les apparences des monstres
    o Les musiques de zone et combat mais aussi les bruitages.
    o Bref vous l’aurez compris , tout les fichiers lourds.
    - Au contraire du coté serveur, on trouve toute l’organisation du jeu,
    c'est-à-dire :
    o Les infos serveur
    o Les quêtes
    o Les dialogues de PNJ mais aussi leur nom et leur type.
    o Les objets (type/nom/poids/description/…)
    o Etc …
    - Et donc à quoi sa sert de les rediriger ?!!
    o Eh bien, après avoir redirigé les SWF on peut leur apporter des
    modifications et donc rajouter un peu de contenu sur son
    serveur alors que d’autre non.
    I – Redirection des SWF :
    Bon on va commencer les manipulations , non ? parce que bon la théorie un
    peu ça va … mais trop … beurk.
    - Alors on va commencer par ouvrir son client Dofus.
    - Puis édite son fichier config.xml comme suit :
    <conf name="En ligne">
    <connserver name="Officiel" ip="213.248.126.11" port="443" />
    <connserver name="Nom de serveur" ip="IP de votre serveur"
    port="444 ou le port utilisé" />
    <dataserver url="data/" type="local" priority="1" />
    <dataserver url="http://IP de votre serveur/dofus/"
    priority="3" />
    <dataserver url="http://staticns.ankama.com/dofus/gamedata/dofus/"
    priority="2" />
    <dataserver url="http://gamedata.ankama-games.com/dofus/"
    priority="0" />
    </conf>
    (Image config.xml)
    - Puis surtout, on oublie pas d’enregistrer.
    - Maintenant on télécharge les fameux swf (serveur)
    Lien : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
    - On va les placer dans le bon dossier.
    - Suivant si vous êtes sous wamp ou xampp (xampplite), la
    manipulation reste la même mais le répertoire change.
    - Donc en prend le fameux dossier Dofus (contenant les swf) que l’on
    vient de télécharger et :
    Pour Wamp : vous allez dans votre répertoire wamp/www et vous
    déposez ici.
    Pour Xampp (xampplite) : vous allez dans votre répertoire xampp
    (xampplite)/htdocs et vous déposez ici.
    Eh bien voilà, redirection effectuée.
    Veillez à partager le nouveau config.xml à vos joueurs.
    II – Changement des Informations
    serveur :
    - Alors pour une question de facilité, on utilisera le programme :
    SWF quicker (pas besoin d’exporter au format fla puis de repasser
    en swf puisque cela est automatique , on a juste a modifier comme
    on le souhaite)
    - Bref, trêves de bavarderie, et on attaque :
    - On lance SWF quicker, puis on va chercher le fichier :
    Server_fr_282.swf
    Qui se trouve selon si vous utilisez wamp ou xampplite à la racine
    suivante :
    Wamp/www/dofus/lang/swf/
    Xampplite/htdocs/dofus/lang/swf/
    Qualité : highter
    - On se dirige sur l’onglet « Action »
    - Puis on modifie la ligne correspondant à Jiva.
    n: "NOM de votre serveur"
    d: "Description de votre serveur"
    l: "fr" (langue)
    p: "0" (population = 0 :recommandée/
    1 :moyenne/2 :élevée/3 :Comming soon/4 : complet)
    Il est possible de rajouter un statut.
    t: 0 (type = 0 :aucun/1 :clan de mercenaires/… nous n’aborderons pas
    cette option car elle n’est pas prise en compte pour le moment.)
    c: "0"(Titre des mercenaires … aucune utilitée)
    date: "1093298400000 " (date d’ouverture)
    Puis on exporte le nouveau fichier, comme suit
    Ensuite, pour voir si c’est opérationnel, il faut que vous
    preniez l’habitude de vider votre cache à chaque mise à jour
    de vos SWF.
    Donc on lance l’émulateur, puis le client dofus et … on vide le
    cache, puis on se connecte et que voit-on ?
    Quelque chose dans le genre ?
    Pour le choix de l’image, on a pas d’autre choix (si vous voulez
    faire ça facilement) que de modifier les noms des SWF contenant
    les images serveur, qui se trouvent dans votre dossier
    dofus\clips\artworks\servers
    Vous pouvez visualiser les images existantes grâce à Sothink Swf
    Decompiler.
    Pour cela , on démarre Decompiler et on va dans le répertoire :
    dofus\clips\artworks\servers
    Puis on glisse entre les différents SWF comme suit :
    Lorsque vous avez l’image que vous voulez vous avez juste à la
    renommer 1.swf à la place de celle de Jiva.
    Pour ceux qui voudrait mettre leur propre image
    EH bien on va faire simple tant qu’on y est :
    On ouvre le 1.swf avec hum :
    Sothink SWF Quicker
    Puis on importe une image au format Png (ou bien dimensionnée) avec
    un simple glissement.
    Dimension :
    Pour le placement dans Quicker : X = 0
    Y = 0
    Et pour les dimensions en général : 111x156 (environ à 3 pixels prêts
    ^^’’)
    Bon bah on sauvegarde … on vide le cache et hop.
    III – Création d'un objet :
    Alors dans cette 3ème partie du tutoriel, nous allons voir la création d’un objet.
    Cependant je ne vous donnerais pas de cours de dessin et encore moins de
    flash. De plus pour les objets comme les chapeaux/capes/armes … il faut un
    minimum de savoir faire, et pour ceux qui serait tentés, je les laisses un peu
    chercher 
    Alors il faut savoir, que tout les objets sont référencés cotés serveurs,
    actuellement c’est le fichier items_fr_432.swf qui nous concerne (mais il est
    possible qu’une version items_fr_ 433.swf voit le jour, c’est même très
    probable, donc pour garder vos swf à jour, il faudra vous les procurez et
    ajouter vos modification, ou bien mettre un chiffre plus élevé aux vôtres, du
    genre : items_fr_435.swf)
    Trêve de bavarderies, et entrons dans le vif du sujet.
    Vous l’aurez compris, le fichier que nous allons ouvrir avec sothink swf
    quicker est bien : items_fr_432.swf
    Dans la partie Action
    On va ajouter une ligne correspondante à l’objet voulue, donc :
    On utilise une ID qui n’existe pas hein
    P = prix
    C = condition
    (E = les stats et An)  pour une arme
    W = poids
    Fm = true
    Wd = true
    L = niveau
    G = gfxid  apparence de l’objet, que l’on trouve dans le dossier
    correspondant. Par exemple pour anneau c’est dans le dossier
    spritesitems9 et là on choisit un chiffre.
    (decomp 2)
    Ep = 1
    D = description
    T = type, par exemple anneau = 9
    N = nom
    On exporte pour remplacer l’ancien swf et voilà
    Allons y pour la partie BDD maintenant :
    Bon bah rien de plus simple :
    Déjà on down le serveur !
    On lance Navicat.
    Puis bah on se dirige dans la table : item_db
    On ajoute un petit sort ascending comme si dessous :
    Et c'est partie, on ajoute une ligne avec le petit + en bas
    ID = l'id précédement choisis pour les swf.
    Name = bah nom
    type = bah comme pour les swf, 9 si c'est un anneau …
    itemset = 0 (pour l'instant, enfaite c'est l'appartenance à une panoplie)
    gfxid = bah son apparence comme pour les swf ^^''
    level = le niveau hein
    weight = le poids
    EpPropriety = Ep comme pour les swf, donc 1
    weaponinfo = les infos concernant l'arme
    exemple :
    4,1,1,100,20,50,false,false
    coût en PA,,,EC,CC,+dmg au CC,
    twohands = 1 ou 2 mains = 0 ou 1
    isethereal = etherée oui ou non = 1 ou 0
    forgeamageable = 1
    iscursed/canuse/cantarget = 0
    price = prix comme les swf
    condition = bah condition à remplir pour pouvoir equiper l'objet
    statistiques = stats de l'objet (On oublie pas la « , » entre chaque stats)
    On sauvegarde en bas
    On relance le serveur et le client
    ON VIDE LE CACHE.
    Et on se connecte
    Enjoy !
    IV- Création de PNJs :
    Comme toujours, on commence avec la partie SWF.
    Et dans cette partie, on aura besoin de :
    dialog_fr_507.swf et npc_fr_494.swf
    Donc on lance sothink swf quicker.
    Puis on ouvre euh … allé npc_fr_494.swf
    dans la partie action
    et on se dirige tout en bas
    puis on ajoute sa ligne, par exemple :
    N.d[ID du PNJ] = {n: "NOM du PNJ", a: [Type de PNJ]};
    sachant que :
    1 = "Acheter/Vendre"
    2 = "Échanger"
    3 = "Parler"
    4 = "Déposer/Reprendre un familier"
    5 = "Vendre"
    6 = "Acheter"
    7 = "Ressusciter un familier"
    8 = "Échanger une monture"
    Biensure on peut mettre 2 type en même temps comme si dessous :
    a: [1, 3]}; → achat/vente/parler
    Mais bon on va se contenter d'un type pour commencer.
    Donc vous exportez le fichier pour remplacer l'ancien
    Bon maintenant la partie dialogue :
    Si c'est un PNJ achat/vente..., pas besoin de dialogue, le reste se fera dans la
    BDD
    mais si vous voulez par exemple un PNJ de bienvenue ou téléporteur, suivez
    le guide :
    On ajoute la question que vous voulez sous cette forme :
    D.q[ID question] = "QUESTION";
    Et une réponse sous cette forme :
    D.a[ID réponse] = "Réponse";
    Biensure choisissez des ID qui n'existent pas
    On exporte le fichier pour remplacer l'ancien, comme avant.
    Bon bah voilà, passons à la partie BDD :
    On lance Navicat puis on va configurer notre PNJ :
    dans on ouvre la table : npc_db
    on ajoute une ligne avec le petit +
    Et on remplit :
    ID = ID de votre PNJ précédemment choisie
    Name= nom de votre PNJ
    gfx = apparence de votre PNJ
    scaleX et ScaleY = 100
    (JE SUIS PAS GENTIL A SPAM) = 0 ou 1 selon le sexe mal ou femelle
    color1/2 et 3 = -1 à par si vous utilisez une apparence de classe par exemple.
    Accessoire = 0,0,0,0,0 à part si vous voulez équiper un objet sur votre PNJ (A
    COMPLETER)
    clip = -1
    artwork = 0
    bonus = 0
    initquestion =
    -1 si c'est un PNJ vendeur et dans ce cas là vous remplissez la colonne
    suivante (saleitems) avec l'ID des objets que vous voullez mettre en vente,
    biensure separés par une « , »
    Sinon l'ID de la question que vous avez choisis dans la partie SWF, et rien
    dans saleitems.
    On sauvegarde
    Ensuite on ouvre la table : npc_pos
    et on ajoute une ligne que l'on complete comme si dessous :
    ID = ID de votre PNJ
    Mapid = ID de la map où se trouve votre PNJ
    caseid = ID de la case où se trouve votre PNJ sur la Map
    (carte cellid)
    orientation :
    par exemple :
    On sauvegarde puis on ouvre la table : npc_dialog_quest
    ID = ID de votre question
    responses = ID de votre question, separée par une « , » s'il y a plusieurs
    réponses.
    Args = rien à part si vous voullez :
    – faire un PNJ banque : [bankCost]
    – ou encore un PNJ qui utilise le nom du joueur dans ça phrase : [name]
    par exemple :
    On sauvegarde, puis on ouvre npc_dialog_reponses, que l'on complète
    comme si dessous :
    ID = ID de votre réponse
    Actionid = le type d'action engendrée par la réponse :
    – 1 = renvois à une autre question donc colonne Args = ID de la question
    suivante
    ou ferme le dialogue avec Args = -1
    – 0 = téléportation et Args de cette forme MAPID,CASEID
    – 4 = retrait/ajout de Kamas, avec Args sous la forme : -5 ou 5 par
    exemple (non implanté)
    D'autre action verrons le jour car elles ne sont pas toutes implantées.
    Bon bah on sauvegarde, on lance l'émulateur et le client et surtout :
    ON VIDE LE CACHE !
    Enjoy :)
    Création de monstres :
    Je tiens à préciser que dans cette partie, je ne donnerais aucune information
    sur la création de sprite monstre, qui est enfaite une grosse partie de flash/graph.
    Bon, on lance sothink swf quicker et on ouvre le fichier :
    – monsters_fr_356.swf
    M[ID du monstre] = {n: "Nom", g: apparence, b: 2, a: -1, k: false
    Et la suite correspond enfaite aux différents grade du monstre.
    Je m'explique :
    grade 1 = level 100 avec telles résistances
    grade 2 = level 110 avec telles résistances
    Etc sachant qu'il y a 5 grades pour un monstre et 6 grades pour une
    invocation, vous l'aurez compris ceux ci permet aussi de créer les invocations
    qui seront utilisées dans les sorts.
    Bref je vais vous expliquez pour le grade 1
    g1: {l: 200, r: [50, 0, 0, 20, 15, 95, 78]},
    grade1: {l: niveau, r: [neutre, terre, feu, eau, air, PA, PM]},
    neutre/terre … sont des résistances biensure.
    Bref vous complétez comme vous voulez et vous exportez le nouveau swf
    pour remplacer l'autre
    Passons à la partie BDD :
    A COMPLETER
    Création de sort :
    Comme toujours, on commence par lancer sothink swf quicker et cette fois ci
    on ouvre :
    – spells_fr_335.swf
    (IMAGE QUICKER 18)
    S[ID de votre sort] = {n: "Nom de votre sort", d: "Description du sort",
    l1: [[[97, 5, 9, null, 0, 0, "1d5+4"]], [[97, 7, 11, null, 0, 0, "1d5+6"]], 5, 1, 2, 40,
    100, false, true, false, false, 0, 0, 0, 0, "PaPa", [], [18, 19, 3, 1, 41], 1, false],
    niveau1 du sort: jet normal : [[[Type du sort(ici 97 = dmg terre), dégât mini,
    dégât maxi, null, 0, 0, "dégât sous forme de dés"]],
    jet avec coup critique : [[Type du sort, dégât mini, dégât maxi, null, 0, 0,
    "dégât sous forme de dés"]],
    PA, PO mini, Po max, CC, Échec, portée modifiable, ligne de vue, lancer en
    ligne, cellule libre, 0, 0, 0, 0, "zone de frappe", [], [18, 19, 3, 1, 41], CC actuel,
    échec finit le tour],
    A COMPLETER
    On exporte le nouveau fichier pour remplacer l'ancien
    (IMAGE quicker 19)
    Allé on passe à la BDD :
    On ouvre la table spells_db et on complète comme suis :
    ID = ID de votre sort
    Name = Nom de votre sort
    level1/2/3 … vous complétez grâce à votre ligne swf :
    Par exemple level1 = [[[97, 5, 9, null, 0, 0, "1d5+4"]], [[97, 7, 11, null, 0, 0,
    "1d5+6"]], 5, 1, 2, 40, 100, false, true, false, false, 0, 0, 0, 0, "PaPa", [], [18, 19,
    3, 1, 41], 1, false]
    sprite = Numéro de l'apparence de votre sort
    – Conseille : lancez sothink swf decompiler
    spriteinfo = (BLOB)
    VII - Outils Utiles :
    Vous trouverez dans la partie logiciels, les installeurs des logiciels dont vous
    aurez besoin pour la majorité des parties.
    VIII - Ressources Utiles :
    Vous trouverez dans la partie pratique:
    – un convertisseur décimal-hexadécimal
    – une carte qui répertorie les Cellid (caseID)
    – une carte qui répertorie les Mapid ( à compléter si possible et à m'envoyer
    pour que je puisse la continuer)
    – etc
    IX - Bonus en image/à venir :
    La suite des tutoriels seront disponible lorsque d'autre fonctionnalités seront
    implantées comme l'ajout de zaaps/maps/grades/etc …
    La prochaine édition visera la personnalisation de votre client, ainsi qu'un
    installeur pour diffuser votre client/et un Uplauncher pour faciliter vos mises
    à jour :


    Pour toutes demandes de tutoriels ou d'aide, veuillez me MP sur britania ou
    bien m'envoyez un E-mail à l'adresse suivante : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
    Ce document a été fait pour SharkEmu, par BlackStar et celui ci sera mise à
    jour selon l'avance de l'emulateur.
    Bonus : refonte du Dofus Pourpredans la partie Bonus.
    À disposer dans :
    C:\Program Files\Dofus\clips\items\23
    Pour remplacer l'ancien.
    Cordialement, Ch&at[dof]

    pour toute infos me mp voila si vous voulez le tuto avec les image me mp merci
     
    Stigma

    Stigma

    Level 2
    Level 1
    Jan 6, 2010
    18
    0
    566
    Mdr, gg le leech tuto by blackstar...
     
    Status
    Not open for further replies.