computerjock84
Sorceror
Malaperth said:Please read post 7 again very carefully.
I read post 7 again very carefully. Still getting the same errors.
Malaperth said:Please read post 7 again very carefully.
public BlacksmithPlayerVendor(){}
public BlacksmithPlayerVendor(Serial s){}
public BlacksmithPlayerVendor( Mobile owner, BaseHouse house ) : base( owner, house ){}
public BlacksmithPlayerVendor(Serial s):base(s){}
public override bool OnDragDrop( Mobile from, Item item )
{
from.SendMessage( "Do you like my blacksmith player vendor? Sure do." );
base.OnDragDrop( from, item );
}
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.Gumps;
using Server.Prompts;
using Server.Targeting;
using Server.Misc;
using Server.Multis;
using Server.ContextMenus;
public class BlacksmithPlayerVendor : PlayerVendor
{
public class BlacksmithVendorBackpack :VendorBackpack
{
public override bool CheckHold( Mobile m, Item item, bool message, bool checkItems, int plusItems, int plusWeight )
{
if ((item.ItemID != 5121) || //Kryss
(item.ItemID != 3932) || //Mace
(item.ItemID != 3938) || //Spear
(item.ItemID != 5179) || //Maul
(item.ItemID != 5123) || //ShortSpear
(item.ItemID != 5177) || //WarHammer
(item.ItemID != 5125) || //WarFork
(item.ItemID != 5127)) //WarMace
{return false;}
if ( !base.CheckHold( m, item, message, checkItems, plusItems, plusWeight ) )
return false;
if ( !BaseHouse.NewVendorSystem && Parent is PlayerVendor )
{
BaseHouse house = ((PlayerVendor)Parent).House;
if ( house != null && house.IsAosRules && !house.CheckAosStorage( 1 + item.TotalItems + plusItems ) )
{
if ( message )
m.SendLocalizedMessage( 1061839 ); // This action would exceed the secure storage limit of the house.
return false;
}
}
return true;
}
}
public BlacksmithPlayerVendor( Mobile owner, BaseHouse house ) : base( owner, house ){}
public BlacksmithPlayerVendor(Serial s):base(s){}
public override void Serialize(GenericWriter writer ){base.Serialize(writer);}
public override void Deserialize(GenericReader reader ){base.Deserialize(reader);}
Kenko said:well... that pretty much says it.
First, you need the ctor, and ser deser/methods for the blacksmithvendorbackpack.
Second, you need the BlacksmithPlayerVendor to reference to a BlacksmithVendorBackpack (instead of a VendorBackpack), for this you will open the PlayerVendor script, search for all references to a vendorbackpack, and override them in your blacksmithplayervendor to reference a blacksmithvendorbackpakc.
When i read that and looked at your Avatar, I lol'd irl! (fits the description perfect)Kenko said:I surrender!
Kenko said:Second, you need the BlacksmithPlayerVendor to reference to a BlacksmithVendorBackpack (instead of a VendorBackpack), for this you will open the PlayerVendor script, search for all references to a vendorbackpack, and override them in your blacksmithplayervendor to reference a blacksmithvendorbackpakc.
using Server;
using Server.Items;
using Server.Mobiles;
using Server.Gumps;
using Server.Prompts;
using Server.Targeting;
using Server.Misc;
using Server.Multis;
using Server.ContextMenus;
public class BlacksmithPlayerVendor : PlayerVendor
{
public class BlacksmithVendorBackpack : VendorBackpack
{
public override bool CheckHold( Mobile m, Item item, bool message, bool checkItems, int plusItems, int plusWeight )
{
if ((item.ItemID != 5121) || //Kryss
(item.ItemID != 3932) || //Mace
(item.ItemID != 3938) || //Spear
(item.ItemID != 5179) || //Maul
(item.ItemID != 5123) || //ShortSpear
(item.ItemID != 5177) || //WarHammer
(item.ItemID != 5125) || //WarFork
(item.ItemID != 5127)) //WarMace
{return false;}
if ( !base.CheckHold( m, item, message, checkItems, plusItems, plusWeight ) )
return false;
if ( !BaseHouse.NewVendorSystem && Parent is PlayerVendor )
{
BaseHouse house = ((PlayerVendor)Parent).House;
if ( house != null && house.IsAosRules && !house.CheckAosStorage( 1 + item.TotalItems + plusItems ) )
{
if ( message )
m.SendLocalizedMessage( 1061839 ); // This action would exceed the secure storage limit of the house.
return false;
}
}
return true;
}
public BlacksmithVendorBackpack( Serial serial ) : base( serial ) {}
public override void Serialize(GenericWriter writer ){base.Serialize(writer);}
public override void Deserialize(GenericReader reader ){base.Deserialize(reader);}
}
public BlacksmithPlayerVendor( Mobile owner, BaseHouse house ) : base( owner, house ){}
public BlacksmithPlayerVendor(Serial s):base(s){}
public override void Serialize(GenericWriter writer ){base.Serialize(writer);}
public override void Deserialize(GenericReader reader ){base.Deserialize(reader);}
}
Kenko said:because the checkhold method is in the vendorbackpack, not in the playervendor. therefore, you need to tell your new playervendor to target your new playerbackpack
this.Backpack.Delete();
this.Backpack = new BlacksmithPlayerVendorBackpack();
using System;
using System.Collections;
using System.Collections.Generic;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.Gumps;
using Server.Prompts;
using Server.Targeting;
using Server.Misc;
using Server.Multis;
using Server.ContextMenus;
public class BlacksmithPlayerVendor : PlayerVendor
{
if( Backpack != null && !Backpack.Deleted )
Backpack.Delete();
AddItem( new BlacksmithPlayerVendorBackpack() );
public class BlacksmithVendorBackpack : VendorBackpack
{
public override bool CheckHold( Mobile m, Item item, bool message, bool checkItems, int plusItems, int plusWeight )
{
if ((item.ItemID != 5121) || //Kryss
(item.ItemID != 3932) || //Mace
(item.ItemID != 3938) || //Spear
(item.ItemID != 5179) || //Maul
(item.ItemID != 5123) || //ShortSpear
(item.ItemID != 5177) || //WarHammer
(item.ItemID != 5125) || //WarFork
(item.ItemID != 5127)) //WarMace
{return false;}
if ( !base.CheckHold( m, item, message, checkItems, plusItems, plusWeight ) )
return false;
if ( !BaseHouse.NewVendorSystem && Parent is PlayerVendor )
{
BaseHouse house = ((PlayerVendor)Parent).House;
if ( house != null && house.IsAosRules && !house.CheckAosStorage( 1 + item.TotalItems + plusItems ) )
{
if ( message )
m.SendLocalizedMessage( 1061839 ); // This action would exceed the secure storage limit of the house.
return false;
}
}
return true;
}
public BlacksmithVendorBackpack( Serial serial ) : base( serial ) {}
public override void Serialize(GenericWriter writer ){base.Serialize(writer);}
public override void Deserialize(GenericReader reader ){base.Deserialize(reader);}
}
public BlacksmithPlayerVendor( Mobile owner, BaseHouse house ) : base( owner, house ){}
public BlacksmithPlayerVendor(Serial s):base(s){}
public override void Serialize(GenericWriter writer ){base.Serialize(writer);}
public override void Deserialize(GenericReader reader ){base.Deserialize(reader);}
}
if( Backpack != null && !Backpack.Deleted )
Backpack.Delete();
AddItem( new BlacksmithPlayerVendorBackpack() );
public class BlacksmithPlayerVendor( Mobile owner, BaseHouse house ) : base( owner, house )
{
if( Backpack != null && !Backpack.Deleted )
Backpack.Delete();
AddItem( new BlacksmithPlayerVendorBackpack() );
}
public BlacksmithPlayerVendor( Mobile owner, BaseHouse house ) : base( owner, house ){}
using System.Collections.Generic;
using Server;
using Server.Items;
using Server.Mobiles;
using Server.Gumps;
using Server.Prompts;
using Server.Targeting;
using Server.Misc;
using Server.Multis;
using Server.ContextMenus;
public class BlacksmithPlayerVendor : PlayerVendor
{
public class BlacksmithVendorBackpack : VendorBackpack
{
public override bool CheckHold( Mobile m, Item item, bool message, bool checkItems, int plusItems, int plusWeight )
{
if ((item.ItemID != 5121) || //Kryss
(item.ItemID != 3932) || //Mace
(item.ItemID != 3938) || //Spear
(item.ItemID != 5179) || //Maul
(item.ItemID != 5123) || //ShortSpear
(item.ItemID != 5177) || //WarHammer
(item.ItemID != 5125) || //WarFork
(item.ItemID != 5127)) //WarMace
{return false;}
if ( !base.CheckHold( m, item, message, checkItems, plusItems, plusWeight ) )
return false;
if ( !BaseHouse.NewVendorSystem && Parent is PlayerVendor )
{
BaseHouse house = ((PlayerVendor)Parent).House;
if ( house != null && house.IsAosRules && !house.CheckAosStorage( 1 + item.TotalItems + plusItems ) )
{
if ( message )
m.SendLocalizedMessage( 1061839 ); // This action would exceed the secure storage limit of the house.
return false;
}
}
return true;
}
public BlacksmithVendorBackpack( Serial serial ) : base( serial ) {}
public override void Serialize(GenericWriter writer ){base.Serialize(writer);}
public override void Deserialize(GenericReader reader ){base.Deserialize(reader);}
}
public BlacksmithPlayerVendor( Mobile owner, BaseHouse house ) : base( owner, house )
{
if( Backpack != null && !Backpack.Deleted )
Backpack.Delete();
AddItem( new BlacksmithPlayerVendorBackpack() );
}
public BlacksmithPlayerVendor(Serial s):base(s){}
public override void Serialize(GenericWriter writer ){base.Serialize(writer);}
public override void Deserialize(GenericReader reader ){base.Deserialize(reader);}
}