Poll: Best VIP Menu every seen?

Be advised that this is a public poll: other users can see the choice(s) you selected.

Page 48 of 81 FirstFirst ... 38464748495058 ... LastLast
Results 706 to 720 of 1206
  1. #706
    topblast's Avatar
    Join Date
    Mar 2010
    Gender
    male
    Location
    Far from around you Programmer: C++ | VB | C# | JAVA
    Posts
    3,607
    Reputation
    149
    Thanks
    5,052
    My Mood
    Cool
    Quote Originally Posted by mmbob View Post
    That's called file structure. You don't hear about people coding INI files do you?
    ohh, you must share,
    I just like programming, that is all.

    Current Stuff:

    • GPU Programmer (Cuda)
    • Client/Server (Cloud Server)
    • Mobile App Development

  2. #707
    supercarz1991's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Posts
    6,285
    Reputation
    435
    Thanks
    3,715
    My Mood
    Doh
    Quote Originally Posted by topblast View Post


    ohh, you must share,
    lol theres not much to framestrings though...FEAR framestrings are similar though, so look through this if you want an idea

    Code:
    // ----------------------------------------------------------------------- //
    //
    // MODULE  : WeaponDB.h
    //
    // PURPOSE : Weapon database definition
    //
    // CREATED : 06/16/03
    //
    // (c) 2003-2005 Monolith Productions, Inc.  All Rights Reserved
    //
    // ----------------------------------------------------------------------- //
    
    #ifndef __WEAPON_DATABASE_H__
    #define __WEAPON_DATABASE_H__
    
    //
    // Includes...
    //
    
    #include "GameDatabaseMgr.h"
    #include "DamageTypes.h"
    #include "CategoryDB.h"	
    
    
    //
    // Defines...
    //
    	
    #define WEAPON_SOUND_RADIUS					2000.0f
    #define WEAPON_MIN_IDLE_TIME				5.0f
    #define WEAPON_MAX_IDLE_TIME				15.0f
    #define WEAPON_KEY_FIRE						"FIRE_KEY"
    #define WEAPON_KEY_FINISH					"FINISH"
    #define WEAPON_KEY_FINISH_RAGDOLL			"FINISH_RAGDOLL"
    #define WEAPON_KEY_SOUND					"SOUND_KEY"
    #define WEAPON_KEY_BUTE_SOUND				"BUTE_SOUND_KEY"
    #define WEAPON_KEY_LOOPSOUND				"LOOP_SOUND_KEY"
    #define WEAPON_KEY_FX						"FX"
    #define WEAPON_KEY_FIREFX					"FIREFX_KEY"
    #define WEAPON_KEY_FLASHLIGHT				"FLASHLIGHT"
    #define WEAPON_KEY_MATERIAL					"MATERIAL"
    #define WEAPON_KEY_HIDE_MODEL_PIECE			"HIDE_PIECE_KEY"  // usage: HIDE_PIECE_KEY <piece name>
    #define WEAPON_KEY_SHOW_MODEL_PIECE			"SHOW_PIECE_KEY"  // usage: SHOW_PIECE_KEY <piece name>	
    #define WEAPON_KEY_SHELLCASING				"SHELL_CASING"
    #define WEAPON_KEY_HIDE_PVATTACHFX			"HIDE_PVATTACHFX"	// usage: HIDE_PVFX <index of a PVAttachFXName#>
    #define WEAPON_KEY_SHOW_PVATTACHFX			"SHOW_PVATTACHFX"	// usage: SHOW_PVFX <index of a PVAttachFXName#>
    #define WEAPON_KEY_HIDE_PVATTACHMENT		"HIDE_PVATTACHMENT" // usage: HIDE_PVATTACHMENT <index of a PlayerViewAttachment>
    #define WEAPON_KEY_SHOW_PVATTACHMENT		"SHOW_PVATTACHMENT" // usage: SHOW_PVATTACHMENT <index of a PlayerViewAttachment>
    
    #define WEAPONDB_DEFAULT_FILE				"Database\\" "Weapons." RESEXT_GAMEDATABASE_PACKED
    	
    // The main system category were all arsenal related data goes...
    #define WDB_ARSENAL_CATEGORY				"Arsenal/"
    
    #define WDB_ALL_bCanServerRestrict			"CanServerRestrict"
    #define WDB_ALL_nDescriptionId				"DescriptionId"
    
    #define WDB_WEAPON_CATEGORY					WDB_ARSENAL_CATEGORY "Weapons"
    
    #define WDB_WEAPON_nShortNameId				"ShortNameId"
    #define WDB_WEAPON_nLongNameId				"LongNameId"
    #define WDB_WEAPON_nAniType					"AniType"
    #define WDB_WEAPON_vPos						"Pos"
    #define WDB_WEAPON_sMuzzleSocket			"MuzzleSocket"
    #define WDB_WEAPON_sBreachSocket			"BreachSocket"
    #define WDB_WEAPON_fHHScale					"HHModelScale"
    #define WDB_WEAPON_sPVModel					"PVModel"
    #define WDB_WEAPON_sHHModel					"HHModel"
    #define WDB_WEAPON_sPVMaterial				"PVMaterial"
    #define WDB_WEAPON_sHHMaterial				"HHMaterial"
    #define	WDB_WEAPON_sHiddenPieceName			"HiddenPiece"
    #define WDB_WEAPON_sRespawnWaitMaterial		"RespawnWaitMaterial"
    #define WDB_WEAPON_rFireSnd					"FireSound"
    #define WDB_WEAPON_rFireLoopSnd				"FireSoundLoop"
    #define WDB_WEAPON_rFireLoopEndSnd			"FireSoundLoopEnd"
    #define WDB_WEAPON_rAltFireSnd				"AltFireSound"
    #define WDB_WEAPON_rSilencedFireSnd			"SilencedFireSnd"
    #define WDB_WEAPON_rDryFireSnd				"DryFireSound"
    #define WDB_WEAPON_rReloadSnd				"ReloadSounds"
    #define WDB_WEAPON_rSelectSnd				"SelectSound"
    #define WDB_WEAPON_rDeselectSnd				"DeselectSound"
    #define WDB_WEAPON_rMiscSnd					"MiscSounds"
    #define WDB_WEAPON_fAIFireSndRadius			"AIFireSndRadius"
    #define WDB_WEAPON_bInfiniteAmmo			"InfiniteAmmo"
    #define WDB_WEAPON_bHideWhenEmpty			"HideWhenEmpty"
    #define WDB_WEAPON_bIsAmmo					"IsAmmo"
    #define WDB_WEAPON_bIsGrenade				"IsGrenade"
    #define WDB_WEAPON_bDropGrenadeOnDeath		"DropGrenadeOnDeath"
    #define WDB_WEAPON_bTakesInventorySlot		"TakesInventorySlot"
    #define WDB_WEAPON_bCanLastWeapon			"CanLastWeapon"
    #define WDB_WEAPON_bUseUWMuzzleFX			"UseUWMuzzleFX"
    #define WDB_WEAPON_nShotsPerClip			"ShotsPerClip"
    #define WDB_WEAPON_bInfiniteClip			"InfiniteClip"
    #define WDB_WEAPON_rAmmoName				"AmmoName"
    #define WDB_WEAPON_rDefaultMeleeAmmo		"DefaultMeleeAmmo"
    #define WDB_WEAPON_rModName					"ModName"
    #define WDB_WEAPON_v2Perturb				"Perturb"
    #define WDB_WEAPON_nRange					"Range"
    #define WDB_WEAPON_nEffectiveVectorRange	"EffectiveVectorRange"
    #define WDB_WEAPON_nVectorHalfDamageDist	"VectorHalfDamageDist"
    #define WDB_WEAPON_nVectorsPerRound			"VectorsPerRound"
    #define WDB_WEAPON_bSemiAuto				"Semi-Auto"
    #define WDB_WEAPON_bAutoSwitchEnabled		"AutoSwitchEnabled"
    #define WDB_WEAPON_bSupportsFinishingMoves	"SupportsFinishingMoves"
    #define WDB_WEAPON_sCriticalHitSocket		"CriticalHitSocket"
    #define WDB_WEAPON_sCriticalHitImpactSocket	"CriticalHitImpactSocket"
    #define WDB_WEAPON_fCriticalHitDistance		"CriticalHitDistance"
    #define WDB_WEAPON_fCriticalHitAngle		"CriticalHitAngle"
    #define WDB_WEAPON_fCriticalHitViewAngle	"CriticalHitViewAngle"
    #define WDB_WEAPON_hAIWeaponName			"AIWeaponName"
    #define WDB_WEAPON_fFireRecoilKick			"FireRecoilKick"
    #define WDB_WEAPON_fFireRecoilYawRatio		"FireRecoilYawRatio"
    #define WDB_WEAPON_fFireRecoilDecay			"FireRecoilDecay"
    #define WDB_WEAPON_sPVMuzzleFX				"PVMuzzleFX"
    #define WDB_WEAPON_sPVMuzzleFX2				"PVMuzzleFX2"
    #define WDB_WEAPON_sHHMuzzleFX				"HHMuzzleFX"
    #define WDB_WEAPON_bFXAtFlashSocket			"FXAtFlashSocket"
    #define WDB_WEAPON_nFireDelay				"FireDelay"
    #define WDB_WEAPON_sHolsterAttachment		"HolsterAttachment"
    #define WDB_WEAPON_fFireAnimRateScale		"FireAnimRateScale"
    #define WDB_WEAPON_fReloadAnimRateScale		"ReloadAnimRateScale"
    #define WDB_WEAPON_sPowerupFX				"PowerupFX"
    #define WDB_WEAPON_bRespawnControlledSP		"RespawnControlledSP"
    #define WDB_WEAPON_bRespawnControlledMP		"RespawnControlledMP"
    #define WDB_WEAPON_fRespawnWait				"RespawnWait"
    #define WDB_WEAPON_sRespawnWaitFX			"RespawnWaitFX"
    #define WDB_WEAPON_bRespawnWaitVisible		"RespawnWaitVisible"
    #define WDB_WEAPON_bRespawnWaitTranslucent	"RespawnWaitTranslucent"
    #define WDB_WEAPON_fAutoTargetAngle			"AutoTargetAngle"
    #define WDB_WEAPON_fAutoTargetRange			"AutoTargetRange"
    #define WDB_WEAPON_nUseAutoTarget			"UseAutoTarget"
    #define WDB_WEAPON_sIcon					"Icon"
    #define WDB_WEAPON_sSilhouetteIcon			"SilhouetteIcon"
    #define WDB_WEAPON_sAnimationProperty		"AnimationProperty"
    #define WDB_WEAPON_sCountdownFX				"CountdownFX"
    #define WDB_WEAPON_sEndFX					"EndFX"
    #define WDB_WEAPON_bUsePreFire				"UsePreFire"
    #define WDB_WEAPON_bUsePostFire				"UsePostFire"
    #define WDB_WEAPON_bLoopPrePostFire			"LoopPrePostFire"
    #define WDB_WEAPON_sMuzzleSmokeFX			"MuzzleSmokeFX"
    #define WDB_WEAPON_fPerturbIncreaseRate		"Accuracy.0.PerturbIncreaseRate"
    #define WDB_WEAPON_fPerturbDecreaseRate		"Accuracy.0.PerturbDecreaseRate"
    #define WDB_WEAPON_fStand					"Accuracy.0.Stand"
    #define WDB_WEAPON_fWalk					"Accuracy.0.Walk"
    #define WDB_WEAPON_fRun						"Accuracy.0****n"
    #define WDB_WEAPON_fJump					"Accuracy.0.Jump"
    #define WDB_WEAPON_fCrouch					"Accuracy.0.Crouch"
    #define WDB_WEAPON_fCrouch_Walk				"Accuracy.0.Crouch_Walk"
    #define WDB_WEAPON_fAim						"Accuracy.0.Aim"
    #define WDB_WEAPON_fAim_Crouch				"Accuracy.0.Aim_Crouch"
    #define WDB_WEAPON_fAim_Walk				"Accuracy.0.Aim_Walk"
    #define WDB_WEAPON_fAim_Crouch_Walk			"Accuracy.0.Aim_Crouch_Walk"
    #define WDB_WEAPON_fSwim					"Accuracy.0.Swim"
    #define WDB_WEAPON_fTurn					"Accuracy.0.Turn"
    #define WDB_WEAPON_fRecoil					"Accuracy.0.Recoil"
    #define WDB_WEAPON_fMovementMultiplier		"MovementMultiplier"
    #define WDB_WEAPON_rComplimentaryWeapon		"ComplimentaryWeapon"
    #define WDB_WEAPON_bNotForPlayer			"NotForPlayer"
    #define WDB_WEAPON_bWhenDroppedGiveAmmoInClip "WhenDroppedGiveAmmoInClip"
    #define WDB_WEAPON_bDroppedMoveToFloor		"DroppedMoveToFloor"
    #define WDB_WEAPON_nActivationType			"ActivationType"
    #define WDB_WEAPON_rDualWeapon				"DualWeapon"
    #define WDB_WEAPON_rSingleWeapon			"SingleWeapon"
    #define WDB_WEAPON_RightHandWeapon			"RightHandWeapon"
    #define WDB_WEAPON_LeftHandWeapon			"LeftHandWeapon"
    #define WDB_WEAPON_nMaxFireFrequency		"MaxFireFrequency"
    #define WDB_WEAPON_rLinkedWeapon			"LinkedWeapon"
    #define WDB_WEAPON_bSelectLinked			"SelectLinked"
    #define WDB_WEAPON_rCustomDisplay			"CustomDisplay"
    #define WDB_WEAPON_LocalSoundInfo			"LocalFireSound"
    #define WDB_WEAPON_NonLocalSoundInfo		"NonLocalFireSound"
    #define WDB_WEAPON_rCollisionProperty		"CollisionProperty"
    #define WDB_WEAPON_rFlashlights				"Flashlights"
    #define WDB_WEAPON_sHUDTexture				"HUDTexture"
    #define WDB_WEAPON_rActionIcon				"ActionIcon"
    #define WDB_WEAPON_rAnimControllers			"AnimControllers"
    #define WDB_WEAPON_v2MinProximity			"MinProximity"
    #define WDB_WEAPON_CustomSelectStimulus		"CustomSelectStimulus"
    #define WDB_WEAPON_aPersistentClientFX		"PersistentClientFX"
    #define WDB_WEAPON_sClientFX				"ClientFX"
    #define WDB_WEAPON_bVisible					"Visible"
    #define WDB_WEAPON_bSmoothShutdown			"SmoothShutdown"
    #define WDB_WEAPON_nMaxHealth				"BreakInfo.0.MaxHealth"
    #define WDB_WEAPON_nWarnHealth				"BreakInfo.0.WarnHealth"
    #define WDB_WEAPON_sShowPieces				"BreakInfo.0.ShowPieces"
    #define WDB_WEAPON_sHidePieces				"BreakInfo.0.HidePieces"
    #define WDB_WEAPON_sDebrisFX				"BreakInfo.0.DebrisFX"
    #define WDB_WEAPON_sDebrisSocket			"BreakInfo.0.DebrisSocket"
    #define WDB_WEAPON_rBrokenWeapon			"BreakInfo.0.BrokenWeapon"
    #define WDB_WEAPON_bCanBePlaced				"CanBePlaced"
    
    #define WDB_AMMO_CATEGORY					WDB_ARSENAL_CATEGORY "Ammo"
    
    #define WDB_AMMO_nShortNameId				"ShortNameId"
    #define WDB_AMMO_nLongNameId				"LongNameId"
    #define WDB_AMMO_nPlacedAmount				"PlacedAmount"
    #define WDB_AMMO_nPickupInitialAmount		"PickupInitialAmount"
    #define WDB_AMMO_nPickupSupplementalAmount	"PickupSupplementalAmount"
    #define WDB_AMMO_nSelectionAmount			"SelectionAmount"
    #define WDB_AMMO_nMaxAmount					"MaxAmount"
    #define WDB_AMMO_fInstDamage				"InstDamage"
    #define WDB_AMMO_fAreaDamage				"AreaDamage"
    #define WDB_AMMO_fInstDamageImpulseForce	"InstDamageImpulseForce"
    #define WDB_AMMO_fHitNodeImpulseForceScale	"HitNodeImpulseForceScale"
    #define WDB_AMMO_fAreaDamageImpulseForce	"AreaDamageImpulseForce"
    #define WDB_AMMO_fInstPenetration			"InstPenetration"
    #define WDB_AMMO_fAreaPenetration			"AreaPenetration"
    #define WDB_AMMO_fAreaDamageRadius			"AreaDamageRadius"
    #define WDB_AMMO_fAreaDamageRadiusMin		"AreaDamageRadiusMin"
    #define WDB_AMMO_bCanAdjustInstDamage		"CanAdjustInstDamage"
    #define WDB_AMMO_nPriority					"Priority"
    #define WDB_AMMO_fFireRecoilMult			"FireRecoilMult"
    #define WDB_AMMO_fProgDamage				"ProgDamage"
    #define WDB_AMMO_fProgDamageDuration		"ProgDamageDuration"
    #define WDB_AMMO_fProgDamageRadius			"ProgDamageRadius"
    #define WDB_AMMO_fProgDamageLifetime		"ProgDamageLifetime"
    #define WDB_AMMO_sSurfaceFXType				"SurfaceFXType"
    #define WDB_AMMO_nType						"Type"
    #define WDB_AMMO_sIcon						"Icon"
    #define WDB_AMMO_sProjectileFX				"ProjectileFX"
    #define WDB_AMMO_sImpactFX					"ImpactFX"
    #define WDB_AMMO_sUWImpactFX				"UWImpactFX"
    #define WDB_AMMO_sMovableImpactOverrideFX	"MoveableImpactOverrideFX"
    #define WDB_AMMO_sFireFX					"FireFX"
    #define WDB_AMMO_sTracerFX					"TracerFX"
    #define WDB_AMMO_bHeatSeeking				"HeatSeeking"
    #define WDB_AMMO_fHeatSeekingRange			"HeatSeekingRange"
    #define WDB_AMMO_fHeatSeekingAngle			"HeatSeekingAngle"
    #define WDB_AMMO_fHeatSeekingRateOfTurn		"HeatSeekingRateOfTurn"
    #define WDB_AMMO_rInstDamageType			"InstDamage_Type"
    #define WDB_AMMO_rAreaDamageType			"AreaDamage_Type"
    #define WDB_AMMO_rProgDamageType			"ProgDamage_Type"
    #define WDB_AMMO_nRange						"Range"
    #define WDB_AMMO_sSourceImpactSocket		"SourceImpactSocket"
    #define WDB_AMMO_sTriggerMessage			"TriggerMessage"
    #define WDB_AMMO_bCanWallStick				"CanWallStick"
    #define WDB_AMMO_rWallStickProp				"WallStickProp"
    #define WDB_AMMO_sHUDTexture				"HUDTexture"
    #define WDB_AMMO_sFlyBySound				"FlyBySound"
    
    #define WDB_MELEECOLLIDER_CATEGORY			WDB_ARSENAL_CATEGORY "MeleeCollider"
    #define WDB_MELEEDAMAGE_CATEGORY			WDB_ARSENAL_CATEGORY "MeleeDamage"
    
    #define WDB_GEAR_CATEGORY					WDB_ARSENAL_CATEGORY "Gear"
    
    #define WDB_GEAR_nNameId					"NameId"
    #define WDB_GEAR_bRespawnWaitVisible		"RespawnWaitVisible"
    #define WDB_GEAR_bRespawnWaitTranslucent	"RespawnWaitTranslucent"
    #define WDB_GEAR_fProtection				"Protection"
    #define WDB_GEAR_fArmor						"Armor"
    #define WDB_GEAR_fHealth					"Health"
    #define WDB_GEAR_fArmorMax					"ArmorMax"
    #define WDB_GEAR_fHealthMax					"HealthMax"
    #define WDB_GEAR_fStealth					"Stealth"
    #define WDB_GEAR_fSlowMoTime				"SlowMoTime"
    #define WDB_GEAR_fSlowMoMaxBonus			"SlowMoMaxBonus"
    #define WDB_GEAR_sIcon						"Icon"
    #define WDB_GEAR_sModel						"Model"
    #define WDB_GEAR_rPickupSnd					"PickUp_Sound"
    #define WDB_GEAR_rRespawnSnd				"Respawn_Sound"
    #define WDB_GEAR_sActivateFX				"ActivateFX"
    #define WDB_GEAR_sPowerupFX					"PowerupFX"
    #define WDB_GEAR_sRespawnWaitFX				"RespawnWaitFX"
    #define WDB_GEAR_sMaterial					"Material"
    #define WDB_GEAR_sRespawnWaitMaterial		"RespawnWaitMaterial"
    #define WDB_GEAR_sProtectionType			"ProtectionType"
    #define WDB_GEAR_nMaxAmount					"MaxAmount"
    #define WDB_GEAR_nThreshold					"Threshold"
    #define WDB_GEAR_rNavMarker					"NavMarker"
    
    #define WDB_MOD_CATEGORY					WDB_ARSENAL_CATEGORY "Mods"
    
    #define WDB_MOD_sSocket						"Socket"
    #define WDB_MOD_nNameId						"NameId"
    #define WDB_MOD_nType						"Type"
    #define WDB_MOD_sAttachModel				"AttachModel"
    #define WDB_MOD_sAttachMaterial				"AttachMaterial"
    #define WDB_MOD_fAttachScale				"AttachScale"
    #define WDB_MOD_bIntegrated					"Integrated"
    #define WDB_MOD_nPriority					"Priority"
    #define WDB_MOD_fMagPower					"Scope.0.MagPower"
    #define WDB_MOD_fZoomTimeIn					"Scope.0.ZoomTimeIn"
    #define WDB_MOD_fZoomTimeOut				"Scope.0.ZoomTimeOut"
    #define WDB_MOD_rScopeFXSequence			"Scope.0.ScopeFXSequence"
    #define WDB_MOD_bIronSight					"Scope.0.IronSight"
    #define WDB_MOD_bShowRangeFinder			"Scope.0.ShowRangeFinder"
    #define WDB_MOD_v2RangeFinderPosition		"Scope.0.RangeFinderPosition"
    #define WDB_MOD_nRangeFinderColor			"Scope.0.RangeFinderColor"
    #define WDB_MOD_bShowCrosshair				"Scope.0.ShowCrosshair"
    #define WDB_MOD_fHeadBobModifier			"Scope.0.HeadBobModifier"
    
    #define WDB_MOD_nAISilencedFireSndRadius	"Silencer.0.AISilencedFireSndRadius"
    
    
    #define WDB_GLOBAL_CATEGORY					WDB_ARSENAL_CATEGORY "Global"
    #define	WDB_GLOBAL_RECORD					"Global"
    
    #define WDB_GLOBAL_rPlayerWeapons			"PlayerWeapons"
    #define WDB_GLOBAL_rPlayerGrenades			"PlayerGrenades"
    #define WDB_GLOBAL_rWeaponPriority			"WeaponPriority"
    #define WDB_GLOBAL_rConditionalPriority		"ConditionalPriority"
    #define WDB_GLOBAL_rUnarmed					"Unarmed"
    #define WDB_GLOBAL_rDefaultWeapons			"AdditionalDefaultWeapons"
    #define WDB_GLOBAL_rMPDefaultWeapons		"MultiplayerDefaultWeapons"
    #define WDB_GLOBAL_rGearOrder				"GearOrder"
    #define WDB_GLOBAL_rLoadoutOrder			"LoadoutOrder"
    #define WDB_GLOBAL_rFallbackLoadout			"FallbackLoadout"
    #define WDB_GLOBAL_tDroppedWeaponLifeTime	"DroppedWeaponLifeTime"
    #define WDB_GLOBAL_rDroppedGearItems		"DroppedGearItems"
    #define WDB_GLOBAL_tDroppedGearLifeTime		"DroppedGearLifeTime"
    #define WDB_GLOBAL_nMaxWeaponCapacity		"MaxWeaponCapacity"
    #define WDB_GLOBAL_rDetonator				"Detonator"
    #define WDB_GLOBAL_tSemiAutoBufferTime		"SemiAutoBufferTime"
    #define WDB_GLOBAL_tProjectileExplosionDelay	"ProjectileExplosionDelay"
    #define WDB_GLOBAL_sDefaultAnimationName	"DefaultAnimationName"
    #define WDB_GLOBAL_sSlowMoRechargerFXName		"SlowMoRechargerFXName"
    
    #define WDB_LOADOUT_CATEGORY					WDB_ARSENAL_CATEGORY "Loadout"
    #define WDB_LOADOUT_nNameId						"NameId"
    #define WDB_LOADOUT_nDescId						"DescId"
    #define WDB_LOADOUT_rWeapons					"Weapons"
    #define WDB_LOADOUT_rGear						"Gear"
    
    
    #define WDB_TURRET_CATEGORY						WDB_ARSENAL_CATEGORY "Turrets"
    
    #define WDB_TURRET_rWeapon						"Weapon"
    #define WDB_TURRET_sBaseModel					"BaseModel"
    #define WDB_TURRET_sBaseMaterial				"BaseMaterial"
    #define WDB_TURRET_bHideBase					"HideBase"
    #define WDB_TURRET_bHideHUD					"HideHUD"
    #define WDB_TURRET_fActivateDistance			"ActivateDistance"
    #define WDB_TURRET_fActivateApproachAngle		"ActivateApproachAngle"
    #define WDB_TURRET_vPlayerOffset				"PlayerOffset"
    #define WDB_TURRET_v2PitchRange					"PitchRange"
    #define WDB_TURRET_fYawLimit					"YawLimit"
    #define	WDB_TURRET_sLoopFX						"LoopFX"
    #define WDB_TURRET_sDamageFX					"DamageFX"
    #define WDB_TURRET_DamageState					"DamageState"
    #define WDB_TURRET_fHealthPercent				"HealthPercent"
    #define WDB_TURRET_fxClientFX					"ClientFX"
    #define WDB_TURRET_bSmoothShutdown				"SmoothShutdown"
    #define WDB_TURRET_bPersistAcrossDamageStates	"PersistAcrossDamageStates"
    #define WDB_TURRET_tmDestroyedDeactivationDelay	"DestroyedDeactivationDelay"
    
    
    BEGIN_DATABASE_CATEGORY( RefillStations, WDB_ARSENAL_CATEGORY "RefillStations" )
    	DEFINE_GETRECORDATTRIB( Model, HRECORD );
    	DEFINE_GETRECORDATTRIB( Radius, uint32 );
    	DEFINE_GETRECORDATTRIB( UpdateRate, uint32 );
    	DEFINE_GETRECORDATTRIB( RefillSound, HRECORD );
    	DEFINE_GETRECORDATTRIB( DepletedSound, HRECORD );
    	DEFINE_GETSTRUCTATTRIB( Health, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( Health, TotalAmount, int32 );
    	DEFINE_GETSTRUCTATTRIB( Armor, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( Armor, TotalAmount, int32 );
    	DEFINE_GETSTRUCTATTRIB( Ammo, Ammo, HRECORD );
    	DEFINE_GETSTRUCTATTRIB( Ammo, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( Ammo, TotalAmount, int32 );
    	DEFINE_GETSTRUCTATTRIB( SlowMo, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( SlowMo, TotalAmount, int32 );
    END_DATABASE_CATEGORY( );
    
    #define WDB_REFILL_CATEGORY						WDB_ARSENAL_CATEGORY "RefillStations"
    
    #define WDB_REFILL_rModel						"Model"
    #define WDB_REFILL_nRadius						"Radius"
    #define WDB_REFILL_tUpdateRate					"UpdateRate"
    #define WDB_REFILL_rRefillSound					"RefillSound"
    #define WDB_REFILL_rDepletedSound				"DepletedSound"
    
    
    
    #define WDB_INVALID_WEAPON_INDEX				(0xFF)
    
    #define WDB_LOWEST_CONDITIONAL_PRIORITY			(-1)
    
    #define USE_AI_DATA true
    
    class CWeaponDB;
    extern CWeaponDB* g_pWeaponDB;
    
    enum AutoTargetType
    {
    	AT_NEVER = 0,
    	AT_EASY,
    	AT_ALWAYS
    };
    
    enum WeaponState
    {
    	W_INACTIVE,
    	W_IDLE,
    	W_FIRING,
    	W_FIRED,
    	W_ALT_FIRING,
    	W_GREN_THROWING,
    	W_RELOADING,
    	W_FIRING_NOAMMO,
    	W_SELECT,
    	W_DESELECT,
    	W_AUTO_SWITCH,
    	W_BLOCKING,
    	W_CHECKING_AMMO,
    };
    
    enum AmmoType
    {
    	// NOTE:  These values are important.  The Weapons database
    	// refers to these numbers, DO NOT change them!
    	VECTOR=0,
    	PROJECTILE=1,
    	TRIGGER=2,
    	UNKNOWN_AMMO_TYPE=3
    };
    
    enum ModType
    {
    	SILENCER=0,
    	SCOPE,
    	UNKNOWN_MOD_TYPE
    };
    
    
    typedef HRECORD	HWEAPON;
    typedef HRECORD	HWEAPONDATA;
    typedef HRECORD	HAMMO;
    typedef HRECORD	HAMMODATA;
    typedef HRECORD	HGEAR;
    typedef HRECORD	HMOD;
    typedef HRECORD	HWEAPONANI;
    typedef HRECORD HTURRET;
    
    class CWeaponDB : public CGameDatabaseMgr
    {
    	DECLARE_SINGLETON( CWeaponDB );
    
    	public :	// Methods...
    
    		bool	Init( const char *szDatabaseFile = DB_Default_File );
    
    		void	Term() {};
    
    		void	ReadWeapon( const char* szWeaponString, HWEAPON &hWeapon, HAMMO &hAmmo, bool bUseAIData );
    
    		HWEAPON	GetWeaponRecord( const char *pszWeapon ) const;
    		HWEAPON	GetWeaponRecord( uint8 nIndex ) const;
    		HWEAPONDATA GetWeaponData( HWEAPON hWeapon, bool bUseAIStats);
    
    		HAMMO	GetAmmoRecord( const char *pszAmmo ) const;
    		HAMMO	GetAmmoRecord( uint8 nIndex ) const;
    		HAMMODATA GetAmmoData( HAMMO hAmmo, bool bUseAIStats = false);
    
    		HGEAR	GetGearRecord( const char *pszGear ) const;
    		HGEAR	GetGearRecord( uint8 nIndex ) const;
    
    		// Preprocessed damagetype protection for gear.
    		struct GearDamageTypeProtection
    		{
    			GearDamageTypeProtection( )
    			{
    				m_hGear = NULL;
    				m_eDamageType = DT_INVALID;
    			}
    			HRECORD m_hGear;
    			DamageType m_eDamageType;
    		};
    		typedef std::vector<GearDamageTypeProtection> GearDamageTypeProtectionList;
    		GearDamageTypeProtectionList const& GetGearDamageTypeProtectionList( ) const { return m_vecGearDamageTypeProtection; }
    
    		HMOD	GetModRecord( const char *pszMod ) const;
    		HMOD	GetModRecord( uint8 nIndex ) const;
    
    		HTURRET GetTurretRecord( const char *pszTurret ) const;
    		HTURRET GetTurretRecord( uint8 nIndex ) const;
    
    		HRECORD	GetMeleeColliderRecord( const char *pszMeleeCollider ) const;
    		HRECORD	GetMeleeDamageRecord( const char *pszMeleeDamage ) const;
    
    		const char* GetActionIcon( HRECORD hWeapon, int nIndex=0 );
    
    		uint8		GetNumLoadouts( )	const;
    		HRECORD		GetLoadout( uint8 nIndex ) const;
    		HRECORD		GetFallbackLoadout(  ) const;
    
    		uint8		GetNumWeapons( )	const	{ return m_nNumWeapons; }
    		uint8		GetNumAmmo( )		const	{ return m_nNumAmmo; }
    		uint8		GetNumGear( )		const	{ return m_nNumGear; }
    		uint8		GetNumMods( )		const	{ return m_nNumMods; }
    		uint8		GetNumTurrets( )	const	{ return m_nNumTurrets; }
    		
    		uint8		GetNumPlayerWeapons() const;
    		bool		IsPlayerWeapon( HWEAPON hWeapon );
    		uint8		GetPlayerWeaponIndex( HWEAPON hWeapon );
    		HWEAPON		GetPlayerWeapon( uint8 nIndex ) const;
    
    		uint8		GetNumPlayerGrenades() const;
    		bool		IsPlayerGrenade( HWEAPON hWeapon );
    		uint8		GetPlayerGrenadeIndex( HWEAPON hWeapon );
    		HWEAPON		GetPlayerGrenade( uint8 nIndex ) const;
    
    		uint8		GetNumDefaultWeaponPriorities() const;
    		uint8		GetDefaultWeaponPriority( HWEAPON hWeapon );
    		HWEAPON		GetWeaponFromDefaultPriority(uint8 nIndex) const;
    		bool		IsBetterWeapon( HWEAPON hWeaponA, HWEAPON hWeaponB );
    
    		uint32		GetConditionalPriority( HRECORD hGroup );
    		bool		IsBetterConditionalGroup( HRECORD hGroupA, HRECORD hGroupB );
    
    		uint8		GetNumDisplayGear() const;
    		HGEAR		GetDisplayGear( uint8 nIndex ) const;
    
    		uint8		GetWeaponCapacity() const;
    		float		GetSemiAutoBufferTime() const;
    		
    		HCATEGORY	GetWeaponsCategory( )		const	{ return m_hCatWeapons; }
    		HCATEGORY	GetAmmoCategory( )			const	{ return m_hCatAmmo; }
    		HCATEGORY	GetGearCategory( )			const	{ return m_hCatGear; }
    		HCATEGORY	GetModsCategory( )			const	{ return m_hCatMods; }
    		HCATEGORY	GetTurretsCategory( )		const	{ return m_hCatTurrets; }
    		HRECORD		GetGlobalRecord( )			const	{ return m_hRecGlobal; }
    
    		
    		//Find the first weapon that uses this type of ammo...
    		HWEAPON		GetWeaponFromAmmo( HAMMO hAmmo, bool bUseAIData );
    		//Can the specified weapon use the specified ammo
    		bool		CanWeaponUseAmmo( HWEAPON hWeapon, HAMMO hAmmo, bool bUseAIData);
    
    		HWEAPON		GetWeaponFromMod( HMOD hMod, bool bUseAIData );
    
    		
    		void		Restrict( HRECORD hRecord );
    		bool		IsRestricted( HRECORD hRecord );
    
    		uint8		GetAmmoSurfaceFXTypes( const char **pszSurfaceFXTypesArray, uint8 nArrayLen ) const;
    
    		HWEAPON		GetUnarmedRecord( ) const { return m_hUnarmedRecord; }
    		HWEAPON		GetDetonatorRecord( ) const { return m_hDetonatorRecord; }
    
    		inline HRECORD	GetAmmoInstDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline HRECORD	GetAmmoAreaDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline HRECORD	GetAmmoProgDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats = false) const;
    
    		inline DamageType	GetAmmoInstDamageType(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline DamageType	GetAmmoAreaDamageType(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline DamageType	GetAmmoProgDamageType(HAMMO hAmmo, bool bUseAIStats = false) const;
    
    		uint32 GetModelFilesCRC( );
    
    		// Calculate the damage factor for the specified weapon based on vector distance
    		float GetEffectiveVectorRangeDamageFactor(HWEAPON hWeapon, float fDist, bool bUseAIData);
    
    		// Gets the type of mod.
    		ModType		GetModType( HMOD hMod ) const;
    
    	private	:	// Members...
    
    		HCATEGORY	m_hCatWeapons;
    		HCATEGORY	m_hCatAmmo;
    		HCATEGORY	m_hCatMeleeCollider;
    		HCATEGORY	m_hCatMeleeDamage;
    		HCATEGORY	m_hCatGear;
    		HCATEGORY	m_hCatMods;
    		HCATEGORY	m_hCatLoadouts;
    		HCATEGORY	m_hCatGlobal;
    		HCATEGORY	m_hCatTurrets;
    		HRECORD		m_hRecGlobal;
    		
    		uint8		m_nNumWeapons;
    		uint8		m_nNumAmmo;
    		uint8		m_nNumGear;
    		uint8		m_nNumMods;
    		uint8		m_nNumTurrets;
    		
    		HWEAPON		m_hUnarmedRecord;
    		HWEAPON		m_hDetonatorRecord;
    
    		typedef std::vector<HRECORD, LTAllocator<HRECORD, LT_MEM_TYPE_GAMECODE> > HRecordArray;
    		HRecordArray	m_vecRestricted;
    
    		GearDamageTypeProtectionList m_vecGearDamageTypeProtection;
    };
    
    inline bool FiredWeapon(WeaponState eState)
    {
    	return (eState == W_FIRED);
    }
    
    inline HRECORD CWeaponDB::GetAmmoInstDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return GetRecordLink(g_pWeaponDB->GetAmmoData(hAmmo,bUseAIStats),WDB_AMMO_rInstDamageType);
    }
    inline HRECORD CWeaponDB::GetAmmoAreaDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return GetRecordLink(g_pWeaponDB->GetAmmoData(hAmmo,bUseAIStats),WDB_AMMO_rAreaDamageType);
    }
    inline HRECORD CWeaponDB::GetAmmoProgDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return GetRecordLink(g_pWeaponDB->GetAmmoData(hAmmo,bUseAIStats),WDB_AMMO_rProgDamageType);
    }
    
    inline DamageType CWeaponDB::GetAmmoInstDamageType(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return g_pDTDB->GetDamageType(GetAmmoInstDamageTypeRecord(hAmmo,bUseAIStats));
    }
    inline DamageType CWeaponDB::GetAmmoAreaDamageType(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return g_pDTDB->GetDamageType(GetAmmoAreaDamageTypeRecord(hAmmo,bUseAIStats));
    }
    inline DamageType CWeaponDB::GetAmmoProgDamageType(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return g_pDTDB->GetDamageType(GetAmmoProgDamageTypeRecord(hAmmo,bUseAIStats));
    }
    
    
    
    ////////////////////////////////////////////////////////////////////////////
    //
    // CWeaponDBPlugin is used to help facilitate populating the WorldEdit object
    // properties that use WeaponDB
    //
    ////////////////////////////////////////////////////////////////////////////
    #ifdef _SERVERBUILD
    
    #include "iobjectplugin.h"
    
    class CWeaponDBPlugin;
    extern CWeaponDBPlugin *g_pWeaponDBPlugin;
    
    class CWeaponDBPlugin : public IObjectPlugin
    {
    	private:
    
    		CWeaponDBPlugin();
    		CWeaponDBPlugin( const CWeaponDBPlugin &other );
    		CWeaponDBPlugin& operator=( const CWeaponDBPlugin &other );
    		~CWeaponDBPlugin();
    
    
    	public:
    
    		static CWeaponDBPlugin& Instance() { static CWeaponDBPlugin sPlugin; return sPlugin; }
    
    		bool Init( );
    
    		// This will be removed once the FXMgr and it's plugin are converted
    		// to a database.
    		LTRESULT PreHook_EditStringList(
    			const char* szRezPath,
    			const char* szPropName,
    			char** aszStrings,
    			uint32* pcStrings,
    			const uint32 cMaxStrings,
    			const uint32 cMaxStringLength);
    
    		static void PopulateStringList(char** aszStrings, uint32* pcStrings,
    			const uint32 cMaxStrings, const uint32 cMaxStringLength, bool bPickupList);
    
    	protected :
    
    
    };
    
    #endif // _SERVERBUILD
    
    
    #endif // __WEAPON_DATABASE_H__

    commando: You're probably the best non-coder coder I know LOL


  3. #708
    kotentopf's Avatar
    Join Date
    Nov 2009
    Gender
    male
    Posts
    602
    Reputation
    26
    Thanks
    251
    Quote Originally Posted by supercarz1991 View Post
    lol theres not much to framestrings though...FEAR framestrings are similar though, so look through this if you want an idea

    Code:
    // ----------------------------------------------------------------------- //
    //
    // MODULE  : WeaponDB.h
    //
    // PURPOSE : Weapon database definition
    //
    // CREATED : 06/16/03
    //
    // (c) 2003-2005 Monolith Productions, Inc.  All Rights Reserved
    //
    // ----------------------------------------------------------------------- //
    
    #ifndef __WEAPON_DATABASE_H__
    #define __WEAPON_DATABASE_H__
    
    //
    // Includes...
    //
    
    #include "GameDatabaseMgr.h"
    #include "DamageTypes.h"
    #include "CategoryDB.h"	
    
    
    //
    // Defines...
    //
    	
    #define WEAPON_SOUND_RADIUS					2000.0f
    #define WEAPON_MIN_IDLE_TIME				5.0f
    #define WEAPON_MAX_IDLE_TIME				15.0f
    #define WEAPON_KEY_FIRE						"FIRE_KEY"
    #define WEAPON_KEY_FINISH					"FINISH"
    #define WEAPON_KEY_FINISH_RAGDOLL			"FINISH_RAGDOLL"
    #define WEAPON_KEY_SOUND					"SOUND_KEY"
    #define WEAPON_KEY_BUTE_SOUND				"BUTE_SOUND_KEY"
    #define WEAPON_KEY_LOOPSOUND				"LOOP_SOUND_KEY"
    #define WEAPON_KEY_FX						"FX"
    #define WEAPON_KEY_FIREFX					"FIREFX_KEY"
    #define WEAPON_KEY_FLASHLIGHT				"FLASHLIGHT"
    #define WEAPON_KEY_MATERIAL					"MATERIAL"
    #define WEAPON_KEY_HIDE_MODEL_PIECE			"HIDE_PIECE_KEY"  // usage: HIDE_PIECE_KEY <piece name>
    #define WEAPON_KEY_SHOW_MODEL_PIECE			"SHOW_PIECE_KEY"  // usage: SHOW_PIECE_KEY <piece name>	
    #define WEAPON_KEY_SHELLCASING				"SHELL_CASING"
    #define WEAPON_KEY_HIDE_PVATTACHFX			"HIDE_PVATTACHFX"	// usage: HIDE_PVFX <index of a PVAttachFXName#>
    #define WEAPON_KEY_SHOW_PVATTACHFX			"SHOW_PVATTACHFX"	// usage: SHOW_PVFX <index of a PVAttachFXName#>
    #define WEAPON_KEY_HIDE_PVATTACHMENT		"HIDE_PVATTACHMENT" // usage: HIDE_PVATTACHMENT <index of a PlayerViewAttachment>
    #define WEAPON_KEY_SHOW_PVATTACHMENT		"SHOW_PVATTACHMENT" // usage: SHOW_PVATTACHMENT <index of a PlayerViewAttachment>
    
    #define WEAPONDB_DEFAULT_FILE				"Database\\" "Weapons." RESEXT_GAMEDATABASE_PACKED
    	
    // The main system category were all arsenal related data goes...
    #define WDB_ARSENAL_CATEGORY				"Arsenal/"
    
    #define WDB_ALL_bCanServerRestrict			"CanServerRestrict"
    #define WDB_ALL_nDescriptionId				"DescriptionId"
    
    #define WDB_WEAPON_CATEGORY					WDB_ARSENAL_CATEGORY "Weapons"
    
    #define WDB_WEAPON_nShortNameId				"ShortNameId"
    #define WDB_WEAPON_nLongNameId				"LongNameId"
    #define WDB_WEAPON_nAniType					"AniType"
    #define WDB_WEAPON_vPos						"Pos"
    #define WDB_WEAPON_sMuzzleSocket			"MuzzleSocket"
    #define WDB_WEAPON_sBreachSocket			"BreachSocket"
    #define WDB_WEAPON_fHHScale					"HHModelScale"
    #define WDB_WEAPON_sPVModel					"PVModel"
    #define WDB_WEAPON_sHHModel					"HHModel"
    #define WDB_WEAPON_sPVMaterial				"PVMaterial"
    #define WDB_WEAPON_sHHMaterial				"HHMaterial"
    #define	WDB_WEAPON_sHiddenPieceName			"HiddenPiece"
    #define WDB_WEAPON_sRespawnWaitMaterial		"RespawnWaitMaterial"
    #define WDB_WEAPON_rFireSnd					"FireSound"
    #define WDB_WEAPON_rFireLoopSnd				"FireSoundLoop"
    #define WDB_WEAPON_rFireLoopEndSnd			"FireSoundLoopEnd"
    #define WDB_WEAPON_rAltFireSnd				"AltFireSound"
    #define WDB_WEAPON_rSilencedFireSnd			"SilencedFireSnd"
    #define WDB_WEAPON_rDryFireSnd				"DryFireSound"
    #define WDB_WEAPON_rReloadSnd				"ReloadSounds"
    #define WDB_WEAPON_rSelectSnd				"SelectSound"
    #define WDB_WEAPON_rDeselectSnd				"DeselectSound"
    #define WDB_WEAPON_rMiscSnd					"MiscSounds"
    #define WDB_WEAPON_fAIFireSndRadius			"AIFireSndRadius"
    #define WDB_WEAPON_bInfiniteAmmo			"InfiniteAmmo"
    #define WDB_WEAPON_bHideWhenEmpty			"HideWhenEmpty"
    #define WDB_WEAPON_bIsAmmo					"IsAmmo"
    #define WDB_WEAPON_bIsGrenade				"IsGrenade"
    #define WDB_WEAPON_bDropGrenadeOnDeath		"DropGrenadeOnDeath"
    #define WDB_WEAPON_bTakesInventorySlot		"TakesInventorySlot"
    #define WDB_WEAPON_bCanLastWeapon			"CanLastWeapon"
    #define WDB_WEAPON_bUseUWMuzzleFX			"UseUWMuzzleFX"
    #define WDB_WEAPON_nShotsPerClip			"ShotsPerClip"
    #define WDB_WEAPON_bInfiniteClip			"InfiniteClip"
    #define WDB_WEAPON_rAmmoName				"AmmoName"
    #define WDB_WEAPON_rDefaultMeleeAmmo		"DefaultMeleeAmmo"
    #define WDB_WEAPON_rModName					"ModName"
    #define WDB_WEAPON_v2Perturb				"Perturb"
    #define WDB_WEAPON_nRange					"Range"
    #define WDB_WEAPON_nEffectiveVectorRange	"EffectiveVectorRange"
    #define WDB_WEAPON_nVectorHalfDamageDist	"VectorHalfDamageDist"
    #define WDB_WEAPON_nVectorsPerRound			"VectorsPerRound"
    #define WDB_WEAPON_bSemiAuto				"Semi-Auto"
    #define WDB_WEAPON_bAutoSwitchEnabled		"AutoSwitchEnabled"
    #define WDB_WEAPON_bSupportsFinishingMoves	"SupportsFinishingMoves"
    #define WDB_WEAPON_sCriticalHitSocket		"CriticalHitSocket"
    #define WDB_WEAPON_sCriticalHitImpactSocket	"CriticalHitImpactSocket"
    #define WDB_WEAPON_fCriticalHitDistance		"CriticalHitDistance"
    #define WDB_WEAPON_fCriticalHitAngle		"CriticalHitAngle"
    #define WDB_WEAPON_fCriticalHitViewAngle	"CriticalHitViewAngle"
    #define WDB_WEAPON_hAIWeaponName			"AIWeaponName"
    #define WDB_WEAPON_fFireRecoilKick			"FireRecoilKick"
    #define WDB_WEAPON_fFireRecoilYawRatio		"FireRecoilYawRatio"
    #define WDB_WEAPON_fFireRecoilDecay			"FireRecoilDecay"
    #define WDB_WEAPON_sPVMuzzleFX				"PVMuzzleFX"
    #define WDB_WEAPON_sPVMuzzleFX2				"PVMuzzleFX2"
    #define WDB_WEAPON_sHHMuzzleFX				"HHMuzzleFX"
    #define WDB_WEAPON_bFXAtFlashSocket			"FXAtFlashSocket"
    #define WDB_WEAPON_nFireDelay				"FireDelay"
    #define WDB_WEAPON_sHolsterAttachment		"HolsterAttachment"
    #define WDB_WEAPON_fFireAnimRateScale		"FireAnimRateScale"
    #define WDB_WEAPON_fReloadAnimRateScale		"ReloadAnimRateScale"
    #define WDB_WEAPON_sPowerupFX				"PowerupFX"
    #define WDB_WEAPON_bRespawnControlledSP		"RespawnControlledSP"
    #define WDB_WEAPON_bRespawnControlledMP		"RespawnControlledMP"
    #define WDB_WEAPON_fRespawnWait				"RespawnWait"
    #define WDB_WEAPON_sRespawnWaitFX			"RespawnWaitFX"
    #define WDB_WEAPON_bRespawnWaitVisible		"RespawnWaitVisible"
    #define WDB_WEAPON_bRespawnWaitTranslucent	"RespawnWaitTranslucent"
    #define WDB_WEAPON_fAutoTargetAngle			"AutoTargetAngle"
    #define WDB_WEAPON_fAutoTargetRange			"AutoTargetRange"
    #define WDB_WEAPON_nUseAutoTarget			"UseAutoTarget"
    #define WDB_WEAPON_sIcon					"Icon"
    #define WDB_WEAPON_sSilhouetteIcon			"SilhouetteIcon"
    #define WDB_WEAPON_sAnimationProperty		"AnimationProperty"
    #define WDB_WEAPON_sCountdownFX				"CountdownFX"
    #define WDB_WEAPON_sEndFX					"EndFX"
    #define WDB_WEAPON_bUsePreFire				"UsePreFire"
    #define WDB_WEAPON_bUsePostFire				"UsePostFire"
    #define WDB_WEAPON_bLoopPrePostFire			"LoopPrePostFire"
    #define WDB_WEAPON_sMuzzleSmokeFX			"MuzzleSmokeFX"
    #define WDB_WEAPON_fPerturbIncreaseRate		"Accuracy.0.PerturbIncreaseRate"
    #define WDB_WEAPON_fPerturbDecreaseRate		"Accuracy.0.PerturbDecreaseRate"
    #define WDB_WEAPON_fStand					"Accuracy.0.Stand"
    #define WDB_WEAPON_fWalk					"Accuracy.0.Walk"
    #define WDB_WEAPON_fRun						"Accuracy.0****n"
    #define WDB_WEAPON_fJump					"Accuracy.0.Jump"
    #define WDB_WEAPON_fCrouch					"Accuracy.0.Crouch"
    #define WDB_WEAPON_fCrouch_Walk				"Accuracy.0.Crouch_Walk"
    #define WDB_WEAPON_fAim						"Accuracy.0.Aim"
    #define WDB_WEAPON_fAim_Crouch				"Accuracy.0.Aim_Crouch"
    #define WDB_WEAPON_fAim_Walk				"Accuracy.0.Aim_Walk"
    #define WDB_WEAPON_fAim_Crouch_Walk			"Accuracy.0.Aim_Crouch_Walk"
    #define WDB_WEAPON_fSwim					"Accuracy.0.Swim"
    #define WDB_WEAPON_fTurn					"Accuracy.0.Turn"
    #define WDB_WEAPON_fRecoil					"Accuracy.0.Recoil"
    #define WDB_WEAPON_fMovementMultiplier		"MovementMultiplier"
    #define WDB_WEAPON_rComplimentaryWeapon		"ComplimentaryWeapon"
    #define WDB_WEAPON_bNotForPlayer			"NotForPlayer"
    #define WDB_WEAPON_bWhenDroppedGiveAmmoInClip "WhenDroppedGiveAmmoInClip"
    #define WDB_WEAPON_bDroppedMoveToFloor		"DroppedMoveToFloor"
    #define WDB_WEAPON_nActivationType			"ActivationType"
    #define WDB_WEAPON_rDualWeapon				"DualWeapon"
    #define WDB_WEAPON_rSingleWeapon			"SingleWeapon"
    #define WDB_WEAPON_RightHandWeapon			"RightHandWeapon"
    #define WDB_WEAPON_LeftHandWeapon			"LeftHandWeapon"
    #define WDB_WEAPON_nMaxFireFrequency		"MaxFireFrequency"
    #define WDB_WEAPON_rLinkedWeapon			"LinkedWeapon"
    #define WDB_WEAPON_bSelectLinked			"SelectLinked"
    #define WDB_WEAPON_rCustomDisplay			"CustomDisplay"
    #define WDB_WEAPON_LocalSoundInfo			"LocalFireSound"
    #define WDB_WEAPON_NonLocalSoundInfo		"NonLocalFireSound"
    #define WDB_WEAPON_rCollisionProperty		"CollisionProperty"
    #define WDB_WEAPON_rFlashlights				"Flashlights"
    #define WDB_WEAPON_sHUDTexture				"HUDTexture"
    #define WDB_WEAPON_rActionIcon				"ActionIcon"
    #define WDB_WEAPON_rAnimControllers			"AnimControllers"
    #define WDB_WEAPON_v2MinProximity			"MinProximity"
    #define WDB_WEAPON_CustomSelectStimulus		"CustomSelectStimulus"
    #define WDB_WEAPON_aPersistentClientFX		"PersistentClientFX"
    #define WDB_WEAPON_sClientFX				"ClientFX"
    #define WDB_WEAPON_bVisible					"Visible"
    #define WDB_WEAPON_bSmoothShutdown			"SmoothShutdown"
    #define WDB_WEAPON_nMaxHealth				"BreakInfo.0.MaxHealth"
    #define WDB_WEAPON_nWarnHealth				"BreakInfo.0.WarnHealth"
    #define WDB_WEAPON_sShowPieces				"BreakInfo.0.ShowPieces"
    #define WDB_WEAPON_sHidePieces				"BreakInfo.0.HidePieces"
    #define WDB_WEAPON_sDebrisFX				"BreakInfo.0.DebrisFX"
    #define WDB_WEAPON_sDebrisSocket			"BreakInfo.0.DebrisSocket"
    #define WDB_WEAPON_rBrokenWeapon			"BreakInfo.0.BrokenWeapon"
    #define WDB_WEAPON_bCanBePlaced				"CanBePlaced"
    
    #define WDB_AMMO_CATEGORY					WDB_ARSENAL_CATEGORY "Ammo"
    
    #define WDB_AMMO_nShortNameId				"ShortNameId"
    #define WDB_AMMO_nLongNameId				"LongNameId"
    #define WDB_AMMO_nPlacedAmount				"PlacedAmount"
    #define WDB_AMMO_nPickupInitialAmount		"PickupInitialAmount"
    #define WDB_AMMO_nPickupSupplementalAmount	"PickupSupplementalAmount"
    #define WDB_AMMO_nSelectionAmount			"SelectionAmount"
    #define WDB_AMMO_nMaxAmount					"MaxAmount"
    #define WDB_AMMO_fInstDamage				"InstDamage"
    #define WDB_AMMO_fAreaDamage				"AreaDamage"
    #define WDB_AMMO_fInstDamageImpulseForce	"InstDamageImpulseForce"
    #define WDB_AMMO_fHitNodeImpulseForceScale	"HitNodeImpulseForceScale"
    #define WDB_AMMO_fAreaDamageImpulseForce	"AreaDamageImpulseForce"
    #define WDB_AMMO_fInstPenetration			"InstPenetration"
    #define WDB_AMMO_fAreaPenetration			"AreaPenetration"
    #define WDB_AMMO_fAreaDamageRadius			"AreaDamageRadius"
    #define WDB_AMMO_fAreaDamageRadiusMin		"AreaDamageRadiusMin"
    #define WDB_AMMO_bCanAdjustInstDamage		"CanAdjustInstDamage"
    #define WDB_AMMO_nPriority					"Priority"
    #define WDB_AMMO_fFireRecoilMult			"FireRecoilMult"
    #define WDB_AMMO_fProgDamage				"ProgDamage"
    #define WDB_AMMO_fProgDamageDuration		"ProgDamageDuration"
    #define WDB_AMMO_fProgDamageRadius			"ProgDamageRadius"
    #define WDB_AMMO_fProgDamageLifetime		"ProgDamageLifetime"
    #define WDB_AMMO_sSurfaceFXType				"SurfaceFXType"
    #define WDB_AMMO_nType						"Type"
    #define WDB_AMMO_sIcon						"Icon"
    #define WDB_AMMO_sProjectileFX				"ProjectileFX"
    #define WDB_AMMO_sImpactFX					"ImpactFX"
    #define WDB_AMMO_sUWImpactFX				"UWImpactFX"
    #define WDB_AMMO_sMovableImpactOverrideFX	"MoveableImpactOverrideFX"
    #define WDB_AMMO_sFireFX					"FireFX"
    #define WDB_AMMO_sTracerFX					"TracerFX"
    #define WDB_AMMO_bHeatSeeking				"HeatSeeking"
    #define WDB_AMMO_fHeatSeekingRange			"HeatSeekingRange"
    #define WDB_AMMO_fHeatSeekingAngle			"HeatSeekingAngle"
    #define WDB_AMMO_fHeatSeekingRateOfTurn		"HeatSeekingRateOfTurn"
    #define WDB_AMMO_rInstDamageType			"InstDamage_Type"
    #define WDB_AMMO_rAreaDamageType			"AreaDamage_Type"
    #define WDB_AMMO_rProgDamageType			"ProgDamage_Type"
    #define WDB_AMMO_nRange						"Range"
    #define WDB_AMMO_sSourceImpactSocket		"SourceImpactSocket"
    #define WDB_AMMO_sTriggerMessage			"TriggerMessage"
    #define WDB_AMMO_bCanWallStick				"CanWallStick"
    #define WDB_AMMO_rWallStickProp				"WallStickProp"
    #define WDB_AMMO_sHUDTexture				"HUDTexture"
    #define WDB_AMMO_sFlyBySound				"FlyBySound"
    
    #define WDB_MELEECOLLIDER_CATEGORY			WDB_ARSENAL_CATEGORY "MeleeCollider"
    #define WDB_MELEEDAMAGE_CATEGORY			WDB_ARSENAL_CATEGORY "MeleeDamage"
    
    #define WDB_GEAR_CATEGORY					WDB_ARSENAL_CATEGORY "Gear"
    
    #define WDB_GEAR_nNameId					"NameId"
    #define WDB_GEAR_bRespawnWaitVisible		"RespawnWaitVisible"
    #define WDB_GEAR_bRespawnWaitTranslucent	"RespawnWaitTranslucent"
    #define WDB_GEAR_fProtection				"Protection"
    #define WDB_GEAR_fArmor						"Armor"
    #define WDB_GEAR_fHealth					"Health"
    #define WDB_GEAR_fArmorMax					"ArmorMax"
    #define WDB_GEAR_fHealthMax					"HealthMax"
    #define WDB_GEAR_fStealth					"Stealth"
    #define WDB_GEAR_fSlowMoTime				"SlowMoTime"
    #define WDB_GEAR_fSlowMoMaxBonus			"SlowMoMaxBonus"
    #define WDB_GEAR_sIcon						"Icon"
    #define WDB_GEAR_sModel						"Model"
    #define WDB_GEAR_rPickupSnd					"PickUp_Sound"
    #define WDB_GEAR_rRespawnSnd				"Respawn_Sound"
    #define WDB_GEAR_sActivateFX				"ActivateFX"
    #define WDB_GEAR_sPowerupFX					"PowerupFX"
    #define WDB_GEAR_sRespawnWaitFX				"RespawnWaitFX"
    #define WDB_GEAR_sMaterial					"Material"
    #define WDB_GEAR_sRespawnWaitMaterial		"RespawnWaitMaterial"
    #define WDB_GEAR_sProtectionType			"ProtectionType"
    #define WDB_GEAR_nMaxAmount					"MaxAmount"
    #define WDB_GEAR_nThreshold					"Threshold"
    #define WDB_GEAR_rNavMarker					"NavMarker"
    
    #define WDB_MOD_CATEGORY					WDB_ARSENAL_CATEGORY "Mods"
    
    #define WDB_MOD_sSocket						"Socket"
    #define WDB_MOD_nNameId						"NameId"
    #define WDB_MOD_nType						"Type"
    #define WDB_MOD_sAttachModel				"AttachModel"
    #define WDB_MOD_sAttachMaterial				"AttachMaterial"
    #define WDB_MOD_fAttachScale				"AttachScale"
    #define WDB_MOD_bIntegrated					"Integrated"
    #define WDB_MOD_nPriority					"Priority"
    #define WDB_MOD_fMagPower					"Scope.0.MagPower"
    #define WDB_MOD_fZoomTimeIn					"Scope.0.ZoomTimeIn"
    #define WDB_MOD_fZoomTimeOut				"Scope.0.ZoomTimeOut"
    #define WDB_MOD_rScopeFXSequence			"Scope.0.ScopeFXSequence"
    #define WDB_MOD_bIronSight					"Scope.0.IronSight"
    #define WDB_MOD_bShowRangeFinder			"Scope.0.ShowRangeFinder"
    #define WDB_MOD_v2RangeFinderPosition		"Scope.0.RangeFinderPosition"
    #define WDB_MOD_nRangeFinderColor			"Scope.0.RangeFinderColor"
    #define WDB_MOD_bShowCrosshair				"Scope.0.ShowCrosshair"
    #define WDB_MOD_fHeadBobModifier			"Scope.0.HeadBobModifier"
    
    #define WDB_MOD_nAISilencedFireSndRadius	"Silencer.0.AISilencedFireSndRadius"
    
    
    #define WDB_GLOBAL_CATEGORY					WDB_ARSENAL_CATEGORY "Global"
    #define	WDB_GLOBAL_RECORD					"Global"
    
    #define WDB_GLOBAL_rPlayerWeapons			"PlayerWeapons"
    #define WDB_GLOBAL_rPlayerGrenades			"PlayerGrenades"
    #define WDB_GLOBAL_rWeaponPriority			"WeaponPriority"
    #define WDB_GLOBAL_rConditionalPriority		"ConditionalPriority"
    #define WDB_GLOBAL_rUnarmed					"Unarmed"
    #define WDB_GLOBAL_rDefaultWeapons			"AdditionalDefaultWeapons"
    #define WDB_GLOBAL_rMPDefaultWeapons		"MultiplayerDefaultWeapons"
    #define WDB_GLOBAL_rGearOrder				"GearOrder"
    #define WDB_GLOBAL_rLoadoutOrder			"LoadoutOrder"
    #define WDB_GLOBAL_rFallbackLoadout			"FallbackLoadout"
    #define WDB_GLOBAL_tDroppedWeaponLifeTime	"DroppedWeaponLifeTime"
    #define WDB_GLOBAL_rDroppedGearItems		"DroppedGearItems"
    #define WDB_GLOBAL_tDroppedGearLifeTime		"DroppedGearLifeTime"
    #define WDB_GLOBAL_nMaxWeaponCapacity		"MaxWeaponCapacity"
    #define WDB_GLOBAL_rDetonator				"Detonator"
    #define WDB_GLOBAL_tSemiAutoBufferTime		"SemiAutoBufferTime"
    #define WDB_GLOBAL_tProjectileExplosionDelay	"ProjectileExplosionDelay"
    #define WDB_GLOBAL_sDefaultAnimationName	"DefaultAnimationName"
    #define WDB_GLOBAL_sSlowMoRechargerFXName		"SlowMoRechargerFXName"
    
    #define WDB_LOADOUT_CATEGORY					WDB_ARSENAL_CATEGORY "Loadout"
    #define WDB_LOADOUT_nNameId						"NameId"
    #define WDB_LOADOUT_nDescId						"DescId"
    #define WDB_LOADOUT_rWeapons					"Weapons"
    #define WDB_LOADOUT_rGear						"Gear"
    
    
    #define WDB_TURRET_CATEGORY						WDB_ARSENAL_CATEGORY "Turrets"
    
    #define WDB_TURRET_rWeapon						"Weapon"
    #define WDB_TURRET_sBaseModel					"BaseModel"
    #define WDB_TURRET_sBaseMaterial				"BaseMaterial"
    #define WDB_TURRET_bHideBase					"HideBase"
    #define WDB_TURRET_bHideHUD					"HideHUD"
    #define WDB_TURRET_fActivateDistance			"ActivateDistance"
    #define WDB_TURRET_fActivateApproachAngle		"ActivateApproachAngle"
    #define WDB_TURRET_vPlayerOffset				"PlayerOffset"
    #define WDB_TURRET_v2PitchRange					"PitchRange"
    #define WDB_TURRET_fYawLimit					"YawLimit"
    #define	WDB_TURRET_sLoopFX						"LoopFX"
    #define WDB_TURRET_sDamageFX					"DamageFX"
    #define WDB_TURRET_DamageState					"DamageState"
    #define WDB_TURRET_fHealthPercent				"HealthPercent"
    #define WDB_TURRET_fxClientFX					"ClientFX"
    #define WDB_TURRET_bSmoothShutdown				"SmoothShutdown"
    #define WDB_TURRET_bPersistAcrossDamageStates	"PersistAcrossDamageStates"
    #define WDB_TURRET_tmDestroyedDeactivationDelay	"DestroyedDeactivationDelay"
    
    
    BEGIN_DATABASE_CATEGORY( RefillStations, WDB_ARSENAL_CATEGORY "RefillStations" )
    	DEFINE_GETRECORDATTRIB( Model, HRECORD );
    	DEFINE_GETRECORDATTRIB( Radius, uint32 );
    	DEFINE_GETRECORDATTRIB( UpdateRate, uint32 );
    	DEFINE_GETRECORDATTRIB( RefillSound, HRECORD );
    	DEFINE_GETRECORDATTRIB( DepletedSound, HRECORD );
    	DEFINE_GETSTRUCTATTRIB( Health, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( Health, TotalAmount, int32 );
    	DEFINE_GETSTRUCTATTRIB( Armor, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( Armor, TotalAmount, int32 );
    	DEFINE_GETSTRUCTATTRIB( Ammo, Ammo, HRECORD );
    	DEFINE_GETSTRUCTATTRIB( Ammo, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( Ammo, TotalAmount, int32 );
    	DEFINE_GETSTRUCTATTRIB( SlowMo, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( SlowMo, TotalAmount, int32 );
    END_DATABASE_CATEGORY( );
    
    #define WDB_REFILL_CATEGORY						WDB_ARSENAL_CATEGORY "RefillStations"
    
    #define WDB_REFILL_rModel						"Model"
    #define WDB_REFILL_nRadius						"Radius"
    #define WDB_REFILL_tUpdateRate					"UpdateRate"
    #define WDB_REFILL_rRefillSound					"RefillSound"
    #define WDB_REFILL_rDepletedSound				"DepletedSound"
    
    
    
    #define WDB_INVALID_WEAPON_INDEX				(0xFF)
    
    #define WDB_LOWEST_CONDITIONAL_PRIORITY			(-1)
    
    #define USE_AI_DATA true
    
    class CWeaponDB;
    extern CWeaponDB* g_pWeaponDB;
    
    enum AutoTargetType
    {
    	AT_NEVER = 0,
    	AT_EASY,
    	AT_ALWAYS
    };
    
    enum WeaponState
    {
    	W_INACTIVE,
    	W_IDLE,
    	W_FIRING,
    	W_FIRED,
    	W_ALT_FIRING,
    	W_GREN_THROWING,
    	W_RELOADING,
    	W_FIRING_NOAMMO,
    	W_SELECT,
    	W_DESELECT,
    	W_AUTO_SWITCH,
    	W_BLOCKING,
    	W_CHECKING_AMMO,
    };
    
    enum AmmoType
    {
    	// NOTE:  These values are important.  The Weapons database
    	// refers to these numbers, DO NOT change them!
    	VECTOR=0,
    	PROJECTILE=1,
    	TRIGGER=2,
    	UNKNOWN_AMMO_TYPE=3
    };
    
    enum ModType
    {
    	SILENCER=0,
    	SCOPE,
    	UNKNOWN_MOD_TYPE
    };
    
    
    typedef HRECORD	HWEAPON;
    typedef HRECORD	HWEAPONDATA;
    typedef HRECORD	HAMMO;
    typedef HRECORD	HAMMODATA;
    typedef HRECORD	HGEAR;
    typedef HRECORD	HMOD;
    typedef HRECORD	HWEAPONANI;
    typedef HRECORD HTURRET;
    
    class CWeaponDB : public CGameDatabaseMgr
    {
    	DECLARE_SINGLETON( CWeaponDB );
    
    	public :	// Methods...
    
    		bool	Init( const char *szDatabaseFile = DB_Default_File );
    
    		void	Term() {};
    
    		void	ReadWeapon( const char* szWeaponString, HWEAPON &hWeapon, HAMMO &hAmmo, bool bUseAIData );
    
    		HWEAPON	GetWeaponRecord( const char *pszWeapon ) const;
    		HWEAPON	GetWeaponRecord( uint8 nIndex ) const;
    		HWEAPONDATA GetWeaponData( HWEAPON hWeapon, bool bUseAIStats);
    
    		HAMMO	GetAmmoRecord( const char *pszAmmo ) const;
    		HAMMO	GetAmmoRecord( uint8 nIndex ) const;
    		HAMMODATA GetAmmoData( HAMMO hAmmo, bool bUseAIStats = false);
    
    		HGEAR	GetGearRecord( const char *pszGear ) const;
    		HGEAR	GetGearRecord( uint8 nIndex ) const;
    
    		// Preprocessed damagetype protection for gear.
    		struct GearDamageTypeProtection
    		{
    			GearDamageTypeProtection( )
    			{
    				m_hGear = NULL;
    				m_eDamageType = DT_INVALID;
    			}
    			HRECORD m_hGear;
    			DamageType m_eDamageType;
    		};
    		typedef std::vector<GearDamageTypeProtection> GearDamageTypeProtectionList;
    		GearDamageTypeProtectionList const& GetGearDamageTypeProtectionList( ) const { return m_vecGearDamageTypeProtection; }
    
    		HMOD	GetModRecord( const char *pszMod ) const;
    		HMOD	GetModRecord( uint8 nIndex ) const;
    
    		HTURRET GetTurretRecord( const char *pszTurret ) const;
    		HTURRET GetTurretRecord( uint8 nIndex ) const;
    
    		HRECORD	GetMeleeColliderRecord( const char *pszMeleeCollider ) const;
    		HRECORD	GetMeleeDamageRecord( const char *pszMeleeDamage ) const;
    
    		const char* GetActionIcon( HRECORD hWeapon, int nIndex=0 );
    
    		uint8		GetNumLoadouts( )	const;
    		HRECORD		GetLoadout( uint8 nIndex ) const;
    		HRECORD		GetFallbackLoadout(  ) const;
    
    		uint8		GetNumWeapons( )	const	{ return m_nNumWeapons; }
    		uint8		GetNumAmmo( )		const	{ return m_nNumAmmo; }
    		uint8		GetNumGear( )		const	{ return m_nNumGear; }
    		uint8		GetNumMods( )		const	{ return m_nNumMods; }
    		uint8		GetNumTurrets( )	const	{ return m_nNumTurrets; }
    		
    		uint8		GetNumPlayerWeapons() const;
    		bool		IsPlayerWeapon( HWEAPON hWeapon );
    		uint8		GetPlayerWeaponIndex( HWEAPON hWeapon );
    		HWEAPON		GetPlayerWeapon( uint8 nIndex ) const;
    
    		uint8		GetNumPlayerGrenades() const;
    		bool		IsPlayerGrenade( HWEAPON hWeapon );
    		uint8		GetPlayerGrenadeIndex( HWEAPON hWeapon );
    		HWEAPON		GetPlayerGrenade( uint8 nIndex ) const;
    
    		uint8		GetNumDefaultWeaponPriorities() const;
    		uint8		GetDefaultWeaponPriority( HWEAPON hWeapon );
    		HWEAPON		GetWeaponFromDefaultPriority(uint8 nIndex) const;
    		bool		IsBetterWeapon( HWEAPON hWeaponA, HWEAPON hWeaponB );
    
    		uint32		GetConditionalPriority( HRECORD hGroup );
    		bool		IsBetterConditionalGroup( HRECORD hGroupA, HRECORD hGroupB );
    
    		uint8		GetNumDisplayGear() const;
    		HGEAR		GetDisplayGear( uint8 nIndex ) const;
    
    		uint8		GetWeaponCapacity() const;
    		float		GetSemiAutoBufferTime() const;
    		
    		HCATEGORY	GetWeaponsCategory( )		const	{ return m_hCatWeapons; }
    		HCATEGORY	GetAmmoCategory( )			const	{ return m_hCatAmmo; }
    		HCATEGORY	GetGearCategory( )			const	{ return m_hCatGear; }
    		HCATEGORY	GetModsCategory( )			const	{ return m_hCatMods; }
    		HCATEGORY	GetTurretsCategory( )		const	{ return m_hCatTurrets; }
    		HRECORD		GetGlobalRecord( )			const	{ return m_hRecGlobal; }
    
    		
    		//Find the first weapon that uses this type of ammo...
    		HWEAPON		GetWeaponFromAmmo( HAMMO hAmmo, bool bUseAIData );
    		//Can the specified weapon use the specified ammo
    		bool		CanWeaponUseAmmo( HWEAPON hWeapon, HAMMO hAmmo, bool bUseAIData);
    
    		HWEAPON		GetWeaponFromMod( HMOD hMod, bool bUseAIData );
    
    		
    		void		Restrict( HRECORD hRecord );
    		bool		IsRestricted( HRECORD hRecord );
    
    		uint8		GetAmmoSurfaceFXTypes( const char **pszSurfaceFXTypesArray, uint8 nArrayLen ) const;
    
    		HWEAPON		GetUnarmedRecord( ) const { return m_hUnarmedRecord; }
    		HWEAPON		GetDetonatorRecord( ) const { return m_hDetonatorRecord; }
    
    		inline HRECORD	GetAmmoInstDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline HRECORD	GetAmmoAreaDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline HRECORD	GetAmmoProgDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats = false) const;
    
    		inline DamageType	GetAmmoInstDamageType(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline DamageType	GetAmmoAreaDamageType(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline DamageType	GetAmmoProgDamageType(HAMMO hAmmo, bool bUseAIStats = false) const;
    
    		uint32 GetModelFilesCRC( );
    
    		// Calculate the damage factor for the specified weapon based on vector distance
    		float GetEffectiveVectorRangeDamageFactor(HWEAPON hWeapon, float fDist, bool bUseAIData);
    
    		// Gets the type of mod.
    		ModType		GetModType( HMOD hMod ) const;
    
    	private	:	// Members...
    
    		HCATEGORY	m_hCatWeapons;
    		HCATEGORY	m_hCatAmmo;
    		HCATEGORY	m_hCatMeleeCollider;
    		HCATEGORY	m_hCatMeleeDamage;
    		HCATEGORY	m_hCatGear;
    		HCATEGORY	m_hCatMods;
    		HCATEGORY	m_hCatLoadouts;
    		HCATEGORY	m_hCatGlobal;
    		HCATEGORY	m_hCatTurrets;
    		HRECORD		m_hRecGlobal;
    		
    		uint8		m_nNumWeapons;
    		uint8		m_nNumAmmo;
    		uint8		m_nNumGear;
    		uint8		m_nNumMods;
    		uint8		m_nNumTurrets;
    		
    		HWEAPON		m_hUnarmedRecord;
    		HWEAPON		m_hDetonatorRecord;
    
    		typedef std::vector<HRECORD, LTAllocator<HRECORD, LT_MEM_TYPE_GAMECODE> > HRecordArray;
    		HRecordArray	m_vecRestricted;
    
    		GearDamageTypeProtectionList m_vecGearDamageTypeProtection;
    };
    
    inline bool FiredWeapon(WeaponState eState)
    {
    	return (eState == W_FIRED);
    }
    
    inline HRECORD CWeaponDB::GetAmmoInstDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return GetRecordLink(g_pWeaponDB->GetAmmoData(hAmmo,bUseAIStats),WDB_AMMO_rInstDamageType);
    }
    inline HRECORD CWeaponDB::GetAmmoAreaDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return GetRecordLink(g_pWeaponDB->GetAmmoData(hAmmo,bUseAIStats),WDB_AMMO_rAreaDamageType);
    }
    inline HRECORD CWeaponDB::GetAmmoProgDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return GetRecordLink(g_pWeaponDB->GetAmmoData(hAmmo,bUseAIStats),WDB_AMMO_rProgDamageType);
    }
    
    inline DamageType CWeaponDB::GetAmmoInstDamageType(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return g_pDTDB->GetDamageType(GetAmmoInstDamageTypeRecord(hAmmo,bUseAIStats));
    }
    inline DamageType CWeaponDB::GetAmmoAreaDamageType(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return g_pDTDB->GetDamageType(GetAmmoAreaDamageTypeRecord(hAmmo,bUseAIStats));
    }
    inline DamageType CWeaponDB::GetAmmoProgDamageType(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return g_pDTDB->GetDamageType(GetAmmoProgDamageTypeRecord(hAmmo,bUseAIStats));
    }
    
    
    
    ////////////////////////////////////////////////////////////////////////////
    //
    // CWeaponDBPlugin is used to help facilitate populating the WorldEdit object
    // properties that use WeaponDB
    //
    ////////////////////////////////////////////////////////////////////////////
    #ifdef _SERVERBUILD
    
    #include "iobjectplugin.h"
    
    class CWeaponDBPlugin;
    extern CWeaponDBPlugin *g_pWeaponDBPlugin;
    
    class CWeaponDBPlugin : public IObjectPlugin
    {
    	private:
    
    		CWeaponDBPlugin();
    		CWeaponDBPlugin( const CWeaponDBPlugin &other );
    		CWeaponDBPlugin& operator=( const CWeaponDBPlugin &other );
    		~CWeaponDBPlugin();
    
    
    	public:
    
    		static CWeaponDBPlugin& Instance() { static CWeaponDBPlugin sPlugin; return sPlugin; }
    
    		bool Init( );
    
    		// This will be removed once the FXMgr and it's plugin are converted
    		// to a database.
    		LTRESULT PreHook_EditStringList(
    			const char* szRezPath,
    			const char* szPropName,
    			char** aszStrings,
    			uint32* pcStrings,
    			const uint32 cMaxStrings,
    			const uint32 cMaxStringLength);
    
    		static void PopulateStringList(char** aszStrings, uint32* pcStrings,
    			const uint32 cMaxStrings, const uint32 cMaxStringLength, bool bPickupList);
    
    	protected :
    
    
    };
    
    #endif // _SERVERBUILD
    
    
    #endif // __WEAPON_DATABASE_H__
    wanna cookie?
    The Internet SHOULD Be Illegal

    When you say
    "Java is a great programming language because it works on all platforms"
    it is just like
    "anal sex is great because it works on all genders"

    Are YOU a Troll?

  4. #709
    NOOB's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Posts
    3,843
    Reputation
    425
    Thanks
    8,616
    Quote Originally Posted by supercarz1991 View Post
    lol theres not much to framestrings though...FEAR framestrings are similar though, so look through this if you want an idea

    Code:
    // ----------------------------------------------------------------------- //
    //
    // MODULE  : WeaponDB.h
    //
    // PURPOSE : Weapon database definition
    //
    // CREATED : 06/16/03
    //
    // (c) 2003-2005 Monolith Productions, Inc.  All Rights Reserved
    //
    // ----------------------------------------------------------------------- //
    
    #ifndef __WEAPON_DATABASE_H__
    #define __WEAPON_DATABASE_H__
    
    //
    // Includes...
    //
    
    #include "GameDatabaseMgr.h"
    #include "DamageTypes.h"
    #include "CategoryDB.h"	
    
    
    //
    // Defines...
    //
    	
    #define WEAPON_SOUND_RADIUS					2000.0f
    #define WEAPON_MIN_IDLE_TIME				5.0f
    #define WEAPON_MAX_IDLE_TIME				15.0f
    #define WEAPON_KEY_FIRE						"FIRE_KEY"
    #define WEAPON_KEY_FINISH					"FINISH"
    #define WEAPON_KEY_FINISH_RAGDOLL			"FINISH_RAGDOLL"
    #define WEAPON_KEY_SOUND					"SOUND_KEY"
    #define WEAPON_KEY_BUTE_SOUND				"BUTE_SOUND_KEY"
    #define WEAPON_KEY_LOOPSOUND				"LOOP_SOUND_KEY"
    #define WEAPON_KEY_FX						"FX"
    #define WEAPON_KEY_FIREFX					"FIREFX_KEY"
    #define WEAPON_KEY_FLASHLIGHT				"FLASHLIGHT"
    #define WEAPON_KEY_MATERIAL					"MATERIAL"
    #define WEAPON_KEY_HIDE_MODEL_PIECE			"HIDE_PIECE_KEY"  // usage: HIDE_PIECE_KEY <piece name>
    #define WEAPON_KEY_SHOW_MODEL_PIECE			"SHOW_PIECE_KEY"  // usage: SHOW_PIECE_KEY <piece name>	
    #define WEAPON_KEY_SHELLCASING				"SHELL_CASING"
    #define WEAPON_KEY_HIDE_PVATTACHFX			"HIDE_PVATTACHFX"	// usage: HIDE_PVFX <index of a PVAttachFXName#>
    #define WEAPON_KEY_SHOW_PVATTACHFX			"SHOW_PVATTACHFX"	// usage: SHOW_PVFX <index of a PVAttachFXName#>
    #define WEAPON_KEY_HIDE_PVATTACHMENT		"HIDE_PVATTACHMENT" // usage: HIDE_PVATTACHMENT <index of a PlayerViewAttachment>
    #define WEAPON_KEY_SHOW_PVATTACHMENT		"SHOW_PVATTACHMENT" // usage: SHOW_PVATTACHMENT <index of a PlayerViewAttachment>
    
    #define WEAPONDB_DEFAULT_FILE				"Database\\" "Weapons." RESEXT_GAMEDATABASE_PACKED
    	
    // The main system category were all arsenal related data goes...
    #define WDB_ARSENAL_CATEGORY				"Arsenal/"
    
    #define WDB_ALL_bCanServerRestrict			"CanServerRestrict"
    #define WDB_ALL_nDescriptionId				"DescriptionId"
    
    #define WDB_WEAPON_CATEGORY					WDB_ARSENAL_CATEGORY "Weapons"
    
    #define WDB_WEAPON_nShortNameId				"ShortNameId"
    #define WDB_WEAPON_nLongNameId				"LongNameId"
    #define WDB_WEAPON_nAniType					"AniType"
    #define WDB_WEAPON_vPos						"Pos"
    #define WDB_WEAPON_sMuzzleSocket			"MuzzleSocket"
    #define WDB_WEAPON_sBreachSocket			"BreachSocket"
    #define WDB_WEAPON_fHHScale					"HHModelScale"
    #define WDB_WEAPON_sPVModel					"PVModel"
    #define WDB_WEAPON_sHHModel					"HHModel"
    #define WDB_WEAPON_sPVMaterial				"PVMaterial"
    #define WDB_WEAPON_sHHMaterial				"HHMaterial"
    #define	WDB_WEAPON_sHiddenPieceName			"HiddenPiece"
    #define WDB_WEAPON_sRespawnWaitMaterial		"RespawnWaitMaterial"
    #define WDB_WEAPON_rFireSnd					"FireSound"
    #define WDB_WEAPON_rFireLoopSnd				"FireSoundLoop"
    #define WDB_WEAPON_rFireLoopEndSnd			"FireSoundLoopEnd"
    #define WDB_WEAPON_rAltFireSnd				"AltFireSound"
    #define WDB_WEAPON_rSilencedFireSnd			"SilencedFireSnd"
    #define WDB_WEAPON_rDryFireSnd				"DryFireSound"
    #define WDB_WEAPON_rReloadSnd				"ReloadSounds"
    #define WDB_WEAPON_rSelectSnd				"SelectSound"
    #define WDB_WEAPON_rDeselectSnd				"DeselectSound"
    #define WDB_WEAPON_rMiscSnd					"MiscSounds"
    #define WDB_WEAPON_fAIFireSndRadius			"AIFireSndRadius"
    #define WDB_WEAPON_bInfiniteAmmo			"InfiniteAmmo"
    #define WDB_WEAPON_bHideWhenEmpty			"HideWhenEmpty"
    #define WDB_WEAPON_bIsAmmo					"IsAmmo"
    #define WDB_WEAPON_bIsGrenade				"IsGrenade"
    #define WDB_WEAPON_bDropGrenadeOnDeath		"DropGrenadeOnDeath"
    #define WDB_WEAPON_bTakesInventorySlot		"TakesInventorySlot"
    #define WDB_WEAPON_bCanLastWeapon			"CanLastWeapon"
    #define WDB_WEAPON_bUseUWMuzzleFX			"UseUWMuzzleFX"
    #define WDB_WEAPON_nShotsPerClip			"ShotsPerClip"
    #define WDB_WEAPON_bInfiniteClip			"InfiniteClip"
    #define WDB_WEAPON_rAmmoName				"AmmoName"
    #define WDB_WEAPON_rDefaultMeleeAmmo		"DefaultMeleeAmmo"
    #define WDB_WEAPON_rModName					"ModName"
    #define WDB_WEAPON_v2Perturb				"Perturb"
    #define WDB_WEAPON_nRange					"Range"
    #define WDB_WEAPON_nEffectiveVectorRange	"EffectiveVectorRange"
    #define WDB_WEAPON_nVectorHalfDamageDist	"VectorHalfDamageDist"
    #define WDB_WEAPON_nVectorsPerRound			"VectorsPerRound"
    #define WDB_WEAPON_bSemiAuto				"Semi-Auto"
    #define WDB_WEAPON_bAutoSwitchEnabled		"AutoSwitchEnabled"
    #define WDB_WEAPON_bSupportsFinishingMoves	"SupportsFinishingMoves"
    #define WDB_WEAPON_sCriticalHitSocket		"CriticalHitSocket"
    #define WDB_WEAPON_sCriticalHitImpactSocket	"CriticalHitImpactSocket"
    #define WDB_WEAPON_fCriticalHitDistance		"CriticalHitDistance"
    #define WDB_WEAPON_fCriticalHitAngle		"CriticalHitAngle"
    #define WDB_WEAPON_fCriticalHitViewAngle	"CriticalHitViewAngle"
    #define WDB_WEAPON_hAIWeaponName			"AIWeaponName"
    #define WDB_WEAPON_fFireRecoilKick			"FireRecoilKick"
    #define WDB_WEAPON_fFireRecoilYawRatio		"FireRecoilYawRatio"
    #define WDB_WEAPON_fFireRecoilDecay			"FireRecoilDecay"
    #define WDB_WEAPON_sPVMuzzleFX				"PVMuzzleFX"
    #define WDB_WEAPON_sPVMuzzleFX2				"PVMuzzleFX2"
    #define WDB_WEAPON_sHHMuzzleFX				"HHMuzzleFX"
    #define WDB_WEAPON_bFXAtFlashSocket			"FXAtFlashSocket"
    #define WDB_WEAPON_nFireDelay				"FireDelay"
    #define WDB_WEAPON_sHolsterAttachment		"HolsterAttachment"
    #define WDB_WEAPON_fFireAnimRateScale		"FireAnimRateScale"
    #define WDB_WEAPON_fReloadAnimRateScale		"ReloadAnimRateScale"
    #define WDB_WEAPON_sPowerupFX				"PowerupFX"
    #define WDB_WEAPON_bRespawnControlledSP		"RespawnControlledSP"
    #define WDB_WEAPON_bRespawnControlledMP		"RespawnControlledMP"
    #define WDB_WEAPON_fRespawnWait				"RespawnWait"
    #define WDB_WEAPON_sRespawnWaitFX			"RespawnWaitFX"
    #define WDB_WEAPON_bRespawnWaitVisible		"RespawnWaitVisible"
    #define WDB_WEAPON_bRespawnWaitTranslucent	"RespawnWaitTranslucent"
    #define WDB_WEAPON_fAutoTargetAngle			"AutoTargetAngle"
    #define WDB_WEAPON_fAutoTargetRange			"AutoTargetRange"
    #define WDB_WEAPON_nUseAutoTarget			"UseAutoTarget"
    #define WDB_WEAPON_sIcon					"Icon"
    #define WDB_WEAPON_sSilhouetteIcon			"SilhouetteIcon"
    #define WDB_WEAPON_sAnimationProperty		"AnimationProperty"
    #define WDB_WEAPON_sCountdownFX				"CountdownFX"
    #define WDB_WEAPON_sEndFX					"EndFX"
    #define WDB_WEAPON_bUsePreFire				"UsePreFire"
    #define WDB_WEAPON_bUsePostFire				"UsePostFire"
    #define WDB_WEAPON_bLoopPrePostFire			"LoopPrePostFire"
    #define WDB_WEAPON_sMuzzleSmokeFX			"MuzzleSmokeFX"
    #define WDB_WEAPON_fPerturbIncreaseRate		"Accuracy.0.PerturbIncreaseRate"
    #define WDB_WEAPON_fPerturbDecreaseRate		"Accuracy.0.PerturbDecreaseRate"
    #define WDB_WEAPON_fStand					"Accuracy.0.Stand"
    #define WDB_WEAPON_fWalk					"Accuracy.0.Walk"
    #define WDB_WEAPON_fRun						"Accuracy.0****n"
    #define WDB_WEAPON_fJump					"Accuracy.0.Jump"
    #define WDB_WEAPON_fCrouch					"Accuracy.0.Crouch"
    #define WDB_WEAPON_fCrouch_Walk				"Accuracy.0.Crouch_Walk"
    #define WDB_WEAPON_fAim						"Accuracy.0.Aim"
    #define WDB_WEAPON_fAim_Crouch				"Accuracy.0.Aim_Crouch"
    #define WDB_WEAPON_fAim_Walk				"Accuracy.0.Aim_Walk"
    #define WDB_WEAPON_fAim_Crouch_Walk			"Accuracy.0.Aim_Crouch_Walk"
    #define WDB_WEAPON_fSwim					"Accuracy.0.Swim"
    #define WDB_WEAPON_fTurn					"Accuracy.0.Turn"
    #define WDB_WEAPON_fRecoil					"Accuracy.0.Recoil"
    #define WDB_WEAPON_fMovementMultiplier		"MovementMultiplier"
    #define WDB_WEAPON_rComplimentaryWeapon		"ComplimentaryWeapon"
    #define WDB_WEAPON_bNotForPlayer			"NotForPlayer"
    #define WDB_WEAPON_bWhenDroppedGiveAmmoInClip "WhenDroppedGiveAmmoInClip"
    #define WDB_WEAPON_bDroppedMoveToFloor		"DroppedMoveToFloor"
    #define WDB_WEAPON_nActivationType			"ActivationType"
    #define WDB_WEAPON_rDualWeapon				"DualWeapon"
    #define WDB_WEAPON_rSingleWeapon			"SingleWeapon"
    #define WDB_WEAPON_RightHandWeapon			"RightHandWeapon"
    #define WDB_WEAPON_LeftHandWeapon			"LeftHandWeapon"
    #define WDB_WEAPON_nMaxFireFrequency		"MaxFireFrequency"
    #define WDB_WEAPON_rLinkedWeapon			"LinkedWeapon"
    #define WDB_WEAPON_bSelectLinked			"SelectLinked"
    #define WDB_WEAPON_rCustomDisplay			"CustomDisplay"
    #define WDB_WEAPON_LocalSoundInfo			"LocalFireSound"
    #define WDB_WEAPON_NonLocalSoundInfo		"NonLocalFireSound"
    #define WDB_WEAPON_rCollisionProperty		"CollisionProperty"
    #define WDB_WEAPON_rFlashlights				"Flashlights"
    #define WDB_WEAPON_sHUDTexture				"HUDTexture"
    #define WDB_WEAPON_rActionIcon				"ActionIcon"
    #define WDB_WEAPON_rAnimControllers			"AnimControllers"
    #define WDB_WEAPON_v2MinProximity			"MinProximity"
    #define WDB_WEAPON_CustomSelectStimulus		"CustomSelectStimulus"
    #define WDB_WEAPON_aPersistentClientFX		"PersistentClientFX"
    #define WDB_WEAPON_sClientFX				"ClientFX"
    #define WDB_WEAPON_bVisible					"Visible"
    #define WDB_WEAPON_bSmoothShutdown			"SmoothShutdown"
    #define WDB_WEAPON_nMaxHealth				"BreakInfo.0.MaxHealth"
    #define WDB_WEAPON_nWarnHealth				"BreakInfo.0.WarnHealth"
    #define WDB_WEAPON_sShowPieces				"BreakInfo.0.ShowPieces"
    #define WDB_WEAPON_sHidePieces				"BreakInfo.0.HidePieces"
    #define WDB_WEAPON_sDebrisFX				"BreakInfo.0.DebrisFX"
    #define WDB_WEAPON_sDebrisSocket			"BreakInfo.0.DebrisSocket"
    #define WDB_WEAPON_rBrokenWeapon			"BreakInfo.0.BrokenWeapon"
    #define WDB_WEAPON_bCanBePlaced				"CanBePlaced"
    
    #define WDB_AMMO_CATEGORY					WDB_ARSENAL_CATEGORY "Ammo"
    
    #define WDB_AMMO_nShortNameId				"ShortNameId"
    #define WDB_AMMO_nLongNameId				"LongNameId"
    #define WDB_AMMO_nPlacedAmount				"PlacedAmount"
    #define WDB_AMMO_nPickupInitialAmount		"PickupInitialAmount"
    #define WDB_AMMO_nPickupSupplementalAmount	"PickupSupplementalAmount"
    #define WDB_AMMO_nSelectionAmount			"SelectionAmount"
    #define WDB_AMMO_nMaxAmount					"MaxAmount"
    #define WDB_AMMO_fInstDamage				"InstDamage"
    #define WDB_AMMO_fAreaDamage				"AreaDamage"
    #define WDB_AMMO_fInstDamageImpulseForce	"InstDamageImpulseForce"
    #define WDB_AMMO_fHitNodeImpulseForceScale	"HitNodeImpulseForceScale"
    #define WDB_AMMO_fAreaDamageImpulseForce	"AreaDamageImpulseForce"
    #define WDB_AMMO_fInstPenetration			"InstPenetration"
    #define WDB_AMMO_fAreaPenetration			"AreaPenetration"
    #define WDB_AMMO_fAreaDamageRadius			"AreaDamageRadius"
    #define WDB_AMMO_fAreaDamageRadiusMin		"AreaDamageRadiusMin"
    #define WDB_AMMO_bCanAdjustInstDamage		"CanAdjustInstDamage"
    #define WDB_AMMO_nPriority					"Priority"
    #define WDB_AMMO_fFireRecoilMult			"FireRecoilMult"
    #define WDB_AMMO_fProgDamage				"ProgDamage"
    #define WDB_AMMO_fProgDamageDuration		"ProgDamageDuration"
    #define WDB_AMMO_fProgDamageRadius			"ProgDamageRadius"
    #define WDB_AMMO_fProgDamageLifetime		"ProgDamageLifetime"
    #define WDB_AMMO_sSurfaceFXType				"SurfaceFXType"
    #define WDB_AMMO_nType						"Type"
    #define WDB_AMMO_sIcon						"Icon"
    #define WDB_AMMO_sProjectileFX				"ProjectileFX"
    #define WDB_AMMO_sImpactFX					"ImpactFX"
    #define WDB_AMMO_sUWImpactFX				"UWImpactFX"
    #define WDB_AMMO_sMovableImpactOverrideFX	"MoveableImpactOverrideFX"
    #define WDB_AMMO_sFireFX					"FireFX"
    #define WDB_AMMO_sTracerFX					"TracerFX"
    #define WDB_AMMO_bHeatSeeking				"HeatSeeking"
    #define WDB_AMMO_fHeatSeekingRange			"HeatSeekingRange"
    #define WDB_AMMO_fHeatSeekingAngle			"HeatSeekingAngle"
    #define WDB_AMMO_fHeatSeekingRateOfTurn		"HeatSeekingRateOfTurn"
    #define WDB_AMMO_rInstDamageType			"InstDamage_Type"
    #define WDB_AMMO_rAreaDamageType			"AreaDamage_Type"
    #define WDB_AMMO_rProgDamageType			"ProgDamage_Type"
    #define WDB_AMMO_nRange						"Range"
    #define WDB_AMMO_sSourceImpactSocket		"SourceImpactSocket"
    #define WDB_AMMO_sTriggerMessage			"TriggerMessage"
    #define WDB_AMMO_bCanWallStick				"CanWallStick"
    #define WDB_AMMO_rWallStickProp				"WallStickProp"
    #define WDB_AMMO_sHUDTexture				"HUDTexture"
    #define WDB_AMMO_sFlyBySound				"FlyBySound"
    
    #define WDB_MELEECOLLIDER_CATEGORY			WDB_ARSENAL_CATEGORY "MeleeCollider"
    #define WDB_MELEEDAMAGE_CATEGORY			WDB_ARSENAL_CATEGORY "MeleeDamage"
    
    #define WDB_GEAR_CATEGORY					WDB_ARSENAL_CATEGORY "Gear"
    
    #define WDB_GEAR_nNameId					"NameId"
    #define WDB_GEAR_bRespawnWaitVisible		"RespawnWaitVisible"
    #define WDB_GEAR_bRespawnWaitTranslucent	"RespawnWaitTranslucent"
    #define WDB_GEAR_fProtection				"Protection"
    #define WDB_GEAR_fArmor						"Armor"
    #define WDB_GEAR_fHealth					"Health"
    #define WDB_GEAR_fArmorMax					"ArmorMax"
    #define WDB_GEAR_fHealthMax					"HealthMax"
    #define WDB_GEAR_fStealth					"Stealth"
    #define WDB_GEAR_fSlowMoTime				"SlowMoTime"
    #define WDB_GEAR_fSlowMoMaxBonus			"SlowMoMaxBonus"
    #define WDB_GEAR_sIcon						"Icon"
    #define WDB_GEAR_sModel						"Model"
    #define WDB_GEAR_rPickupSnd					"PickUp_Sound"
    #define WDB_GEAR_rRespawnSnd				"Respawn_Sound"
    #define WDB_GEAR_sActivateFX				"ActivateFX"
    #define WDB_GEAR_sPowerupFX					"PowerupFX"
    #define WDB_GEAR_sRespawnWaitFX				"RespawnWaitFX"
    #define WDB_GEAR_sMaterial					"Material"
    #define WDB_GEAR_sRespawnWaitMaterial		"RespawnWaitMaterial"
    #define WDB_GEAR_sProtectionType			"ProtectionType"
    #define WDB_GEAR_nMaxAmount					"MaxAmount"
    #define WDB_GEAR_nThreshold					"Threshold"
    #define WDB_GEAR_rNavMarker					"NavMarker"
    
    #define WDB_MOD_CATEGORY					WDB_ARSENAL_CATEGORY "Mods"
    
    #define WDB_MOD_sSocket						"Socket"
    #define WDB_MOD_nNameId						"NameId"
    #define WDB_MOD_nType						"Type"
    #define WDB_MOD_sAttachModel				"AttachModel"
    #define WDB_MOD_sAttachMaterial				"AttachMaterial"
    #define WDB_MOD_fAttachScale				"AttachScale"
    #define WDB_MOD_bIntegrated					"Integrated"
    #define WDB_MOD_nPriority					"Priority"
    #define WDB_MOD_fMagPower					"Scope.0.MagPower"
    #define WDB_MOD_fZoomTimeIn					"Scope.0.ZoomTimeIn"
    #define WDB_MOD_fZoomTimeOut				"Scope.0.ZoomTimeOut"
    #define WDB_MOD_rScopeFXSequence			"Scope.0.ScopeFXSequence"
    #define WDB_MOD_bIronSight					"Scope.0.IronSight"
    #define WDB_MOD_bShowRangeFinder			"Scope.0.ShowRangeFinder"
    #define WDB_MOD_v2RangeFinderPosition		"Scope.0.RangeFinderPosition"
    #define WDB_MOD_nRangeFinderColor			"Scope.0.RangeFinderColor"
    #define WDB_MOD_bShowCrosshair				"Scope.0.ShowCrosshair"
    #define WDB_MOD_fHeadBobModifier			"Scope.0.HeadBobModifier"
    
    #define WDB_MOD_nAISilencedFireSndRadius	"Silencer.0.AISilencedFireSndRadius"
    
    
    #define WDB_GLOBAL_CATEGORY					WDB_ARSENAL_CATEGORY "Global"
    #define	WDB_GLOBAL_RECORD					"Global"
    
    #define WDB_GLOBAL_rPlayerWeapons			"PlayerWeapons"
    #define WDB_GLOBAL_rPlayerGrenades			"PlayerGrenades"
    #define WDB_GLOBAL_rWeaponPriority			"WeaponPriority"
    #define WDB_GLOBAL_rConditionalPriority		"ConditionalPriority"
    #define WDB_GLOBAL_rUnarmed					"Unarmed"
    #define WDB_GLOBAL_rDefaultWeapons			"AdditionalDefaultWeapons"
    #define WDB_GLOBAL_rMPDefaultWeapons		"MultiplayerDefaultWeapons"
    #define WDB_GLOBAL_rGearOrder				"GearOrder"
    #define WDB_GLOBAL_rLoadoutOrder			"LoadoutOrder"
    #define WDB_GLOBAL_rFallbackLoadout			"FallbackLoadout"
    #define WDB_GLOBAL_tDroppedWeaponLifeTime	"DroppedWeaponLifeTime"
    #define WDB_GLOBAL_rDroppedGearItems		"DroppedGearItems"
    #define WDB_GLOBAL_tDroppedGearLifeTime		"DroppedGearLifeTime"
    #define WDB_GLOBAL_nMaxWeaponCapacity		"MaxWeaponCapacity"
    #define WDB_GLOBAL_rDetonator				"Detonator"
    #define WDB_GLOBAL_tSemiAutoBufferTime		"SemiAutoBufferTime"
    #define WDB_GLOBAL_tProjectileExplosionDelay	"ProjectileExplosionDelay"
    #define WDB_GLOBAL_sDefaultAnimationName	"DefaultAnimationName"
    #define WDB_GLOBAL_sSlowMoRechargerFXName		"SlowMoRechargerFXName"
    
    #define WDB_LOADOUT_CATEGORY					WDB_ARSENAL_CATEGORY "Loadout"
    #define WDB_LOADOUT_nNameId						"NameId"
    #define WDB_LOADOUT_nDescId						"DescId"
    #define WDB_LOADOUT_rWeapons					"Weapons"
    #define WDB_LOADOUT_rGear						"Gear"
    
    
    #define WDB_TURRET_CATEGORY						WDB_ARSENAL_CATEGORY "Turrets"
    
    #define WDB_TURRET_rWeapon						"Weapon"
    #define WDB_TURRET_sBaseModel					"BaseModel"
    #define WDB_TURRET_sBaseMaterial				"BaseMaterial"
    #define WDB_TURRET_bHideBase					"HideBase"
    #define WDB_TURRET_bHideHUD					"HideHUD"
    #define WDB_TURRET_fActivateDistance			"ActivateDistance"
    #define WDB_TURRET_fActivateApproachAngle		"ActivateApproachAngle"
    #define WDB_TURRET_vPlayerOffset				"PlayerOffset"
    #define WDB_TURRET_v2PitchRange					"PitchRange"
    #define WDB_TURRET_fYawLimit					"YawLimit"
    #define	WDB_TURRET_sLoopFX						"LoopFX"
    #define WDB_TURRET_sDamageFX					"DamageFX"
    #define WDB_TURRET_DamageState					"DamageState"
    #define WDB_TURRET_fHealthPercent				"HealthPercent"
    #define WDB_TURRET_fxClientFX					"ClientFX"
    #define WDB_TURRET_bSmoothShutdown				"SmoothShutdown"
    #define WDB_TURRET_bPersistAcrossDamageStates	"PersistAcrossDamageStates"
    #define WDB_TURRET_tmDestroyedDeactivationDelay	"DestroyedDeactivationDelay"
    
    
    BEGIN_DATABASE_CATEGORY( RefillStations, WDB_ARSENAL_CATEGORY "RefillStations" )
    	DEFINE_GETRECORDATTRIB( Model, HRECORD );
    	DEFINE_GETRECORDATTRIB( Radius, uint32 );
    	DEFINE_GETRECORDATTRIB( UpdateRate, uint32 );
    	DEFINE_GETRECORDATTRIB( RefillSound, HRECORD );
    	DEFINE_GETRECORDATTRIB( DepletedSound, HRECORD );
    	DEFINE_GETSTRUCTATTRIB( Health, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( Health, TotalAmount, int32 );
    	DEFINE_GETSTRUCTATTRIB( Armor, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( Armor, TotalAmount, int32 );
    	DEFINE_GETSTRUCTATTRIB( Ammo, Ammo, HRECORD );
    	DEFINE_GETSTRUCTATTRIB( Ammo, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( Ammo, TotalAmount, int32 );
    	DEFINE_GETSTRUCTATTRIB( SlowMo, AmountPerUpdate, uint32 );
    	DEFINE_GETSTRUCTATTRIB( SlowMo, TotalAmount, int32 );
    END_DATABASE_CATEGORY( );
    
    #define WDB_REFILL_CATEGORY						WDB_ARSENAL_CATEGORY "RefillStations"
    
    #define WDB_REFILL_rModel						"Model"
    #define WDB_REFILL_nRadius						"Radius"
    #define WDB_REFILL_tUpdateRate					"UpdateRate"
    #define WDB_REFILL_rRefillSound					"RefillSound"
    #define WDB_REFILL_rDepletedSound				"DepletedSound"
    
    
    
    #define WDB_INVALID_WEAPON_INDEX				(0xFF)
    
    #define WDB_LOWEST_CONDITIONAL_PRIORITY			(-1)
    
    #define USE_AI_DATA true
    
    class CWeaponDB;
    extern CWeaponDB* g_pWeaponDB;
    
    enum AutoTargetType
    {
    	AT_NEVER = 0,
    	AT_EASY,
    	AT_ALWAYS
    };
    
    enum WeaponState
    {
    	W_INACTIVE,
    	W_IDLE,
    	W_FIRING,
    	W_FIRED,
    	W_ALT_FIRING,
    	W_GREN_THROWING,
    	W_RELOADING,
    	W_FIRING_NOAMMO,
    	W_SELECT,
    	W_DESELECT,
    	W_AUTO_SWITCH,
    	W_BLOCKING,
    	W_CHECKING_AMMO,
    };
    
    enum AmmoType
    {
    	// NOTE:  These values are important.  The Weapons database
    	// refers to these numbers, DO NOT change them!
    	VECTOR=0,
    	PROJECTILE=1,
    	TRIGGER=2,
    	UNKNOWN_AMMO_TYPE=3
    };
    
    enum ModType
    {
    	SILENCER=0,
    	SCOPE,
    	UNKNOWN_MOD_TYPE
    };
    
    
    typedef HRECORD	HWEAPON;
    typedef HRECORD	HWEAPONDATA;
    typedef HRECORD	HAMMO;
    typedef HRECORD	HAMMODATA;
    typedef HRECORD	HGEAR;
    typedef HRECORD	HMOD;
    typedef HRECORD	HWEAPONANI;
    typedef HRECORD HTURRET;
    
    class CWeaponDB : public CGameDatabaseMgr
    {
    	DECLARE_SINGLETON( CWeaponDB );
    
    	public :	// Methods...
    
    		bool	Init( const char *szDatabaseFile = DB_Default_File );
    
    		void	Term() {};
    
    		void	ReadWeapon( const char* szWeaponString, HWEAPON &hWeapon, HAMMO &hAmmo, bool bUseAIData );
    
    		HWEAPON	GetWeaponRecord( const char *pszWeapon ) const;
    		HWEAPON	GetWeaponRecord( uint8 nIndex ) const;
    		HWEAPONDATA GetWeaponData( HWEAPON hWeapon, bool bUseAIStats);
    
    		HAMMO	GetAmmoRecord( const char *pszAmmo ) const;
    		HAMMO	GetAmmoRecord( uint8 nIndex ) const;
    		HAMMODATA GetAmmoData( HAMMO hAmmo, bool bUseAIStats = false);
    
    		HGEAR	GetGearRecord( const char *pszGear ) const;
    		HGEAR	GetGearRecord( uint8 nIndex ) const;
    
    		// Preprocessed damagetype protection for gear.
    		struct GearDamageTypeProtection
    		{
    			GearDamageTypeProtection( )
    			{
    				m_hGear = NULL;
    				m_eDamageType = DT_INVALID;
    			}
    			HRECORD m_hGear;
    			DamageType m_eDamageType;
    		};
    		typedef std::vector<GearDamageTypeProtection> GearDamageTypeProtectionList;
    		GearDamageTypeProtectionList const& GetGearDamageTypeProtectionList( ) const { return m_vecGearDamageTypeProtection; }
    
    		HMOD	GetModRecord( const char *pszMod ) const;
    		HMOD	GetModRecord( uint8 nIndex ) const;
    
    		HTURRET GetTurretRecord( const char *pszTurret ) const;
    		HTURRET GetTurretRecord( uint8 nIndex ) const;
    
    		HRECORD	GetMeleeColliderRecord( const char *pszMeleeCollider ) const;
    		HRECORD	GetMeleeDamageRecord( const char *pszMeleeDamage ) const;
    
    		const char* GetActionIcon( HRECORD hWeapon, int nIndex=0 );
    
    		uint8		GetNumLoadouts( )	const;
    		HRECORD		GetLoadout( uint8 nIndex ) const;
    		HRECORD		GetFallbackLoadout(  ) const;
    
    		uint8		GetNumWeapons( )	const	{ return m_nNumWeapons; }
    		uint8		GetNumAmmo( )		const	{ return m_nNumAmmo; }
    		uint8		GetNumGear( )		const	{ return m_nNumGear; }
    		uint8		GetNumMods( )		const	{ return m_nNumMods; }
    		uint8		GetNumTurrets( )	const	{ return m_nNumTurrets; }
    		
    		uint8		GetNumPlayerWeapons() const;
    		bool		IsPlayerWeapon( HWEAPON hWeapon );
    		uint8		GetPlayerWeaponIndex( HWEAPON hWeapon );
    		HWEAPON		GetPlayerWeapon( uint8 nIndex ) const;
    
    		uint8		GetNumPlayerGrenades() const;
    		bool		IsPlayerGrenade( HWEAPON hWeapon );
    		uint8		GetPlayerGrenadeIndex( HWEAPON hWeapon );
    		HWEAPON		GetPlayerGrenade( uint8 nIndex ) const;
    
    		uint8		GetNumDefaultWeaponPriorities() const;
    		uint8		GetDefaultWeaponPriority( HWEAPON hWeapon );
    		HWEAPON		GetWeaponFromDefaultPriority(uint8 nIndex) const;
    		bool		IsBetterWeapon( HWEAPON hWeaponA, HWEAPON hWeaponB );
    
    		uint32		GetConditionalPriority( HRECORD hGroup );
    		bool		IsBetterConditionalGroup( HRECORD hGroupA, HRECORD hGroupB );
    
    		uint8		GetNumDisplayGear() const;
    		HGEAR		GetDisplayGear( uint8 nIndex ) const;
    
    		uint8		GetWeaponCapacity() const;
    		float		GetSemiAutoBufferTime() const;
    		
    		HCATEGORY	GetWeaponsCategory( )		const	{ return m_hCatWeapons; }
    		HCATEGORY	GetAmmoCategory( )			const	{ return m_hCatAmmo; }
    		HCATEGORY	GetGearCategory( )			const	{ return m_hCatGear; }
    		HCATEGORY	GetModsCategory( )			const	{ return m_hCatMods; }
    		HCATEGORY	GetTurretsCategory( )		const	{ return m_hCatTurrets; }
    		HRECORD		GetGlobalRecord( )			const	{ return m_hRecGlobal; }
    
    		
    		//Find the first weapon that uses this type of ammo...
    		HWEAPON		GetWeaponFromAmmo( HAMMO hAmmo, bool bUseAIData );
    		//Can the specified weapon use the specified ammo
    		bool		CanWeaponUseAmmo( HWEAPON hWeapon, HAMMO hAmmo, bool bUseAIData);
    
    		HWEAPON		GetWeaponFromMod( HMOD hMod, bool bUseAIData );
    
    		
    		void		Restrict( HRECORD hRecord );
    		bool		IsRestricted( HRECORD hRecord );
    
    		uint8		GetAmmoSurfaceFXTypes( const char **pszSurfaceFXTypesArray, uint8 nArrayLen ) const;
    
    		HWEAPON		GetUnarmedRecord( ) const { return m_hUnarmedRecord; }
    		HWEAPON		GetDetonatorRecord( ) const { return m_hDetonatorRecord; }
    
    		inline HRECORD	GetAmmoInstDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline HRECORD	GetAmmoAreaDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline HRECORD	GetAmmoProgDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats = false) const;
    
    		inline DamageType	GetAmmoInstDamageType(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline DamageType	GetAmmoAreaDamageType(HAMMO hAmmo, bool bUseAIStats = false) const;
    		inline DamageType	GetAmmoProgDamageType(HAMMO hAmmo, bool bUseAIStats = false) const;
    
    		uint32 GetModelFilesCRC( );
    
    		// Calculate the damage factor for the specified weapon based on vector distance
    		float GetEffectiveVectorRangeDamageFactor(HWEAPON hWeapon, float fDist, bool bUseAIData);
    
    		// Gets the type of mod.
    		ModType		GetModType( HMOD hMod ) const;
    
    	private	:	// Members...
    
    		HCATEGORY	m_hCatWeapons;
    		HCATEGORY	m_hCatAmmo;
    		HCATEGORY	m_hCatMeleeCollider;
    		HCATEGORY	m_hCatMeleeDamage;
    		HCATEGORY	m_hCatGear;
    		HCATEGORY	m_hCatMods;
    		HCATEGORY	m_hCatLoadouts;
    		HCATEGORY	m_hCatGlobal;
    		HCATEGORY	m_hCatTurrets;
    		HRECORD		m_hRecGlobal;
    		
    		uint8		m_nNumWeapons;
    		uint8		m_nNumAmmo;
    		uint8		m_nNumGear;
    		uint8		m_nNumMods;
    		uint8		m_nNumTurrets;
    		
    		HWEAPON		m_hUnarmedRecord;
    		HWEAPON		m_hDetonatorRecord;
    
    		typedef std::vector<HRECORD, LTAllocator<HRECORD, LT_MEM_TYPE_GAMECODE> > HRecordArray;
    		HRecordArray	m_vecRestricted;
    
    		GearDamageTypeProtectionList m_vecGearDamageTypeProtection;
    };
    
    inline bool FiredWeapon(WeaponState eState)
    {
    	return (eState == W_FIRED);
    }
    
    inline HRECORD CWeaponDB::GetAmmoInstDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return GetRecordLink(g_pWeaponDB->GetAmmoData(hAmmo,bUseAIStats),WDB_AMMO_rInstDamageType);
    }
    inline HRECORD CWeaponDB::GetAmmoAreaDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return GetRecordLink(g_pWeaponDB->GetAmmoData(hAmmo,bUseAIStats),WDB_AMMO_rAreaDamageType);
    }
    inline HRECORD CWeaponDB::GetAmmoProgDamageTypeRecord(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return GetRecordLink(g_pWeaponDB->GetAmmoData(hAmmo,bUseAIStats),WDB_AMMO_rProgDamageType);
    }
    
    inline DamageType CWeaponDB::GetAmmoInstDamageType(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return g_pDTDB->GetDamageType(GetAmmoInstDamageTypeRecord(hAmmo,bUseAIStats));
    }
    inline DamageType CWeaponDB::GetAmmoAreaDamageType(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return g_pDTDB->GetDamageType(GetAmmoAreaDamageTypeRecord(hAmmo,bUseAIStats));
    }
    inline DamageType CWeaponDB::GetAmmoProgDamageType(HAMMO hAmmo, bool bUseAIStats) const
    {
    	return g_pDTDB->GetDamageType(GetAmmoProgDamageTypeRecord(hAmmo,bUseAIStats));
    }
    
    
    
    ////////////////////////////////////////////////////////////////////////////
    //
    // CWeaponDBPlugin is used to help facilitate populating the WorldEdit object
    // properties that use WeaponDB
    //
    ////////////////////////////////////////////////////////////////////////////
    #ifdef _SERVERBUILD
    
    #include "iobjectplugin.h"
    
    class CWeaponDBPlugin;
    extern CWeaponDBPlugin *g_pWeaponDBPlugin;
    
    class CWeaponDBPlugin : public IObjectPlugin
    {
    	private:
    
    		CWeaponDBPlugin();
    		CWeaponDBPlugin( const CWeaponDBPlugin &other );
    		CWeaponDBPlugin& operator=( const CWeaponDBPlugin &other );
    		~CWeaponDBPlugin();
    
    
    	public:
    
    		static CWeaponDBPlugin& Instance() { static CWeaponDBPlugin sPlugin; return sPlugin; }
    
    		bool Init( );
    
    		// This will be removed once the FXMgr and it's plugin are converted
    		// to a database.
    		LTRESULT PreHook_EditStringList(
    			const char* szRezPath,
    			const char* szPropName,
    			char** aszStrings,
    			uint32* pcStrings,
    			const uint32 cMaxStrings,
    			const uint32 cMaxStringLength);
    
    		static void PopulateStringList(char** aszStrings, uint32* pcStrings,
    			const uint32 cMaxStrings, const uint32 cMaxStringLength, bool bPickupList);
    
    	protected :
    
    
    };
    
    #endif // _SERVERBUILD
    
    
    #endif // __WEAPON_DATABASE_H__
    lewk at meh i got dah fear sdk st0ff but i dun kno hao to usee it.

  5. The Following User Says Thank You to NOOB For This Useful Post:

    kotentopf (02-15-2011)

  6. #710
    D-Vid the DBag's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    146
    Reputation
    10
    Thanks
    13
    My Mood
    Lurking
    Quote Originally Posted by ᴺᴼᴼᴮ View Post


    lewk at meh i got dah fear sdk st0ff but i dun kno hao to usee it.
    Lolz. You're a dork. :P
    Dude, I seen someone in-game with the IGN of iTacticalxD.
    Was that you?

    [IMG]https://i33.photobucke*****m/albums/d55/y_owns_you/D-Vid665.png[/IMG]

  7. #711
    NOOB's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Posts
    3,843
    Reputation
    425
    Thanks
    8,616
    Quote Originally Posted by D-Vid the DBag View Post


    Lolz. You're a dork. :P
    Dude, I seen someone in-game with the IGN of iTacticalxD.
    Was that you?
    my only ign is- icanhacklolz

  8. #712
    supercarz1991's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Posts
    6,285
    Reputation
    435
    Thanks
    3,715
    My Mood
    Doh
    Quote Originally Posted by ᴺᴼᴼᴮ View Post


    lewk at meh i got dah fear sdk st0ff but i dun kno hao to usee it.
    lol i just post it cuz i'm bored XD

    commando: You're probably the best non-coder coder I know LOL


  9. #713
    D-Vid the DBag's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    146
    Reputation
    10
    Thanks
    13
    My Mood
    Lurking
    Quote Originally Posted by ᴺᴼᴼᴮ View Post


    my only ign is- icanhacklolz
    Ohh, okay...
    Cuz I know that your name on another site is called Tactical.

    [IMG]https://i33.photobucke*****m/albums/d55/y_owns_you/D-Vid665.png[/IMG]

  10. #714
    VITAMAN21's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    1
    Reputation
    10
    Thanks
    0
    My Mood
    Amazed

    Talking HELP

    can anyone please tell me how to get the chams for combat arms please and thank you i will gift you if that helps

  11. #715
    -xGhost-'s Avatar
    Join Date
    Oct 2010
    Gender
    male
    Location
    C:\Sytem32
    Posts
    344
    Reputation
    9
    Thanks
    57
    My Mood
    Relaxed
    Quote Originally Posted by VITAMAN21 View Post
    can anyone please tell me how to get the chams for combat arms please and thank you i will gift you if that helps
    Code:
    if(chams){
    	PushToConsole("SkelModelStencil 1");
       } 
        else {
    	PushToConsole("SkelModelStencil 0");
       }
    [IMG]https://i714.photobucke*****m/albums/ww144/sandro911/ProXtremeSignature.png[/IMG]

    [IMG]https://i714.photobucke*****m/albums/ww144/sandro911/Signature.png[/IMG]

  12. #716
    supercarz1991's Avatar
    Join Date
    Jul 2010
    Gender
    male
    Posts
    6,285
    Reputation
    435
    Thanks
    3,715
    My Mood
    Doh
    what happens when i try to code with absolutely no help and try to make teleport


    commando: You're probably the best non-coder coder I know LOL


  13. #717
    Sixx93's Avatar
    Join Date
    Sep 2009
    Gender
    male
    Posts
    673
    Reputation
    21
    Thanks
    250
    My Mood
    Cool
    Quote Originally Posted by supercarz1991 View Post
    what happens when i try to code with absolutely no help and try to make teleport

    u need help on solving this error?

  14. #718
    Nubzgetkillz's Avatar
    Join Date
    Sep 2010
    Gender
    male
    Location
    hacktown
    Posts
    838
    Reputation
    13
    Thanks
    411
    My Mood
    Amazed

    Member since September 25, 2010

    Current Objectives:
    • Graduate college with a degree in Computer Science
    • Find a decent job in the Computer Science Field
    • Learn more programming languages

    Looking for Elo Boosting Job - League of Legends
    Looking for Bronze -> Gold Jobs


    Skype: whatthedream

  15. #719
    -xGhost-'s Avatar
    Join Date
    Oct 2010
    Gender
    male
    Location
    C:\Sytem32
    Posts
    344
    Reputation
    9
    Thanks
    57
    My Mood
    Relaxed
    Quote Originally Posted by Nubzgetkillz View Post
    Seems great, Crosshair is way to big though xD
    [IMG]https://i714.photobucke*****m/albums/ww144/sandro911/ProXtremeSignature.png[/IMG]

    [IMG]https://i714.photobucke*****m/albums/ww144/sandro911/Signature.png[/IMG]

  16. #720
    ac1d_buRn's Avatar
    Join Date
    Aug 2009
    Gender
    female
    Location
    CA Source Section
    Posts
    3,404
    Reputation
    157
    Thanks
    4,003
    My Mood
    Flirty
    Quote Originally Posted by Nubzgetkillz View Post
    it looks like a kid made it XD

Page 48 of 81 FirstFirst ... 38464748495058 ... LastLast

Similar Threads

  1. Menu/Nomenu Showoff Thread!
    By Xmagz in forum WarRock Discussions
    Replies: 12
    Last Post: 01-23-2012, 11:38 AM
  2. [Discussion] My hack - Screenshots / showoff thread for others :)
    By ~FALLEN~ in forum CrossFire Discussions
    Replies: 29
    Last Post: 09-07-2011, 05:26 AM
  3. Hack Screenshots Thread
    By silentrunner2 in forum Combat Arms Europe Hacks
    Replies: 34
    Last Post: 03-12-2009, 08:57 AM
  4. Ingame Menu Hack (C++)
    By PabloTortilla in forum Programming Tutorial Requests
    Replies: 6
    Last Post: 09-08-2008, 04:09 PM
  5. [HACK IDEA THREAD] For all you hacking idea
    By warrick983 in forum Combat Arms Hacks & Cheats
    Replies: 15
    Last Post: 08-29-2008, 11:07 AM

Tags for this Thread