Razielovy scripty

Skripty týkající se tohoto externího programu

Moderátor: Caleb

Líbí se vám scripty ?

Ano, některé použiju.
86
82%
Ne, žádný jsem nepoužil.
10
10%
Mám svoje scripty.
9
9%
 
Celkem hlasů: 105

Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

na žádost další script - ressování bandama
nastavíte si počet bandů pro ress podle specky kterou máte na clerovi

Kód: Vybrat vše

        private int PotrebaKrvavych = 50;
        private int PotrebaObycejnych = 15;
,ressList - uložení lidí které chcete ressovat do seznamu (sice není třeba nastavovat ale i tak doporučuji nastavit vždy).
odlog seznam vymaže
,autoress <1> <2> <3> <4>

například ivm+ress obyč bandama jen lidí ze seznamu:
,autoress true false false false

každé číslo 1-4 je jedna hodnota true nebo false (znamená ano nebo ne)
1 - hodit ivm před ressem
2 - resovat i duchy hráčů které nemáte označené
3 - ressovat krvavýma bandama
4 - pokud resuju krvavýma bandama a krvavé bandy nemám, resovat obyčejnýma

Kód: Vybrat vše

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

namespace Phoenix.Scripts.Raziel
{
    public class RessOnClick
    {
        private int PotrebaKrvavych = 50;
        private int PotrebaObycejnych = 15;
        private List<UOCharacter> seznam = new List<UOCharacter>();

        [Command]
        public void ressList()
        {
            UOCharacter c;
            while (true)
            {
                UO.Print("Vyber hrace pro ulozeni do listu pořadí určuje prioritu.");
                c = new UOCharacter(UIManager.TargetObject());
                if (!c.Exist)
                    return;
                if (c.Hits < 0)
                {
                    UO.Print("Musis oznacit hrace");
                    continue;
                }
                if (seznam.Contains(c))
                {
                    UO.Print("Postava uz v seznamu je...");
                    continue;
                }
                seznam.Add(c);
            }
        }
        
        [Command]
        public void autoRess(bool kouzlitIVM, bool kohokoliv, bool krvaveBandy, bool ressObycPokudNeniDostKrvavych)
        {
            if (krvaveBandy)
            {
                int pocet = UO.Count(0x0E20) + UO.Count(0x0E22);
                if (pocet<PotrebaKrvavych)
                {
                    UO.Print("Nemas "+PotrebaKrvavych+" krvavych bandu!");
                    krvaveBandy=false;
                    if (ressObycPokudNeniDostKrvavych)
                        return;
                }
            }
            if (!krvaveBandy)
            {
                int pocet = UO.Count(0x0E21);
                if (pocet < PotrebaObycejnych)
                {
                    UO.Print("Nemas " + PotrebaObycejnych + " bandu!");
                    return;
                }
            }

            UOCharacter duch = najdiDucha(kohokoliv);
            if (!duch.Exist)
            {
                UO.Print("Duch nenalezen...");
                return;
            }
            UO.Print("ressuju "+duch.Name);
            if (kouzlitIVM)
            {
                UO.Cast(StandardSpell.GreaterHeal, duch);
                UO.Wait(1500);
            }

            UO.UseType(krvaveBandy?UO.Count(0x0E20)>=PotrebaKrvavych?0x0E20:0x0E22:0x0E21);
            duch.WaitTarget();
        }

        private UOCharacter najdiDucha(bool kohokoliv)
        {   
            foreach (UOCharacter item in seznam)
                if (item.Distance < 2 && (item.Model == 0x192 || item.Model == 0x0193))
                    return item;
            if (kohokoliv)
            {
                foreach (UOCharacter item in World.Characters)
                {
                    if (item.Distance < 2 && (item.Model == 0x0192 || item.Model == 0x0193))
                        return item;
                }
            }
            return new UOCharacter(Serial.Invalid);
        }
    }
}
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

Opět na přádní přidáno míchání přes mortar, staré alchemy zahozeno. Script je na první straně hledejte "alchemy"
,mich "zkratka"
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

Script by se už neměl zastavit při WS.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

