Hey! If this is your first visit on symthic.com, also check out our weapon damage charts.
Currently we have charts for Battlefield 3, Call of Duty: Black Ops 2, Medal of Honor: Warfighter and Call of Duty: Modern Warfare 3
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
##file is in big endian
##
##a pack file has several parts which are all identical in structure.
##there is no global header. not even magic
##
##
##START OF ONE PACK FILE PART
##
##metadata section (0x2000 bytes):
## uint32: absolute offset for the next part of the pack file (end of current part)
## if last pack part: 00000000
## uint32: number of entries
##
## strings prefixed with uint32 length, no trailing zero!
## 3 uint32 after the string
## 1 absolute offset (this can be in another pack part)
## 2 length
## 3 crc32 of the payload
##
## padding so the section has 0x2000 bytes
##
##
##payload section (trivial)
from struct import unpack,pack
import sys
import os
def ps2int(num):
intstr=str(num)
if len(intstr)==1: return "00"+intstr
elif len(intstr)==2: return"0"+intstr
else: return intstr
class entry:
pass
root=sys.path[0]+"\\"
inputfolder=root
targetfolder=root+"assets"+"\\"
ij=0
while 1:
partSize=1 #anything non-zero to make a do-while
entrylist=[]
fname=inputfolder+"Assets_"+ps2int(ij)+".pack"
if not os.path.exists(fname): break
f=open(fname,"rb")
print fname
while partSize:
partSize=unpack(">I",f.read(4))[0]
numEntries=unpack(">I",f.read(4))[0]
for i in xrange(numEntries):
ent=entry()
stringlen=unpack(">I",f.read(4))[0]
ent.name=f.read(stringlen)
ent.offset,ent.size,ent.crc32=unpack(">III",f.read(12))
entrylist.append(ent)
end=entrylist[-1].offset+entrylist[-1].size
f.seek(partSize)
for ent in entrylist:
extension = os.path.splitext(ent.name)[1][1:]
f.seek(ent.offset)
targetfolder2=targetfolder+extension+"\\"
if not os.path.isdir(targetfolder2): os.makedirs(targetfolder2)
f2=open(targetfolder2+ent.name,"wb")
f2.write(f.read(ent.size))
f2.close()
f.close()
ij+=1
|
This post has been edited 6 times, last edit by "Frankelstner" (Nov 2nd 2012, 11:41pm)
Date of registration
: Jul 1st 2012
Platform: PC
Location: Newcastle upon Tyne, United Kingdom
Reputation modifier: 8

Date of registration
: Jul 1st 2012
Platform: PC
Location: Newcastle upon Tyne, United Kingdom
Reputation modifier: 8

Date of registration
: Jul 1st 2012
Platform: PC
Location: Newcastle upon Tyne, United Kingdom
Reputation modifier: 8
So for those who don't have any idea what this is:
It extracts Planetside 2's .pack archive-files that contain information about weapons, vehicles, and pretty much everything in the game.
This is the thing that makes those files read-able, otherwise they're just unreadable messy data.

