Dan(Tasanar)

Moderator
Code:
 PackItem(new Gold(1000)); // Starting gold can be customized here
            PackItem(new Dagger());
            PackItem(new SkillBall());
            PackItem(new StatBall());
            PackItem(new WeaponToken());
            PackItem(new Bandage(150));
            EquipItem(new YoungPlayerTalisman());           

            if (m.Race != Race.Gargoyle)
            {
                PackItem(new NewbShield());
                EquipItem(new NewbArms());   
                EquipItem(new NewbCap());
                EquipItem(new NewbChest());
                EquipItem(new NewbGloves());
                EquipItem(new NewbGorget());
                EquipItem(new NewbLegs());
            }
            else
                PackItem(new NewbShieldGarg());


The EquipItem Newbset will only drop in the bag and characters will not spawn with the items on.


I have also removed all other armor and clothing equips for humans and elves in CharacterCreation.cs

Any help would be great!
 
gold is in the method:
private static void AddBackpack(Mobile m)

shouldn't really matter because it's passing the Mobile
try phrasing it like this: EquipItem(new Shirt(), true);
from what I can see, every EquipItem in charactercreation has the "return" true included
 
Hm did u check the way chars appear wearing clothes? like this :


Code:
private static void AddPants( Mobile m, int pantsHue )
        {
            int hue = Utility.ClipDyedHue( pantsHue & 0x3FFF );

            if ( m.Race == Race.Elf )
            {
                EquipItem( new ElvenPants( hue ), true );
            }
            else
            {
                if ( m.Female )
                {
                    switch ( Utility.Random( 2 ) )
                    {
                        case 0: EquipItem( new Skirt( hue ), true ); break;
                        case 1: EquipItem( new Kilt( hue ), true ); break;
                    }
                }
                else
                {
                    switch ( Utility.Random( 2 ) )
                    {
                        case 0: EquipItem( new LongPants( hue ), true ); break;
                        case 1: EquipItem( new ShortPants( hue ), true ); break;
                    }
                }
            }
        }

edit: zerodowned was faster than me :D
 
But look at the human paladin or necro examples..no true in their statements
[doublepost=1478831969][/doublepost]
Code:
case 4: // Necromancer
                    {
                        Container regs = new BagOfNecroReagents(50);

                        if (!Core.AOS)
                        {
                            foreach (Item item in regs.Items)
                                item.LootType = LootType.Newbied;
                        }

                        PackItem(regs);

                        regs.LootType = LootType.Regular;

                        if (elf || human)
                            EquipItem(new BoneHelm());

                        if (elf)
                        {
                            EquipItem(new ElvenMachete());
                            EquipItem(NecroHue(new LeafChest()));
                            EquipItem(NecroHue(new LeafArms()));
                            EquipItem(NecroHue(new LeafGloves()));
                            EquipItem(NecroHue(new LeafGorget()));
                            EquipItem(NecroHue(new LeafGorget()));
                            EquipItem(NecroHue(new ElvenPants()));    //TODO: Verify the pants
                            EquipItem(new ElvenBoots());
                        }
                        else if (human)
                        {
                            EquipItem(new BoneHarvester());
                            EquipItem(NecroHue(new LeatherChest()));
                            EquipItem(NecroHue(new LeatherArms()));
                            EquipItem(NecroHue(new LeatherGloves()));
                            EquipItem(NecroHue(new LeatherGorget()));
                            EquipItem(NecroHue(new LeatherLegs()));
                            EquipItem(NecroHue(new Skirt()));
                            EquipItem(new Sandals(0x8FD));
                        }
                        else if (gargoyle)
                        {
                            EquipItem(new GlassSword());
                            EquipItem(NecroHue(new GargishLeatherChest()));
                            EquipItem(NecroHue(new GargishLeatherArms()));
                            EquipItem(NecroHue(new GargishLeatherLegs()));
                            EquipItem(NecroHue(new GargishLeatherKilt()));
                        }

                        Spellbook book = new NecromancerSpellbook((ulong)0x8981); // animate dead, evil omen, pain spike, summon familiar, wraith form

                        PackItem(book);

                        book.LootType = LootType.Blessed;

                        addSkillItems = false;
                        break;
                    }


Maybe because this is a setitem?
 
Code:
private static void EquipItem(Item item)
757         {
758             EquipItem(item, false);
759         }
760
761         private static void EquipItem(Item item, bool mustEquip)
		
		if (!mustEquip && pack != null)
	 pack.DropItem(item);

the true statement forces the player to equip the item, otherwise the item may just drop in their backpack
EquipItem( item ) shows above the the bool if not specified is defaulted to fale

probably a stupid question, but have you verified there's no other items or clothing that is being added to the character when created that would prevent the armor from being equipped?
 
Yes sir, removed all other instances.

How whould I best add the true to these?

Code:
EquipItem(new NewbArms()); 
                EquipItem(new NewbCap());
                EquipItem(new NewbChest());
                EquipItem(new NewbGloves());
                EquipItem(new NewbGorget());
                EquipItem(new NewbLegs());
 
the true statements makes them not show up in the bag OR on the character in creation.

@Dexter_Lexia is there something in the code for set items to NOT allow this?

All I did was make a simply newb armor set.

Set it to auto equip if not garg....other non set items (like a special talisman I made) auto equip fine. It seems a custom set will not..how come?

CURRENT SVN NO MAJOR EDITS, NO CORE EDITS
 
Because you have not set your stats at that point, and are not strong enough to equip the item. Try adding these after the SetStats(...) method.
 
I always add equipment in the Character Creation eventsink...

newChar.EquipItem(new NewbCap());

I do this right before I place them in the world.
 
And I can still set the !=gargoyle so it will only add and try to equip for humans
[doublepost=1479139219][/doublepost]All set!! Thanks @Ravenwolfe

Code:
if (newChar.Race != Race.Gargoyle)
            {
                newChar.EquipItem(new NewbArms());   
                newChar.EquipItem(new NewbCap());
                newChar.EquipItem(new NewbChest());
                newChar.EquipItem(new NewbGloves());
                newChar.EquipItem(new NewbGorget());
                newChar.EquipItem(new NewbLegs());
            }
           
            CityInfo city = GetStartLocation(args, young);

            newChar.MoveToWorld(city.Location, city.Map);
 
Back