nefunkčné skripty?

Vaše problémy, rady a skripty týkající se tohoto prográmku

Moderátor: Caleb

Odpovědět
Uživatelský avatar
Ján Páleš
Book Snake
Book Snake
Příspěvky: 92
Registrován: 16.09.2013 18:38:41
Kontaktovat uživatele:

nefunkčné skripty?

Příspěvek od Ján Páleš »

mno .... tak som zhruba pred štyrmi hodinami rozbehal Phoenix (začal som o desiatej) a odkedy funguje sa snažím rozbehať skripty.
netreba hádam ani hovoriť, že som zatiaľ moc úspechu nemal a tak by som sa vás chcel opýtať, či niekomu tento skript v tejto podobe funguje bez problémov:
http://ultima.smoce.net/dark_paradise/p ... nim_cesty/

keď mám krumpáč vo vaku, začne kopať. potom sa postava hidne a dostanem chybu "koordináty" a "type not found"
vytvoril som si skratku "ctrl+m", do povelu som napísal ",Mining1" (pretože mi report ukazoval "Command 'mining1' registered")

keď danú skratku stlačím s krumpom v ruke, dostanem chybu okamžite a postava ani nezačne kopať. keď je krump vo vaku, raz začne kopať, hidne sa a koniec.
skúsil som vymazať všetky časti skriptu, ktoré odkazujú na hidnutie - hiduje sa aj tak...

každá rada je vítaná.
moja armáda núbov zahŕňa - Ecki (vamp), Joneleth (necro), Nubik Obycajny (loladin), Astar (cleric), Katrina (craft), Silverblade (craft), Beregond (warr), Elliara (mage), Asminia (ranger). because I can... ICQ = 261129403, email = eckister@gmail.com
Polarka
Book Snake
Book Snake
Příspěvky: 103
Registrován: 05.05.2013 10:53:38
Kontaktovat uživatele:

Re: nefunkčné skripty?

Příspěvek od Polarka »

- skontroluj ci nemas dalsi mining skript vo fenixovi dakde... trebars v roznych skriptoch typu Train, Craft atd. je casto aj mining a potom sa mozu navzajom bit :P Raz som mal asi 4 taming skripty a fenix normalne bezal bez chyb, ale skript robil podivnosti -> presne ako pises, ked som cast zmazal, tak to nasiel inde a robil to ajtak (hiding a pod.)
- nechce sa mi ten skript kukat, ale mozno podmienka kuka na kromp v batohu, tak ak mas len jeden, skus si vziat este jeden do batohu :P
Uživatelský avatar
Ján Páleš
Book Snake
Book Snake
Příspěvky: 92
Registrován: 16.09.2013 18:38:41
Kontaktovat uživatele:

Re: nefunkčné skripty?

Příspěvek od Ján Páleš »

áno, aj táto možnosť ma napadla. len zohnať ďalší... :-D nemám crafta a na trhu som moc ľudí nestretol (aspoň nie takých, ktorí by mali čas mi s týmto pomôcť). preto som chcel kus potréniť, aby som si vedel pomôcť sám. na šťastie v tréningovej bani bol jeden kromp (ak niekomu chýba, moje ICQ je 261129403). njn zbehnem zrejme s vampom pobiť zopár príšer, snáď mi krompy niekde padnú. :-D
a za tú radu s ostatnými skriptami ďakujem - odoberiem ich zo zložky a uvidíme na čo prídem.
moja armáda núbov zahŕňa - Ecki (vamp), Joneleth (necro), Nubik Obycajny (loladin), Astar (cleric), Katrina (craft), Silverblade (craft), Beregond (warr), Elliara (mage), Asminia (ranger). because I can... ICQ = 261129403, email = eckister@gmail.com
Uživatelský avatar
Helloween
Pencil Master
Pencil Master
Příspěvky: 591
Registrován: 07.09.2006 23:17:40
Bydliště: Nekde blizko hospody :P
Kontaktovat uživatele:

Re: nefunkčné skripty?

Příspěvek od Helloween »

Dívám se,že ten skript ještě existuje, tehdy sem ho jako začátečník sbastlil nějak dohromady a nějak záhadně fungoval.
Osobně bych ho už ale nedoporučoval a smazal někam do pryč :) Mám tu už jiný, který funguje perfektně.
Tak kdyžtak ho hodím do skriptů a tento co máš uprav na novej co sem hodím do skriptů
Uživatelský avatar
Artwelis
Walking Scribbler
Walking Scribbler
Příspěvky: 35
Registrován: 14.09.2013 21:34:50

