RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

ReRelease - Script Creator(fixed)

Marak

Sorceror
Script Creator ** NOW 3.23**4

What it does:
I released this program to my staff members who couldnt script, so they could design their own weapons(and armor, clothing, monsters and quests - but im not releasing those until i clean them up a bit) for the shard. All you have todo is fill in the fields that you want the weapon to have, and leave the rest blank. The only fields that are mandatory are: FileName, WeaponName, [Add name and Weapon Type - For pretty good reasons, if you dont fill those in - the script wont compile. There's help text on hover on every field, and examples for the one's that may be confusing. Its still in Beta(only my staff have used it atm), so if anyone has any improvement ideas please post.

Oh and also if you get a runtime error download the file at
http://www.dll-files.com/dllindex/dll-files.shtml?msstdfmt
one of my staff got this file and it fixed the problem.
extract that file to c:\windows then goto Start -> Run -> "regsvr32.exe msstdfmt.dll" and
that will register the files

**Update 3.25**
Added a dialog to tell you when youve created a script, also added books - but these are still being worked on(max 4 pages atm), but still should compile.

**Update 3.24**
Fixed the mobiles error - would have been earlier if someone had told me earlier lol.

**Update 3.23**
Mobiles can now ride mounts :D Only Humanoid creatures will have this field avilable.

**Update 3.22**
Added in Mounts - Ive also put in a few (commented out) lines to show you where to change if you want to use custom mounts. NOTE: i cannot support using these(except for basic questions) as many ppl setup their graphics differently.

**MINI UPDATE 2**
Ive added the fire resist, min and max damage for weapons. Ive only included the AoS(pretty much what everyone's running) we can assume if your using a non-aos server you would go over all your scripts anyway to ensure their compliant.

**MINI UPDATE**
Evil Lord Kirby - ive added in those spaces... one word.. BIG - lol. Well its certantly enounced the sections now lol. So far ive done the mobiles and Weapons - ill do the others when i add another change.

**UPDATE**
Ok the AI was pissing me off, so ive implimented a check when you select the base creature so it will now ask you if you want to use auto-assume or not(if not you will be shown the fields so you can choose ALL the values for the AI - movement, perception, fightmode etc.)

**UPDATE**
The auto-assume has been disabled, what this means is it will no longer refer to the body types base script for the default values(unless overridden) - so you must now make sure you have input all the relevant fields! This was changed as i couldnt find a reliable way to override the the AI Type without changing back to basecreature - ill keep working on it but for now, double check your fields. Also ive setup the tab order for mobiles, but not items - items have too many possible orders depending on your choices.

**UPDATE**
Getting towards the end of this now :) i fixed that phys resist bonus bug.
 

Attachments

  • ScriptMaker3.25.rar
    179 KB · Views: 3,961

B3PbIB

Wanderer
coll thx ! waiting for more... =))
but my RunUo conflicted with this line of code
WeaponAttributes.HitFireBall = N/A;
WeaponAttributes.HitLowerDefence = N/A;

i've just delete this and evrything is ok =)
 

Marak

Sorceror
Cool thnx for the feedback, for the moment dont use those fields, ill fix them on the next release(mid day tomorrow hopefully) which has the armor in it
 

Marak

Sorceror
Np's that was the idea, well that and getting my staff to make their OWN damn items instead of sending me massive 'i want' lists lol - now they just send me bloody uber scripts :p
 

Lord Nemesis

Wanderer
There are some people in the world who are not scripting oriented, maybe one day this program will offer unlimited options for creating, and allow more people to express themselves and customize their shard.
 
this si prolly meaningless but i get this error. I select the weapon then i hit refresh and it gives this: Run Time Error '424'; Object Required. but other than that it works great. prolly just something on my part. no big deal to me it still works
 

dwaynelm