Na žádost napsán další script - na přepisování map. Script je na druhé stránce, hledejte "prepisovac"
,prepisovac
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

Raziel píše:upravené základní scripty z odkazu na DP webu

doplněná horní lišta

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Phoenix;
using Phoenix.WorldData;
using System.Runtime.CompilerServices;

namespace Scripts.Status
{
    [RuntimeObject]
    public class ClientTitleBar
    {
        class ItemInfo
        {
            public string Name;
            public int Amount;

            public override string ToString()
            {
                return Name + ":" + Amount;
            }
        }

        private int lastHits;
        private int lastMana;
        private int lastStam;
        private int lastWeight;
        private UOPlayer player;
        private readonly List<object> data = new List<object>();

        public ClientTitleBar()
        {
            Core.LoginComplete += new EventHandler(Core_LoginComplete);
            Core.Disconnected += new EventHandler(Core_Disconnected);

            if (Core.LoggedIn)
                Initialize();
        }

        void Core_Disconnected(object sender, EventArgs e)
        {
            player.Changed -= new ObjectChangedEventHandler(Player_Changed);
            data.Clear();
        }

        void Core_LoginComplete(object sender, EventArgs e)
        {
            Initialize();
        }

        private void Initialize()
        {
            data.Clear();

            data.Add("|");
            AddItem("bm", 0x0F7B, 0);
            AddItem("bp", 0x0F7A, 0);
            AddItem("ga", 0x0F84, 0);
            AddItem("gs", 0x0F85, 0);
            AddItem("mr", 0x0F86, 0);
            AddItem("ns", 0x0F88, 0);
            AddItem("sa", 0x0F8C, 0);
            AddItem("ss", 0x0F8D, 0);
            
            data.Add("|");
            AddItem("gh", 0x0F0C, 0);
            AddItem("gs", 0x0F09, 0x0000);
            AddItem("tmr", 0x0F09, 0x0003);

            player = World.Player;
            player.Changed += new ObjectChangedEventHandler(Player_Changed);

            UpdateText();
        }

        public void AddItem(string name, Graphic type, UOColor color)
        {
            var sc = new SupplyCounter(UO.Backpack, type, color);
            var item = new ItemInfo { Name = name, Amount = sc.CurrentAmount };

            data.Add(item);

            sc.AmountChanged += delegate(object sender, EventArgs e)
            {
                item.Amount = sc.CurrentAmount;
                UpdateText();
            };
        }

        void Player_Changed(object sender, ObjectChangedEventArgs e)
        {
            if (lastWeight!= player.Weight || player.Hits != lastHits || player.Mana != lastMana || player.Stamina != lastStam) {
                UpdateText();
                
                lastWeight=player.Weight;
                lastHits = player.Hits;
                lastMana = player.Mana;
                lastStam = player.Stamina;
            }
        }

        private void UpdateText()
        {
            StringBuilder sb = new StringBuilder();

            // Player stats
            sb.AppendFormat("UO h:{0}/{1} m:{2}/{3} s:{4}/{5} ar:{6} w:{7}", player.Hits, player.MaxHits, player.Mana, player.MaxMana, player.Stamina, player.MaxStamina, player.Armor, player.Weight);

            // Items
            foreach (var i in data) {
                sb.Append(" ");
                sb.Append(i);
            }

            sb.AppendFormat("|g:{0}", World.Player.Gold);

            Client.Text = sb.ToString();
        }
    }
}
přejmenovávání sumonů - upraveno at to nepřejmenovává necro sumy, koně atd prostě klamáky
(nevím jestli sem tam přidával něco dalšího ale myslím že ne)
použití :
exec saykill
nezapomente si doplnit svá jména pro sumy sem (oddělené čárkama):

Kód: Vybrat vše

public static readonly string Names = "jmeno1, jmeno2, ...;

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Phoenix.WorldData;
using Phoenix;
using Phoenix.Communication;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Diagnostics;