Re: nefunkčné skripty?

Příspěvek od Artwelis »

vyuziju tento topik:
Pouzivam verzi Phoenixu 0.7.3.0 od Mikeeho, ktery jsem stahnul z Amothia wiki a funguje mi dobre. Jediny vyznamny problem mam s loot scriptem, ktery mi proste nefunguje
Loot script jsem jsem stahnul taky od Mikeeho, prikladam code

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using Phoenix;
using Phoenix.WorldData;
 
namespace Scripts.DarkParadise
{
    public class Loot
    {
        public const ushort SpidersSilk = 0x0F8D;
        public const ushort Bag = 0x0E76;
        public const ushort Corpse = 0x2006;
 
        public Loot()
        {
            lootTypes = new List<ItemType>();
 
            /*
            AddType(0x0F8D, UOColor.Invariant); // SS
            AddType(0x0EED, UOColor.Invariant); // Gold Coins
            AddType(0x0F7B, UOColor.Invariant); // BM
            AddType(0x0F7A, UOColor.Invariant); // BP
            AddType(0x0F84, UOColor.Invariant); // GA
            AddType(0x0F85, UOColor.Invariant); // GI
            AddType(0x0F86, UOColor.Invariant); // MR
            AddType(0x0F88, UOColor.Invariant); // NS
            AddType(0x0F8C, UOColor.Invariant); // SA
            AddType(0x0F79, UOColor.Invariant); // Blackmoor
            AddType(0x1bd1, UOColor.Invariant); // Peri
            AddType(0x0F78, UOColor.Invariant); // Batwings
            AddType(0x0F87, UOColor.Invariant); // Eyes of Newt
            AddType(0x14EB, UOColor.Invariant); // Treassure Map
             * */
            AddType(0x0E80, UOColor.Invariant); // Poklad
            AddType(0x0F3F, UOColor.Invariant); // Arrow
            AddType(0x1BFB, UOColor.Invariant); // Bolt
            // AddType(0x0E76, UOColor.Invariant); // Pytlik
            AddType(0x097A, UOColor.Invariant); // Alligator Hide
            AddType(0x097B, UOColor.Invariant); // Snake skin
            // AddType(0x097C, UOColor.Invariant); // nevim, treba dalsi trofej
            // AddType(0x097D, UOColor.Invariant); // nevim, treba dalsi trofej
            AddType(0x097E, 0x0037); // a Wolf Pelt
            AddType(0x1bd1, UOColor.Invariant); // Peri
            //AddType(0x1078, UOColor.Invariant); // Kuze
            /*
            AddType(0x0E34, UOColor.Invariant); // Blank Scroll
            AddType(0x0F20, UOColor.Invariant); // Tourmaline
            AddType(0x0F8E, UOColor.Invariant); // Serpent Scales
            AddType(0x0F79, UOColor.Invariant); // Blackmoor
            AddType(0x0F91, UOColor.Invariant); // Wyrms Heart
            AddType(0x0F83, UOColor.Invariant); // Executioner's Cap
            AddType(0x108A, UOColor.Invariant); // Ring
            AddType(0x1086, UOColor.Invariant); // Bracelet
            AddType(0x1088, UOColor.Invariant); // Neclase
            AddType(0x1848, UOColor.Invariant); // Elixir
            AddType(0x0F7E, UOColor.Invariant); // 
            AddType(0x139A, UOColor.Invariant); // Statue
            AddType(0x0F82, UOColor.Invariant); // 
            AddType(0x0F7D, UOColor.Invariant); // 
            AddType(0x0E9C, UOColor.Invariant); // Drums
            AddType(0x0EB2, UOColor.Invariant); // Harp
            AddType(0x0EB2, UOColor.Invariant); // Lute
            AddType(0x14ED, UOColor.Invariant); // Deed 1
            AddType(0x14EE, UOColor.Invariant); // Deed 2
            AddType(0x0F7F, UOColor.Invariant); // 
            AddType(0x0F7C, UOColor.Invariant); // 
            AddType(0x0F79, UOColor.Invariant); // 
            AddType(0x0F89, UOColor.Invariant); // 
            AddType(0x0F81, UOColor.Invariant); // 
            AddType(0x0FF4, UOColor.Invariant); // knihy
            AddType(0x136C, UOColor.Invariant); // HoDF, Myst. Stone
            // AddType(0x1F13, UOColor.Invariant); // skillpointy
            AddType(0x0F8F, UOColor.Invariant); // 
            AddType(0x0F8B, UOColor.Invariant); //
 
            AddType(0x1406, 0x031E); // a Stunning Warmace
            AddType(0x0D16, 0x00A3); // a Mystical Mushroom
            AddType(0x0DBD, 0x0B9F); // a Mystical Leaf
            AddType(0x1A9D, 0x0481); // a Mystical Stick
            AddType(0x0F5A, 0x0044); // a Mystic Crystal
            AddType(0x0E73, 0x0B9F); // a Mystical Ball
            AddType(0x0E26, 0x049D); // a Spirit of the Rain
            AddType(0x0F91, 0x014D); // Heart of Rainbow Dragon
            AddType(0x1420, 0x0152); // Cobwebby string
            AddType(0x097E, 0x0037); // a Wolf Pelt
            AddType(0x0CB0, 0x0899); // a Mystical Plant
            AddType(0x0DC3, 0x005B); // a Mystical Flower
            AddType(0x1F03, 0x0771); // Mage's robe
            AddType(0x1F03, 0x0455); // Death's robe, pozor, bere to i obyc roby
            AddType(0x13B9, 0x0480); // Ice Viking Sword
            AddType(0x09D0, 0x09B4); // God's Apple
            AddType(0x13FC, 0x0237); // Elven Heavy Crossbow
            AddType(0x379F, 0x0055); // Elfi tetiva
            AddType(0x108B, 0x0BB5); // a Mystical Beeds
            AddType(0x0DC3, 0x005B); // a Mystical Flower
             * */
        }
 
