[2.x] Carpentry, Fletcher and Tinker BOD System for Karma Ores! V5 Modified and Fixed

Discussion in 'RunUO Script Add-on Releases' started by Templayer, Mar 8, 2017.

  1. Templayer

    Templayer Sorceror

    Joined:
    Oct 25, 2007
    Messages:
    23
    Likes Received:
    3
    In summary: I modified this package - http://www.runuo.com/community/thre...tcher-bod-system-for-karmageddons-ores.72318/
    which adds carpenter and fletcher BODs and rewards for them.

    What I did:
    Support for woods that RC2 brought.
    More Carpentry Bulk orders (~20), both small and large
    (Shields, Crates, chairs, tables, furniture, chests, asian exotic wooden weaponry, ...).
    Implemented some Bulk Order Book fixes. And some massive modifications to its filter.
    A new type of a wooden shield.
    Some distro changes (you have to MODIFY baseweapon, basearmor, basefurniture, and if you wish, baseclothing, also of course the carpenter and bowyer distro files, and a large crate to fix a name problem, and modify the shops so that they sell and buy the new wooden shield, and for the crafting menu to be able to craft them. See Installation).
    V3 - Fixed names for container.cs, chairs.cs, tables.cs
    Actually adding the container.cs to the package, because I forgot previously
    Implementing a lot of fixes. Previously you couldn't combine the deeds with furniture and container items, now you can.
    BODs take into account if it is even possible for the item to be of a nonbasic material, AND if they even can be exceptional. With the exception of Fukiyas.
    My custom Fukiya as an actual weapon, version 0 (perhaps better wait for a better version), darts had to be modified too.
    The .cfg files can now also hold a definition for a cliloc entry, so you can set what name will appear in the client.
    Used the point above to solve naming errors. This however means that the blacksmith and tailoring .cfg files had to be modified too.
    I've tested pretty much everything, the only thing that doesn't work perfectly are the Fukiyas, so better wait for a standalone full version of that.
    Reworked BODs.
    V4 - The Gloves of Lumberjacking had an old style of putting variables into the name string, so it didn't work properly. Fixed.
    V5 - Fixed BOBs (Bulk Order Books) and their filter. Added TINKER BODs! A whole bunch of fixes (like now you can claim BOD rewards not only by dragging the BODs on the vendors, but from the BOD menu too. TINKER BODs have about 20 requested item sections (each has 2-6 items, except for two that have 1), and I've also added about 10 new ones to Carpenter BODs (and modified the current ones).


    Long description:
    So I rewrote quite a few things for this set of scripts, in order to make it fully compatible with RC2 and getting rid of errors people are getting. For example - I've added all five new types of wood that RC2 brings into this. This might not look as a big change, but you have to realize that there are also runic rewards that use the wood, etc., so if you compare the original files with mine, there are quite a few substantial changes. Also somebody in that thread said that carpentry BODs are not exactly good because they only have two types of items - Staves and Musical Instruments, both of which require a high carpentry skill (and the latter also requires the musicianship skill) - so I've added more types of both small and large bulk order deeds - for Wooden shields, crates, chests, furnitude, chairs, tables, and for asian exotic wooden weapons. Added a new wooden shield - the Wooden Kite Shield. The Tear Kite Shield in blacksmithing is internally named WoodenKiteShield, so I guessed it was originally meant to be made out of wood, so I made a wooden variant. The original art looks like it could be made from both metal and wood as the main component, so that is my reasoning for adding that. And they can look quite differently if made out of wood instead of metal. Furthermore, the new wooden shield is called Wooden Kite Shield (and RealWoodenKiteShield internally), is available to craft, buy and sell at the vendors' and in bulk orders. Also Large Crates are called simply Crates in the gameworld, which lead to a big confusion in the bulk order (which orders "Small crates, Crates, and Crates" <- Do you see the reason for the player's confusion? :D ), so I have also modified that in order to fix it. The furnitude should be all craftable with special materials if I've checked everything correctly, so everything except the instruments can also generate bulk orders with a special material requirement (which is actually set not to generate with special material requirements). Actually fixing the crates and the large shield, and I forgot to add the fix for the crates into the previous package. The .cfg files were modified so that now you can add a third argument behind the internal name and graphic - a cliloc number (defines the name from the cliloc file, which contains client localization). For examples, open Shields or Crates in carpentry. However me adding that third column means there has to be exactly one "tab" between those. That's why other bulk orders have been modified too, just to be safe and to avoid glitches. Also chairs were given names in order to avoid confusion, and many BODs were reworked. Furnitude and container items couldn't be combined with BODs in the previous version, now they can. I also made sure that things that cannot be made out of various resources cannot require them as BODs AND done the same for exceptional items - if it is impossible to create an exceptional variant, then the deed will only ask for a normal one. Fukias are now weapons and not items (to doubleclick on), and thus can be made both exceptional and from various types of wood. Their darts had to be modified too. I made thorough testing of everything this time, so unless I forgot to pack something or give a tutorial on something, it should work pretty flawlessly. Well, one thing though - the wooden kite shield is named Kite Shield (small) in the BODs - I couldn't find a better cliloc, so if you want for it to be Wooden kite shield, you have to modify your client's en cliloc file (there are editors for that), find a free slot, write it there, and then put its index number into the third column inside shields.cfg. V4 - The Gloves of Lumberjacking had an old style of putting variables into the name string, so it didn't work properly. Fixed. V4 -Fixed BOBs (Bulk Order Books) and their filter. Added TINKER BODs! A whole bunch of fixes (like now you can claim BOD rewards not only by dragging the BODs on the vendors, but from the BOD menu too. TINKER BODs have about 20 requested item sections (each has 2-6 items, except for two that have 1), and I've also added about 10 new ones to Carpenter BODs (and modified the current ones).


    That should be all for the description part. If there are any more problems, please contact me at my email address - Templayer@seznam.cz (I probably won't respond here), and I shall try to address them.

    REQUIREMENTS:
    KARMAGEDDONS CUSTOM ORES
    A LI N'S ACC AND CENTRAL MEMORY
    A LOT OF PATIENCE (unfortunately not a script! :D )

    MY INSTALLATION NOTES:
    1. First install the original script correctly, as said in the original thread. Once you can compile that, proceed to the next step. Also be sure to backup everything. You don't actually have to install the original script, but if you screw that, then I can say that it isn't MY fault. :p :D
    2. Decompress the file (you can use WinRar for example). Do that and you will get various folders named REPLACE, ADD, REPLACE or ADD, and modify, with some more info in the name.
    3. REPLACE if you have the original version of the Carpenter and Bowyer BODs for KarmaOres, or ADD if you don't: The folder that is named like that (the one that contains Bulk Orders, New Bulk Order Folder, and the Bowyer and Carpenter files). Put them in accordance to the first page in his instructions (Bulk orders folder doesn't go to the scripts folder, it goes to the Data folder, New Bulk Order is probably in your Scripts/custom folder if you are replacing it, if not, it doesn't matter as long as it is in the Scripts folder).
    3b - In the bulk orders folder, where there is stuff that is going to be in Data, you can see that I also put there Tailoring and Blacksmith BOD - if you have modified your distro files or just have more items specified in the text .cfg files, add yours to mine before replacing. I had to modify them because I kinda reworked it a little bit, now it also accepts a third column (the first is internal name, the second is the graphical number, and now you can have a third column, which is the cliloc number for the localized name in the client).
    4. REPLACE - search the scripts folder for the Bowyer.cs and Carpenter.cs files in order to replace them with the versions provided in the REPLACE folder. They should be in Scripts\Mobiles\Vendors\NPC . IF you just add those in the scripts folder without replacing the previous versions, it WON'T compile.
    4b. REPLACE or MODIFY Tinker.cs in the same manner as carpenter.cs and bowyer.cs.
    5. ADD RealWoodenKiteShield.cs from the ADD folder to your scripts folder (anywhere, but Custom is a good place for those)
    6. REPLACE if you have an unmoddified distro, MODIFY if not (I actually named the folder that way) - SBWoodenShields.cs (buying and selling info for vendors, so that the new type of a wooden) - it should be located in your Scripts\Mobiles\Vendors\SBInfo\Armors ; if you never modified it or replaced it (i.e. you have an unmoddified distro file), you can REPLACE it with mine, otherwise you have to see what changes were made (I basically added just two lines of text there, just MODIFY it by adding those at the same position by opening your file, my file, finding the differences is easy (because it is so short), and you are good to go). The exact same thing goes for DefCarpentry - REPLACE it if you have never modified it in any way, shape or form (and you are also on RC2, or probably Final), MODIFY it if not. It should be in Scripts\Engines\Craft . Find the line AddCraft( typeof( RealWoodenKiteShield ), 1044295, "wooden kite shield", -15.2, 34.8, typeof( Log ), 1044041, 9, 1044351 ); in my file and add it to the same place in yours. This will make it craftable.
    6b - You also have to replace or modify your chairs and tables .cs files - what I did (if you compare to vanilla ones) is that I've added names to them, so instead of appearing just as "chair" in the game world, they will have their name (straw chair, wooden char, vesper-style chair and trinsic-style chair respectively. It is easy to find those lines), otherwise filling BODs for them would be almost impossible (you would have to guess which type is which). Same with container.cs.
    6c. Set names to avoid confusion by replacing or modifying your existing Utensils.cs, Necklace.cs, Thrones.cs, and MusicStand.cs files.
    7. MODIFY (in the folder called MODIFY) - If you REPLACE yours or just ADD this to your scripts folder, then I can Guarantee you that your server will no longer compile. Even if you didn't do any changes to the distro files. Because I did to mine and mine are dependant on other things and scripts that you do not have. If you do not do this, then half of your bows and wooden weapons won't get a material name (i.e. Heartwood Bow will be just Bow), and all wooden shields will have no name whatsoever. I haven't tried what happens to furnitude if you screw this one up ... :D Let's start with BaseArmor.cs, which is in your Scripts\Items\Armor . Open both yours and mine. Search for this line in both files - case CraftResource.BlueScales: oreType = "blue"; break; // blue
    See if under it I have something you don't. If I have, copy that line or (presumably) lines. If you have RunUO 2 RC2 or 2 Final AND using KarmaOres, then presumably you don't have ANYTHING under that and you have to add all the wood types in order for your wooden shields and woodland armor to function properly. To do so, just copy those goddamn lines, in the most probable case, it should be 10 lines. Also check the line after that if it is the same as mine, and the section after it (the IF ELSE statement that basically names the items in accordance to their material and exceptionality). It should be the same, if not, feel free to use mine. Now basically do the same thing for the other "SomethingBase" files. BaseWeapon.cs should be in Scripts\Items\Weapons ; however the line we are going to search for is going to be different this time (remember how I wrote about only HALF of wood type names appear before the name of bows and wooden weapons? So a Bow crafted from Heartwood becomes just an Bow and not a Heartwood Bow? Let's fix that, shall we? The line to search for in both files should be case CraftResource.Oak: oreType = "oak"; break; // oak
    If there is more in mine than in yours, add mine lines under it to your file at the same spots. Now let's edit BaseFurniture.cs ... it's ... in my custom folder? What the heck? Well, looks like I can't tell you where to find it, so you will have to find it yourself in your scripts folder, because I have no idea where it was originally. (you can't have two identical scripts in the Scripts folder, if you do, the server won't compile and I probably moved it, or got it from somewhere), anyway - find case CraftResource.Oak: woodType = "oak"; break;
    in both files and like we did previously, if I have additional lines under it, copy them to the same spot.
    8. OPTIONAL MODIFYING
    While you are at it, we might do another thing for your shard. By default, clothing doesn't have the name of the material in its name, nor does it have the exceptionality in its name (only in its stats). I don't like that. Now this is slightly harder to modify. In the OPTIONAL MODIFYING folder, open up my BaseClothing.cs, then open yours, which should be in Scripts\Items\Clothing (as always - if it isn't, search for it). Now seach for this in both files: public override void AddNameProperty( ObjectPropertyList list )
    Two lines under that, see that you have int oreType; and I have string oreType; -change it to mine. Then you can see that I have the original material list commented out, so it actually doesn't do anything, four lines after the string oreType; (and if you are notepad++, or anything better than a standard notepad, then it is all green). Do the same. Or just copypaste that greenpart over your nongreen part. :D The working (noncommented) list starts at case CraftResource.DullCopper: oreType = "dull copper"; break; // dull copper
    from that point onwards, be sure to copypaste my list, including the default line that comes afterwards. Also, there is an IF/ELSE construction section under there, which handles how the prefixes are added to the items name. Copy mine over yours. This way, not only can clothing be wooden, but also the name will change according to the material and exceptionality. So if you make (you can't really craft that, but you can assign that technically, or make it a special item, or a thing I will tell you about later) a shirt made out of gold, and make it exceptional, instead of just being a "shirt", it will be called "Exceptional Golden Shirt" thanks to this modification to the file. What is the reason for adding that, if you can't actually craft a golden shirt? Well, this basically enables you to make more types of cloth. Dragon Bloodsoaked for example. Or Daemon Bloodsoaked, ... whatever. And if you add a line for your custom material here among the material lines, it would be called a Dragon Bloodsoaked Shirt. Of course adding types of resources is a whole another subject, but this enables you to have custom material clothing (with exceptionality in name).
    9. If something doesn't work, then I might not reply to any message here, please sent me an email instead, or do both ( templayer@seznam.cz ). This is quite enormous, so it is quite possible I forgot to add a file or something ...
    10. SEMI-OPTIONAL - in the SEMI-OPTIONAL folder - Fukiya as a weapon instead of an doubleclick item - I've modified Fukiya to work as a full fledged weapon - it is neccessary for it in order to fill out the asian exotic weapon BOD. This way, it can be made out of various materials, and be exceptional. However, I didn't yet have the time to finish this, so it is half-baked (but works, as long as you use it as a ranged weapon only). Use mine or modify to make it better, or wait for a better version instead. The Fukiya darts had to be edited too.
    11. (added by V5) MODIFY CLIENT CLILOC - You need to open your cliloc.en (or whatever language you are using in-game) inside your CLIENT'S folder in a cliloc editor and add entries from skillboxes.cfg and resourceboxes.cfg. Do it like this, for example: in skillboxes.cfg, there is BlackSmithBox 0xE80 1026796 . Find the index number of 1026796 inside your cliloc.en - that entry there should be empty. Add the internal name (BlackSmithBox in this case) there, but make it look better by using spacebar (i.e. Blacksmith Box). Do this for all of the entries in the two specified .cfg files. If the entry in cliloc.en IS full, then don't replace it (it means that you have a different version of the client that I do), find an empty spot, put it there and then put its index number to the cfg file/s. For example if 1026796 is full, and 1026790 isn't, then after putting Blacksmith Box there in your cliloc, edit skillboxes.cfg and replace the index number there, i.e. BlackSmithBox 0xE80 1026790. You can do the same for the wooden kite shield, which is in the carpenter folder, shields.cfg, instead of using the crappy placeholder I've put in originally. And necklaces.cfg could probably use some love too.


    I would like to thank the RunUO community for making great scripts for me to basically create and play the most complex game on Earth (with the exception of Dwarf Fortress, but that game has ASCII graphics. I don't care about a game's graphics, as long as it has "any" graphics).

    If you would like to thank me for some reason (like writting this humongous pile of text), please visit the website of my little crappy shard, called Zerenxess ( http://www.zerenxess.xf.cz/index_files/IndexEN.html ), especially the "Changes from OSI" section is a nice read. The URL is longer because it is set to load the English version. (I'm Czech by the way. And I have OCD. Hawk. And I read and type really fast. Tehehee.)

    If you have anything to say, please say it. You can add your own items into the sections provided, in your data/bulk orders/ .cfg files, there are plenty of sections there (crates, staves, chests, furniture, ...), if you want a new section, I can make it for you (adding items for BODs into the sections is easy, adding new sections isn't).

    This is my second time posting something here, so please be gentle. Also English is my third language, so excuse my possible inadequacy. :D
     
  2. Templayer

    Templayer Sorceror

    Joined:
    Oct 25, 2007
    Messages:
    23
    Likes Received:
    3
  3. Templayer

    Templayer Sorceror

    Joined:
    Oct 25, 2007
    Messages:
    23
    Likes Received:
    3
    V5.1 - because it wouldn't be me if I didn't forgot about something. I forgot to add fletcher BODs into Bulk Order Books, their filter and GUMP. D'OH. I don't want to repack this just because of that, so I will upload the two files and you just have to replace yours from my package with them. Or what the heck, I will repackage it and send both.
     

    Attached Files:

  4. victor9yun

    victor9yun Traveler

    Joined:
    Feb 3, 2017
    Messages:
    5
    Likes Received:
    0
    Code:
    RunUO - [https://github.com/runuo/] Version 2.5.0.24991
    Core: Running on .NET Framework Version 4.0.30319
    Core: Optimizing for 4 64-bit processors
    Core: Server garbage collection mode enabled
    RandomImpl: CSPRandom (Software)
    Scripts: Compiling C# scripts...failed (1 errors, 0 warnings)
    Errors:
     + Engines/BulkOrders/BODModule.cs:
        CS0246: Line 21: 'Module' 형식 또는 네임스페이스 이름을 찾을 수 없습니다. using 지시문 또는 어셈블리 참조가 있는지  확인하십시오.
        CS0246: Line 154: 'Module' 형식 또는 네임스페이스 이름을 찾을 수 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하십시오.
    Scripts: One or more scripts failed to compile or no script files were found.
     - Press return to exit, or R to try again.
    Hello Templayer.
    First of all, thank you for your works.
    i'm an old fan of UO. and newbie of RunUOs.
    i follow your installation guide. but i met a big wall(Like a north wall of GOT).
    up there is my error shot.
    i don't know how to fix. worst thing is i'm still for an ENG.
    but i'll try to follow the solution you'll give me.
    thank you all.
     
  5. Hammerhand

    Hammerhand RunUO Moderator
    Staff Member

    Joined:
    Sep 11, 2004
    Messages:
    8,649
    Likes Received:
    522
    Error is : The type or namespace name can not be found. Make sure you have a using directive or an assembly
     
  6. victor9yun

    victor9yun Traveler

    Joined:
    Feb 3, 2017
    Messages:
    5
    Likes Received:
    0
    i know what that error is.. i want a know how to fix.. T.T
     
  7. Enroq

    Enroq Sorceror

    Joined:
    Jan 28, 2011
    Messages:
    1,970
    Likes Received:
    245
    First of all, you should be thankful he even took the time to translate your error. Since it was too much effort for you to do before asking for help.

    Second of all, he told you how to fix it.

    Third, consider yourself again lucky that he even responded.. As for me, I'm implementing a new policy of completely ignoring requests for help from people who signed up on the day they posted or have, I don't know, say.. two messages.
     
    #7 Enroq, Feb 13, 2018
    Last edited: Feb 13, 2018
  8. victor9yun

    victor9yun Traveler

    Joined:
    Feb 3, 2017
    Messages:
    5
    Likes Received:
    0
    yeah.. my apologize..
    sorry about that you(and him) felt i'm rude.
    i said i'm still for an english and zero knowledge for code.
    and i'm desperate now. it bcoz I'm going to be admitted to an isolation ward soon.
    there is no internet.. this game will be my only pleasure in my tired isolation facility.
    and i don't have a much time..
    sorry again..
     
  9. victor9yun

    victor9yun Traveler

    Joined:
    Feb 3, 2017
    Messages:
    5
    Likes Received:
    0
    my apologize... I won't make an excuse.
     
  10. Hammerhand

    Hammerhand RunUO Moderator
    Staff Member

    Joined:
    Sep 11, 2004
    Messages:
    8,649
    Likes Received:
    522
  11. victor9yun

    victor9yun Traveler

    Joined:
    Feb 3, 2017
    Messages:
    5
    Likes Received:
    0
    thank you for every thing you've done.
    i did what you told me. but i saw a lot of new errors.
    i give up.. i got a go to hospital now. to isolation facility of hospital. there's like a jail T.T
    Again, thank you and all ppl who reply my mention.
     
  12. Enroq

    Enroq Sorceror

    Joined:
    Jan 28, 2011
    Messages:
    1,970
    Likes Received:
    245

Share This Page