namespace Scripts.DarkParadise
{
    [RuntimeObject]
    public class PetControl
    {//trocha uprav by Raziel
        public const bool IncludeAll = false;
        public static readonly Graphic[] necrosumi= new Graphic[] { 0x0003, 0x0032, 0x0018 };
        public static readonly Graphic[] barevninecrosumi= new Graphic[] { 0x001F };
        public static readonly Graphic[] jezditka= new Graphic[] { 0xE4, 0xC8, 0xE2, 0xD2, 0xDC, 0xDB, 0xDA, 
        0x0123, 0x0124 };
        public static readonly Graphic[] lidiupiri=new Graphic[] { 0x190, 0x191, 0x0004 };
        public static readonly string Names = "jmeno1, jmeno2, jmeno3, jmeno4, jmeno5, jmeno6, jemno7, jmeno8,
         jmeno9, jmeno10, jmeno11, jmeno12, atd";
        private int lastUsed;
        private int lastCalled;
        private string[] names = Names.Split(',').Distinct().ToArray();

        public static bool Enabled
        {
            get;
            [Command("petcontrol")]
            set;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="T:PetControl"/> class.
        /// </summary>
        public PetControl()
        {
            World.CharacterAppeared += new CharacterAppearedEventHandler(World_CharacterAppeared);
            Enabled = true;
        }

        void World_CharacterAppeared(object sender, CharacterAppearedEventArgs e)
        {
            if (!Enabled)
                return;

            UOCharacter mob = World.GetCharacter(e.Serial);
            
            // Neprejmenovavej kone
            if (mob.Model == 0x00CC)
                return;
            //barevni necro                
            if (barevninecrosumi.Contains(mob.Model))
                return;    
                
            // A taky vsechny ostatni jezditka
            if (jezditka.Contains(mob.Model))
                return;
            // Lidi a upiry taky preskakuj rovnou
            if (lidiupiri.Contains(mob.Model))
                return;
                
            if (mob.MaxHits < 0) {
                if (!mob.RequestStatus(5000)) {
                    return;
                }
            }
            //necrosumy taky preskakuj rovnou
            if (necrosumi.Contains(mob.Model)&&mob.Color==0x0000)
                return;
            
            if (!mob.Renamable) {
                return;
            }

            // Zaregistruj handler na update jmena

            if (mob.Name != null) {
                // Prejmenuj, pokud uz je jmeno zname
                Init(mob);
            }
            else {
                //Log("Mob {0} je registrovan pro prejmenovani.", e.Serial);
                mob.Changed += new ObjectChangedEventHandler(mob_Changed);
            }
        }

        void mob_Changed(object sender, ObjectChangedEventArgs e)
        {
            UOCharacter mob = World.GetCharacter(e.Serial);

            if (mob.Name != null) {
                //Log("Ziskano jmeno {0}", e.Serial);
                mob.Changed -= new ObjectChangedEventHandler(mob_Changed);

                // Prejmenuj
                Init(mob);
            }
        }

        private void Init(UOCharacter mob)
        {
            if (!Monitor.TryEnter(this, 20000))
                throw new TimeoutException("Rename");

            try {
                if (names.Contains(mob.Name)) {
                    return;
                }
                
                for (int i = 0; i < names.Length; i++) {
                    string name = NextName(ref lastUsed, false);

                    if (!FindByName(name).Exist) {                        
                        mob.Rename(name);

                        UO.Wait(500);
                        byte[] data = PacketBuilder.CharacterSpeechUnicode(mob.Serial, mob.Model, name, 
                        SpeechType.Regular, SpeechFont.Normal, Env.ConsoleColor, "[ " + name + " ]");
                        Core.SendToClient(data, true);

                        return;
                    }
                }

                UO.PrintWarning("No unused name found.");
            }
            finally {
                Monitor.Exit(this);
            }
        }

        [Executable("saykill")]
        [Obsolete]
        public void Kill()
        {
            CommandPet("Kill");
        }

        [Executable]
        public void CommandPet(string command)
        {
            for (int i = 0; i < names.Length; i++) {
                string name = NextName(ref lastCalled, IncludeAll);
                UOCharacter mob = FindByName(name);

                if (name == "All" || (mob.Renamable && mob.Distance < 18)) {
                    // Substitute the name
                    UO.Say(name + " " + command);
                    return;
                }
            }

            UO.Say("All " + command);
        }

        private string NextName(ref int index, bool includeAll)
        {
            if (++index >= names.Length) {
                if (includeAll) {
                    index = -1; // Pri pristim volani se to dostane krasne na nulu
                    return "All";
                }
                else {
                    index = 0;
                }
            }

            return names[index];
        }

        private UOCharacter FindByName(string name)
        {
            foreach (var m in World.Characters) {
                if (m.Name != null && String.Compare(m.Name, name, true) == 0)
                    return m;
            }

            return new UOCharacter(Serial.Invalid);
        }
    }
}
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

přidány tmr do horní lišty (se divím že až ted se někdo ozval že tam nejsou :) )
Ying
Orc Writer
Orc Writer
Příspěvky: 58
Registrován: 12 led 2017 14:58

