ATruGod

Citizen
ATruGod submitted a new resource:

Vet Reward Upgrade - More Vet Rewards

Ok so over the Years there have been a number of cool item that have popped up. I have taken almost 80 of these cute little items or systems and added them to the Veteran Reward System (SO THEY ARE ALMOST ALL VETERAN REWARDS...if you want to use them another way You can alter them). If You decide to add this as is there are 8 files (in the Distro Edits Folder) separated into folders for the system or item they correspond to. You obviously can remove anything undesired by removing the files and...

Read more about this resource...
 

Milva

Moderator
Very nice!! This gives some very nice choices for Vet Rewards, other then just the normal ho hum vet rewards :) Thanks for sharing!
 

Lokai

Moderator
This is a virtual compendium of some great scripts, all in one place! Thanks for sharing.

By the way, I noticed a good number of my scripts here, but no XML Bible... :(
 

ATruGod

Citizen
Oh I have that (and many others) just haven't added that to the reward system as You put in an option for dispersal (ie NPC)
 

Talow

Citizen
I downlaoded this its working

How do I bring up the vet rewards menue?
Vet rewards are shown when you first log in on a character of an account that has vet reward points to spend generally that will take a month to get a single point, however that can varry as it can be edited.
 

aidan1982

Citizen
Not exactly sure where to drop all the files and folders. Do I just copy the contents of the Vet folder and drop them into the scripts folder? And for the Distro Edits folder the contents under "PUT IN DATA FOLDER" go exactly to that folder?
 

jayates

Citizen
This has been out for awhile. Searched for house slot scroll and found it... haha!
Nice work! Was wondering if anyone can figure out which numbers go where? Wanting players to have 2 House Slots then use the House Slot Scrolls to add more. I played around with the numbers and either the House Slot Scroll wouldn't work for me or it crashed the Server! Here's the part of the script when downloaded that needs the edit, help please:
C#:
        #region HouseSlot
        public static int GetHouseSlots(Mobile m)
        {
            Account acct = m.Account as Account;

            int houses = Convert.ToInt32(acct.GetTag("maxHouses"));

            if (houses < 1)
                houses = 1;

            int trueSlots = houses - 1;

            return trueSlots;
        }
        #endregion

        public static bool HasHouse(Mobile m)
        {
            if (m == null)
                return false;

            List<BaseHouse> list = null;
            m_Table.TryGetValue(m, out list);

            if (list == null)
                return false;

            #region HouseSlot
            for (int i = GetHouseSlots(m); i < list.Count; ++i)
            //for (int i = 0; i < list.Count; ++i)
            #endregion
            {
                BaseHouse h = list[i];

                if (!h.Deleted)
                    return true;
            }

            return false;
        }

        public static bool HasAccountHouse(Mobile m)
        {
            Account a = m.Account as Account;

            if (a == null)
                return false;

            for (int i = 0; i < a.Length; ++i)
                if (a[i] != null && HasHouse(a[i]))
                    return true;

            return false;
        }
Also, forgot to put the House Slot Scroll on here. Here it is:
C#:
using System;
using Server.Network;
using Server.Prompts;
using Server.Items;
using Server.Accounting;
using Server.Engines.VeteranRewards;

namespace Server.Items
{
    public class HouseIncreaseScroll : Item, IRewardItem
    {
        private bool m_IsRewardItem;
        [CommandProperty(AccessLevel.GameMaster)]
        public bool IsRewardItem
        {
            get { return m_IsRewardItem; }
            set { m_IsRewardItem = value; InvalidateProperties(); }
        }
        [Constructable]
        public HouseIncreaseScroll() : base( 0x14F0 )
        {
            base.Weight = 1.0;
            base.Name = "a house slot deed";
        }

        public HouseIncreaseScroll( Serial serial ) : base( serial )
        {
        }
  
                public void Use( Mobile from )
        {
            if (m_IsRewardItem && !RewardSystem.CheckIsUsableBy(from, this, null))
            {
                from.SendMessage("This does not belong to you!!");
                return;
            }

            Account acct = from.Account as Account;
            if (acct.GetTag("maxHouses") == null)
            {
                acct.AddTag("maxHouses", "01");
            }
            int houses = Convert.ToInt32(acct.GetTag("maxHouses"));


            if ( Deleted )
                return;

            if ( IsChildOf( from.Backpack ) )
            {
                if ( houses > 2 )
                {
                    from.SendMessage( "Your House slots are too high for this power scroll." ); // Your control slots are too high for this power scroll.
                }
                else
                {
                        from.SendLocalizedMessage( 1049512 ); // You feel a surge of magic as the scroll enhances your powers!

                        acct.SetTag( "maxHouses", "02" );

                        from.PlaySound( 0x1EA );
                        from.FixedEffect( 0x373A, 10, 15 );

                        Delete();
                    
                }
            }
            else
            {
                from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
            }
        }
  
                public override void OnDoubleClick( Mobile from )
        {
            Use( from );
        }
  
        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );

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

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

            int version = reader.ReadInt();
            m_IsRewardItem = reader.ReadBool();
        }

    }
}
 
Last edited: