Adding an armor part item in-game
Rough notes, somewhat incomplete, feel free to get this working properly, and clean up this page.
For adding an armor part, you need to add the sitem sheet, as well as the sbrick used for crafting the item.
When the item is sold by an NPC, or created by force in a player inventory, the sitem is crafted with Fine System Raw Material. (system_fine_mp.sitem or something)
Items like materials don't need a craft plan obviously. See relevant source code for a list on what does and what does not.
Craftable items MUST be prefixed with "ic", bricks for crafting MUST be preficed with "bc".
At first have a look into the georges.cfg. If incorrect, change your RootSearchDirectory to your leveldesign folder, which contains upon other things the "DFN" folder.
- Open georges exe
- File new form
- Select DFN/game_elem/sitem.dfn as form definition
- Save the form, browse to game_element/sitem/armor/common, create a folder test_armor and save as filename ic_test_trooper_vest.sitem
- Under content, set as parent form game_element/sitem/armor/_parent/_gca_l.sitem, and hit Assign parents
- Save regularly
- Under basics set the name to "test trooper armor vest"
- Set item type to Light vest
- Under EquipmentSlots set Array size to 1
- And set the first equipment slot to Chest
- Under 3d set shape to "CA_HOM_trooper_torse.shape" and shape_female to "CA_HOF_commander_gilet.shape" (check inside the .bnp to see what .shape you have available)
- Set icon to "AR_gilet.tga"
- Create another form called bc_test_trooper_vest_01.sbrick under game_element/sbrick/ that uses sbrick.dfn
- Under Basics set FamilyId to BCCAEA
- Set action nature to CRAFT
- Set indexinfamily to 1
- Under Client set icon to AR_gilet.tga and iconover to FP_over.tga
- Under faber create set crafted item to ic_test_trooper_vest.sitem
- Set mp1 to armor shell
- set mp2 to armor clip
- in the ic_test_trooper_vest.sitem basics set craftplan to bc_test_trooper_vest_01.sbrick
Rebuilding the sheet data
- Rebuild sheet id with following command
R:\code\nel\tools\misc\make_sheet_id\ make_sheet_id_r.exe -oL:/leveldesign/game_elem/sheet_id.bin L:/leveldesign/game_elem L:/leveldesign/game_element L:/leveldesign/world
- Rebuild packed sheets for the client, browse to R:\code\ryzom\tools\sheets_packer\ and run sheets_packer_r.exe
- Move the packed_sheets in R:\code\ryzom\client\data to the user folder of your Ryzom Core client
- Copy the sheet_id.bin also to your user folder
- Delete all the packed sheets for the server, and launch the shard, and try to connect with client
- Before launching AIS, you can add the sitem to a merchant npc, or you can use ingame admin command to get item in your inventory
Note: Currently after rebuilding client packed sheets, it seems player character heads are missing
Create item ingame into inventory
- Connect with your client
- On EGS use command setPriv 1 :DEV:
- Select yourself ingame
- Do /a createItemInBag ic_test_trooper_vest.sitem 1 25