Liste d'affaires à vérifier sur mes scripts pour Apoc

Liste d'affaires à vérifier sur mes scripts pour Apoc

Post by Théodore de Lagarde, AdM - September 19, 2008 at 6:09 PM

Bon, voilà. J'ai décidé de te faire une liste de ce qu'il faudrait que tu regarde dans mes scripts, pour s'assurer que tout marche bien et qu'il y ait le moins de bugs possible. Je fais ça pour t'aider et que ça aille plus vite Ça c'est pour mes scripts. Je ne sais pas pour ceux à Kertan. Bien sur, je vais surement oublier quelques affaires, mais si ça peut t'aider à gaspiller moins de temps sur ça...

Ce que tu sais déjà:

-Faire des backups (au cas où)

-Installer tous nos scripts
-Suivre les instruction dans mon fichier bloc note. C'est TRÈS important.

-Arranger ce qu'il faut pour que ça marche sur Crépuscule (Genre CrepusculeItem, etc)

-S'arranger pour que ça compile
-Nous dire s'il y a un problème avec nos scripts.

Bon à savoir:

-Vérifier que les 5 menus de Craft modifiés (tinkering, carpentry, tailoring, advance tailoring (la trousse de Willy là), massonery(je sais pas comment écrire ça ))

-S'assurer que les Items soient tous bien craftable

-S'assurer que les Items n'aient pas de bugs du genre mauvais ItemID, nom, etc.

-Voir comment réagit les nouveaux meubles lockable (armoires) avec le script de crep qui fait ouvrir un contenant barré au double clique.

-s'assurer que tous les Addons2 soient correctes, flippe bien et que le petit menu au double-clique soit correcte.

-même chose pour les cercueil, sauf que le menu est différent.

-Vérifier que les GrosPackHorse et GrosPackLlama sont correcte.

-Vérifier les 3 arbres à fruits

-Tester le script de Capuchon que je t'ai donner sur l'autre sujet. Si ça marche, ajoute cette ligne là dans la catégorie "Hats" du script DefTailoring

            AddCraft(typeof(Capuchon), 1011375, "Capuchon", 35, 50, typeof(Cloth), "Tissus", 15, "Vous n'avez pas assez de matériel");  

-Ajouter la ligne sur les keyring que je t'avais donné dans l'autre sujet, et voir si ça marche an essayant de le crafter.

-Tester la commande .verrou sur mes nouveaux addons2. Si ça marche YOUPPI! Mais va surement falloir le faire à toutes les parties. Si a marche pas, va falloir modifier la commande pour que ça marche, mais demande moi pas comment, je sais même pas à quoi le script ressemble
-Voir si les addons2 ne se delete pas après 1 heure quand toutes les parties sont verrouillées. (Si ils se delete, va falloir que je modifie quelque chose, tu me le dira)

-C'est tout ce que je pense pour le moment. J'en rajouterai si je pense à autre chose.


Post by Myrddin Emrys, CP - September 20, 2008 at 12:08 AM

dans lumberjack.cs

inverser les "0x543" de m_polairetiles avec ceux de m_aqualienstiles

c'est tout à la fin du document


Post by Coordinateur Apoc - September 22, 2008 at 8:41 AM

J'ai commencé à regarder ca un peu mais évidemment j'ai manqué de temps.
Mais de ce que j'ai vu, je n'ai pas les arbres à fruits, tu avais fais ca après que j'ai recu les scripts je crois. Possible que tu me renvoie tout ce que tu as fais Christian? (Je crois qu'il m anque que les arbres à fruits et le capuchon si tu as le temps de me le faire, sinon je regarderai plus tard.)

warlord_14@hotmail.com

Post by Théodore de Lagarde, AdM - September 22, 2008 at 4:18 PM

évidemment qu'ils sont pas là, je te les ai tous donné dans un autre topic APRÈS que Kertan y ai ajouter ces trucs.

Les revoilà. MAIS assure toi qu'ils fonctionnent!

Capuchon:

using System;

namespace Server.Items
{ public class Capuchon : BaseHat

{  
    public override int BasePhysicalResistance { get { return 0; } }  
    public override int BaseFireResistance { get { return 0; } }  
    public override int BaseColdResistance { get { return 0; } }  
    public override int BasePoisonResistance { get { return 0; } }  
    public override int BaseEnergyResistance { get { return 0; } }

    [Constructable]  
    public Capuchon()  
        : this(0)  
    {  
    }

    [Constructable]  
    public Capuchon(int hue)  
        : base(0x302E, hue)  
    {  
        Weight = 1.0;  
    }

    public Capuchon(Serial serial)  
        : base(serial)  
    {  
    }

    public override void Serialize(GenericWriter writer)  
    {  
        base.Serialize(writer);

        writer.Write((int)0); // version  
    }

    public override void Deserialize(GenericReader reader)  
    {  
        base.Deserialize(reader);

        int version = reader.ReadInt();  
    }  
}  

}

