|
Post by zalamar on Feb 20, 2013 18:43:22 GMT -5
so
using System; using Server;
namespace Server.Items { public class ZusesChest : StuddedChest { public override int ArtifactRarity { get { return 12; } }
public override int InitMinHits { get { return 255; } } public override int InitMaxHits { get { return 255; } }
[Constructable] public ZusesChest() { Name = "Zeus' Chest"; Hue = 2050; Attributes.AttackChance = 15; ArmorAttributes.MageArmor = 1; Skill.Wrestling = 10; Attributes.LowerRegCost = Utility.RandomMinMax(5, 20); Attributes.LowerManaCost = Utility.RandomMinMax(5, 20);
}
public ZusesChest(Serial serial) : base(serial) { }
public override void Serialize(GenericWriter writer) { base.Serialize(writer);
writer.Write((int)0); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader);
int version = reader.ReadInt(); } } } like that?
|
|
|
Post by Jamze on Feb 20, 2013 19:31:44 GMT -5
Looks like it should work
|
|
|
Post by zalamar on Feb 20, 2013 20:30:35 GMT -5
so this is what i got thus far on arms and chest
Zuses' Chest
using System; using Server;
namespace Server.Items { public class ZusesChest : StuddedChest { public override int ArtifactRarity { get { return 12; } }
public override int InitMinHits { get { return 255; } } public override int InitMaxHits { get { return 255; } }
[Constructable] public ZusesChest() { Name = "Zeus' Chest"; Hue = 2050; Attributes.Luck = Utility.RandomMinMax( 1, 3500 ); Attributes.AttackChance = 15; ArmorAttributes.MageArmor = 1; //The next line is a skill, not an attribute. //Attributes.Wrestling = 10; SkillBonuses.SetValues(0, SkillName.Wrestling, 10.0); Attributes.LowerRegCost = Utility.RandomMinMax(5, 20); Attributes.LowerManaCost = Utility.RandomMinMax(5, 20);
}
public ZusesChest(Serial serial) : base(serial) { }
public override void Serialize(GenericWriter writer) { base.Serialize(writer);
writer.Write((int)0); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader);
int version = reader.ReadInt(); } } }
Zuses' Arms
using System; using Server;
namespace Server.Items { public class ZusesArms : StuddedArms { public override int ArtifactRarity { get { return 12; } }
public override int InitMinHits { get { return 255; } } public override int InitMaxHits { get { return 255; } }
[Constructable] public ZusesArms() { Name = "Zeus' Arms"; Hue = 2050; Attributes.Luck = Utility.RandomMinMax( 1, 1500 ); Attributes.AttackChance = 15; ArmorAttributes.MageArmor = 1; Attributes.LowerRegCost = Utility.RandomMinMax(5, 20); Attributes.LowerManaCost = Utility.RandomMinMax(5, 20);
}
public ZusesArms(Serial serial) : base(serial) { }
public override void Serialize(GenericWriter writer) { base.Serialize(writer);
writer.Write((int)0); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader);
int version = reader.ReadInt(); } } }
dose that look good?
|
|
|
Post by Jamze on Feb 20, 2013 20:40:18 GMT -5
looks like they should work. The two lines on the one that I have a // in the front of, you can delete those. That // is a way to comment out one line If you have multiple lines to comment out you put a /* at the front of the first line and a */ at the end of the last line and it comments it all out
|
|
|
Post by zalamar on Feb 20, 2013 22:13:25 GMT -5
So now i got the whole body with nice Luck and HCI/DCI and a chance of 100% LCR and LMC with max stats so hear are the scrips there might be a update hear soon with some changes and some addons ;D Hear are the scripsZuses' Chestusing System; using Server;
namespace Server.Items { public class ZusesChest : StuddedChest { public override int ArtifactRarity { get { return 12; } }
public override int InitMinHits { get { return 255; } } public override int InitMaxHits { get { return 255; } }
[Constructable] public ZusesChest() { Name = "Zeus' Chest"; Hue = 2050; Attributes.Luck = Utility.RandomMinMax( 1, 5000 ); Attributes.AttackChance = 15; ArmorAttributes.MageArmor = 1; SkillBonuses.SetValues(0, SkillName.Wrestling, 10.0); Attributes.LowerRegCost = Utility.RandomMinMax(5, 20); Attributes.LowerManaCost = Utility.RandomMinMax(5, 20);
}
public ZusesChest(Serial serial) : base(serial) { }
public override void Serialize(GenericWriter writer) { base.Serialize(writer);
writer.Write((int)0); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader);
int version = reader.ReadInt(); } } } Zuses' Armsusing System; using Server;
namespace Server.Items { public class ZusesArms : StuddedArms { public override int ArtifactRarity { get { return 12; } }
public override int InitMinHits { get { return 255; } } public override int InitMaxHits { get { return 255; } }
[Constructable] public ZusesArms() { Name = "Zeus' Arms"; Hue = 2050; Attributes.Luck = Utility.RandomMinMax( 1, 2000 ); Attributes.AttackChance = 15; ArmorAttributes.MageArmor = 1; Attributes.LowerRegCost = Utility.RandomMinMax(5, 20); Attributes.LowerManaCost = Utility.RandomMinMax(5, 20);
}
public ZusesArms(Serial serial) : base(serial) { }
public override void Serialize(GenericWriter writer) { base.Serialize(writer);
writer.Write((int)0); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader);
int version = reader.ReadInt(); } } } Zuses' Handsusing System; using Server;
namespace Server.Items { public class ZusesHands : StuddedGloves { public override int ArtifactRarity { get { return 12; } }
public override int InitMinHits { get { return 255; } } public override int InitMaxHits { get { return 255; } }
[Constructable] public ZusesHands() { Name = "Zeus' Hands"; Hue = 2050; Attributes.Luck = Utility.RandomMinMax( 1, 2000 ); Attributes.AttackChance = 15; ArmorAttributes.MageArmor = 1; Attributes.LowerRegCost = Utility.RandomMinMax(5, 20); Attributes.LowerManaCost = Utility.RandomMinMax(5, 20);
}
public ZusesHands(Serial serial) : base(serial) { }
public override void Serialize(GenericWriter writer) { base.Serialize(writer);
writer.Write((int)0); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader);
int version = reader.ReadInt(); } } } Zuses' Neckusing System; using Server;
namespace Server.Items { public class ZusesNeck : StuddedGorget { public override int ArtifactRarity { get { return 12; } }
public override int InitMinHits { get { return 255; } } public override int InitMaxHits { get { return 255; } }
[Constructable] public ZusesNeck() { Name = "Zeus' Neck"; Hue = 2050; Attributes.Luck = Utility.RandomMinMax( 1, 2000 ); Attributes.DefendChance = 15; ArmorAttributes.MageArmor = 1; Attributes.LowerRegCost = Utility.RandomMinMax(5, 20); Attributes.LowerManaCost = Utility.RandomMinMax(5, 20);
}
public ZusesNeck(Serial serial) : base(serial) { }
public override void Serialize(GenericWriter writer) { base.Serialize(writer);
writer.Write((int)0); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader);
int version = reader.ReadInt(); } } } Zuses' Legsusing System; using Server;
namespace Server.Items { public class ZusesLegs : StuddedLegs { public override int ArtifactRarity { get { return 12; } }
public override int InitMinHits { get { return 255; } } public override int InitMaxHits { get { return 255; } }
[Constructable] public ZusesLegs() { Name = "Zeus' Legs"; Hue = 2050; Attributes.Luck = Utility.RandomMinMax( 1, 2000 ); Attributes.DefendChance = 15; ArmorAttributes.MageArmor = 1; Attributes.LowerRegCost = Utility.RandomMinMax(5, 20); Attributes.LowerManaCost = Utility.RandomMinMax(5, 20);
}
public ZusesLegs(Serial serial) : base(serial) { }
public override void Serialize(GenericWriter writer) { base.Serialize(writer);
writer.Write((int)0); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader);
int version = reader.ReadInt(); } } } Zuses' Headusing System; using Server;
namespace Server.Items { public class ZusesHead : LeatherCap { public override int ArtifactRarity { get { return 12; } }
public override int InitMinHits { get { return 255; } } public override int InitMaxHits { get { return 255; } }
[Constructable] public ZusesHead() { Name = "Zeus' Head"; Hue = 2050; Attributes.Luck = Utility.RandomMinMax( 1, 2000 ); Attributes.DefendChance = 15; ArmorAttributes.MageArmor = 1; Attributes.LowerRegCost = Utility.RandomMinMax(5, 20); Attributes.LowerManaCost = Utility.RandomMinMax(5, 20);
}
public ZusesHead(Serial serial) : base(serial) { }
public override void Serialize(GenericWriter writer) { base.Serialize(writer);
writer.Write((int)0); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader);
int version = reader.ReadInt(); } } } Hope you enjoy the set so far and hope the set gets adapted to Mystic XD
|
|
|
Post by zalamar on Feb 20, 2013 22:36:32 GMT -5
hope you enjoy my First scripting ever and hope it helps you ever so much with all of your endevors
|
|
|
Post by Jamze on Feb 21, 2013 6:48:48 GMT -5
Great work. Now, my first challenge to you. Make a monster that drop these. Remember, I will help in any way that I can. The best way to learn is just to try, when one thing doesnt work, try again, ask questions just dont give up. Had I given up the first time I got an error, Mystic wouldnt be around
|
|
|
Post by zalamar on Feb 24, 2013 15:42:20 GMT -5
this is my first attempt at a Titan so pleases help me if it is wrong
//Still need to add the Zuses' Armor set just so you know using System; using Server; using Server.Items;
namespace Server.Mobiles { [CorpseName( "a Titans corpse" )] public class Titan : BaseCreature { [Constructable] public Titan() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "a titan"; Body = 76; BaseSoundID = 609;
SetStr( 700, 1500 ); SetDex( 150, 200 ); SetInt( 300, 500 );
SetHits( 700, 1200 );
SetDamage( 20, 40 );
SetDamageType( ResistanceType.Physical, 100 );
SetResistance( ResistanceType.Physical, 60, 75 ); SetResistance( ResistanceType.Fire, 60, 75 ); SetResistance( ResistanceType.Cold, 60, 75 ); SetResistance( ResistanceType.Poison, 60, 75 ); SetResistance( ResistanceType.Energy, 60, 75 );
SetSkill( SkillName.EvalInt, 85.1, 100.0 ); SetSkill( SkillName.Magery, 85.1, 100.0 ); SetSkill( SkillName.MagicResist, 80.2, 110.0 ); SetSkill( SkillName.Tactics, 60.1, 80.0 ); SetSkill( SkillName.Wrestling, 40.1, 50.0 );
Fame = 11500; Karma = -11500;
VirtualArmor = 40;
if ( Core.ML && Utility.RandomDouble() < .33 ) PackItem( Engines.Plants.Seed.RandomPeculiarSeed(1) ); }
public override void GenerateLoot() { AddLoot( LootPack.FilthyRich ); AddLoot( LootPack.Rich ); AddLoot( LootPack.MedScrolls ); }
public override int Meat{ get{ return 4; } } public override Poison PoisonImmune{ get{ return Poison.Regular; } } public override int TreasureMapLevel{ get{ return 5; } }
public Titan( Serial serial ) : base( serial ) { }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } }
|
|
scout
New Member
Posts: 6
|
Post by scout on Mar 6, 2013 0:10:46 GMT -5
for adding items with a certain % chance to drop see link: www.runuo.com/community/threads/runuo-2-2-chance-to-drop-item-from-mobile.515349/#post-3887388for a walkthrough on scripting a mobile see: www.freewebs.com/runuoprimer/creatingmobiles.html using System; using Server; using Server.Items;
namespace Server.Mobiles {
[CorpseName( "a Titan corpse" )]
public class Titan : BaseCreature { [Constructable] public Titan() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "a titan"; Body = 76; BaseSoundID = 609;
SetStr( 700, 1500 ); SetDex( 150, 200 ); SetInt( 300, 500 );
SetHits( 700, 1200 );
SetDamage( 20, 40 );
SetDamageType( ResistanceType.Physical, 100 );
SetResistance( ResistanceType.Physical, 60, 75 ); SetResistance( ResistanceType.Fire, 60, 75 ); SetResistance( ResistanceType.Cold, 60, 75 ); SetResistance( ResistanceType.Poison, 60, 75 ); SetResistance( ResistanceType.Energy, 60, 75 );
SetSkill( SkillName.EvalInt, 85.1, 100.0 ); SetSkill( SkillName.Magery, 85.1, 100.0 ); SetSkill( SkillName.MagicResist, 80.2, 110.0 ); SetSkill( SkillName.Tactics, 60.1, 80.0 ); SetSkill( SkillName.Wrestling, 40.1, 50.0 );
Fame = 11500; Karma = -11500;
VirtualArmor = 40;
if ( Core.ML && Utility.RandomDouble() < .33 ) PackItem( Engines.Plants.Seed.RandomPeculiarSeed(1) ); }
public override void GenerateLoot() { AddLoot( LootPack.FilthyRich ); AddLoot( LootPack.Rich ); AddLoot( LootPack.MedScrolls ); }
/* What's the difference between GenerateLoot and OnDeath? OnDeath makes the item appear on the corpse ONLY. GenerateLoot will make it appear in the backpack of the monster....which technically isn't a problem unless it's a human. */
public override void OnDeath(Container c) { base.OnDeath(c); if ( 0.10 > Utility.RandomDouble() ) //10% { switch(Utility.Random ( 6 )) //this number has to be the total number of items you want to possibly drop. { case 0: c.DropItem( new ZusesChest () ); break; case 1: c.DropItem( new ZusesArms () ); break; case 2: c.DropItem( new ZusesHands () ); break; case 3: c.DropItem( new ZusesNeck () ); break; case 4: c.DropItem( new ZusesLegs () ); break; case 5: c.DropItem( new ZusesHead () ); break; } } }
public override int Meat{ get{ return 4; } } public override Poison PoisonImmune{ get{ return Poison.Regular; } } public override int TreasureMapLevel{ get{ return 5; } }
public Titan( Serial serial ) : base( serial ) { }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } }
|
|
|
Post by zalamar on Mar 7, 2013 15:45:02 GMT -5
Thanks scout for the help in game and out but the titan is a bust for now and i am working on Zuse so lets hope that he goes well
Here is what i have right now so far
using System; using Server; using Server.Items;
namespace Server.Mobiles { [CorpseName( "Zuses corpse" )] public class Zuse : BaseCreature { [Constructable] public Zuse() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 ) { Name = "Zuse Master Of Lighning and Lord of The Gods"; Body = 76; BaseSoundID = 609;
SetStr( 500, 900 ); SetDex( 500, 900 ); SetInt( 500, 900 );
SetHits( 7000, 15000 );
SetDamage( 20, 40 );
SetDamageType( ResistanceType.Physical, 100 );
SetResistance( ResistanceType.Physical, 35, 45 ); SetResistance( ResistanceType.Fire, 30, 40 ); SetResistance( ResistanceType.Cold, 25, 35 ); SetResistance( ResistanceType.Poison, 30, 40 ); SetResistance( ResistanceType.Energy, 30, 40 );
SetSkill( SkillName.EvalInt, 85.1, 100.0 ); SetSkill( SkillName.Magery, 85.1, 100.0 ); SetSkill( SkillName.MagicResist, 80.2, 110.0 ); SetSkill( SkillName.Tactics, 60.1, 80.0 ); SetSkill( SkillName.Wrestling, 40.1, 50.0 );
Fame = 11500; Karma = -11500;
VirtualArmor = 120;
if ( Core.ML && Utility.RandomDouble() < .33 ) PackItem( Engines.Plants.Seed.RandomPeculiarSeed(1) ); }
public override void GenerateLoot() { AddLoot( LootPack.FilthyRich ); AddLoot( LootPack.Rich ); AddLoot( LootPack.Rich ); } public override void OnDeath(Container c) { base.OnDeath(c);
if ( 0.10 > Utility.RandomDouble() ) //10% { switch(Utility.Random ( 6 )) { case 0: c.DropItem( new ZusesChest () ); break; case 1: c.DropItem( new ZusesArms () ); break; case 2: c.DropItem( new ZusesHands () ); break; case 3: c.DropItem( new ZusesNeck () ); break; case 4: c.DropItem( new ZusesLegs () ); break; case 5: c.DropItem( new ZusesHead () ); break; } } } public override int Meat{ get{ return 4; } } public override Poison PoisonImmune{ get{ return Poison.Regular; } } public override int TreasureMapLevel{ get{ return 5; } }
public Zuse( Serial serial ) : base( serial ) { }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); } } }
Hope that this works for the boss XD
|
|
|
Post by zalamar on Mar 9, 2013 20:47:03 GMT -5
also can i add this
{ public void DoSpecialAbility( Mobile target ) { if ( target == null || target.Deleted ) //sanity return; if ( 0.4 >= Utility.RandomDouble() ) SpawnTitan( target ); } }
|
|
scout
New Member
Posts: 6
|
Post by scout on Mar 13, 2013 20:29:04 GMT -5
you can...but i don't know if that code is correct. look at Barracoon to see the code for spawning Rats.
|
|