Adding Weapons (and other types of gear, spells) IS Possible

  • tracker

    tracker (Member)

    rank: Innocent Bystander

    score: 0

    http://i.imgur.com/Zrzrb1w.jpg

    Using the HBS Engineering files: http://steamcommunity.com/sharedfiles/filedetails/?id=161519538

    Download them here, if you would like: https://mega.co.nz/#!oFdSGD5D!LJdKLnWDg0-fBzR0t6WGCwUrQyMe5h-gzE5TudAPtck

    Copy these folders from /Canada/Data/: abilities, items, modes Paste them into your content pack's data folder

    The Sample items will now show up in the editor for you.

    Making a Streetline Special is done like this: http://pastebin.com/CFFBZ2ju

    Some of the information for rifles, SMGs, etc...you will have to figure out by opening the .item.bytes files in the Seattle/DMS campaigns. I am certainly not an expert in this, yet, but it was mentioned by a bunch of people that they thought gear could not be added to the game and it is nice to see that they can be! We can't change in-game models or icons, yet, but I don't care about that.

    Thanks to sheridan_hbs!

  • TanukiBOB

    TanukiBOB (Member)

    rank: Innocent Bystander

    score: 0

    Do you know if you can implement new skill within the skill trees as well? SMG needs some love and Gun Adepts would likely be a very welcome addition.

  • Wirehead (Member)

    rank: Innocent Bystander

    score: 0

    Huh, I'm surprised this hasn't gotten attention more attention earlier, considering it was uploaded before official release...

  • tracker

    tracker (Member)

    rank: Innocent Bystander

    score: 0

    I made a tutorial on the wiki describing how to add guns. It is pretty much the same process to add spells and things.

    http://shadowrun-returns.wikispaces.com/Create+Weapons

    Tanukibob, you might be able to. You can add new spells, abilities, and attack modes to the game, but I don't know exactly how those work with the skill tree. We need more people investigating and experimenting with adding stuff =)

  • Wirehead (Member)

    rank: Innocent Bystander

    score: 0

    Taken from Plugins/ShadowrunDTO.dll

    some additional item types: ItemType_Melee1H ItemType_Melee2H ItemType_Unarmed ItemType_Thrown ItemType_Spell ItemType_Consumable ItemType_Shaman ItemType_Rigger ItemType_Adept ItemType_Samurai ItemType_Decker ItemType_DeckerProgram ItemType_ShamanTotem ItemType_SMG ItemType_Outfit ItemType_Cyberware ItemType_Disguise ItemType_QuestItem ItemType_QuestNote ItemType_DeckerESP ItemType_AttackSpell

    Working on making a new cyberarm item...

  • Murphy01

    Murphy01 (Member)

    rank: Innocent Bystander

    score: 0

    GO DECKERS GO!!!

  • Wirehead (Member)

    rank: Innocent Bystander

    score: 0

    Hey, I made a new cyberarm:

    http://pastebin.com/raw.php?i=BpSCkriA

  • Murphy01

    Murphy01 (Member)

    rank: Innocent Bystander

    score: 0

    Make it a Wiremaster CDA-15 with Strength enhancement. You'll make a lot of fans happy especially if they've read 2XS

  • crusher_bob (Member)

    rank: Innocent Bystander

    score: 0

    Trying to add the sample pistol. putting it in ???\Steam\SteamApps\common\Shadowrun Returns\Shadowrun_Data\StreamingAssets\ContentPacks\seattle\data\items

    and get the following msg out of the editor: can't parse messeage of type "isogame.ItemDef" because it is missing required fields: id

    and ideas?

  • tracker

    tracker (Member)

    rank: Innocent Bystander

    score: 0

    Paste the contents of the file in pastebin and I'll look at it.

  • crusher_bob (Member)

    rank: Innocent Bystander

    score: 0

    in ???\Steam\SteamApps\common\Shadowrun Returns\Shadowrun_Data\StreamingAssets\ContentPacks\seattle\data\items

    file name : samplepistol.item

    text

    id: "Sample Pistol" type: ItemType_Pistol uirep { icon: "icon_gun_ceskablackscorpion" name: "Sample Pistol" description: "Sample Pistol." } equipPrefabName: "AresPredatorPistol" anim_type: AnimType_Pistol coreAttribute: Attribute_Quickness coreSkill: Skill_RangedCombat coreSpecialization: Specialization_RC_Pistol apCost: 1 prereqStrings: "Player.SKILL.Skill_RangedCombat >= 1" maxAmmo: 28 baseHPDamage: 6 baseAPDamage: 0 rangeModTable: 8 rangeModTable: 8 rangeModTable: 8 rangeModTable: 6 rangeModTable: 4 rangeModTable: 2 rangeModTable: 0 rangeModTable: -2 rangeModTable: -4 rangeModTable: -6 rangeModTable: -8 rangeModTable: -10 rangeModTable: -12 rangeModTable: -14 rangeModTable: -16 rangeModTable: -18 rangeModTable: -20 rangeModTable: -22 rangeModTable: -24 noiseLevel: 9 noiseRounds: 1 ammoReloadAPCost: 1 abilityModes: "Single (Pistol)" affectsEnemy: true canTargetActor: true store_cost: 150

    sorting_group: "Pistols"

  • Wirehead (Member)

    rank: Innocent Bystander

    score: 0

    Don't put spaces in the id and name.

  • tracker

    tracker (Member)

    rank: Innocent Bystander

    score: 0

    Also try using this: http://pastebin.com/

    That won't kill the formatting.

  • Wirehead (Member)

    rank: Innocent Bystander

    score: 0

    Edit: No longer relevant

  • crusher_bob (Member)

    rank: Innocent Bystander

    score: 0

    Hmm, if I change the text encoding from ANSI to UTF-8, that gets rid of the error when opening the editor, but don't see the sample pistol in the equipment list. What text editors are you using to generate the .item files?

    [edit] for more details:

    in ???\steam\SteamApps\common\Shadowrun Returns\Shadowrun_Data\StreamingAssets\ContentPacks\seattle\data\items

    I right click and ask for a new text document. I change it's name to "samplepistol.item"

    I open samplepistol.item with my text editor (Notepad++) I copy and paste the "raw paste data" from pastebin into my file and save it.

    I double check to be sure there are no trailing characters.

    I fire up Shadowrun Returns and goto content. Choose dead man's swtich and open the editor.

    and I get the message

    ERROR protobuf error in file \path goes here\samplepistol.item

    can't parse message of type "isogame.ItemDef" because it is missing required fields: id

    The editor opens, I select and actor and goto add equipment. No sample pistol in either pistols or generic items.

    If I reopen samplepistol.item with notepad++ and change the text encoding from ANSI to UTF-8, and try re-opening the editor, it opens without the error message, but still no sample pistol in the equipment list.

  • Wirehead (Member)

    rank: Innocent Bystander

    score: 0

    Edit: disregard

  • Adraeus

    Adraeus (Member)

    rank: Innocent Bystander

    score: 0

    Quote from Wirehead:

    Huh, I'm surprised this hasn't gotten attention more attention earlier, considering it was uploaded before official release...

    A sample pistol item and the Rifle (Burst Fire) ability were posted on Pastebin and linked in a chat on the day before the release date.

    Honestly, we really need people who know C# to join this community.

    The *.bytes files are "serialized" with the protobuf-net library. That's why you can't read them; they're binary data. For someone experienced with C#, writing a tool to deserialize the *.bytes files with protobuf-net and then serialize and deserialize them with XmlSerializer (because protobuf-net doesn't support TextFormat) into a human-readable format would be fairly trivial, as would reversing the process.

    But I'd still really like HBS to implement editors for abilities, items, props, scripts, AI, and much more.

  • DangerousFat

    DangerousFat (Member)

    rank: Innocent Bystander

    score: 0

    CRUSHER_BOB, I'm having the same issue. I can get the editor to load with no error, but then my item is simply not in the list. Not sure what step we're missing. Help?

  • tracker

    tracker (Member)

    rank: Innocent Bystander

    score: 0

    For those wanting a look at the other .item files:

    Barrier Spell: http://pastebin.com/x6EtK3Ni

    Sample Spell: http://pastebin.com/xTcXUJxd

    Sample Pistol: http://pastebin.com/hNvY2B38

    Sample Spirit: http://pastebin.com/KYdK6CrA

    Sample Grenade: http://pastebin.com/aCwMXnJK

    Sample Pistol Ability: http://pastebin.com/6uhDXwjb

    Sample Grenade Ability: http://pastebin.com/fkFZMx3s

    Sample Pistol Mode: http://pastebin.com/bNS2yu0E

  • tracker

    tracker (Member)

    rank: Innocent Bystander

    score: 0

    Try not using the DMS campaign?

  • DangerousFat

    DangerousFat (Member)

    rank: Innocent Bystander

    score: 0

    I made a copy of the campaign with new game plus, is that the issue though? Would a completely custom built one allow it?

  • tracker

    tracker (Member)

    rank: Innocent Bystander

    score: 0

    What "list" are you looking at? The Item Pickup list on an item interaction?

  • DangerousFat

    DangerousFat (Member)

    rank: Innocent Bystander

    score: 0

    Oh, that's probably the issue, I'm still learning the modding stuff, I was just looking at the item list in Story Data in the upper left hand corner. Would it not be there since I haven't added it to that list somehow?

  • tracker

    tracker (Member)

    rank: Innocent Bystander

    score: 0

    Also, I made a wiki post that will probably help those creating new weapons: http://shadowrun-returns.wikispaces.com/Weapons

  • tracker

    tracker (Member)

    rank: Innocent Bystander

    score: 0

    Items don't show up in story data, jsut stuff like conversations and scenes.

    In some random scene, find or add a random prop that doesn't do anything normally when you click on it.

    Click on the prop in the editor.

    On the right side (usually) of the editor is a properties window. Click the hammer in the upper right corner of the window. A window should open up.

    Click the Interaction type dropdown and choose Item Pickup, then uncheck the "Destroy object on pickup" box. Choose your item under "Item Name." The sample pistol should be under Pistols.

    Hit OK, save it and run it.

  • DangerousFat

    DangerousFat (Member)

    rank: Innocent Bystander

    score: 0

    Yeah, it's still not there. Though I mucked with it a lot, I'm going to just copy the sample pistol straight and try it first. I might have done something wrong with all the changes I made.

  • Wirehead (Member)

    rank: Innocent Bystander

    score: 0

    Found out how to make stats for the cyberware: http://pastebin.com/raw.php?i=BpSCkriA

  • tracker

    tracker (Member)

    rank: Innocent Bystander

    score: 0

    Looks like we are in the motherfucking cyberware business!

  • crusher_bob (Member)

    rank: Innocent Bystander

    score: 0

    Found the problem with the lacking ID error, you have to create a new pack, and add items to it. Think the 'compiled' packs don't read txt items. But have made the editor crash trying to add dependencies on new testing package on to dead man's switch. Now it's very unhappy. reinstalling.

    From shadowrunDTO.dll, think these are the names of the stats and skills:

    Attribute_Body

    Attribute_Quickness

    Attribute_Strength

    Attribute_Charisma

    Attribute_Intelligence

    Attribute_Willpower

    Attribute_Magic_Essence

    Attribute_Essence

    Attribute_Magic

    (can essence and magic be modified separately, or not?)

    Attribute_HP

    Attribute_AP

    Attribute_Armor

    Attribute_Force

    Attribute_Move_Speed

    Attribute_Accuracy (think this is what cybereyes use)

    Skill_RangedCombat

    Skill_CloseCombat

    Skill_ThrowingWeapons

    Skill_Spellcasting

    Skill_ChiCasting

    Skill_Decking

    Skill_DeckBuildRepair?

    Skill_Conjuring

    Skill_SpiritSummoning

    Skill_SpiritControl

    Skill_DroneControl

    Skill_DroneCombat

    Skill_Biotech

    Skill_Dodge

    [edit] don't see names for sub-skills (rifle, pistol, unarmed, etc). have cut out several skill names that probably weren't implemented.

    [edit] would forums software that actually kept formatting be too much to ask?

  • tracker

    tracker (Member)

    rank: Innocent Bystander

    score: 0

    The specializations should be like this:

    Specialization_RC_Pistol

    From the samplepistol.item file HBS posted

  • Young_Freud (Member)

    rank: Innocent Bystander

    score: 0

    How hard would it be to alter Wired Reflexes to provide an bonus AP instead of the instadodge?

    Oh, looks like it would be actually very simple. Just add write in statMods { attribute: Attribute_AP intModValue: 1 }

  • DangerousFat

    DangerousFat (Member)

    rank: Innocent Bystander

    score: 0

    Quote from crusher_bob:

    Found the problem with the lacking ID error, you have to create a new pack, and add items to it. Think the 'compiled' packs don't read txt items. But have made the editor crash trying to add dependencies on new testing package on to dead man's switch. Now it's very unhappy. reinstalling.

    I did figure a little tidbit out. You can make a custom pack that's just content, add all your custom items in it, then edit the dependencies of one of the pre-compiled packs to add in your custom one. The items work that way. Now, the problem I have is I can't load a pre-compiled scene, I can only make a new one as a copy of an existing one. When I tried to do that and overwrite the original, I broke something. But, that's a start, you can side-load these packs in as dependencies. This is also nice, because people can just make item packs now and we can load those into our own content. Now, if someone doesn't want to make an entire map, they can just give up a gear content pack with a bunch of custom gear in it.

  • Zetor

    Zetor (Member)

    rank: Innocent Bystander

    score: 0

    Or a rebalance / challenge mod.

    Yeah, this stuff is pretty darn awesome... looks like it's possible to change quite a bit of the underlying gameplay (as far as abilities/weapons/gear is concerned, anyway). I know I'll be making a Panther Assault Cannon when I get back from work!

  • Marduc (Member)

    rank: Innocent Bystander

    score: 0

    There is also tentative support for lasers and bows: From ShadowrunDTO.dll:

    Specialization_None,

    Specialization_RC_Bows,

    Specialization_RC_Heavy,

    Specialization_RC_Lasers,

    Specialization_RC_Pistol,

    Specialization_RC_Rifle,

    Specialization_RC_Shotgun,

    Specialization_RC_Smg,

    Specialization_CC_Edged = 21,

    Specialization_CC_Unarmed = 23,

    Specialization_TW_Blades = 40,

    Specialization_SC_Attack_Spells = 60,

    Specialization_SC_Manipulation_Spells,

    Specialization_SC_Social_Spells,

    Specialization_SC_Support_Spells,

    Specialization_DK_Combat_Programs = 80,

    Specialization_DK_Defensive_Programs,

    Specialization_DK_Trap_Programs,

    Specialization_DK_ESP_Control,

    Specialization_SU_Spirit_Control = 90,

    Specialization_DR_Drone_Combat = 100

    RC= Ranged combat, CC = Closed combat TW = Throwing blades SC = Spellcasting DK = Decking SU = Summoning DR = Drone Rigging

  • DangerousFat

    DangerousFat (Member)

    rank: Innocent Bystander

    score: 0

    Specialization_RC_Heavy... interesting... but it's turned off, since we don't see it in game, wonder how we turn it on? THat would be perfect for the LMG's I want and Panther Assault Cannons everyone else wants. lol

  • Ravine

    Ravine (Member)

    rank: Innocent Bystander

    score: 0

    Quote from Adraeus:

    Quote from Wirehead:

    Huh, I'm surprised this hasn't gotten attention more attention earlier, considering it was uploaded before official release...

    A sample pistol item and the Rifle (Burst Fire) ability were posted on Pastebin and linked in a chat on the day before the release date.

    Honestly, we really need people who know C# to join this community.

    The *.bytes files are "serialized" with the protobuf-net library. That's why you can't read them; they're binary data. For someone experienced with C#, writing a tool to deserialize the *.bytes files with protobuf-net and then serialize and deserialize them with XmlSerializer (because protobuf-net doesn't support TextFormat) into a human-readable format would be fairly trivial, as would reversing the process.

    But I'd still really like HBS to implement editors for abilities, items, props, scripts, AI, and much more.

    I quickly read the thread, and my augmented eyes catched the "C#" stuff. What is the current problem with the editor and why a C# coder is needed around here ? (disclaimer : i havent used the editor yet, so i dont get it)(other info : i am a C# programmer, maybe i can find time to do a little stuff to help you about that)

  • Marduc (Member)

    rank: Innocent Bystander

    score: 0

    There Be Dragons!

    The Listed races:

    Race_None,

    Race_Human,

    Race_Dwarf,

    Race_Elf,

    Race_Ork,

    Race_Troll,

    Race_Dragon,

    Race_Ghoul,

    Race_Spirit,

    Race_Drone,

    Race_Object,

    Race_Creature,

    Race_Bug

  • Adraeus

    Adraeus (Member)

    rank: Innocent Bystander

    score: 0

    Quote from Ravine:

    I quickly read the thread, and my augmented eyes catched the "C#" stuff. What is the current problem with the editor and why a C# coder is needed around here ? (disclaimer : i havent used the editor yet, so i dont get it)(other info : i am a C# programmer, maybe i can find time to do a little stuff to help you about that)

    Abilities, items, props, scripts, AI behaviors, and more cannot be added or modified with the editor. The files that govern these things are serialized as a protobuf binary blobs (e.g., *.ab.bytes, *.item.bytes, *.prp.bytes) using protobuf-net.

    If these files were in a human-readable format, we could add and modify more facets of the game than possible now.

    You can find all the code you need to serialize and deserialize these binary blobs in ShadowrunDTO.dll. You can add ShadowrunDTO.dll as a reference to your project or just decompile the whole thing to C# code with .NET Reflector. Since protobuf-net does not support TextFormat, you'll also need to use .NET's XmlSerializer to serialize and deserialize the deserialized protobuf-net binary blobs into a human-readable format.

  • Ravine

    Ravine (Member)

    rank: Innocent Bystander

    score: 0

    Any hint on the ID stuff i've read ealier ? (what manages the id's ?) Since you plan to add stuff, it would be interesting to anticipate id collisions and stuff. i'll try to wrap up a quick something if i can.

    Would you be interested in retrieving all the .bytes in plain text first ? I think that would be the easier/quickier stuff i could set up at first glance.

  • crusher_bob (Member)

    rank: Innocent Bystander

    score: 0

    For those of you trying to make new weapons, here's what I think the range modifiers for the stock weapons are:

    http://pastebin.com/F1RLWtzL

    The SMG gets really short-changed. It's has the worst range modifiers of any of the weapons, all of the time.

    Top numbers are the 4 byte hex codes associated with the range modifiers for that weapon, then the bottom should be the decimal equivalent. Assuming that the sample pistol has normal pistol range modifiers.

  • Sardaukar

    Sardaukar (Member)

    rank: Innocent Bystander

    score: 0

    Quote from Young_Freud:

    How hard would it be to alter Wired Reflexes to provide an bonus AP instead of the instadodge?

    Oh, looks like it would be actually very simple. Just add write in statMods { attribute: Attribute_AP intModValue: 1 }

    Already fixed and tested Wired Reflexes with a hex editor. Works fine and applies to save games - once you (re) install it on your torso.

  • Ravine

    Ravine (Member)

    rank: Innocent Bystander

    score: 0

    First, quick and dirty attempt at extraction. http://pastebin.com/A7q8Zq6j I'll work on doing the reverse operation (to generate .bytes files) to see if i dont screw anything. I'll keep you posted ;) (also i'll check JSon too, if it's more readable, etc. As you may know, it's not really a lot of work to extract that, but the faster we settle on a format, the better )

  • treo

    treo (Member)

    rank: Innocent Bystander

    score: 0

    So, I'll repeat what I said on reddit about it, along with what DangerouslyFat answered for context:

    All of the data in ContentPacks/ that ends with .bytes seems to be serialized with googles protobuf, all that is missing is the proto files that define their structure. They even say so in some of the readme.bytes files. The .proto files are stored in the ShadowrunEditor.exe, and it is pretty easy to extract them (e.g. use the python script found here: http://www.sysdream.com/reverse-engineering-protobuf-apps) The result will be the following two files:

    isogame.proto: http://pastebin.com/kwaAjJrF

    google/protobuf/descriptor.proto: http://pastebin.com/LJgtzArm

    So I hope somebody who has more time than me can use it to create something useful :)

    The question is, can we actually change the content of those files within our mods?

    I am quite sure that you can. The Weapon Mod you have posted works by utiliizing an unserialized (TextFormat) Version of an ItemDef as described in the isogame.proto file. From the looks of it you could go on and decode all of the already available Items, Skills, whatever there is and use them or anything based on them. You might have to create a manifest.mf.bytes file for it to be usable, but also its structure is defined in the isogame.proto. You could even say that there is a great demo of how to do it in the dead_man_switch folder, as they actually do define new abilities, items, and so on. Right now I have to get a project done, but if I get bored or done quickly I might write a decoder and/or editor for them and try out what is actually possible with it.

    Oh, yeah we can create new items, I meant was there any way to change dll's in our projects? We still haven't, to my knowledge, found the actual class definition for a character yet. For instance, the RC_Heavy skill is in the dll you so kindly decoded for us, but in game, the characters don't have that skill, so where is the character actually declared?

    There is are Character, CharacterMod and CharacterInstance message types, so it should be possible to define a character that way. The Character Class in the actual Code (Assembly-CSharp.dll) can load a character sheet (a .ch_sht.bytes file, Character Instance message type) from the data/chars/ folder. So it at least looks like you should be able to define characters that use that skills.

    Maybe someone with more time on his hands than me can use this information :)

  • KILLTHIS

    KILLTHIS (Member)

    rank: Innocent Bystander

    score: 1

    Awesome work, chummers!

  • Marduc (Member)

    rank: Innocent Bystander

    score: 0

    Where are the save files located? And do we already have an idea how they are serialized?

  • Marduc (Member)

    rank: Innocent Bystander

    score: 0

    SRR is using https://code.google.com/p/protobuf-net/ for serialization, not the google version. I've tried to deserialize an *.item.bytes using this info ant it works. Now I'm trying to create an item editor. I still need to define all of the different fields for items, there are a lot of these:

    properties of ItemDef, the item class

    Private _id As String

    Private _type As ItemType

    Private _uirep As UIRep

    Private _equipPrefabName As String = String.Empty

    Private _anim_type As AnimType = AnimType.AnimType_Null

    Private _coreAttribute As Attribute

    Private _coreSkill As Skill

    Private _coreSpecialization As Specialization

    Private _forceRating As Integer

    Private _apCost As Integer

    Private _prereqStrings As List(Of String) = New List(Of String)()

    Private _maxAmmo As Integer

    Private _baseHPDamage As Single

    Private _baseAPDamage As Single

    Private _rangeModTable As List(Of Single) = New List(Of Single)()

    Private _effectModTable As List(Of Single) = New List(Of Single)()

    Private _noiseLevel As Single

    Private _noiseRounds As Integer

    Private _ammoReloadAPCost As Integer

    Private _spreadAngle As Single

    Private _abilityModes As List(Of String) = New List(Of String)()

    Private _modelessAbilities As List(Of String) = New List(Of String)()

    Private _affectsFriendly As Boolean

    Private _affectsEnemy As Boolean

    Private _affectsDecker As Boolean

    Private _canTargetSelf As Boolean

    Private _canTargetActor As Boolean

    Private _canTargetOccupiedGridPoint As Boolean

    Private _canTargetUnoccupiedGridPoint As Boolean

    Private _additionalTargets As Integer = -1

    Private _isBuff As Boolean

    Private _isDebuff As Boolean

    Private _cooldown As Integer

    Private _cooldown_category As String = String.Empty

    Private _isMagic As Boolean

    Private _effectDuration As Integer = -1

    Private _effectRadius As Integer

    Private _effectOnTile As Boolean

    Private _drainBucket As ResultBucket

    Private _fxrep As FxRep

    Private _character_sheet_id As String = String.Empty

    Private _equipment_sheet_id As List(Of String) = New List(Of String)()

    Private _character_prefab_id As String = String.Empty

    Private _character_ui_name As String = String.Empty

    Private _decking_default_weapon As String = String.Empty

    Private _decking_hardening As Integer

    Private _decking_body As Integer

    Private _decking_evasion As Integer

    Private _decking_max_ip As Integer

    Private _decking_max_ap As Integer

    Private _decking_program_limit As Integer

    Private _decking_esp_limit As Integer

    Private _reactions_per_use As Integer

    Private _credentials As Integer

    Private _ai_priority As Integer

    Private _activationStatusEffects As StatusEffects

    Private _equippedStatusEffects As StatusEffects

    Private _intended_user As IntendedUser

    Private _cyberware_type As CyberwareType

    Private _gear_bundle As String = String.Empty

    Private _outfit_texture As String = String.Empty

    Private _gear_prefab As String = String.Empty

    Private _gear_covers_arms As Boolean

    Private _gear_covers_hair As Boolean

    Private _gear_covers_face As Boolean

    Private _store_cost As Integer = -1

    Private _sorting_group As String = String.Empty

  • treo

    treo (Member)

    rank: Innocent Bystander

    score: 0

    But still protobuf is protobuf, as they are supposed to be compatible. Take a look at https://github.com/treo/srr_tools and especially at proto/isogame.proto, and you will get all the of the different fields for items. You can even use the protogen.exe from protobuf-net to generate everything that you need automatically :)

  • Marduc (Member)

    rank: Innocent Bystander

    score: 0

    Its also in shadowrunDTO.dll, open in ILSpy and see the paydata.

  • Zanadar (Member)

    rank: Innocent Bystander

    score: 0

    Ok, I'm getting a little frustrated now so here's what I did, please someone tell me what I'm doing wrong.

    1. Created samplepistol.item and copied the text from the pastebin link above.
    2. Placed it into the DMS data/items folder.
    3. Booted up the Editor. Got the ID error. No item when I try to add it via item pickup.
    4. Created a custom "data only" pack. Placed the item there in data/items. No error but didn't show up in item pickup.
    5. Renamed the file from samplepistol.item to samplepistol.item.bytes. Success! The item now showed up in the item pickup menu in the custom pack.
    6. Loaded up DMS through the editor. Added my new pack as a dependency. The item showed up! Added it to the first level so I could test it.
    7. Booted up the game. Selected New Game->DMS->Launch...and got a black screen, with the music still playing and the mouse responsive.

    So that's where I'm now stuck. When I take out the dependency, everything works again. When I put it in, it gives me the black screen and doesn't load up character creation. Makes no sense to me, since the custom pack is data only, it shouldn't be messing with character generation, but something's clearly going wrong. Anyone have any ideas?

  • DangerousFat

    DangerousFat (Member)

    rank: Innocent Bystander

    score: 0

    Won't work with DMS, has to be your own UGC. DMS is compiled and doesn't read the .item.txt files.

  • Zanadar (Member)

    rank: Innocent Bystander

    score: 0

    Quote from DangerousFat:

    Won't work with DMS, has to be your own UGC. DMS is compiled and doesn't read the .item.txt files.

    That's why I used a custom content pack to get around that problem. Except for some reason it's stopping character generation and for the life of me I can't figure out why...