        [Executable]
        [BlockMultipleExecutions("loot")]
        public void CutAll()
        {
            UOItem lHand = World.Player.Layers[Layer.LeftHand];
            UOItem rHand = World.Player.Layers[Layer.RightHand];
 
            UOItem cutter = World.Player.Backpack.AllItems.FindType(0x0F51);
 
            if (!cutter.Exist) {
                ScriptErrorException.Throw("Cannot find anything to cut with.");
                return;
            }
 
            foreach (UOItem item in World.Ground) {
                if (item.Graphic == Corpse) {
                    Notoriety notoriety = CorpsesNotoriety.Get(item, 5000);
 
                    switch (notoriety) {
                        case Notoriety.Unknown:
                            UO.PrintWarning("Unknown notoriety of {0}. Corpse skipped.", item);
                            break;
 
                        case Notoriety.Criminal:
                        case Notoriety.Murderer:
                        case Notoriety.Neutral:
                            item.WaitTarget();
                            cutter.Use();
                            UO.Wait(1000); // TODO
                            break;
 
                        default:
                            break;
                    }
                }
            }
 
            lHand.Equip();
            rHand.Equip();
        }
 
        private struct ItemType
        {
            public ItemType(Graphic graphic, UOColor color)
            {
                Graphic = graphic;
                Color = color;
            }
 
            public Graphic Graphic;
            public UOColor Color;
        }
 
        private List<ItemType> lootTypes;
 
        public void AddType(Graphic graphic, UOColor color)
        {
            lootTypes.Add(new ItemType(graphic, color));
        }
 
        [Executable("loot")]
        [BlockMultipleExecutions("loot")]
        public void Run()
        {
            if (!Aliases.RecevingContainer.IsValid) {
                ScriptErrorException.Throw("RecevingContainer not set.");
            }
 
            ScriptErrorException.ExceptionEnabled = false;
            World.FindDistance = 6;
 
            UO.PrintInformation("Loot started");
 
            UIManager.Reset();
            LootCollection(World.Ground, true);
 
            UO.PrintInformation("Loot finished");
        }
 
        private bool CheckCorpse(UOItem item)
        {
            //                                         male    female  imp     garga
            //ushort[] forbiddenCorpses = new ushort[] { 0x0190, 0x0191, 0x0027, 0x0004 };
            // return Array.IndexOf<ushort>(forbiddenCorpses, item.Amount) < 0;
 
            Notoriety n = CorpsesNotoriety.Get(item, 2000);
            return n != Notoriety.Innocent && n != Notoriety.Guild && n != Notoriety.Unknown;
        }
 
