Zastavující se makra

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

Moderátor: Caleb

Odpovědět
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07.09.2006 19:12:21
Kontaktovat uživatele:

Zastavující se makra

Příspěvek od Raziel »

Zdravím,
mám makro na míchání, které pustím a funguje, ale někdy ... většinou když se objeví nová postava na obrazovce, tak se makro zastaví. Prostě z nějakého důvodu nenajde typ namíchané flašky v báglu i když tam je ... vypíše "type not found" a makro se zastaví.
Neví někdo proč, nebo co se s tím dá dělat ?
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: Zastavující se makra

Příspěvek od Helloween »

Raziel píše:Zdravím,
mám makro na míchání, které pustím a funguje, ale někdy ... většinou když se objeví nová postava na obrazovce, tak se makro zastaví. Prostě z nějakého důvodu nenajde typ namíchané flašky v báglu i když tam je ... vypíše "type not found" a makro se zastaví.
Neví někdo proč, nebo co se s tím dá dělat ?
Ukaž ten skript, nebo ti můžu poslat můj, mě fungoval vždycky. Vyzkoušej tenhle:

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts {
    public class Alchemy {
        private const string SuccessMessage = "You pour the completed potion into a bottle";
        private const string FailureMessage = "You toss the failed mixture from the mortar";

        [Executable( "alchemy" )]
        public void Start() {
            ItemType reagent = ItemType.FromTarget( "reagent" );
            ItemType potion = ItemType.FromTarget( "potion" );

            UO.Print( "Select 'keg':" );
            UOItem keg = World.GetItem( UIManager.TargetObject() );
            if ( !keg.Exist )
                throw new ScriptErrorException( "Item 'keg' not found" );

            int success = 0, failure = 0;

            while ( reagent.Count > 10 ) {
                Journal.Clear();

                reagent.Use();
                Journal.WaitForText( true, 40000, SuccessMessage, FailureMessage );
                UO.Wait( 500 );

                if ( Journal.Contains( SuccessMessage ) )
                    success++;
                else if ( Journal.Contains( FailureMessage ) )
                    failure++;

                UO.PrintInformation( "Success: {0} Failure: {1} => {2}%", success, failure, success + failure > 0 ? ( success * 100 / ( success + failure ) ) : 0 );

                while ( potion.Count > potion.InitialCount - 1 ) {
                    potion.WaitTarget();
                    keg.Use();
                    Journal.WaitForText( true, 20000, "Prelil jsi lahvicku do kade" );
                    UO.Wait( 500 );
                }
            }

            UO.PrintInformation( "Script finished" );
        }

        #region Nested type: ItemType

        private class ItemType {
            public ItemType( string name, Graphic graphic, UOColor color ) {
                Graphic = graphic;
                Color = color;
                InitialCount = Count;
            }

            public void Use() {
                UOItem item = World.Player.Backpack.AllItems.FindType( Graphic, Color );
                if ( !item.Exist )
                    throw new ScriptErrorException( "Item '" + Name + "' not found" );

                item.Use();
            }

            public void WaitTarget() {
                UOItem item = World.Player.Backpack.AllItems.FindType( Graphic, Color );
                if ( !item.Exist )
                    throw new ScriptErrorException( "Item '" + Name + "' not found" );

                item.WaitTarget();
            }

            #region Public properties

            public string Name {
                get;
                private set;
            }

            public Graphic Graphic {
                get;
                private set;
            }

            public UOColor Color {
                get;
                private set;
            }

            public int InitialCount {
                get;
                private set;
            }

            public int Count {
                get {
                    return World.Player.Backpack.AllItems.Count( Graphic, Color );
                }
            }

            #endregion

            #region Static members

            public static ItemType FromTarget( string name ) {
                UO.Print( "Select '" + name + "':" );
                UOItem item = World.GetItem( UIManager.TargetObject() );
                if ( !item.Exist )
                    throw new ScriptErrorException( "Item '" + name + "' not found" );

                return new ItemType( name, item.Graphic, item.Color );
            }

            #endregion
        }

        #endregion
    }
}
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07.09.2006 19:12:21
Kontaktovat uživatele:

Re: Zastavující se makra

Příspěvek od Raziel »

heh, hezký script ... aneb proč to dělat jednoduše když to jde složitě že ? :)
no můj script je tady

Kód: Vybrat vše

        ...
Script jede v pohodě ... ale když někdo projde kolem domu, tak se zastaví a hlásí "type not found" nenapadá mě souvislost scriptu a příchodu dalšího hráče. Tohle je jiná verze než co jsem měl napsané původně ... neměl jsem tam ten findtype ale už ani nevím jak to bylo předtím ... script jel ale měl stejný problém ... tohle je jak mi to nakonec zůstalo nechtělo se mi to přepisovat zpátky
Naposledy upravil(a) Raziel dne 26.01.2012 22:40:57, celkem upraveno 1 x.
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: Zastavující se makra

Příspěvek od Helloween »

Raziel píše:heh, hezký script ... aneb proč to dělat jednoduše když to jde složitě že ? :)
Ve skriptu nic nevidím, co by to mohlo zastavovat. No já mám skript trochu jinej, počítá i kolik jsi toho namíchal, kolik fizznul a procentuelně jak to vychází :-)
Zkus ten muj a uvidíš.
Protokoll
Book Snake
Book Snake
Příspěvky: 87
Registrován: 30.11.2011 16:55:53
Kontaktovat uživatele:

Re: Zastavující se makra

Příspěvek od Protokoll »

jak vy my, tak my k vy :lock:
Naposledy upravil(a) Protokoll dne 27.01.2012 11:10:40, celkem upraveno 1 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07.09.2006 19:12:21
Kontaktovat uživatele:

Re: Zastavující se makra

Příspěvek od Raziel »

aha, je mi to jasné ... jsem chtěl někoho kdo ví jak řešit problém a chápe jeho podstatu a ne zkus tohle a uvidíš. mimochodem nemáš pravdu a tvůj návrh na opravu funguje stejně jako bez ní.
Protokoll
Book Snake
Book Snake
Příspěvky: 87
Registrován: 30.11.2011 16:55:53
Kontaktovat uživatele:

Re: Zastavující se makra

Příspěvek od Protokoll »

jak vy my, tak my k vy :lock:
Naposledy upravil(a) Protokoll dne 27.01.2012 11:11:25, celkem upraveno 2 x.
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: Zastavující se makra

Příspěvek od Helloween »

Protokoll píše:no výborně... používáš něco o čem nevíš ani pumpička, máš špatně napsanej script, neumíš ani použít slovník k tomu aby sis projel compiled log, seš přechytřelej a navážíš se do lidí co se ti snaží pomoct, ale špatný sme my. :D


vyndej si všechny scripty(soubory.cs) co máš ve feně a nech tam jen ten s alchemkou. až to zkusíš, tak napiš.


EDIT: jestli máš tu prasáckou verzi s extensions, tak je možný, že tam budeš muset nechat i 1 další soubor. /ale protože to je neoficiální verze, neřeknu ti kterej/
Takový lidi jsou nejlepší :-) Rejpálci,zdechlouni. Mě to žíly netrhá, ať si trhne nohou.
Thelvyn
Slime Flourisher
Slime Flourisher
Příspěvky: 10
Registrován: 09.11.2011 18:33:13
Kontaktovat uživatele:

Re: Zastavující se makra

Příspěvek od Thelvyn »

usměvavé ... raz se vyjádřil kapku ostře asi ... , ale dle mého nechtěl skript na míchaní ale chtěl vědět proč ten jeho nefunguje...
pak se nedivím, te reakci... ale šlo to napsat lepe :)
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07.09.2006 19:12:21
Kontaktovat uživatele:

Re: Zastavující se makra

Příspěvek od Raziel »

Víceméně, ale já prostě nemám rád lidi co dělají chytráky a o problému neví nic "nefunguje ti počítač? tak si kup jiný ten fungovat bude" ... jinak tedy problém jsem vyřešil ale protože mám jak tady píše Einsten "špatný script který nemůže fungovat" tak řešení zde neuvedu - stejně nikdo jiný tento problém mít nebude když mají scripty od pana Protokolla.
Protokoll
Book Snake
Book Snake
Příspěvky: 87
Registrován: 30.11.2011 16:55:53
Kontaktovat uživatele:

Re: Zastavující se makra

Příspěvek od Protokoll »

Raziel píše:Víceméně, ale já prostě nemám rád lidi co dělají chytráky a o problému neví nic "nefunguje ti počítač? tak si kup jiný ten fungovat bude" ... jinak tedy problém jsem vyřešil ale protože mám jak tady píše Einsten "špatný script který nemůže fungovat" tak řešení zde neuvedu - stejně nikdo jiný tento problém mít nebude když mají scripty od pana Protokolla.
takže když ti nejede auto, protože tam leješ místo benzínu naftu a automechanik ti poradí, abys nejprve vyměnil palivo a až pak nechal vyčistit motor, tak je u tebe "chytrák co o tom nic neví ?"

tak ti nevim, ale nejsi to ty, ten chytrolín, kterýmu to tu nejede :?: :wink:


EDIT: nevděk vládne světu :mrgreen:
Thelvyn
Slime Flourisher
Slime Flourisher
Příspěvky: 10
Registrován: 09.11.2011 18:33:13
Kontaktovat uživatele:

Re: Zastavující se makra

Příspěvek od Thelvyn »

Protokoll píše:
Raziel píše:Víceméně, ale já prostě nemám rád lidi co dělají chytráky a o problému neví nic "nefunguje ti počítač? tak si kup jiný ten fungovat bude" ... jinak tedy problém jsem vyřešil ale protože mám jak tady píše Einsten "špatný script který nemůže fungovat" tak řešení zde neuvedu - stejně nikdo jiný tento problém mít nebude když mají scripty od pana Protokolla.
takže když ti nejede auto, protože tam leješ místo benzínu naftu a automechanik ti poradí, abys nejprve vyměnil palivo a až pak nechal vyčistit motor, tak je u tebe "chytrák co o tom nic neví ?"

tak ti nevim, ale nejsi to ty, ten chytrolín, kterýmu to tu nejede :?: :wink:


EDIT: nevděk vládne světu :mrgreen:
ty jsi mu ale napsal vyměn auto :)
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: Zastavující se makra

Příspěvek od Helloween »

Thelvyn píše:ty jsi mu ale napsal vyměn auto :)
Tady nešlo o výměnu auta. Tady šlo pouze o to, aby vyzkoušel jiný skript.
Když ti na PC přestane jet obraz, tak co uděláš? vyzkoušíš snad jinou grafiku nebo monitor ne? nezačneš rozebírat monitor nebo grafiku na malý součástečky.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07.09.2006 19:12:21
Kontaktovat uživatele:

Re: Zastavující se makra

Příspěvek od Raziel »

Helloween píše:
Tady nešlo o výměnu auta. Tady šlo pouze o to, aby vyzkoušel jiný skript.
Když ti na PC přestane jet obraz, tak co uděláš? vyzkoušíš snad jinou grafiku nebo monitor ne? nezačneš rozebírat monitor nebo grafiku na malý součástečky.
Vidíš a já obvykle jen zašoupu kabelem zatím 100 procentně funkční ;)
tak ti nevim, ale nejsi to ty, ten chytrolín, kterýmu to tu nejede :?: :wink:
Ne, říkám že script jsem si opravil sám, bez výměny auta ;)
Odpovědět