cod2-sdk/deffiles/grenadeweapon.gdf
2006-04-20 00:00:00 +00:00

1215 lines
21 KiB
Text

#name "grenadeweapon"
#dll "all" "configstringconvert"
#target_dir "weapons/sp/" // target location 1 (single-player)
#target_dir "weapons/mp/" // target location 2 (multi-player)
#file_ext "*"
#version 8
// This tells the configstring converter what the file type identifier should be
enum { "WEAPONFILE" } configstringFileType
// This uses the config string convert's multi-target folder
// mechanism to make the weapon either a single-player weaons
// or a multi-player weapon.
// The first character is used to specify which target folder to go in
enum { "1: Single-Player", "2: Multi-Player" } targetFolder
enum { "grenade" } weaponType
enum { "grenade" } weaponClass
enum { "None", "Smoke Grenade", "Frag Grenade" } offhandClass
enum { "none" } weaponSlot
string displayName
string AIOverlayDescription
string modeName
enum { "none", "other", "stickgrenade" } playerAnimType
string gunModel
string handModel
int 1 0 1 isHandModelOverridable
string idleAnim
string emptyIdleAnim
string fireAnim
string holdFireAnim
string lastShotAnim
string meleeAnim
string raiseAnim
string dropAnim
string altRaiseAnim
string altDropAnim
float 1600 0 50000 autoAimRange
float 50000 0 50000 slowdownAimRange
float 50000 0 50000 slowdownAimRangeAds
float 50000 0 50000 lockonAimRange
float 50000 0 50000 lockonAimRangeAds
float 1 0 5 moveSpeedScale
int 0 0 1000 damage
int 0 0 1000 meleeDamage
float 0.1 0 10.0 fireDelay
float 0.25 0.05 10.0 meleeDelay
float 0.1 0.0 10.0 fireTime
float 0.1 0.0 10.0 holdFireTime
float 0.7 0.0 10.0 meleeTime
float 2.0 0.0 10.0 reloadTime
float 0.5 0.0 10.0 dropTime
float 0.5 0.0 10.0 raiseTime
float 0.5 0.0 10.0 altDropTime
float 0.5 0.0 10.0 altRaiseTime
float 4 0 100 fuseTime
int 1 0 1 clipOnly
int 80 0 150 hipIdleAmount
float 0.5 0 1 idleCrouchFactor
float 0.15 0 1 idleProneFactor
float 0.5 0.0 1.0 parallelDefaultBounce
float 0.5 0.0 1.0 parallelBarkBounce
float 0.5 0.0 1.0 parallelBrickBounce
float 0.5 0.0 1.0 parallelCarpetBounce
float 0.5 0.0 1.0 parallelClothBounce
float 0.5 0.0 1.0 parallelConcreteBounce
float 0.5 0.0 1.0 parallelDirtBounce
float 0.5 0.0 1.0 parallelFleshBounce
float 0.5 0.0 1.0 parallelFoliageBounce
float 0.5 0.0 1.0 parallelGlassBounce
float 0.5 0.0 1.0 parallelGrassBounce
float 0.5 0.0 1.0 parallelGravelBounce
float 0.5 0.0 1.0 parallelIceBounce
float 0.5 0.0 1.0 parallelMetalBounce
float 0.5 0.0 1.0 parallelMudBounce
float 0.5 0.0 1.0 parallelPaperBounce
float 0.5 0.0 1.0 parallelPlasterBounce
float 0.5 0.0 1.0 parallelRockBounce
float 0.5 0.0 1.0 parallelSandBounce
float 0.5 0.0 1.0 parallelSnowBounce
float 0.5 0.0 1.0 parallelWaterBounce
float 0.5 0.0 1.0 parallelWoodBounce
float 0.5 0.0 1.0 parallelAsphaltBounce
float 0.5 0.0 1.0 perpendicularDefaultBounce
float 0.5 0.0 1.0 perpendicularBarkBounce
float 0.5 0.0 1.0 perpendicularBrickBounce
float 0.5 0.0 1.0 perpendicularCarpetBounce
float 0.5 0.0 1.0 perpendicularClothBounce
float 0.5 0.0 1.0 perpendicularConcreteBounce
float 0.5 0.0 1.0 perpendicularDirtBounce
float 0.5 0.0 1.0 perpendicularFleshBounce
float 0.5 0.0 1.0 perpendicularFoliageBounce
float 0.5 0.0 1.0 perpendicularGlassBounce
float 0.5 0.0 1.0 perpendicularGrassBounce
float 0.5 0.0 1.0 perpendicularGravelBounce
float 0.5 0.0 1.0 perpendicularIceBounce
float 0.5 0.0 1.0 perpendicularMetalBounce
float 0.5 0.0 1.0 perpendicularMudBounce
float 0.5 0.0 1.0 perpendicularPaperBounce
float 0.5 0.0 1.0 perpendicularPlasterBounce
float 0.5 0.0 1.0 perpendicularRockBounce
float 0.5 0.0 1.0 perpendicularSandBounce
float 0.5 0.0 1.0 perpendicularSnowBounce
float 0.5 0.0 1.0 perpendicularWaterBounce
float 0.5 0.0 1.0 perpendicularWoodBounce
float 0.5 0.0 1.0 perpendicularAsphaltBounce
float 30 0 180 swayMaxAngle
float 6 1 50 swayLerpSpeed
float 0.1 -2 2 swayPitchScale
float 0.1 -2 2 swayYawScale
float 0.1 -2 2 swayHorizScale
float 0.1 -2 2 swayVertScale
float 5 0 20 swayShellShockScale
// info for filling in the gitem_t for the weapon
string worldModel
string hudIcon
string modeIcon
string ammoName
int 100 0 999 maxAmmo
int 0 0 999 startAmmo
string clipName
int 10 0 999 clipSize
string sharedAmmoCapName
int 0 0 999 sharedAmmoCap
int 0 0 999 dropAmmoMin
int 0 0 999 dropAmmoMax
// client-side info
//string viewFlashEffect
//string worldFlashEffect
string pickupSound
string ammoPickupSound
string pullbackSound
string fireSound
string lastShotSound
string reloadSound
string altSwitchSound
string raiseSound
string putawaySound
string noteTrackSoundA
string noteTrackSoundB
string noteTrackSoundC
string noteTrackSoundD
string reticleCenter
string reticleSide
int 32 1 480 reticleCenterSize
int 16 1 480 reticleSideSize
int 4 0 480 reticleMinOfs
// additional weapon info
string altWeapon
int 1 0 1 twoHanded
int 0 0 1 cookOffHold
int 1 0 1 wideListIcon
string killIcon
int 1 0 1 wideKillIcon
int 1 0 1 flipKillIcon
// settings for view model position movement
float 0 -100 100 standMoveF
float 1 -100 100 standMoveR
float -1.5 -100 100 standMoveU
float 0 -100 100 standRotP
float 0 -100 100 standRotY
float 0 -100 100 standRotR
float -2 -100 100 duckedOfsF
float 2 -100 100 duckedOfsR
float -0.2 -100 100 duckedOfsU
float 0 -100 100 duckedMoveF
float 1 -100 100 duckedMoveR
float -1.5 -100 100 duckedMoveU
float 0 -100 100 duckedRotP
float 0 -100 100 duckedRotY
float 0 -100 100 duckedRotR
float -6 -100 100 proneOfsF
float 3.5 -100 100 proneOfsR
float 0.8 -100 100 proneOfsU
float 0 -100 100 proneMoveF
float 1 -100 100 proneMoveR
float -1.5 -100 100 proneMoveU
float 0 -100 100 proneRotP
float 0 -100 100 proneRotY
float 0 -100 100 proneRotR
float 4 0 100 posMoveRate
float 10 0 100 posProneMoveRate
float 110 0 1000 standMoveMinSpeed
float 60 0 1000 duckedMoveMinSpeed
float 0 0 1000 proneMoveMinSpeed
float 5 0 100 posRotRate
float 10 0 100 posProneRotRate
float 110 0 1000 standRotMinSpeed
float 60 0 1000 duckedRotMinSpeed
float 0 0 1000 proneRotMinSpeed
// additional grenade weapon info
int 300 0 10000 explosionRadius
int 10 0 10000 explosionInnerDamage
int 10 0 10000 explosionOuterDamage
int 600 0 10000 projectileSpeed
int 0 0 10000 projectileSpeedUp
string projectileModel
enum { "grenade", "rocket", "molotov", "none" } projExplosionType
string projExplosionEffect
string projExplosionSound
enum { "none", "grenade", "rocket" } projectileTrail
float 1.0 0 100 projectileTrailTime
int 32 1 1000 projectileTrailRadius
int 0 0 1 projImpactExplode
vcontainer
{
scrollbox(targetFolder)
[
exec
{
width(300)
}
]
hcontainer
{
edit(displayName)
edit(modeName)
}
scrollbox(playerAnimType)
[
exec
{
label("Player Anim Type")
tooltip("Select an Player Anim Type - specifies \"playerAnimType\" in playeranim.script")
visible(targetFolder == "2: Multi-Player")
}
]
hcontainer
{
edit(AIOverlayDescription)
}
scrollbox(offhandClass)
[
exec
{
label("Offhand Class")
width(270)
}
]
////////////////////////////////////////
// Aim Assist
////////////////////////////////////////
vcontainer
{
floatedit(autoAimRange, 1, 100)
[
exec
{
label("Auto Aim Range")
tooltip("(Console only.) The range in world units up to which entering ADS will lock-on to enemies. (1 world unit = 1 inch)")
}
]
hcontainer
{
floatedit(slowdownAimRange, 1, 100)
[
exec
{
label("Slowdown Range")
tooltip("(Console only.) The range in world units which the crosshair will slowdown over a target. (1 world unit = 1 inch)")
}
]
floatedit(slowdownAimRangeAds, 1, 100)
[
exec
{
label("Slowdown Range ADS")
tooltip("(Console only.) The range in world units which the crosshair will slowdown over a target in ADS. (1 world unit = 1 inch)")
width(260)
labelwidth(160)
}
]
}
hcontainer
{
floatedit(lockonAimRange, 1, 100)
[
exec
{
label("Lock-On Range")
tooltip("(Console only.) The range in world units up to which the view will lock onto a target. (1 world unit = 1 inch)")
}
]
floatedit(lockonAimRangeAds, 1, 100)
[
exec
{
label("Lock-On Range ADS")
tooltip("(Console only.) The range in world units up to which the view will lock onto a target in ADS. (1 world unit = 1 inch)")
width(260)
labelwidth(160)
}
]
}
}
[
exec
{
groupBox("Aim Assist (Console only)")
}
]
hcontainer
{
floatedit(moveSpeedScale, 0.1, 1)
}
hcontainer
{
spinedit(damage, 1, 10)
spinedit(meleeDamage, 1, 10)
}
checkbox(projImpactExplode)
hcontainer
{
spinedit(explosionInnerDamage, 1, 10)
spinedit(explosionOuterDamage, 1, 10)
spinedit(explosionRadius, 10, 50)
}
hcontainer
{
spinedit(projectileSpeed, 10, 100)
spinedit(projectileSpeedUp, 10, 100)
floatedit(fuseTime, 0.1, 1)
}
checkbox(cookOffHold)
checkbox(twoHanded)
checkbox(wideListIcon)
fileedit(killIcon)
[
exec
{
reldir("pc/main/")
}
]
checkbox(wideKillIcon)
checkbox(flipKillIcon)
fileedit(projectileModel)
[
exec
{
reldir("pc/main/")
}
]
hcontainer
{
scrollbox(projExplosionType)
fileedit(projExplosionEffect)
[
exec
{
reldir("pc/main/")
width(400)
}
]
}
edit(projExplosionSound)
hcontainer
{
scrollbox(projectileTrail)
floatedit(projectileTrailTime, 0.1, 1)
spinedit(projectileTrailRadius, 1, 5)
}
hcontainer
{
floatedit(fireDelay, 0.05, 0.2)
floatedit(meleeDelay, 0.05, 0.2)
}
hcontainer
{
floatedit(fireTime, 0.05, 0.2)
floatedit(meleeTime, 0.05, 0.2)
}
hcontainer
{
floatedit(holdFireTime, 0.05, 0.2)
}
hcontainer
{
floatedit(reloadTime, 0.05, 0.2)
}
hcontainer
{
floatedit(dropTime, 0.05, 0.2)
floatedit(raiseTime, 0.05, 0.2)
}
hcontainer
{
floatedit(altDropTime, 0.05, 0.2)
floatedit(altRaiseTime, 0.05, 0.2)
}
hcontainer
{
floatedit(idleCrouchFactor, 0.01, 0.1)
floatedit(idleProneFactor, 0.01, 0.1)
}
spinedit(hipIdleAmount, 1, 10)
hcontainer
{
vcontainer
{
floatedit(parallelDefaultBounce, 0.01, 0.1)
[
exec
{
label("default")
}
]
floatedit(parallelBarkBounce, 0.01, 0.1)
[
exec
{
label("bark")
}
]
floatedit(parallelBrickBounce, 0.01, 0.1)
[
exec
{
label("brick")
}
]
floatedit(parallelCarpetBounce, 0.01, 0.1)
[
exec
{
label("carpet")
}
]
floatedit(parallelClothBounce, 0.01, 0.1)
[
exec
{
label("cloth")
}
]
floatedit(parallelConcreteBounce, 0.01, 0.1)
[
exec
{
label("concrete")
}
]
floatedit(parallelDirtBounce, 0.01, 0.1)
[
exec
{
label("dirt")
}
]
floatedit(parallelFleshBounce, 0.01, 0.1)
[
exec
{
label("flesh")
}
]
floatedit(parallelFoliageBounce, 0.01, 0.1)
[
exec
{
label("foliage")
}
]
floatedit(parallelGlassBounce, 0.01, 0.1)
[
exec
{
label("glass")
}
]
floatedit(parallelGrassBounce, 0.01, 0.1)
[
exec
{
label("grass")
}
]
floatedit(parallelGravelBounce, 0.01, 0.1)
[
exec
{
label("gravel")
}
]
floatedit(parallelIceBounce, 0.01, 0.1)
[
exec
{
label("ice")
}
]
floatedit(parallelMetalBounce, 0.01, 0.1)
[
exec
{
label("metal")
}
]
floatedit(parallelMudBounce, 0.01, 0.1)
[
exec
{
label("mud")
}
]
floatedit(parallelPaperBounce, 0.01, 0.1)
[
exec
{
label("paper")
}
]
floatedit(parallelPlasterBounce, 0.01, 0.1)
[
exec
{
label("plaster")
}
]
floatedit(parallelRockBounce, 0.01, 0.1)
[
exec
{
label("rock")
}
]
floatedit(parallelSandBounce, 0.01, 0.1)
[
exec
{
label("sand")
}
]
floatedit(parallelSnowBounce, 0.01, 0.1)
[
exec
{
label("snow")
}
]
floatedit(parallelWaterBounce, 0.01, 0.1)
[
exec
{
label("water")
}
]
floatedit(parallelWoodBounce, 0.01, 0.1)
[
exec
{
label("wood")
}
]
floatedit(parallelAsphaltBounce, 0.01, 0.1)
[
exec
{
label("asphalt")
}
]
}
[
exec
{
groupBox("Parallel Bounce Factors")
}
]
vcontainer
{
floatedit(perpendicularDefaultBounce, 0.01, 0.1)
[
exec
{
label("default")
}
]
floatedit(perpendicularBarkBounce, 0.01, 0.1)
[
exec
{
label("bark")
}
]
floatedit(perpendicularBrickBounce, 0.01, 0.1)
[
exec
{
label("brick")
}
]
floatedit(perpendicularCarpetBounce, 0.01, 0.1)
[
exec
{
label("carpet")
}
]
floatedit(perpendicularClothBounce, 0.01, 0.1)
[
exec
{
label("cloth")
}
]
floatedit(perpendicularConcreteBounce, 0.01, 0.1)
[
exec
{
label("concrete")
}
]
floatedit(perpendicularDirtBounce, 0.01, 0.1)
[
exec
{
label("dirt")
}
]
floatedit(perpendicularFleshBounce, 0.01, 0.1)
[
exec
{
label("flesh")
}
]
floatedit(perpendicularFoliageBounce, 0.01, 0.1)
[
exec
{
label("foliage")
}
]
floatedit(perpendicularGlassBounce, 0.01, 0.1)
[
exec
{
label("glass")
}
]
floatedit(perpendicularGrassBounce, 0.01, 0.1)
[
exec
{
label("grass")
}
]
floatedit(perpendicularGravelBounce, 0.01, 0.1)
[
exec
{
label("gravel")
}
]
floatedit(perpendicularIceBounce, 0.01, 0.1)
[
exec
{
label("ice")
}
]
floatedit(perpendicularMetalBounce, 0.01, 0.1)
[
exec
{
label("metal")
}
]
floatedit(perpendicularMudBounce, 0.01, 0.1)
[
exec
{
label("mud")
}
]
floatedit(perpendicularPaperBounce, 0.01, 0.1)
[
exec
{
label("paper")
}
]
floatedit(perpendicularPlasterBounce, 0.01, 0.1)
[
exec
{
label("plaster")
}
]
floatedit(perpendicularRockBounce, 0.01, 0.1)
[
exec
{
label("rock")
}
]
floatedit(perpendicularSandBounce, 0.01, 0.1)
[
exec
{
label("sand")
}
]
floatedit(perpendicularSnowBounce, 0.01, 0.1)
[
exec
{
label("snow")
}
]
floatedit(perpendicularWaterBounce, 0.01, 0.1)
[
exec
{
label("water")
}
]
floatedit(perpendicularWoodBounce, 0.01, 0.1)
[
exec
{
label("wood")
}
]
floatedit(perpendicularAsphaltBounce, 0.01, 0.1)
[
exec
{
label("asphalt")
}
]
}
[
exec
{
groupBox("Perpendicular Bounce Factors")
}
]
}
hcontainer
{
floatedit(swayMaxAngle, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
hcontainer
{
floatedit(swayLerpSpeed, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
hcontainer
{
floatedit(swayPitchScale, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
hcontainer
{
floatedit(swayYawScale, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
hcontainer
{
floatedit(swayHorizScale, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
hcontainer
{
floatedit(swayVertScale, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
floatedit(swayShellShockScale, 0.05, 0.1)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
// seperator
hcontainer
{
}
fileedit(worldModel)
[
exec
{
reldir("pc/main/")
}
]
fileedit(hudIcon)
[
exec
{
reldir("pc/main/")
}
]
fileedit(modeIcon)
[
exec
{
reldir("pc/main/")
}
]
hcontainer
{
edit(ammoName)
spinedit(maxAmmo, 10, 20)
spinedit(startAmmo, 1, 10)
}
hcontainer
{
edit(clipName)
spinedit(clipSize, 1, 10)
checkbox(clipOnly)
}
hcontainer
{
edit(sharedAmmoCapName)
spinedit(sharedAmmoCap, 10, 20)
}
hcontainer
{
spinedit(dropAmmoMin, 1, 10)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
spinedit(dropAmmoMax, 1, 10)
[
exec
{
width(270) // optional custom width
labelwidth(170) // optional custom width
}
]
}
fileedit(reticleCenter)
[
exec
{
reldir("pc/main/")
}
]
// fileedit(reticleSide)
// [
// exec
// {
// reldir("pc/main/")
// }
// ]
// hcontainer
// {
spinedit(reticleCenterSize, 1, 2)
// spinedit(reticleSideSize, 1, 2)
// spinedit(reticleMinOfs, 1, 2)
// }
// seperator
hcontainer
{
}
// fileedit(viewFlashEffect)
// [
// exec
// {
// reldir("pc/main/")
// }
// ]
// fileedit(worldFlashEffect)
// [
// exec
// {
// reldir("pc/main/")
// }
// ]
edit(pickupSound)
edit(ammoPickupSound)
edit(pullbackSound)
edit(fireSound)
edit(lastShotSound)
edit(reloadSound)
edit(altSwitchSound)
edit(raiseSound)
edit(putawaySound)
edit(noteTrackSoundA)
edit(noteTrackSoundB)
edit(noteTrackSoundC)
edit(noteTrackSoundD)
// seperator
hcontainer
{
}
edit(altWeapon)
// seperator
hcontainer
{
}
hcontainer
{
floatedit(standMoveF, 0.1, 1)
floatedit(standMoveR, 0.1, 1)
floatedit(standMoveU, 0.1, 1)
}
hcontainer
{
floatedit(standRotP, 0.1, 1)
floatedit(standRotY, 0.1, 1)
floatedit(standRotR, 0.1, 1)
}
hcontainer
{
floatedit(duckedOfsF, 0.1, 1)
floatedit(duckedOfsR, 0.1, 1)
floatedit(duckedOfsU, 0.1, 1)
}
hcontainer
{
floatedit(duckedMoveF, 0.1, 1)
floatedit(duckedMoveR, 0.1, 1)
floatedit(duckedMoveU, 0.1, 1)
}
hcontainer
{
floatedit(duckedRotP, 0.1, 1)
floatedit(duckedRotY, 0.1, 1)
floatedit(duckedRotR, 0.1, 1)
}
hcontainer
{
floatedit(proneOfsF, 0.1, 1)
floatedit(proneOfsR, 0.1, 1)
floatedit(proneOfsU, 0.1, 1)
}
hcontainer
{
floatedit(proneMoveF, 0.1, 1)
floatedit(proneMoveR, 0.1, 1)
floatedit(proneMoveU, 0.1, 1)
}
hcontainer
{
floatedit(proneRotP, 0.1, 1)
floatedit(proneRotY, 0.1, 1)
floatedit(proneRotR, 0.1, 1)
}
hcontainer
{
floatedit(posMoveRate, 0.1, 1)
floatedit(posProneMoveRate, 0.1, 1)
}
hcontainer
{
floatedit(standMoveMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
floatedit(duckedMoveMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
floatedit(proneMoveMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
}
hcontainer
{
floatedit(posRotRate, 0.1, 1)
floatedit(posProneRotRate, 0.1, 1)
}
hcontainer
{
floatedit(standRotMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
floatedit(duckedRotMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
floatedit(proneRotMinSpeed, 1, 10)
[
exec
{
width(210)
labelwidth(150)
}
]
}
fileedit(gunModel)
[
exec
{
reldir("pc/main/xmodel/")
width(500)
}
]
fileedit(handModel)
[
exec
{
label("Default Hand Model")
reldir("pc/main/xmodel/")
width(500)
}
]
checkbox(isHandModelOverridable)
[
exec
{
label("Update Hand Model From Script")
tooltip("If checked then the hand model can be updated from script")
width(30)
}
]
fileedit(idleAnim)
[
exec
{
reldir("pc/main/xanim/")
width(500)
}
]
fileedit(emptyIdleAnim)
[
exec
{
reldir("pc/main/xanim/")
width(500)
}
]
fileedit(fireAnim)
[
exec
{
reldir("pc/main/xanim/")
width(500)
}
]
fileedit(holdFireAnim)
[
exec
{
reldir("pc/main/xanim/")
width(500)
}
]
fileedit(lastShotAnim)
[
exec
{
reldir("pc/main/xanim/")
width(500)
}
]
fileedit(meleeAnim)
[
exec
{
reldir("pc/main/xanim/")
width(500)
}
]
fileedit(raiseAnim)
[
exec
{
reldir("pc/main/xanim/")
width(500)
}
]
fileedit(dropAnim)
[
exec
{
reldir("pc/main/xanim/")
width(500)
}
]
fileedit(altRaiseAnim)
[
exec
{
reldir("pc/main/xanim/")
width(500)
}
]
fileedit(altDropAnim)
[
exec
{
reldir("pc/main/xanim/")
width(500)
}
]
}