Drugsytem

Hier könnt ihr eure Scripte vorstellen und Untereinander verbessern.
Nachricht
Autor
Aleex

#16 Beitrag von Aleex » 24 Apr 2009 23:17

Hey,

Ich hab grad nen bissl hier im Forum gelesen...

KP ob Du es noch gebrauchen kannst, allerdings habe ich hier ne Code-Möglichkeit wie man Gold aus dem BP und BF überpüfen kann, diese Möglichkeit musst Du dann allerdings an dem Script anpassen:

m = der Player, eine PlayerMobile-Instanz brauchst Du.

Code: Alles auswählen

                int MustHave = 30;
                bool inBackpack = false;
                bool inBankBox = false;

                foreach (Item item in m.Backpack.Items)
                {
                    if (item is Gold)
                    {
                        Gold g = item as Gold;
                        if (g.Amount >= MustHave)
                        {
                            for (int i = 0; i < MustHave; i++)
                            {
                                g.Consume();
                            }
                            inBackpack = true;
                        }
                        break;
                    }
                }

                if (!inBackpack)
                {
                    foreach (Item item in m.BankBox.Items)
                    {
                        if (item is Gold)
                        {
                            Gold g = item as Gold;
                            if (g.Amount >= MustHave)
                            {
                                for (int i = 0; i < MustHave; i++)
                                {
                                    g.Consume();
                                }
                                inBankBox = true;
                            }
                            break;
                        }
                    }
                }

                if (!inBackpack && !inBankBox)
                    m.SendMessage("Dafür hast Du leider nicht genug Gold!");

IthronNorui
Senior Mitglied
Beiträge: 142
Registriert: 24 Jun 2005 17:00
Wohnort: NRW
Kontaktdaten:

#17 Beitrag von IthronNorui » 25 Apr 2009 01:46

Es geht sogar noch kürzer:

Code: Alles auswählen

int MustHave = 30;
Item gp = m.Backpack.FindItemByType(typeof(Gold));
Item gpb = m.BankBox.FindItemByType(typeof(Gold));
bool bezahlt = false;

if (gp != null)
{
    if (((Gold)gp).Amount >= MustHave)
    {
        ((Gold)gp).Consume(MustHave);
        bezahlt = true;
    }
}

if (gpb != null && bezahlt == false)
{
    if (((Gold)gpb).Amount >= MustHave)
    {
        ((Gold)gpb).Consume(MustHave);
        bezahlt = true;
    }
}


if (bezahlt == false)
    m.SendMessage("Dafür hast Du leider nicht genug Gold!");
else
    m.SendMessage(string.Format("Du hast {0} Gold bezahlt", MustHave));

Niemand

#18 Beitrag von Niemand » 21 Okt 2009 21:15

oh. seite zwei hatt ich noch garnicht gesehen. gut, wenn man seine alten posts nochmal durchschaut. dankeschön ;)

Antworten