Wanderer
This is a great tool my only bug is but its easy to fix in the scripts that it makes.
Code:
// Created by Script Creator
// From Aries at Revenge of the Gods
using System;
using Server;
namespace Server.Items
{
 public class test : BaseSword
 public class test : BaseArmor
 {
 public override int InitMinHits{ get{ return 255;}}
 public override int InitMaxHits{ get{ return 255;}}
 [Constructable]
 public test() : base( 0x13FF )
 public test() : base(  )
     {
         Hue = 1109;
         Name = "test";
         Attributes.AttackChance = 100;
         Attributes.DefendChance = 100;
         WeaponAttributes.HitLeechHits = 100;
         WeaponAttributes.HitLeechMana = 100;
         WeaponAttributes.HitLeechStam = 100;
         WeaponAttributes.HitPhysicalArea = 100;
         WeaponAttributes.HitPoisonArea = 100;
         WeaponAttributes.SelfRepair = 100;
         WeaponAttributes.UseBestSkill = 1;
         Attributes.LowerManaCost = 100;
         Attributes.LowerRegCost = 100;
         Attributes.Luck = 200;
         Attributes.ReflectPhysical = 100;
         Attributes.RegenHits = 100;
         Attributes.SpellChanneling = 1;
         Attributes.WeaponSpeed = 46;
         StrRequirement = 25;
         LootType = LootType.Blessed;
          Slayer = SlayerName.Silver;
     }
public override void GetDamageTypes( Mobile wielder, out int phys, out int fire, out int cold, out int pois, out int nrgy )
    {
            phys = 100;
            cold = 0;
            fire = 0;
            nrgy = 0;
            pois = 0;
     }
public test( 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();
         }
     }
}
The changes to make them work without any errors is in this section of the script.
Code:
// Created by Script Creator
// From Aries at Revenge of the Gods
using System;
using Server;
namespace Server.Items
{
 public class test : BaseSword
 public class test : BaseArmor
 {
 public override int InitMinHits{ get{ return 255;}}
 public override int InitMaxHits{ get{ return 255;}}
 [Constructable]
 public test() : base( 0x13FF )
 public test() : base(  )
Remove public class test : BaseArmor, public test() : base( 0x13FF ), and edit public class test : BaseSword change the base sword to the type of weapon you picked like this one was suppose to be a test katana so I edited the script to look like this.
Code:
// Created by Script Creator
// From Aries at Revenge of the Gods
using System;
using Server;
namespace Server.Items
{
 public class test : Katana
 {
 public override int InitMinHits{ get{ return 255;}}
 public override int InitMaxHits{ get{ return 255;}}
 