Pour crafter le capuchon: ajoute cette ligne là dans la catégorie "Hats" du script DefTailoring

            AddCraft(typeof(Capuchon), 1011375, "Capuchon", 35, 50, typeof(Cloth), "Tissus", 15, "Vous n'avez pas assez de matériel");  

Pour crafter le keyring: Tu ajoute ces lignes (en bas) dans la catégorie misc du fichier DefTinkering que Kertan t'a envoyé. Il sera maintenant craftable!

            AddCraft(typeof(DwsKeyRing), 1044050, "Porte-clefs", 15, 30, typeof(IronIngot), "Lingots de métal", 2, "Vous n'avez pas assez de matériel");  

Arbres à fruits: Ajoute ces lignes dans un nouveau fichier que tu appellera ArbresProductifs.

using System;
using Server;
using Server.Items;

namespace Server.Items
{ public class TroncPomme : Item
{
private bool Attend = false;
private Item i;
new private Point3D X;
new private Map Y;

    [Constructable]  
    public TroncPomme(Item I, Point3D x, Map y): base(0xd94)  
    {  
        Weight = 1.0;  
        Movable = false;  
        Name = "Tronc de pommier";  
        i = I;  
        X = x;  
        Y = y;  
        Timer.DelayCall(TimeSpan.FromMilliseconds(500.0), new TimerCallback(AttendUnPeu));

        this.Location = X;  
        this.Map = y;  
    }

    public TroncPomme(Serial serial)  
        : base(serial)  
    {  
    }

    public override void OnLocationChange(Point3D oldLocation)  
    {  
        if (i == null || (i.Location == this.Location && i.Map == this.Map))  
            return;

        if (Attend == false)  
            return;

        else  
        i.MoveToWorld(Location, Map);  
    }

    public override void Serialize(GenericWriter writer)  
    {  
        base.Serialize(writer);  
        writer.Write((int)0);  
        writer.Write((Item)i);  
        writer.Write((Point3D)X);  
        writer.Write((Map)Y);  
        writer.Write((bool)Attend);  
    }

    public override void Deserialize(GenericReader reader)  
    {  
        base.Deserialize(reader);  
        int version = reader.ReadInt();  
        i = reader.ReadItem();  
        X = reader.ReadPoint3D();  
        Y = reader.ReadMap();  
        Attend = reader.ReadBool();  
    }

    public void AttendUnPeu()  
    {  
        Attend = true;  
    }  
}

public class TroncPêche : Item  
{  
    private bool Attend = false;  
    private Item i;  
    new private Point3D X;  
    new private Map Y;

    [Constructable]  
    public TroncPêche(Item I, Point3D x, Map y)  
        : base(0xd9c)  
    {  
        Weight = 1.0;  
        Movable = false;  
        Name = "Tronc de pêcher";  
        i = I;  
        X = x;  
        Y = y;  
        Timer.DelayCall(TimeSpan.FromMilliseconds(500.0), new TimerCallback(AttendUnPeu));

        this.Location = X;  
        this.Map = y;  
    }

    public TroncPêche(Serial serial)  
        : base(serial)  
    {  
    }

    public override void OnLocationChange(Point3D oldLocation)  
    {  
        if (i == null || (i.Location == this.Location && i.Map == this.Map))  
            return;

        if (Attend == false)  
            return;

        else  
            i.MoveToWorld(Location, Map);  
    }

    public override void Serialize(GenericWriter writer)  
    {  
        base.Serialize(writer);  
        writer.Write((int)0);  
        writer.Write((Item)i);  
        writer.Write((Point3D)X);  
        writer.Write((Map)Y);  
        writer.Write((bool)Attend);  
    }

    public override void Deserialize(GenericReader reader)  
    {  
        base.Deserialize(reader);  
        int version = reader.ReadInt();  
        i = reader.ReadItem();  
        X = reader.ReadPoint3D();  
        Y = reader.ReadMap();  
        Attend = reader.ReadBool();  
    }

    public void AttendUnPeu()  
    {  
        Attend = true;  
    }  
}

public class TroncPoire : Item  
{  
    private bool Attend = false;  
    private Item i;  
    new private Point3D X;  
    new private Map Y;

