It works like this:Memnoch said:I had the same problem on my shard with getting it to work. We tried several ways of getting it to work, and only my staff char could use it, none of the players we have tried have had any luck. I was going to try with myself as a player before i was going to report this. I also wasnt sure if house ownership had anything to do since 1 was co owner, and not owner, and others were frieneded.
Kiki said:Here are the 2 scripts we're having problems with. At least now we know why you see it and others aren't. Darn 2d/3d thangs...
Thanks for working with me to figure it out..
Kiki
I tried that, it gave the message "You have become the owner of a new sharpening blade" or something close to that... but then upon locking it down, it still gave the message to the player's char that they could not access this.... I tried it on my player char, and the same happened.... it gave the message that I owned the sharpening blade, but then locking it down, in a house that I owned, it gave the cannot access message.... but, on my staff char, it worked fine... so not sure whats going on w/it =/ Glad I'm not the only one w/this problem hehe Thanks for responses and for any help =)It works like this:
When clicked while inside a backpack the player serial number is writen as the owner.
When clicked while locked down if the player serial match the owners then he can sharpen blades.
Just tell them to put it in their backpack and dclick untill they see the message "you became the owner" (or something) and only then lock it in the house and use it.
Please let me know if it doesn't work after this.
post ur tailor bod but the bod area to set the BOD to give one hour should look like this:davidb said:i have had dat99 ore and leather script and it works fine. I have recently noticed that my tailor.cs file is set to give bods at 1 hour but when i ask for bod it says 6 hours til next. my blacksmith is set to one hour and it works fine can anyone tell me if there is another edit i need to make to correct the tailor bod?
if ( theirSkill >= 70.1 )
pm.NextTailorBulkOrder = TimeSpan.FromHours( 1.0 );
else if ( theirSkill >= 50.1 )
pm.NextTailorBulkOrder = TimeSpan.FromHours(1.0 );
else
pm.NextTailorBulkOrder = TimeSpan.FromHours( 1.0 );
hell if you never post it then we will never figure out what ur doing wrong also besides tailor.cs also the weaver.cs gives bods so you might want to check that outdavidb said:that is exactly like my tailor .cs but for some reason it will not give a bod until 6 hours
using System;
using System.Collections;
using Server;
using Server.Engines.BulkOrders;
namespace Server.Mobiles
{
public class Tailor : BaseVendor
{
private ArrayList m_SBInfos = new ArrayList();
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
public override NpcGuild NpcGuild{ get{ return NpcGuild.TailorsGuild; } }
[Constructable]
public Tailor() : base( "the tailor" )
{
SetSkill( SkillName.Tailoring, 64.0, 100.0 );
}
public override void InitSBInfo()
{
m_SBInfos.Add( new SBTailor() );
}
public override VendorShoeType ShoeType
{
get{ return Utility.RandomBool() ? VendorShoeType.Sandals : VendorShoeType.Shoes; }
}
#region Bulk Orders
public override Item CreateBulkOrder( Mobile from, bool fromContextMenu )
{
PlayerMobile pm = from as PlayerMobile;
if ( pm != null && pm.NextTailorBulkOrder == TimeSpan.Zero && (fromContextMenu || 0.2 > Utility.RandomDouble()) )
{
double theirSkill = pm.Skills[SkillName.Tailoring].Base;
if ( theirSkill >= 70.1 )
pm.NextTailorBulkOrder = TimeSpan.FromHours( 1.0 );
else if ( theirSkill >= 50.1 )
pm.NextTailorBulkOrder = TimeSpan.FromHours( 1.0 );
else
pm.NextTailorBulkOrder = TimeSpan.FromHours( 1.0 );
if ( theirSkill >= 70.1 && ((theirSkill - 40.0) / 300.0) > Utility.RandomDouble() )
return new LargeTailorBOD();
return SmallTailorBOD.CreateRandomFor( from );
}
return null;
}
public override bool IsValidBulkOrder( Item item )
{
return ( item is SmallTailorBOD || item is LargeTailorBOD );
}
public override bool SupportsBulkOrders( Mobile from )
{
return ( from is PlayerMobile && from.Skills[SkillName.Tailoring].Base > 0 );
}
public override TimeSpan GetNextBulkOrder( Mobile from )
{
if ( from is PlayerMobile )
return ((PlayerMobile)from).NextTailorBulkOrder;
return TimeSpan.Zero;
}
#endregion
public Tailor( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}
just use a new charecter or set ur charc [props and then try it againdavidb said:this is my tailor.cs I also changed the weaver.cs and still get 6 hours. I may need to wait for the original 6 hours to pass before new settings will workCode:using System; using System.Collections; using Server; using Server.Engines.BulkOrders; namespace Server.Mobiles { public class Tailor : BaseVendor { private ArrayList m_SBInfos = new ArrayList(); protected override ArrayList SBInfos{ get { return m_SBInfos; } } public override NpcGuild NpcGuild{ get{ return NpcGuild.TailorsGuild; } } [Constructable] public Tailor() : base( "the tailor" ) { SetSkill( SkillName.Tailoring, 64.0, 100.0 ); } public override void InitSBInfo() { m_SBInfos.Add( new SBTailor() ); } public override VendorShoeType ShoeType { get{ return Utility.RandomBool() ? VendorShoeType.Sandals : VendorShoeType.Shoes; } } #region Bulk Orders public override Item CreateBulkOrder( Mobile from, bool fromContextMenu ) { PlayerMobile pm = from as PlayerMobile; if ( pm != null && pm.NextTailorBulkOrder == TimeSpan.Zero && (fromContextMenu || 0.2 > Utility.RandomDouble()) ) { double theirSkill = pm.Skills[SkillName.Tailoring].Base; if ( theirSkill >= 70.1 ) pm.NextTailorBulkOrder = TimeSpan.FromHours( 1.0 ); else if ( theirSkill >= 50.1 ) pm.NextTailorBulkOrder = TimeSpan.FromHours( 1.0 ); else pm.NextTailorBulkOrder = TimeSpan.FromHours( 1.0 ); if ( theirSkill >= 70.1 && ((theirSkill - 40.0) / 300.0) > Utility.RandomDouble() ) return new LargeTailorBOD(); return SmallTailorBOD.CreateRandomFor( from ); } return null; } public override bool IsValidBulkOrder( Item item ) { return ( item is SmallTailorBOD || item is LargeTailorBOD ); } public override bool SupportsBulkOrders( Mobile from ) { return ( from is PlayerMobile && from.Skills[SkillName.Tailoring].Base > 0 ); } public override TimeSpan GetNextBulkOrder( Mobile from ) { if ( from is PlayerMobile ) return ((PlayerMobile)from).NextTailorBulkOrder; return TimeSpan.Zero; } #endregion public Tailor( Serial serial ) : base( serial ) { } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } }
I'm glad you liked itPadakis said:I just wanted to say a huge thank you for such a great script. Its a awesome piece of work and I know many will really enjoy it .
I added the reagents so they'll be hold (and used) in the spellcaster keys.Darkness_PR said:i got a question Daat do you have a reagent in this sytem =/ from the druid system?
This has nothing to do with the OWLTR system.davidb said:i have had dat99 ore and leather script and it works fine. I have recently noticed that my tailor.cs file is set to give bods at 1 hour but when i ask for bod it says 6 hours til next. my blacksmith is set to one hour and it works fine can anyone tell me if there is another edit i need to make to correct the tailor bod?
In your problem you stated that you changed something.davidb said:daat99 quit being so picky nothing is hurt we got the problem fixed and we didnt know if it was your script that was the problem til we was done so please chill out
Joeku said:Hey man, this looks awesome. Once again, I am amazed. I am glad that you packed it into one system that way we dont have to mod a bunch of scripts to make different systems compatible. Is there a version of this that is combined with the FS Animal Taming system? What exactly are the "recipes"? Thanks!