        private void LootCollection(ItemsCollection collection, bool ignoreSingleSS)
        {
            foreach (UOItem item in collection) {
                /*
                if (item.Graphic == Bag) {
                    using (ItemOpenedEventWaiter ew = new ItemOpenedEventWaiter(item)) {
                        if (!item.Opened) {
                            item.Use();
                            if (ew.Wait(2000))
                                UO.Wait(500);
                        }
                    }
 
                    UO.EmptyContainer(1000, item);
                }
                else */
                if (item.Graphic == Corpse) {
                    if (CheckCorpse(item)) {
                        if (!item.Opened) {
                            item.Use();
                            UO.Wait(1000);
                        }
 
                        LootCollection(item.Items, false);
                    }
                }
                else if (ignoreSingleSS && item.Graphic == SpidersSilk && item.Color == 0 && item.Amount < 2) {
                    continue;
                }
                else if (lootTypes.Contains(new ItemType(item.Graphic, item.Color))) {
                    // bool ground = item.Container == 0;
                    int pause = 450;
 
                    using (ItemUpdateEventWaiter ew = new ItemUpdateEventWaiter(item)) {
                        // Journal.Clear();
                        if (item.Grab() && ew.Wait(3000)) {
                            UO.Wait(pause);
                            /*
                            if (!ground) {
                                Journal.WaitForText(true, 2000, "akce skoncila");
                            }
                            */
                        }
                    }
 
                    UO.Wait(50);
                }
            }
        }
    }
}
Script najde sice telo (last container), ale proste nic nevylootuje.
Hledal jsem i na dalsich strankach a ptal se kamaradu - bohuzel nic co by fungovalo jsem nenasel - dokonce ani script od Smoceho (autopololot.sc) mi prost eten bagl s lootem z tela nezvedne
V yoko pouzivam opravdu jednoduchy loot script, ktery jsem si lehce upravil (sbirani skillpointu) a jsem s nim spokojeny. Bohuzel ve Phoenixu nejsem schopny najit v cem by mohla byt chyba, syntax je trosku jina/slozitejsi

Muzete mi sem prosim hodit nejaky jednoduchy loot script, ktery funguje (nejlepe na 0.7.3 verzi)?
Polarka
Book Snake
Book Snake
Příspěvky: 103
Registrován: 05.05.2013 10:53:38
Kontaktovat uživatele:

Re: nefunkčné skripty?

Příspěvek od Polarka »

hrozny skript tohlecto :D to je tusim este na stary loot system normalne, podla tych poloziek ) som mal jednoduchy skript na poklady, pytliky a skill pointy, ale momentalne mam new notebook bez UO a feny, toz tazko :P Skusim neskor kuknut snad...

Co sa tyka pytlikov, tak v tom skripte su (Bag), iba je to vypnute (//nazaciatku), tak skus to tam najst a to // odtial zmaz, mozno to pofrci! Snad.. :D

Edit:->
Alebo mozes skusit, bez do skriptu ako mas public Loot...->

public Loot()
{
lootTypes = new List<ItemType>();
....
AddType(0x1406, 0x031E); // a Stunning Warmace
....
}

no a tam pomaz vseeeetky tie AddType();, no a pridaj si tam vlastne podla toho, co chces zbierat, je to jednoduche: v UO napis ,info a klikni na dany predmet v hre, napriklad loot pytlik -> ti to slahne tabulku s kopou udajou, tak tam si najdi Graphic a Color a dopis to pod lootTypes = new List<ItemType>(); nejak takto-->
AddType(Graphic, Color);
no a mozes si spravit svoj loot, ktory ti bude naj vyhovovat :P
Uživatelský avatar
Ján Páleš
Book Snake
Book Snake
Příspěvky: 92
Registrován: 16.09.2013 18:38:41
Kontaktovat uživatele:

Re: nefunkčné skripty?

Příspěvek od Ján Páleš »

ouha, ďakujem vám všetkým za rady! ^^ mrknem sa na to keď budem menej lenivý. :-D
heh ináč ja mám verziu 0.7.2.0. asi by som ju mal zameniť, čo? :-D
ok ešte raz ďakujem a snáď sa vidíme v hre! ^^
moja armáda núbov zahŕňa - Ecki (vamp), Joneleth (necro), Nubik Obycajny (loladin), Astar (cleric), Katrina (craft), Silverblade (craft), Beregond (warr), Elliara (mage), Asminia (ranger). because I can... ICQ = 261129403, email = eckister@gmail.com
Uživatelský avatar
Artwelis
Walking Scribbler
Walking Scribbler
Příspěvky: 35
Registrován: 14.09.2013 21:34:50

Re: nefunkčné skripty?

Příspěvek od Artwelis »

To jsem uz prepisoval vcera...
"jebal" jsem se s tim asi hodinu - no dneska jsem to zkusil znova (defakto udelat totez) a najednou mi to funguje
Takze diky moc!
Odpovědět