Post by tommah on Oct 5, 2014 6:56:50 GMT -5
Contents of coregamplay_loads_new.txt
I have tested adding a new BIN file for NEW items and so far seems to work just fine. Adding a new item to an existing BULK.bin file actually caused my fov mod to stop working. With the new tommah.bin file that housed the new weapon both mods ran just fine. Please note the "7" at the top when adding BIN files.
Contents of tommah.bin
This is basically a test mod. It creates a new baseball bat that has a Firearm icon, Queen Bee display name, and swings like a spear. These three things are what you need to spawn in a new item into the map:
cGameObjectState - Used to actually spawn in the item and give the weapon its attributes. The first reference number under "ComponentsState" points to the next required part. All other references after that will further modify the item; health, bone locator, beacon(noise), damager/damageable, etc...
cDynamicPropComponentState - Only use is to point its one option to the cPlayerWeaponItem.
cPlayerWeaponItem - Defines the item such as which model to use, animation, Throw actions, and a lot of other random things.
There is a lot more to modding the items however these three things (cGameObjectState, cDynamicPropComponentState, cPlayerWeaponItem) are the three things you need to create (and name uniquely) a new weapon.
TIPS:
-For the titles, type in an actual unique name to avoid title repeats. For instance, it was originally named tommahbat. I'm quite certain that name didn't already exist, and when packing it was automatically converted to a unique number.
-You will need three DIFFERENT names for the three different parts (cGameObjectState, cDynamicPropComponentState, cPlayerWeaponItem). For this example, I used tommahbatstate, tommahbatprop, and tommahbat.
-DO NOT FORGET TO CHANGE THE 'KEY' OPTION... I kept forgetting to do this and led to a lot of frustration. Key = Title/Name
-Start small, change the item icon then place it into the map to make sure the changes are taking effect. Don't create an all new weapon then start placing it, tough to debug.
-In my experiences, if there is a section in my tommah.bin file that is not currently being used my fov.bin stops working for whatever reason.
Visual Effects
Here I am starting a list of Known Effects. I.e. electricity from electric crusher, fire from Flaming hands, etc...
These are ONLY for Visual Effect, no collisions are associated with these
////Known Effects
Effect = "1081502566" ///Large fire, used on dead cars
Effect = "4176473307" ///small fire, used on Flaming Gloves
(componentstate) "@3744108339" ///generic electric, used on Electric crusher (idle)
Effect = "2788293033" ///random bees
Effect = "33829842" ///confetti
Effect = "3945926491" ///electric sound?
Line 3281: Effect = "2082454460" //flare
Line 3548: Effect = "2678519985" //small strobe light
Line 3664: Effect = "682839255" //sparks
Line 3784: Effect = "1832298844" //smoke
Line 4263: Effect = "1112686464" //fast fire cone
Line 5040: Effect = "1832298843" //small crater
Line 5049: Effect = "1305801128" //small awesome fire
Line 5629: Effect = "2481462070" //later crater and smoke
Line 5638: Effect = "3648189609" //nothing?
Line 5678: Effect = "2494206318" //small green gas
Line 6188: Effect = "3146965725" //light smoke
Line 6485: Effect = "3271719322" //small electricity
Line 6504: Effect = "1490555226" //medium strobe light
Line 6654: Effect = "2019008739" //quick electricity bolt
Line 6671: Effect = "1668137252" //tiny spark
Line 7588: Effect = "3467102925" //tiny smoke
Line 14319: Effect = "1105328056" //small white strobe
Line 14348: Effect = "4176473307" //small fire
Line 16199: Effect = "1455773175" //nothing?
Line 20042: Effect = "1701923450" //large sparks
Line 20240: Effect = "1701923449" //medium electricity
Line 21054: Effect = "2043772447" //large green firework explosion
Line 21142: Effect = "2043772446" //large blue firework explosion
Line 21230: Effect = "2043772445" //large red firework explosion
Line 21340: Effect = "2043772444" //large purple firework explosion
Line 21712: Effect = "2150454279" //green mist on ground
Line 21738: Effect = "2494206317" //small green mist
Line 21778: Effect = "1697416967" //green mist and on ground
Line 22117: Effect = "74246283" //white spray stuff?
Attack Sequences
very rough notes
Attachment and Rotation
Can only rotate a weapon if using the "multi-wield" option. As a workaround, I set up an item as a Multi-Wield and only entered one item, was still able to rotate.
7
data\gameplay\coregameplay_bulk0 1
data\gameplay\coregameplay_bulk1 1
data\gameplay\coregameplay_bulk2 1
data\gameplay\coregameplay_bulk3 1
data\gameplay\coregameplay_sgraph 1
data\gameplay\fov 1
data\gameplay\tommah 1
I have tested adding a new BIN file for NEW items and so far seems to work just fine. Adding a new item to an existing BULK.bin file actually caused my fov mod to stop working. With the new tommah.bin file that housed the new weapon both mods ran just fine. Please note the "7" at the top when adding BIN files.
Contents of tommah.bin
cGameObjectState 3514495923 {
Super = "@0"
ConstData = "@243683941"
Pos = "-0.00109863,-0.000762939,-0.00109863"
Rot = "0.00195693,0.00195693,0.00195693,0.999994"
Key = "3514495923"
ComponentTypes = [
"-224555073"
"1386327933"
"-90806063"
"-1229971842"
"-2095680330"
]
ComponentsState = [
"@819596510" //points to cDynamicPropComponentState
"@4249996441"
"@160426427"
"@1941940046"
"@691672854"
]
}
////////////////
cDynamicPropComponentState 819596510 {
PhysicsItem = "@2273032054" //points to cPlayerWeaponItem
}
////////////////
cPlayerWeaponItem 2273032054 {
Key = "2273032054"
ProductionStatus = "READY_FOR_REVIEW"
MergedFileNotUsed = "false"
DLCFlag = "BASE"
MergedFilename = "data\\dynamicprops_dr3\\baseballbat"
AssetFilename = "baseballbat"
AnimBankName = "weapon\\pole_gen"
DisplayName = "'IDS_DISPLAY_NAME_QUEEN_BEE'" //Queen Bee
IconFilename = ""
HasIcon = "true"
AudioItemName = "BaseballBat"
AudioFilename = "fx_baseballbat"
GenericAudioName = "0"
AudioUnloadDeferralTime = "0"
AudioLoadAtHighSpeed = "true"
Weight = "2.5"
Friction = "1.5"
Restitution = "0.001"
InertiaTensorMultiplier = "1"
DurabilityType = "@'hard'"
CollisionType = "COLLISION_SHAPE_TYPE_COUNT"
CollisionBits = "'WORLDCOLLISIONFILTER_DYNAMIC_PROP'"
CollidableType = "0"
IsClimbable = "false"
IsClimbableForZombie = "false"
IsBangableForZombies = "true"
IsStaticForPathfinding = "false"
AIDynamicObstacleType = "AUTO"
CollidableQuality = "4"
CameraInteractionMode = "CAMERA_DOES_NOT_INTERACT"
Unmoveable = "false"
CollidableWithWheels = "false"
DisableDynamicPropUpdates = "false"
AllowedPenetrationDepth = "-1"
UnlimitedDurability = "false"
DefaultAttachment = "@4090985211"
AudioLoadDistanceType = "0"
AudioCollisionProfile = "0"
PropAudioType = ""
AudioProperties = ""
AudioMaterial = "AUDIO_MATERIAL_NONE"
EnablePhysicsWhenAttached = "false"
IsNotInteractable = "false"
IsNotInteractableWhenFixed = "false"
IsSolidUntilPlayerInteractsWith = "true"
BodyPartClothingIsAttachedTo = "0"
ThrowOffset = "0.5,-5,0"
SecondsBeforeDeadPropVanishes = "1"
InitialColorBlendFactor = "-1"
LoadDistanceCategory = "LOAD_DISTANCE_VERY_CLOSE"
LoadDistanceType = "0"
UseNewMergedDynamicPropFunctionality = "false"
ShouldSync = "true"
ShouldDestroyOnDeath = "true"
DisableCollisionWithZombieOnThrown = "false"
AlternateTexture = "@0"
Cooldown = "LOCKER_COOLDOWN_NORMAL"
LockerSupplyUnitCost = "1"
IsValidRangedTarget = "false"
AllowBulletsToPenetrate = "false"
IgnorePhysicsControlEvent = "false"
BumpPersistedNeighboursOnDeath = "false"
RightWristBend = "0,0,0"
WeaponClass = "FIREARM"
PropWeightClass = "MEDIUM"
Inventoryable = "true"
EnableStrafing = "true"
CollidableWithActor = "false"
DestroyOnThrownImpact = "false"
GoesTransparentInRangeMode = "false"
DisableExternalImpulse = "false"
WeaponHasSyncMove = "true"
ThrowForce = "14"
ThrowAngle = "10"
ThrowSpin = "0,0,10"
ThrowRange = "12"
BreakSpread = "3"
NoCollisionTime = "0.3"
MaxPiecesToSpawn = "15"
PropScaleMultiplier = "1"
ThrowEffectAudio = "0"
SurvivorWeapon = "true"
OverrideAttackInfo = [
]
EffectiveRange = "1"
AwesomenessRating = "6"
Reticle_Type = "1"
Reticle_BestAccuracy = "0.8"
Reticle_WorstAccuracy = "0"
Reticle_ReturnToNormalAccuracyRate = "0.1"
Reticle_AccuracyDecreasePerShot = "1"
Reticle_MinMovementRateBeforeAccuracyDecrease = "0.05"
WeaponInfoExtensions = [
]
AttackSequences = "@2773167304"
BaseCameraShake = "CAMERA_SHAKE_NONE"
Reticle_ActiveInThirdPerson = "false"
Reticle_ActiveInRangeMode = "true"
Reticle_EnableAutoTargeting = "false"
NeedsAnimStoppedIfFallenOver = "false"
HasJumpAttack = "false"
AimCamera = "@0"
MaxChainAttackCount = "5"
YawOffsetForFacing = "-0.10472"
Description = "'IDS_SPACE'"
}
This is basically a test mod. It creates a new baseball bat that has a Firearm icon, Queen Bee display name, and swings like a spear. These three things are what you need to spawn in a new item into the map:
cGameObjectState - Used to actually spawn in the item and give the weapon its attributes. The first reference number under "ComponentsState" points to the next required part. All other references after that will further modify the item; health, bone locator, beacon(noise), damager/damageable, etc...
cDynamicPropComponentState - Only use is to point its one option to the cPlayerWeaponItem.
cPlayerWeaponItem - Defines the item such as which model to use, animation, Throw actions, and a lot of other random things.
There is a lot more to modding the items however these three things (cGameObjectState, cDynamicPropComponentState, cPlayerWeaponItem) are the three things you need to create (and name uniquely) a new weapon.
TIPS:
-For the titles, type in an actual unique name to avoid title repeats. For instance, it was originally named tommahbat. I'm quite certain that name didn't already exist, and when packing it was automatically converted to a unique number.
-You will need three DIFFERENT names for the three different parts (cGameObjectState, cDynamicPropComponentState, cPlayerWeaponItem). For this example, I used tommahbatstate, tommahbatprop, and tommahbat.
-DO NOT FORGET TO CHANGE THE 'KEY' OPTION... I kept forgetting to do this and led to a lot of frustration. Key = Title/Name
-Start small, change the item icon then place it into the map to make sure the changes are taking effect. Don't create an all new weapon then start placing it, tough to debug.
-In my experiences, if there is a section in my tommah.bin file that is not currently being used my fov.bin stops working for whatever reason.
Visual Effects
Here I am starting a list of Known Effects. I.e. electricity from electric crusher, fire from Flaming hands, etc...
These are ONLY for Visual Effect, no collisions are associated with these
////Known Effects
Effect = "1081502566" ///Large fire, used on dead cars
Effect = "4176473307" ///small fire, used on Flaming Gloves
(componentstate) "@3744108339" ///generic electric, used on Electric crusher (idle)
Effect = "2788293033" ///random bees
Effect = "33829842" ///confetti
Effect = "3945926491" ///electric sound?
Line 3281: Effect = "2082454460" //flare
Line 3548: Effect = "2678519985" //small strobe light
Line 3664: Effect = "682839255" //sparks
Line 3784: Effect = "1832298844" //smoke
Line 4263: Effect = "1112686464" //fast fire cone
Line 5040: Effect = "1832298843" //small crater
Line 5049: Effect = "1305801128" //small awesome fire
Line 5629: Effect = "2481462070" //later crater and smoke
Line 5638: Effect = "3648189609" //nothing?
Line 5678: Effect = "2494206318" //small green gas
Line 6188: Effect = "3146965725" //light smoke
Line 6485: Effect = "3271719322" //small electricity
Line 6504: Effect = "1490555226" //medium strobe light
Line 6654: Effect = "2019008739" //quick electricity bolt
Line 6671: Effect = "1668137252" //tiny spark
Line 7588: Effect = "3467102925" //tiny smoke
Line 14319: Effect = "1105328056" //small white strobe
Line 14348: Effect = "4176473307" //small fire
Line 16199: Effect = "1455773175" //nothing?
Line 20042: Effect = "1701923450" //large sparks
Line 20240: Effect = "1701923449" //medium electricity
Line 21054: Effect = "2043772447" //large green firework explosion
Line 21142: Effect = "2043772446" //large blue firework explosion
Line 21230: Effect = "2043772445" //large red firework explosion
Line 21340: Effect = "2043772444" //large purple firework explosion
Line 21712: Effect = "2150454279" //green mist on ground
Line 21738: Effect = "2494206317" //small green mist
Line 21778: Effect = "1697416967" //green mist and on ground
Line 22117: Effect = "74246283" //white spray stuff?
Attack Sequences
very rough notes
////attack information
cStateGraph /* 627479196 */ 'chopper_sg' - AnimStates
cAnimState2 1216460282 - ChildTransitions
cDirectTransition 1652982989 - DestState
cAnimState2 301795316 - ChildChooser
cAnimRef2 3937558617 - InstanceAnimEvents
cAttackEvent2 165489527
/////Elemental Information
AttackSequences = "@lovetaptestSeq"
cAttackSequenceContainer lovetaptestSeq - AttackSequences
cAttackSequence lovetaptestSeq1 - AttackInfo
cGameAttackInfo 'attackinfo_electric_crusher_light' - DamageProfile
cDamageElement 159365470 {
Type = "ELECTRICITY"
Damage = "VERY_LIGHT"
}
/////Controls button presses and animations
cStateGraph mycutman_helmet_sg {
Key = "mycutman_helmet_sg"
ArchetypeHash = "2436635409"
AnimStates = [
//"@725537900"
//"@725537901"
"@mycutman_helmetAnimState1"
"@mycutman_helmetAnimState2" //1626197832
"@1477713620"
"@1935413951"
"@3057075936"
]
Conduits = [
"@3848505268"
]
RootNode = {
TransitionDrivers = [
{
Conditions = [
"@1224121027" //if X is pressed
]
DestState = "@725537900"
Lock = "true"
}
{
Conditions = [
"@2579384133" //if Y is pressed
]
DestState = "@mycutman_helmetAnimState1"
Lock = "true"
}
]
ConduitStartNode = {
BlendTime = "0.1"
TransitionType = "TRANSITIONTYPE_GENERIC"
StartEvent = "0"
StartEventTimeDelta = "0"
StartTime = "0"
SyncDest = "false"
InvSyncDest = "false"
MatchPoses = "false"
TransitionKey = "@0"
PerBoneBlendInRates = "@0"
SyncedTargetState = "@0"
EventUpdatePolicy = "UPDATE_NEW_GROUP_ONLY"
ApplyDeltaTranslationPolicy = "AUTO"
ApplyDeltaTimePolicy = "AUTO"
DestStates = [
]
}
}
AnimBankName = ""
}
Attachment and Rotation
Can only rotate a weapon if using the "multi-wield" option. As a workaround, I set up an item as a Multi-Wield and only entered one item, was still able to rotate.
DefaultAttachment = "@tommahSniperAttachDef"
cAttachmentComponentDef tommahSniperAttachDef {
Key = "tommahSniperAttachDef"
ParentAttachPoint = "@tommahSniperAttachP"
ChildAttachPoint = "@tommahSniperAttachC"
DefaultAttachment = [
]
IntentionGameObject = "false"
DetachOnParentDeath = "false"
DetachOnStaticGeoContact = "false"
DetachOnParentAttachment = "false"
DestroyOnParentDeath = "false"
DestroyOnDetach = "false"
ZeroVelocity = "false"
ShouldSave = "true"
ReplaceOnParentDeathWith = "0"
IKPriority = "0"
}
cAttachPoint tommahSniperAttachP { //this one seems to do all the offsets and rotations
PointType = "BONE"
LocatorType = "LOCATORTYPE_INVALID"
LocatorID = "-1"
Bone = "BONE_RIGHT_HAND_PROP"
Offset = "0,0,0"
OffsetIsInWorldSpace = "false" //keep this "false".... or else.....
Rotation = "0,0.5,-0.7,1"
RotationIsInWorldSpace = "false" //keep this "false".... or else.....
}
cAttachPoint tommahSniperAttachC { //I include this just in case
PointType = "LOCATOR"
LocatorType = "LOCATORTYPE_RIGHT_HAND_HOLD_POSITION"
LocatorID = "0"
Bone = "BONE_DEFAULT"
Offset = "0,0,0"
OffsetIsInWorldSpace = "false" //keep this "false".... or else.....
Rotation = "-0.9,-0.6,0,1"
RotationIsInWorldSpace = "false" //keep this "false".... or else.....
}