  [Constructable]
  public test() : base(  )
     {
The bug doesnt happen all the time just in between uses on my end if I go and make one weapon and test it it works but when I go back and make another it comes out messed up to where I get errors which are simple to fix, and is what I posted to show how to manually fix.
 

dwaynelm

Wanderer
The only other thing I noticed if I dont change the BaseSword to Katana or what weapon I made it to and I get the weapon it has no damage or weapon speed.
 

Marak

Sorceror
Ive just woken up, im going to fix the weapon -> refresh error now, sorry i forgot to check the if statements for the weapons after i added armor(now i have a beta tester i can lol). Give me about an hour guys and ill fix those issues.

Also you have to select a weapon type or it wont work
 

Marak

Sorceror
dwaynelm, was the program still open when you went back and created the 2nd set of files? im having trouble repeating that error, but i can sort of figure how its happening, ill go over the code and see whats doing those problems.
 

dwaynelm

Wanderer
No, I always close it after I finish each script. Oh I tried to make armor but I got an error for the material type and can try again to see what is wrong inside the script. Ok I went in the file for a test and edited public class test : BaseArmor to public class test : PlateHelm and got rid of the material error, but some of the AOS attributes as far as weapons that it puts in the armor for creation gets errors.
Code:
RunUO - [www.runuo.com] Version 1.0.0, Build 36918
Scripts: Compiling C# scripts...failed (1 errors, 0 warnings)
 - Error: Scripts\Custom\test.cs: CS0534: (line 7, column 15) 'Server.Items.test
' does not implement inherited abstract member 'Server.Items.BaseArmor.MaterialT
ype.get'
Scripts: One or more scripts failed to compile or no script files were found.
 - Press return to exit, or R to try again.
 

Marak

Sorceror
Thats a point i havnt implimented material types, ive put that on the list - im working on the weapon to armor to weapon problems now(its not clearing the variables properly thats why were getting both the weapon and armor lines when you make both in one session)

EDIT:
Ok ive fixed the BaseItem problems(base armor as well as base weapon when creating a 2nd item) Im moving onto the resource types now( i will include daat's customs but users are just going to have to be careful not to use them if their not running daat's)

2ND Edit:
Updated see top post.
 

dwaynelm

Wanderer
Check my last reply I edited with the changes it needs to make its not the material type its the type of armor whether it be a PlateHelm to any other type of armor but I'm looking into the other attributes to see what I can figure out. Another part I failed to mention and is just the same as the weapons is this section it adds
Code:
public test() : base( 0x13FF )
All it needs is this to work.
Code:
public test()
Here is the work in progress. When it makes the armor the script is written like this:
Code:
// Created by Script Creator
// From Aries at Revenge of the Gods
using System;
using Server;
namespace Server.Items
{
 public class ItemName : BaseArmor
 {
 public override int InitMinHits{ get{ return 255;}}
 public override int InitMaxHits{ get{ return 255;}}
 [Constructable]
 public ItemName() : base( 0x1412 )
     {
         Hue = 1109;
         Name = "Item Name";
         Attributes.AttackChance = 100;
         Attributes.DefendChance = 100;
         WeaponAttributes.ResistColdBonus = 100;
         WeaponAttributes.ResistEnergyBonus = 100;
         WeaponAttributes.ResistPhysicalBonus = 100;
         WeaponAttributes.ResistPoisonBonus = 100;
         WeaponAttributes.SelfRepair = 100;
         Attributes.LowerManaCost = 100;
         Attributes.LowerRegCost = 100;
         Attributes.Luck = 200;
         Attributes.ReflectPhysical = 100;
         Attributes.RegenHits = 100;
         Attributes.RegenMana = 100;
         Attributes.RegenStam = 100;
         StrRequirement = 35;
         LootType = LootType.Blessed;
     }
Manually editing it similar to the weapons scripts it looks like this to get it to work without errors the weaponsattribute part doesnt need to be in place for the resist cold, energy and so on. The other error is the SelfRepair it creates it with WeaponAttributes.SelfRepair = 100; instead of ArmorAttributes.SelfRepair = 100; to get it to work.
Code:
// Created by Script Creator
// From Aries at Revenge of the Gods
using System;
using Server;
namespace Server.Items
{
 public class ItemName : PlateHelm
 {
 public override int InitMinHits{ get{ return 255;}}
 public override int InitMaxHits{ get{ return 255;}}
 
 [Constructable]
 public ItemName()
 {
         Hue = 1109;
         Name = "Item Name";
         Attributes.AttackChance = 100;
         Attributes.DefendChance = 100;
         ArmorAttributes.SelfRepair = 100;
         ColdBonus = 100;
         EnergyBonus = 100;
         PhysicalBonus = 100;
         PoisonBonus = 100;
         Attributes.LowerManaCost = 100;
         Attributes.LowerRegCost = 100;
         Attributes.Luck = 200;
         Attributes.ReflectPhysical = 100;
         Attributes.RegenHits = 100;
         Attributes.RegenMana = 100;
         Attributes.RegenStam = 100;
         StrRequirement = 35;
         LootType = LootType.Blessed;
     }
Other than that thats all I can come up with for now unless you need me to test other types of armor to confirm they work.
 

Marak

Sorceror
Yeah ive fixed those one's up (the dupe fields) - the damn global variables wernt resetting - i might put resources on hold for now, their not that important(just a hue and a name mod)

Im fixing up those fields you pointed out now - thnx for the help mate.
 

dwaynelm

Wanderer
Its the type of armor piece you pick whether it be the platehelmet to the leather arms if it keeps putting basearmor in public class ItemName : BaseArmor thats where the material error comes from. But take your time and you'll get it right.:D I have faith in you:D
 

Marak

Sorceror
lol thats ONE person who does, ive made the updates, i used the wrong field( i have to stop using 2 letter global variable names, i keep losing the notes on which one is which ) - ive updated it in the first post.
 

dwaynelm

Wanderer
Keep it up I just tried the 1.3 version all you got left is the part in each armor script for the resist to get rid of where it puts WeponAttributes.ResistCold for example just needs to come out like this:
Code:
         ColdBonus = 70;
         EnergyBonus = 70;
         PhysicalBonus = 70;
         PoisonBonus = 70;
and the self repair needs to come out with ArmorAttibutes.SelfRepair and not the WeaponsAttributes :)
 

Marak

Sorceror
Lol good point, damn cross referencing - ill fix those now.

EDIT:
Ive fixed those errors, i dont know how mine compiled with them in it? he go figure. neway its updated 1.4

Edit:
Updated to 2.0, ive included jewlery
 
Top