    [Constructable]  
    public TroncPoire(Item I, Point3D x, Map y)  
        : base(0xda4)  
    {  
        Weight = 1.0;  
        Movable = false;  
        Name = "Tronc de poirier";  
        i = I;  
        X = x;  
        Y = y;  
        Timer.DelayCall(TimeSpan.FromMilliseconds(500.0), new TimerCallback(AttendUnPeu));

        this.Location = X;  
        this.Map = y;  
    }

    public TroncPoire(Serial serial)  
        : base(serial)  
    {  
    }

    public override void OnLocationChange(Point3D oldLocation)  
    {  
        if (i == null || (i.Location == this.Location && i.Map == this.Map))  
            return;

        if (Attend == false)  
            return;

        else  
            i.MoveToWorld(Location, Map);  
    }

    public override void Serialize(GenericWriter writer)  
    {  
        base.Serialize(writer);  
        writer.Write((int)0);  
        writer.Write((Item)i);  
        writer.Write((Point3D)X);  
        writer.Write((Map)Y);  
        writer.Write((bool)Attend);  
    }

    public override void Deserialize(GenericReader reader)  
    {  
        base.Deserialize(reader);  
        int version = reader.ReadInt();  
        i = reader.ReadItem();  
        X = reader.ReadPoint3D();  
        Y = reader.ReadMap();  
        Attend = reader.ReadBool();  
    }

    public void AttendUnPeu()  
    {  
        Attend = true;  
    }  
}


public class Pommier : Item  
{  
    private int m_Apples;  
    private Item item;

    [Constructable]  
    public Pommier(): base(0xD95)  
    {  
        Weight = 10.0;  
        Name = "Pommier";  
        Movable = false;

        Timer.DelayCall(TimeSpan.FromMilliseconds(500.0), new TimerCallback(Tronc));

        Timer.DelayCall(TimeSpan.FromMinutes(60.0), new TimerCallback( AddApple ));  
    }

    public Pommier(Serial serial)  
        : base(serial)  
    {  
    }  
    public override void Serialize(GenericWriter writer)  
    {  
        base.Serialize(writer);  
        writer.Write((int)0); // version  
        writer.Write((int)m_Apples);  
        writer.Write((Item)item);

    }  
    public override void Deserialize(GenericReader reader)  
    {  
        base.Deserialize(reader);  
        int version = reader.ReadInt();  
        m_Apples = reader.ReadInt();  
        item = reader.ReadItem();  
        Timer.DelayCall(TimeSpan.FromMinutes(60.0), new TimerCallback(AddApple));  
    }

    public override void OnDoubleClick(Mobile from)\t\t  

\t\t{
\t\t\tif ( from.InRange( this, 2 ) && from.CanSee( this ) )
\t\t\t{
if (m_Apples > 0)
{
from.SendMessage("Vous ceuillez des pommes et les mettez dans votre sac");
from.AddToBackpack(new Apple(m_Apples));
m_Apples = 0;
this.ItemID = 0xD95;
}

            else  

\t\t\t\t {
from.SendMessage("Il n'y a aucune pomme à ceuillir pour le moment");
}
\t\t
}
else
from.SendMessage("Vous êtes trop loin de l'arbre");
\t\t }

    public override void OnLocationChange(Point3D oldLocation)  
    {  
        if (item == null || (item.Location == Location && item.Map == Map))  
            return;

        item.MoveToWorld(Location, Map);  
    }

    private void AddApple()  
    {  
        this.ItemID = 0xD96;  
        if (m_Apples < 50)  

\t m_Apples += 1;
\t Timer.DelayCall(TimeSpan.FromMinutes(60.0), new TimerCallback( AddApple ));
}
private void Tronc()
{
Item I;
I = this;

        Point3D x;  
        x = this&#46;Location;

        Map y;  
        y = this&#46;Map;

        item = new TroncPomme(I, x, y);  
        //item&#46;MoveToWorld(this&#46;Location, this&#46;Map);   
    }  
}  
public class Pêcher &#58; Item  
{  
    private int m_Apples;  
    private Item item;

    &#91;Constructable&#93;  
    public Pêcher()  
        &#58; base(0xD9d)  
    {  
        Weight = 10&#46;0;  
        Name = "Pêcher";  
        Movable = false;

        Timer&#46;DelayCall(TimeSpan&#46;FromMilliseconds(500&#46;0), new TimerCallback(Tronc));

        Timer&#46;DelayCall(TimeSpan&#46;FromMinutes(60&#46;0), new TimerCallback(AddApple));  
    }

    public Pêcher(Serial serial)  
        &#58; base(serial)  
    {  
    }  
    public override void Serialize(GenericWriter writer)  
    {  
        base&#46;Serialize(writer);  
        writer&#46;Write((int)0); // version  
        writer&#46;Write((int)m_Apples);  
        writer&#46;Write((Item)item);

    }  
    public override void Deserialize(GenericReader reader)  
    {  
        base&#46;Deserialize(reader);  
        int version = reader&#46;ReadInt();  
        m_Apples = reader&#46;ReadInt();  
        item = reader&#46;ReadItem();  
        Timer&#46;DelayCall(TimeSpan&#46;FromMinutes(60&#46;0), new TimerCallback(AddApple));  
    }

    public override void OnDoubleClick(Mobile from)  
    {  
        if (from&#46;InRange(this, 2) && from&#46;CanSee(this))  
        {  
            if (m_Apples > 0)  
            {  
                from&#46;SendMessage("Vous ceuillez des pêches et les mettez dans votre sac");  
                from&#46;AddToBackpack(new Peach(m_Apples));  
                m_Apples = 0;  
                this&#46;ItemID = 0xD9d;  
            }

            else  
            {  
                from&#46;SendMessage("Il n'y a aucune pêche à ceuillir pour le moment");  
            }

        }  
        else  
            from&#46;SendMessage("Vous êtes trop loin de l'arbre");  
    }

    public override void OnLocationChange(Point3D oldLocation)  
    {  
        if (item == null || (item&#46;Location == Location && item&#46;Map == Map))  
            return;

        item&#46;MoveToWorld(Location, Map);  
    }

    private void AddApple()  
    {  
        this&#46;ItemID = 0xD9e;  
        if (m_Apples < 50)  
            m_Apples += 1;  
        Timer&#46;DelayCall(TimeSpan&#46;FromMinutes(60&#46;0), new TimerCallback(AddApple));  
    }  
    private void Tronc()  
    {  
        Item I;  
        I = this;

        Point3D x;  
        x = this&#46;Location;

        Map y;  
        y = this&#46;Map;

        item = new TroncPêche(I, x, y);  
        //item&#46;MoveToWorld(this&#46;Location, this&#46;Map);   
    }  
}  
public class Poirier &#58; Item  
{  
    private int m_Apples;  
    private Item item;

    &#91;Constructable&#93;  
    public Poirier()  
        &#58; base(0xDa5)  
    {  
        Weight = 10&#46;0;  
        Name = "Poirier";  
        Movable = false;

        Timer&#46;DelayCall(TimeSpan&#46;FromMilliseconds(500&#46;0), new TimerCallback(Tronc));

        Timer&#46;DelayCall(TimeSpan&#46;FromMinutes(60&#46;0), new TimerCallback(AddApple));  
    }

    public Poirier(Serial serial)  
        &#58; base(serial)  
    {  
    }  
    public override void Serialize(GenericWriter writer)  
    {  
        base&#46;Serialize(writer);  
        writer&#46;Write((int)0); // version  
        writer&#46;Write((int)m_Apples);  
        writer&#46;Write((Item)item);

    }  
    public override void Deserialize(GenericReader reader)  
    {  
        base&#46;Deserialize(reader);  
        int version = reader&#46;ReadInt();  
        m_Apples = reader&#46;ReadInt();  
        item = reader&#46;ReadItem();  
        Timer&#46;DelayCall(TimeSpan&#46;FromMinutes(60&#46;0), new TimerCallback(AddApple));  
    }

    public override void OnDoubleClick(Mobile from)  
    {  
        if (from&#46;InRange(this, 2) && from&#46;CanSee(this))  
        {  
            if (m_Apples > 0)  
            {  
                from&#46;SendMessage("Vous ceuillez des poires et les mettez dans votre sac");  
                from&#46;AddToBackpack(new Pear(m_Apples));  
                m_Apples = 0;  
                this&#46;ItemID = 0xDa5;  
            }

            else  
            {  
                from&#46;SendMessage("Il n'y a aucune poire à ceuillir pour le moment");  
            }

        }  
        else  
            from&#46;SendMessage("Vous êtes trop loin de l'arbre");  
    }

    public override void OnLocationChange(Point3D oldLocation)  
    {  
        if (item == null || (item&#46;Location == Location && item&#46;Map == Map))  
            return;

        item&#46;MoveToWorld(Location, Map);  
    }

    private void AddApple()  
    {  
        this&#46;ItemID = 0xDa6;  
        if (m_Apples < 50)  
            m_Apples += 1;  
        Timer&#46;DelayCall(TimeSpan&#46;FromMinutes(60&#46;0), new TimerCallback(AddApple));  
    }  
    private void Tronc()  
    {  
        Item I;  
        I = this;

        Point3D x;  
        x = this&#46;Location;

        Map y;  
        y = this&#46;Map;

        item = new TroncPoire(I, x, y);  
        //item&#46;MoveToWorld(this&#46;Location, this&#46;Map);   
    }  
}  

}