- Install python.At this point they are messy and useless to normal people. I would love to see them decoded. Can you do a step by step on how to decode?
|
|
Source code |
1 2 3 4 5 |
*ITEM_ID DATASHEET_ID WEAPON_ID FIRE_GROUP_ID DIRECT_DAMAGE INDIRECT_DAMAGE DAMAGE_FALLOFF REFIRE_TIME_MS RELOAD_TIME_MS CLIP_SIZE RANGE_STRING_ID MIN_CONE_OF_FIRE 731 0 460 460 50 150 0 1500 6000 10 674 0.000000 732 0 461 461 50 150 0 1500 6000 10 674 0.000000 . |
|
|
Source code |
1 2 3 |
#*ID^DAMAGE_PERCENT^COMPOSITE_EFFECT^INTERIOR_COMPOSITE_EFFECT^WARN_STRING^MOVE_INFO_OVERRIDE^CONTROL_DAMPENING^TRIGGERED_ABILITY^STOP_ENGINE^ 100^50^3020^0^0^0^0.000000^0^0^ 101^30^3021^0^52143^0^0.000000^0^0^ |
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 |
96^InvisibleTriangle.adr^650.000000^Vehicle - Common - 20mm HMG - TR^1^0.000000^0^1250^2.000000^0.000000^7.500000^0.000000^0.000000^0.000000^^1^3576^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^3746^0^0^0^0^PROJ_TR^0.000000^1.000000^ 100^InvisibleTriangle.adr^375.000000^NC Pistol: Mid^1^0.000000^0^1000^1.500000^0.000000^7.500000^10.000000^0.000000^0.000000^^1^1144^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^2634^0^0^0^0^PROJ_NC^10.000000^1.000000^ 101^InvisibleTriangle.adr^375.000000^TR Pistol: Mid^1^0.000000^0^1000^1.500000^0.000000^7.500000^10.000000^0.000000^0.000000^^2^1138^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^2818^0^0^0^0^PROJ_TR^10.000000^1.000000^ 102^InvisibleTriangle.adr^325.000000^VS Pistol: Mid^1^0.000000^1429^1253^1.000000^0.000000^0.000000^0.000000^0.000000^0.000000^^1^1429^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^2819^0^0^0^0^PROJ_VS^10.000000^1.000000^ 103^InvisibleTriangle.adr^450.000000^NC Carbine: Near^1^0.000000^0^1000^1.500000^0.000000^7.500000^10.000000^0.000000^0.000000^^2^1144^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^2634^0^0^0^0^PROJ_NC^10.000000^1.000000^ 104^InvisibleTriangle.adr^450.000000^TR Carbine: Near^1^0.000000^0^1000^1.500000^0.000000^7.500000^10.000000^0.000000^0.000000^^3^1138^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^2818^0^0^0^0^PROJ_TR^10.000000^1.000000^ 105^InvisibleTriangle.adr^400.000000^VS Carbine: Near^1^0.000000^1429^1253^1.000000^0.000000^0.000000^10.000000^0.000000^0.000000^^3^1429^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^2819^0^0^0^0^PROJ_VS^10.000000^1.000000^ 106^InvisibleTriangle.adr^550.000000^NC Assault Rifle: Near^1^0.000000^0^1000^1.500000^0.000000^7.500000^10.000000^0.000000^0.000000^^2^1144^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^2634^0^0^0^0^PROJ_NC^10.000000^1.000000^ 107^InvisibleTriangle.adr^550.000000^TR Assault Rifle: Near^1^0.000000^0^1000^1.500000^0.000000^7.500000^10.000000^0.000000^0.000000^^3^1138^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^2818^0^0^0^0^PROJ_TR^10.000000^1.000000^ 108^InvisibleTriangle.adr^500.000000^VS Assault Rifle: Near^1^0.000000^1429^1253^1.000000^0.000000^0.000000^10.000000^0.000000^0.000000^^3^1429^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^2819^0^0^0^0^PROJ_VS^10.000000^1.000000^ 109^InvisibleTriangle.adr^550.000000^NC LMG: Near^1^0.000000^0^1000^1.500000^0.000000^7.500000^10.000000^0.000000^0.000000^^2^1144^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^2634^0^0^0^0^PROJ_NC^10.000000^1.000000^ 110^InvisibleTriangle.adr^550.000000^TR LMG: Near^1^0.000000^0^1000^1.500000^0.000000^7.500000^10.000000^0.000000^0.000000^^3^1138^0.000000^0.000000^0.000000^0^0^0^0^0^0^0^0^0.000000^0.000000^2^0^1^2818^0^0^0^0^PROJ_TR^10.000000^1.000000^ |
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
17^Common_Props_GateShieldGenerator.adr^4^1.000000^Gate Shield Generator^0^0^^2^0.000000^0^0.000000^0.000000^0^ 18^Power_Generator_Large.adr^4^1.000000^^0^0^^2^0.000000^0^0.000000^0.000000^0^ 19^Common_PropaneTank.adr^4^1.000000^Props - Propane Tank^0^0^^2^0.000000^0^0.000000^0.000000^0^ 20^Vehicle_VS_Magrider_Base_Chassis.adr^3^1.000000^Vehicle - Magrider^0^0^^25^0.000000^0^0.000000^0.000000^0^ 21^Vehicle_Common_APC.adr^3^1.000000^Vehicle - APC^0^0^^25^0.000000^0^0.000000^0.000000^0^ 22^NC_Male_HeavyAssault.agr^1^1.000000^^1^21^^3^0.000000^0^0.000000^0.000000^0^ 23^VS_Male_Standard.agr^0^1.000000^^0^0^^3^0.000000^0^0.000000^0.000000^0^ 24^Vehicle_TR_Mosquito_Base_Chassis.adr^3^1.000000^Vehicle - Mosquito^0^0^^26^0.000000^0^0.000000^0.000000^0^ 25^Body_TR_Male_Standard.adr^1^1.000000^^1^21^^3^0.000000^0^0.000000^0.000000^1^ 26^Body_VS_Male_Standard.adr^1^1.000000^^1^21^^3^0.000000^0^0.000000^0.000000^1^ 27^Common_Props_BarrierDomeGenerator.adr^4^1.000000^Barrier Dome Generator^0^0^^2^0.000000^0^0.000000^0.000000^0^ 28^TR_Male_HeavyAssault.agr^1^1.000000^^1^21^^3^0.000000^0^0.000000^0.000000^0^ 29^VS_Male_LightAssault.agr^1^1.000000^^1^21^^3^0.000000^0^0.000000^0.000000^0^ 30^VS_Male_HeavyAssault.agr^1^1.000000^^1^21^^3^0.000000^0^0.000000^0.000000^0^ |
|
|
Source code |
1 2 3 4 5 6 |
#*ID^TYPE^REQUIREMENT^HIDE_UNAVAILABLE^SPRINT_FIRE^AUTOMATIC^GRIEF_IMMUNE^USE_IN_WATER^AMMO_ITEM_ID^AMMO_SLOT^BURST_COUNT^REFIRE_TIME_MS^FIRE_DELAY_MS^AUTO_FIRE_TIME_MS^CHARGE_UP_TIME_MS^SPIN_UP_TIME_MS^RANGE^AMMO_PER_SHOT^RELOAD_TIME_MS^COF_RECOIL^EFFECT_GROUP^PELLETS_PER_SHOT^PELLET_SPREAD^HUD_IMAGE_ID^COF_SCALAR^FIRE_DETECT_RANGE^RECOIL_MAGNITUDE_MIN^RECOIL_MAGNITUDE_MAX^RECOIL_ANGLE_MIN^RECOIL_ANGLE_MAX^RECOIL_RECOVERY_DELAY_MS^RECOIL_RECOVERY_RATE^RECOIL_RECOVERY_ACCELERATION^RECOIL_SHOTS_AT_MIN_MAGNITUDE^RECOIL_MAX_TOTAL_MAGNITUDE^COF_SCALAR_MOVING^COF_OVERRIDE^HEAD_SHOT_DAMAGE_MULTIPLIER^RECOIL_INCREASE^RECOIL_INCREASE_CROUCHED^PLAYER_STATE_GROUP_ID^TURN_MODIFIER^MOVEMENT_MODIFIER^IRON_SIGHTS^RETICLE_ID^DEFAULT_ZOOM^HIDE_WEAPON^LOCK_ON_ANGLE^LOCK_ON_RANGE^LOCK_ON_ACQUIRE_TIME_MS^LOCK_ON_LOSE_TIME_MS^TARGET_REQUIREMENT^FIRST_PERSON_OFFSET_X^FIRST_PERSON_OFFSET_Y^FIRST_PERSON_OFFSET_Z^STRAFE_LAG_MIN^STRAFE_LAG_MAX^STRAFE_LAG_MULTIPLIER^STRAFE_LAG_RECOVERY_SECONDS^RECOIL_FIRST_SHOT_MODIFIER^HEAT_PER_SHOT^HEAT_THRESHOLD^LASER_GUIDED^FIRE_DURATION_MS^SWAY_AMPLITUDE_X^SWAY_PERIOD_X^SWAY_AMPLITUDE_Y^SWAY_PERIOD_Y^CAN_STEADY_SWAY^ARMS_FOV_SCALAR^HOLD_PLAYER_STATE_WHILE_FIRING^BLOCK_AUTO_RELOAD^ANIM_KICK_MAGNITUDE^ANIM_RECOIL_MAGNITUDE^DESCRIPTION_ID^INDIRECT_EFFECT^FULL_SCREEN_EFFECT^RELOAD_CHAMBER_TIME_MS^SPAWN_PROJECTILE_AT_EYE^BULLET_ARC_KICK_ANGLE^RECOIL_HORIZONTAL_TOLERANCE^RECOIL_HORIZONTAL_MIN^RECOIL_HORIZONTAL_MAX^SWAY_INITIAL_Y_OFFSET^RELOAD_AMMO_FILL_TIME_MS^ 102^1^0^0^0^0^0^0^0^0^1^150^0^0^0^0^100.000000^1^1700^0.150000^36006^1^0.000000^0^1.000000^40^0.700000^0.700000^-0.100000^0.100000^150^18.000000^1000.000000^0^0.000000^1.000000^0.000000^1.000000^0.000000^0.000000^2025^1.000000^0.750000^1^0^1.350000^0^0.000000^0.000000^0^0^0^0.000000^-0.008000^0.000000^0.000000^0.000000^0.000000^0.000000^1.000000^0^0^0^0^0.000000^0.000000^0.000000^0.000000^0^1.200000^0^0^0^0^0^0^0^300^1^0.175000^0.300000^0.100000^0.100000^0.000000^0.000000^ 103^1^0^0^0^1^0^0^0^0^1^100^0^0^0^0^100.000000^1^2200^0.060000^18101^1^0.000000^0^1.000000^40^0.400000^0.400000^-2.000000^2.000000^100^18.000000^1000.000000^1^0.000000^1.000000^0.000000^1.000000^0.100000^0.100000^2007^1.000000^0.500000^1^0^1.350000^0^0.000000^0.000000^0^0^0^0.000000^0.000200^0.030000^0.000000^0.000000^0.000000^0.000000^1.650000^0^0^0^0^0.000000^0.000000^0.000000^0.000000^0^2.200000^0^0^10^10^0^0^0^650^1^0.175000^0.300000^0.050000^0.150000^0.000000^0.000000^ 104^1^0^0^0^1^0^0^0^0^1^100^0^0^0^0^100.000000^1^2200^0.060000^30101^1^0.000000^0^1.000000^40^0.275000^0.275000^23.000000^27.000000^100^18.000000^1000.000000^1^0.000000^1.000000^0.000000^1.000000^0.100000^0.060000^2001^1.000000^0.500000^1^0^1.350000^0^0.000000^0.000000^0^0^0^0.000000^0.000200^0.040000^0.000000^0.000000^0.000000^0.000000^2.000000^0^0^0^0^0.000000^0.000000^0.000000^0.000000^0^2.200000^0^0^20^10^0^0^0^700^1^0.175000^0.300000^0.050000^0.150000^0.000000^0.000000^ 105^1^0^0^0^0^0^0^0^0^1^125^0^0^0^0^100.000000^1^6000^2.200000^12^1^0.000000^0^1.000000^25^0.000000^0.000000^0.000000^0.000000^0^0.000000^0.000000^0^0.000000^1.000000^0.000000^0.000000^0.000000^0.000000^101^1.000000^0.600000^1^4^2.500000^0^15.000000^500.000000^2000^3000^3^0.000000^0.000000^0.000000^0.000000^0.000000^0.000000^0.000000^1.000000^0^0^0^0^0.000000^0.000000^0.000000^0.000000^0^1.200000^0^0^0^0^0^0^0^0^0^0.000000^0.000000^0.000000^0.000000^0.000000^0.000000^ 106^1^0^0^0^1^0^0^0^0^1^125^0^0^0^0^100.000000^1^2200^2.200000^1^1^0.000000^0^1.000000^25^0.000000^0.000000^0.000000^0.000000^0^0.000000^0.000000^0^0.000000^1.000000^0.000000^0.000000^0.000000^0.000000^101^1.000000^0.600000^1^0^2.500000^0^0.000000^0.000000^0^0^0^0.000000^0.000000^0.000000^0.000000^0.000000^0.000000^0.000000^1.000000^0^0^0^0^0.000000^0.000000^0.000000^0.000000^0^1.200000^0^0^0^0^0^0^0^0^0^0.000000^0.000000^0.000000^0.000000^0.000000^0.000000^ |
|
|
Source code |
1 2 3 4 5 6 7 |
#*ID^WEAPON_GROUP_ID^TO_IRON_SIGHTS_MS^TURN_RATE_MODIFIER^MOVEMENT_SPEED_MODIFIER^EQUIP_MS^UNEQUIP_MS^ANIMATION_SET_NAME^SPRINT_RECOVERY_MS^USE_FIRE_GROUP_ANIM_TRIGGER^PROPULSION_TYPE^VEHICLE_FIRST_PERSON_CAMERA_ID^VEHICLE_THIRD_PERSON_CAMERA_ID^HEAT_BLEED_OFF_RATE^HEAT_CAPACITY^OVERHEAT_PENALTY_MS^OVERHEAT_EFFECT_ID^FROM_IRON_SIGHTS_MS^TO_IRON_SIGHTS_ANIM_MS^FROM_IRON_SIGHTS_ANIM_MS^FLAG_CANT_EQUIP_WO_AMMO^NEXT_USE_DELAY_MSEC^RANGE_STRING_ID^MIN_PITCH^AUDIO_GAME_OBJECT^MAX_PITCH^MELEE_DETECT_WIDTH^MELEE_DETECT_HEIGHT^ 1^0^200^1.000000^1.000000^250^300^Knife^300^0^0^0^0^0^0^0^0^150^150^150^0^0^673^-70.000000^^85.000000^0.150000^0.100000^ 2^1^200^1.000000^1.000000^400^300^Pistol^300^0^0^0^0^0^0^0^0^150^150^150^0^0^673^-70.000000^WPN_FOLY_SMALL^85.000000^0.000000^0.000000^ 3^4^200^1.000000^1.000000^575^300^Rifle^300^0^0^0^0^0^0^0^0^150^150^150^0^0^674^-70.000000^WPN_FOLY_MED^85.000000^0.000000^0.000000^ 4^3^200^1.000000^1.000000^750^375^Rifle^300^0^0^0^0^0^0^0^0^150^150^150^0^0^675^-70.000000^WPN_FOLY_MED^85.000000^0.000000^0.000000^ 5^10^350^1.000000^1.000000^1000^300^RocketLauncherDecimator^300^1^0^0^0^0^0^0^0^150^300^150^0^0^675^-70.000000^WPN_FOLY_LARGE^85.000000^0.000000^0.000000^ 6^0^200^1.000000^1.000000^450^300^Rifle^300^0^0^0^0^0^0^0^0^150^150^150^1^0^0^-70.000000^WPN_Spawn_Beacon^85.000000^0.000000^0.000000^ |
|
|
Source code |
1 2 3 |
#*WEAPON_ID^*SLOT_INDEX^AMMO_ID^CLIP_SIZE^CAPACITY^START_EMPTY^CLIP_MODEL_NAME^RELOAD_WEAPON_BONE^RELOAD_CHARACTER_BONE^REFILL_AMMO_PER_TICK^CLIP_ATTACHMENT_SLOT^ 2^0^1^17^68^0^Weapon_NC_PistolMag_Clip.adr^CLIP^L_WEAPON^17^0^ 3^0^1^30^180^0^Weapon_NC_CombinedComponents_Carbine01_Clip.adr^CLIP^L_WEAPON^30^0^ |
Forum Software: Burning Board®, developed by WoltLab® GmbH
© Design by Symthic.com