Re: Razielovy scripty

Příspěvek od Ying »

A rovnou u nich oprav barvu u regy v sekci GMmortar u tmr :p
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

Opraveno
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

opraven script na uklid nb itemů v báglu, přidány pauzy, itemy, spellbook se přesouvá bez barvy
,uklid(2 stránka)
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

upraven script na autoloot, více info na první straně hledejte "lootuj"
Skriptor
Walking Scribbler
Walking Scribbler
Příspěvky: 45
Registrován: 26 bře 2008 19:56

Re: Razielovy scripty

Příspěvek od Skriptor »

ahoj vedel by si tu hodit skript na train cookingu?
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

Skriptor píše:ahoj vedel by si tu hodit skript na train cookingu?
Přidáno vaření na druhou stránku. ,cooking
Ying
Orc Writer
Orc Writer
Příspěvky: 58
Registrován: 12 led 2017 14:58

Re: Razielovy scripty

Příspěvek od Ying »

Ahoj, zvládl by si napsat skript na mining, který sám portne domu odnést ingoty, dokope důl a portne do dalšího dolu a vykope?
Uživatelský avatar
Thief
Nehraju!
Příspěvky: 1336
Registrován: 03 čer 2011 16:43
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Thief »

A na záchod budeš chodit sám? Nebo na to taky potřebuješ script?
Uživatelský avatar
Xan
Lord Ancestral Grafoman
Lord Ancestral Grafoman
Příspěvky: 1212
Registrován: 20 kvě 2007 16:04
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Xan »

Ne, tam právě bude v klidu celou dobu sedět, zatímco bude script makat:)
Skriptor
Walking Scribbler
Walking Scribbler
Příspěvky: 45
Registrován: 26 bře 2008 19:56

Re: Razielovy scripty

Příspěvek od Skriptor »

Raziel píše:
Skriptor píše:ahoj vedel by si tu hodit skript na train cookingu?
Přidáno vaření na druhou stránku. ,cooking

diky moc ale skor mi islo o train cookingu cez ten claudron to moc nelezie ... chce to asi cez panvicu alebo magicku panvicu
Ying
Orc Writer
Orc Writer
Příspěvky: 58
Registrován: 12 led 2017 14:58

Re: Razielovy scripty

Příspěvek od Ying »

Qvido píše:A na záchod budeš chodit sám? Nebo na to taky potřebuješ script?
pokud nechceš ten skript napsat, tak se prosím držme tématu...
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

přidáno i vaření s pánvičkou

k miningu: lumber jsem psal protože nikde nebyl veřejný script na lumber, mining ale tady je a myslím že věštšině hráčů to tak stačí, přijde mi celkem zbytečné se s tím psát když to stejně použijou 1-2 lidi jestli vůbec ...
Ying
Orc Writer
Orc Writer
Příspěvky: 58
Registrován: 12 led 2017 14:58

Re: Razielovy scripty

Příspěvek od Ying »

asi by se těch lidí našlo víc ;) každopádně bych ti nezůstal dlužný
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

vylepšen lumber script, vyhozeny zbytečné podmínky a nyní jde těžit i když máte jen jednu sekeru

nakonec sem podlehl alespon ke kompromisu a přidal script na mining který funguje stejně jako můj lumber (používá scripty na pohyb z lumberu 3 strana hledejte ,minn)
Odpovědět