• ERROR: bad command flexfile
    5 replies, posted
I don't know what I did wrong, but for some reason, my compiler doesn't want to give Kazooie her VTA animations.I've tried to figure out what's wrong, but seeing as how I'm new to VTA files, I'm flying with hard to see through sun-glasses on. If someone can help, I've included the project files here: [url]http://www.mediafire.com/?5976p9pmztf93yl[/url] (Includes Textures and flex free version, model file is in 3ds max format, smds included) The qc I used is this one: [code]$cd "C:\Documents and Settings\windowsxp\My Documents\3dsmax\export\Ragdoll" $surfaceprop "flesh" $modelname "Kazooie.mdl" flexfile "mdldecompiler_expressions.vta" $cdmaterials "models\Tooie\" $model studio "reference.SMD" $sequence ragdoll "ragdoll.smd" FPS 30 activity ACT_DIERAGDOLL 1 $collisionjoints "phymodel.smd" { $mass 100.0 $inertia 10.00 $damping 0.01 $rotdamping 1.50 $rootbone "bone04" $jointconstrain "bone05" x limit -110.00 110.00 0.00 $jointconstrain "bone05" y limit 0.00 0.00 0.00 $jointconstrain "bone05" z limit -75.00 50.00 0.00 $jointconstrain "bone12" x limit -30.00 30.00 0.00 $jointconstrain "bone12" y limit 0.00 140.00 0.00 $jointconstrain "bone12" z limit 0.00 10.00 0.00 $jointconstrain "bone13" x limit 0.00 0.00 0.00 $jointconstrain "bone13" y limit 0.00 90.00 0.00 $jointconstrain "bone13" z limit 0.00 0.00 0.00 $jointconstrain "bone09" x limit -90.00 90.00 0.00 $jointconstrain "bone09" y limit -70.00 70.00 0.00 $jointconstrain "bone09" z limit -50.00 50.00 0.00 $jointconstrain "bone15" x limit -30.00 30.00 0.00 $jointconstrain "bone15" y limit 0.00 140.00 0.00 $jointconstrain "bone15" z limit -10.00 0.00 0.00 $jointconstrain "bone16" x limit 0.00 0.00 0.00 $jointconstrain "bone16" y limit 0.00 90.00 0.00 $jointconstrain "bone16" z limit 0.00 0.00 0.00 $jointconstrain "bone17" x limit 0.00 0.00 0.00 $jointconstrain "bone17" y limit -40.00 50.00 0.00 $jointconstrain "bone17" z limit 0.00 0.00 0.00 $jointconstrain "bone06" x limit -90.00 63.00 0.00 $jointconstrain "bone06" y limit -70.00 90.00 0.00 $jointconstrain "bone06" z limit -130.00 89.00 0.00 $jointconstrain "bone07" x limit -30.00 30.00 0.00 $jointconstrain "bone07" y limit 0.00 25.00 0.00 $jointconstrain "bone07" z limit -20.00 35.00 0.00 $jointconstrain "bone08" x limit 0.00 0.00 0.00 $jointconstrain "bone08" y limit 0.00 20.00 0.00 $jointconstrain "bone08" z limit 0.00 0.00 0.00 $jointconstrain "bone01" x limit -90.00 63.00 0.00 $jointconstrain "bone01" y limit -70.00 90.00 0.00 $jointconstrain "bone01" z limit 0.00 0.00 0.00 $jointconstrain "bone02" x limit -30.00 30.00 0.00 $jointconstrain "bone02" y limit 0.00 25.00 0.00 $jointconstrain "bone02" z limit -20.00 35.00 0.00 $jointconstrain "bone03" x limit 0.00 0.00 0.00 $jointconstrain "bone03" y limit 0.00 20.00 0.00 $jointconstrain "bone03" z limit 0.00 0.00 0.00 $jointconstrain "bone14" x limit 0.00 0.00 0.00 $jointconstrain "bone14" y limit -40.00 50.00 0.00 $jointconstrain "bone14" z limit 0.00 0.00 0.00 }[/code] the error: [code]GUIStudioMDL 2.2/Source - © 2007 Neil 'Jed' Jedrzejewski - http://www.wunderboy.org/ Created command line: "G:\Program files\Steam\SteamApps\suroguner\sourcesdk\bin\ep1\bin\studiomdl.exe" -game "g:\program files\steam\steamapps\suroguner\half-life 2 deathmatch\hl2mp" -notxbox "F:\E documents\Kazooie.qc" qdir: "f:\e documents\" gamedir: "g:\program files\steam\steamapps\suroguner\half-life 2 deathmatch\hl2mp\" g_path: "Kazooie" Working on "Kazooie.qc" ERROR: f:\e documents\Kazooie.qc(4): - bad command flexfile ERROR: Aborted Processing on 'Kazooie.mdl' [/code]
[code]$cd "C:\Documents and Settings\windowsxp\My Documents\3dsmax\export\Ragdoll" $surfaceprop "flesh" $modelname "Kazooie.mdl" $cdmaterials "models\Tooie\" $model studio "reference.SMD" { flexfile "mdldecompiler_expressions.vta" } $sequence ragdoll "ragdoll.smd" FPS 30 activity ACT_DIERAGDOLL 1 $collisionjoints "phymodel.smd" { $mass 100.0 $inertia 10.00 $damping 0.01 $rotdamping 1.50 $rootbone "bone04" $jointconstrain "bone05" x limit -110.00 110.00 0.00 $jointconstrain "bone05" y limit 0.00 0.00 0.00 $jointconstrain "bone05" z limit -75.00 50.00 0.00 $jointconstrain "bone12" x limit -30.00 30.00 0.00 $jointconstrain "bone12" y limit 0.00 140.00 0.00 $jointconstrain "bone12" z limit 0.00 10.00 0.00 $jointconstrain "bone13" x limit 0.00 0.00 0.00 $jointconstrain "bone13" y limit 0.00 90.00 0.00 $jointconstrain "bone13" z limit 0.00 0.00 0.00 $jointconstrain "bone09" x limit -90.00 90.00 0.00 $jointconstrain "bone09" y limit -70.00 70.00 0.00 $jointconstrain "bone09" z limit -50.00 50.00 0.00 $jointconstrain "bone15" x limit -30.00 30.00 0.00 $jointconstrain "bone15" y limit 0.00 140.00 0.00 $jointconstrain "bone15" z limit -10.00 0.00 0.00 $jointconstrain "bone16" x limit 0.00 0.00 0.00 $jointconstrain "bone16" y limit 0.00 90.00 0.00 $jointconstrain "bone16" z limit 0.00 0.00 0.00 $jointconstrain "bone17" x limit 0.00 0.00 0.00 $jointconstrain "bone17" y limit -40.00 50.00 0.00 $jointconstrain "bone17" z limit 0.00 0.00 0.00 $jointconstrain "bone06" x limit -90.00 63.00 0.00 $jointconstrain "bone06" y limit -70.00 90.00 0.00 $jointconstrain "bone06" z limit -130.00 89.00 0.00 $jointconstrain "bone07" x limit -30.00 30.00 0.00 $jointconstrain "bone07" y limit 0.00 25.00 0.00 $jointconstrain "bone07" z limit -20.00 35.00 0.00 $jointconstrain "bone08" x limit 0.00 0.00 0.00 $jointconstrain "bone08" y limit 0.00 20.00 0.00 $jointconstrain "bone08" z limit 0.00 0.00 0.00 $jointconstrain "bone01" x limit -90.00 63.00 0.00 $jointconstrain "bone01" y limit -70.00 90.00 0.00 $jointconstrain "bone01" z limit 0.00 0.00 0.00 $jointconstrain "bone02" x limit -30.00 30.00 0.00 $jointconstrain "bone02" y limit 0.00 25.00 0.00 $jointconstrain "bone02" z limit -20.00 35.00 0.00 $jointconstrain "bone03" x limit 0.00 0.00 0.00 $jointconstrain "bone03" y limit 0.00 20.00 0.00 $jointconstrain "bone03" z limit 0.00 0.00 0.00 $jointconstrain "bone14" x limit 0.00 0.00 0.00 $jointconstrain "bone14" y limit -40.00 50.00 0.00 $jointconstrain "bone14" z limit 0.00 0.00 0.00 }[/code] That will fix that error but without any flex definitions there wont be any flexes when it compiles (or will give errors to such).
Flex definitions? How do I define them?
Well if you had made them they would be like this in the citizens (the more complex ones): [code]$model "male_04" "male_04_reference.smd" { flexfile "mdldecompiler_expressions.vta" { flex "AU42" frame 5 flexpair "AU1" 1.0 frame 6 flexpair "AU2" 1.0 frame 7 flexpair "AU4" 1.0 frame 8 flexpair "AU1AU2" 1.0 frame 9 flexpair "AU12" 1.0 frame 10 flex "AU12AU25" frame 11 flexpair "AU15" 1.0 frame 12 flexpair "AU17" 1.0 frame 13 flexpair "AU10" 1.0 frame 14 flex "AU16" frame 15 flexpair "AU6" 1.0 frame 16 flexpair "AU9" 1.0 frame 17 flexpair "AU25" 1.0 frame 18 flexpair "AU18" 1.0 frame 19 flexpair "AU22" 1.0 frame 20 flexpair "AU20" 1.0 frame 21 flex "AU32" frame 22 flex "AU24" frame 23 flex "AU38" frame 24 flex "AU31" frame 25 flexpair "AU26" 1.0 frame 26 flexpair "AU27" 1.0 frame 27 flexpair "AU26Z" 1.0 frame 28 flexpair "AU27Z" 1.0 frame 29 } eyeball righteye ValveBiped.Bip01_Head1 -1.265 -3.575 67.870 eyeball_r 1.000 4.000 pupil_r 0.630 eyeball lefteye ValveBiped.Bip01_Head1 1.206 -3.575 67.876 eyeball_l 1.000 -4.000 pupil_l 0.630 eyelid upper_right "mdldecompiler_expressions.vta" lowerer 1 -0.242000 neutral 0 -2.000000 raiser 1070711858 0.000000 split 0.1 eyeball righteye eyelid lower_right "mdldecompiler_expressions.vta" lowerer 2 -0.295700 neutral 0 -0.000000 raiser -1079337026 0.000000 split 0.1 eyeball righteye eyelid upper_left "mdldecompiler_expressions.vta" lowerer 3 -0.242000 neutral 0 -2.000000 raiser 1070711858 0.000000 split -0.1 eyeball lefteye eyelid lower_left "mdldecompiler_expressions.vta" lowerer 4 -0.295700 neutral 0 -0.000000 raiser -1079337026 0.000000 split -0.1 eyeball lefteye mouth 0 "mouth" ValveBiped.Bip01_Head1 0.000 1.000 0.000 flexcontroller eyelid right_lid_raiser "range" 0.000 1.000 flexcontroller eyelid left_lid_raiser "range" 0.000 1.000 flexcontroller eyelid right_lid_tightener "range" 0.000 1.000 flexcontroller eyelid left_lid_tightener "range" 0.000 1.000 flexcontroller eyelid right_lid_droop "range" 0.000 1.000 flexcontroller eyelid left_lid_droop "range" 0.000 1.000 flexcontroller eyelid right_lid_closer "range" 0.000 1.000 flexcontroller eyelid left_lid_closer "range" 0.000 1.000 flexcontroller eyelid half_closed "range" 0.000 1.000 flexcontroller eyelid blink "range" 0.000 1.000 flexcontroller brow right_inner_raiser "range" 0.000 1.000 flexcontroller brow left_inner_raiser "range" 0.000 1.000 flexcontroller brow right_outer_raiser "range" 0.000 1.000 flexcontroller brow left_outer_raiser "range" 0.000 1.000 flexcontroller brow right_lowerer "range" 0.000 1.000 flexcontroller brow left_lowerer "range" 0.000 1.000 flexcontroller nose right_cheek_raiser "range" 0.000 1.000 flexcontroller nose left_cheek_raiser "range" 0.000 1.000 flexcontroller nose wrinkler "range" 0.000 1.000 flexcontroller nose dilator "range" 0.000 1.000 flexcontroller mouth right_upper_raiser "range" 0.000 1.000 flexcontroller mouth left_upper_raiser "range" 0.000 1.000 flexcontroller mouth right_corner_puller "range" 0.000 1.000 flexcontroller mouth left_corner_puller "range" 0.000 1.000 flexcontroller mouth right_corner_depressor "range" 0.000 1.000 flexcontroller mouth left_corner_depressor "range" 0.000 1.000 flexcontroller mouth chin_raiser "range" 0.000 1.000 flexcontroller phoneme right_part "range" 0.000 1.000 flexcontroller phoneme left_part "range" 0.000 1.000 flexcontroller phoneme right_puckerer "range" 0.000 1.000 flexcontroller phoneme left_puckerer "range" 0.000 1.000 flexcontroller phoneme right_funneler "range" 0.000 1.000 flexcontroller phoneme left_funneler "range" 0.000 1.000 flexcontroller phoneme right_stretcher "range" 0.000 1.000 flexcontroller phoneme left_stretcher "range" 0.000 1.000 flexcontroller phoneme bite "range" 0.000 1.000 flexcontroller phoneme presser "range" 0.000 1.000 flexcontroller phoneme tightener "range" 0.000 1.000 flexcontroller phoneme jaw_clencher "range" 0.000 1.000 flexcontroller phoneme jaw_drop "range" 0.000 1.000 flexcontroller phoneme right_mouth_drop "range" 0.000 1.000 flexcontroller phoneme left_mouth_drop "range" 0.000 1.000 flexcontroller mouth smile "range" 0.000 1.000 flexcontroller mouth lower_lip "range" 0.000 1.000 flexcontroller head head_rightleft "range" -30.000 30.000 flexcontroller head head_updown "range" -15.000 15.000 flexcontroller head head_tilt "range" -15.000 15.000 flexcontroller eyes eyes_updown "range" -30.000 30.000 flexcontroller eyes eyes_rightleft "range" -30.000 30.000 flexcontroller body body_rightleft "range" -30.000 30.000 flexcontroller chest chest_rightleft "range" -30.000 30.000 flexcontroller head head_forwardback "range" -0.200 0.200 flexcontroller gesture gesture_updown "range" -1.000 1.000 flexcontroller gesture gesture_rightleft "range" -1.000 1.000 localvar upper_right_raiser %upper_right_raiser = ( right_lid_raiser * (( 1.000 - ( right_lid_droop * 0.800)) * (( 1.000 - right_lid_closer) * ( 1.000 - blink)))) localvar upper_right_neutral %upper_right_neutral = (( 1.000 - ( right_lid_droop * 0.800)) * (( 1.000 - right_lid_raiser) * (( 1.000 - right_lid_closer) * ( 1.000 - blink)))) localvar upper_right_lowerer %upper_right_lowerer = ( right_lid_closer + ( blink * ( 1.000 - right_lid_closer))) localvar upper_left_raiser %upper_left_raiser = ( left_lid_raiser * (( 1.000 - ( left_lid_droop * 0.800)) * (( 1.000 - left_lid_closer) * ( 1.000 - blink)))) localvar upper_left_neutral %upper_left_neutral = (( 1.000 - ( left_lid_droop * 0.800)) * (( 1.000 - left_lid_raiser) * (( 1.000 - left_lid_closer) * ( 1.000 - blink)))) localvar upper_left_lowerer %upper_left_lowerer = ( left_lid_closer + ( blink * ( 1.000 - left_lid_closer))) localvar lower_right_raiser %lower_right_raiser = ( right_lid_closer + ( blink * ( 0.500 * ( 1.000 - right_lid_closer)))) localvar lower_right_neutral %lower_right_neutral = (( 1.000 - right_lid_closer) * (( 1.000 - ( 0.500 * blink)) * (( 1.000 - ( right_lid_tightener * 0.500)) * ( 1.000 - ( right_cheek_raiser * 0.250))))) localvar lower_right_lowerer %lower_right_lowerer = 0.000 localvar lower_left_raiser %lower_left_raiser = ( left_lid_closer + ( blink * ( 0.500 * ( 1.000 - left_lid_closer)))) localvar lower_left_neutral %lower_left_neutral = (( 1.000 - left_lid_closer) * (( 1.000 - ( 0.500 * blink)) * (( 1.000 - ( left_lid_tightener * 0.500)) * ( 1.000 - ( left_cheek_raiser * 0.250))))) localvar lower_left_lowerer %lower_left_lowerer = 0.000 %AU1R = ( right_inner_raiser * (( 1.000 - right_outer_raiser) * ( 1.000 - right_lowerer))) %AU1L = ( left_inner_raiser * (( 1.000 - left_outer_raiser) * ( 1.000 - left_lowerer))) %AU2R = ( right_outer_raiser * (( 1.000 - right_inner_raiser) * ( 1.000 - right_lowerer))) %AU2L = ( left_outer_raiser * (( 1.000 - left_inner_raiser) * ( 1.000 - left_lowerer))) %AU1AU2R = ( right_inner_raiser * ( right_outer_raiser * ( 1.000 - right_lowerer))) %AU1AU2L = ( left_inner_raiser * ( left_outer_raiser * ( 1.000 - left_lowerer))) %AU4R = right_lowerer %AU4L = left_lowerer %AU6R = right_cheek_raiser %AU6L = left_cheek_raiser %AU9R = wrinkler %AU9L = wrinkler %AU38 = dilator localvar right_open %right_open = ( smile + (( right_part * ( 1.000 - smile)) + ( right_puckerer + ( right_funneler + (( right_upper_raiser * 0.500) + ( lower_lip * 0.500)))))) localvar left_open %left_open = ( smile + (( left_part * ( 1.000 - smile)) + ( left_puckerer + ( left_funneler + (( left_upper_raiser * 0.500) + ( lower_lip * 0.500)))))) localvar right_lip_suppressor %right_lip_suppressor = (( 1.000 / %right_open) * (( 1.000 - presser) * ( 1.000 - bite))) localvar left_lip_suppressor %left_lip_suppressor = (( 1.000 / %left_open) * (( 1.000 - presser) * ( 1.000 - bite))) %AU10R = ( right_upper_raiser * ( right_upper_raiser * ( 0.500 * %right_lip_suppressor))) %AU10L = ( left_upper_raiser * ( left_upper_raiser * ( 0.500 * %left_lip_suppressor))) %AU25R = ( right_part * (( right_part * %right_lip_suppressor) * ( 1.000 - smile))) %AU25L = ( left_part * (( left_part * %left_lip_suppressor) * ( 1.000 - smile))) %AU12AU25 = ( smile * ( smile * ( 0.500 * ( %right_lip_suppressor + %left_lip_suppressor)))) %AU18R = ( right_puckerer * ( right_puckerer * %right_lip_suppressor)) %AU18L = ( left_puckerer * ( left_puckerer * %left_lip_suppressor)) %AU22R = ( right_funneler * ( right_funneler * %right_lip_suppressor)) %AU22L = ( left_funneler * ( left_funneler * %left_lip_suppressor)) %AU17R = ( chin_raiser * (( 1.000 - ( jaw_drop * 0.500)) * (( 1.000 - bite) * (( 1.000 - ( 0.600 * ( %AU25R + ( %AU18R + %AU22R)))) * ( 1.000 - smile))))) %AU17L = ( chin_raiser * (( 1.000 - ( jaw_drop * 0.500)) * (( 1.000 - bite) * (( 1.000 - ( 0.600 * ( %AU25L + ( %AU18L + %AU22L)))) * ( 1.000 - smile))))) localvar right_depressor_suppressor %right_depressor_suppressor = (( 1.000 / (( %AU18R * 0.800) + (( %AU22R * 0.800) + ( %AU17R + ( bite + ( right_corner_puller + ( right_stretcher + right_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - ( smile * 0.500)))) localvar left_depressor_suppressor %left_depressor_suppressor = (( 1.000 / (( %AU18L * 0.800) + (( %AU22L * 0.800) + ( %AU17L + ( bite + ( left_corner_puller + ( left_stretcher + left_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - ( smile * 0.500)))) %AU15R = ( right_corner_depressor * ( right_corner_depressor * %right_depressor_suppressor)) %AU15L = ( left_corner_depressor * ( left_corner_depressor * %left_depressor_suppressor)) localvar right_corner_suppressor %right_corner_suppressor = (( 1.000 / (( %AU18R * 0.800) + (( %AU22R * 0.800) + ( %AU17R + ( bite + ( right_corner_puller + ( right_stretcher + right_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - smile))) localvar left_corner_suppressor %left_corner_suppressor = (( 1.000 / (( %AU18L * 0.800) + (( %AU22L * 0.800) + ( %AU17L + ( bite + ( left_corner_puller + ( left_stretcher + left_corner_depressor))))))) * (( 1.000 - ( jaw_drop * 0.500)) * ( 1.000 - smile))) %AU12R = ( right_corner_puller * ( right_corner_puller * %right_corner_suppressor)) %AU12L = ( left_corner_puller * ( left_corner_puller * %left_corner_suppressor)) %AU20R = ( right_stretcher * ( right_stretcher * %right_corner_suppressor)) %AU20L = ( left_stretcher * ( left_stretcher * %left_corner_suppressor)) %AU32 = bite %AU24 = ( presser + (( 1.000 - presser) * tightener)) %AU31 = ( jaw_clencher * ( jaw_clencher / ( jaw_clencher + jaw_drop))) localvar right_drop_suppressor %right_drop_suppressor = (( 1.000 / (( 0.500 * %right_open) + right_mouth_drop)) * (( 1.000 - presser) * ( 1.000 - bite))) localvar left_drop_suppressor %left_drop_suppressor = (( 1.000 / (( 0.500 * %left_open) + left_mouth_drop)) * (( 1.000 - presser) * ( 1.000 - bite))) localvar right_drop %right_drop = ( right_mouth_drop * ( right_mouth_drop * %right_drop_suppressor)) localvar left_drop %left_drop = ( left_mouth_drop * ( left_mouth_drop * %left_drop_suppressor)) %AU26R = ( jaw_drop * (( 1.000 - %right_drop) * ( jaw_drop / ( jaw_clencher + jaw_drop)))) %AU26L = ( jaw_drop * (( 1.000 - %left_drop) * ( jaw_drop / ( jaw_clencher + jaw_drop)))) %AU27R = ( jaw_drop * ( %right_drop * ( jaw_drop / ( jaw_clencher + jaw_drop)))) %AU27L = ( jaw_drop * ( %left_drop * ( jaw_drop / ( jaw_clencher + jaw_drop)))) %AU16 = ( lower_lip * (( lower_lip * ( 0.250 * ( %right_lip_suppressor + %left_lip_suppressor))) * ( 1.000 - ( 0.500 * ( %AU27R + %AU27L))))) localvar mouth %mouth = (( %AU27R * 0.500) + (( %AU27L * 0.500) + (( %AU22R * 0.350) + (( %AU22L * 0.350) + (( %AU18R * 0.250) + (( %AU18L * 0.250) + (( %AU25R * 0.350) + (( %AU25L * 0.350) + (( %AU32 * 0.500) + ( %AU12AU25 + ((( %AU27ZR + %AU27ZL) * ( 0.500 * 0.700)) + ( %AU16 * 0.400)))))))))))) }[/code] but being as that seems to have been decompiled, theres not much you can do unless you look at each frame of the VTA and try and figure out what flex they are meant to be and type them out by hand (or try this one and hope it works).
I think I understand. Decompiling Mariokart64n's Tikal port helped since her definitions wound up simpler. Thank you.
np :D
Sorry, you need to Log In to post a reply to this thread.