• Spy QC blues
    9 replies, posted
What I'm basically trying to do is recompile the default spy model with an edited mesh, but nowhere can I find a good default spy QC to use as a reference. I've tried existing model edits but they always screw up and make one of his knees disappear. I also can't get rid of the f&#$ing disguise mask, it always shows up in-game.
Never mind. Got it with the hacked mdldecompiler. Now the compile tells me that it can't find the replacement spy_morphs_low.dmx, even though it's clearly in the same folder as my other stuff. These are all parts of the lod info, so I removed those. Problem solved, but now I got crotch guns. *facepalm*
Instead of decompiling the model, why don't you try the provided files in the sourcesdk content folder? [img]http://the303.org/imaeg/sdkcontent.png[/img] Everything is there.
[QUOTE=CAS303;31956949]Instead of decompiling the model, why don't you try the provided files in the sourcesdk content folder? Everything is there.[/QUOTE] I've looked into the source files, but nowhere in the QCs can I find a reference to spy_model or spy_morphs_low, which are supposed to be the refs.
You sure? [img]http://the303.org/imaeg/refsspy.png[/img] EDIT: forgot this which is the ref ( "spy_morphs_low.dmx" is defined as "dmxFile" as in the above pic): [img]http://the303.org/imaeg/refspy2.png[/img]
The parts to use themselves are mainly defined in the spy.qci Atl east from what I can see.
Got it with the hacked mdldecompiler. [img]http://www.primeaffiliate.com/track/images/17.computers.jpg[/img]
Alright, thanks for the help. Now, I still can't get the disguise mask off. It should only show up when disguised, instead of all the time like it is. I've tried removing it in the ref model, making bodygroups. I'm sure I've missed something here: [code] $cd "C:\Users\Doktor\Desktop\dspy" $modelname "player/spy.mdl" $model "spy" "stylishspy_reference.smd" { flexfile "mdldecompiler_expressions.vta" { flexpair "CloseLidLo" 1.0 frame 1 flexpair "CloseLidUp" 1.0 frame 2 flex "WQ" frame 3 flex "OO" frame 4 flex "MB" frame 5 flex "SH" frame 6 flex "Y" frame 7 flex "FV" frame 8 flex "AH" frame 9 flex "AE" frame 10 flex "UH" frame 11 flex "AW" frame 12 flex "EE" frame 13 flex "PP" frame 14 flex "OH" frame 15 flex "TH" frame 16 flex "T" frame 17 flex "ER" frame 18 flex "DS" frame 19 flex "GK" frame 20 flex "N" frame 21 flex "silence" frame 22 flex "happySmall" frame 23 flex "madUpper" frame 24 flex "specialAction01Upper" frame 25 flex "defaultFaceUpper" frame 26 flex "scaredUpper" frame 27 flex "painBigUpper" frame 28 flex "painSmallUpper" frame 29 flex "happyBigUpper" frame 30 flex "happySmallUpper" frame 31 flex "specialAction01" frame 32 flex "defaultFace" frame 33 flex "scared" frame 34 flex "mad" frame 35 flex "painBig" frame 36 flex "painSmall" frame 37 flex "happyBig" frame 38 flex "Smile01" frame 39 flex "Smile02" frame 40 } eyeball righteye bip_head -1.137 78.352 1.566 eyeball_r 1.400 4.000 stylish_spy_red 0.600 eyeball lefteye bip_head 1.137 78.352 1.566 eyeball_l 1.400 -4.000 stylish_spy_red 0.600 // eyelid upper_right "mdldecompiler_expressions.vta" lowerer 44 -1.000000 neutral 0 0.000000 raiser 44 1.000000 split 0.1 eyeball righteye // eyelid lower_right "mdldecompiler_expressions.vta" lowerer 44 -1.000000 neutral 0 0.000000 raiser 44 1.000000 split 0.1 eyeball righteye // eyelid upper_left "mdldecompiler_expressions.vta" lowerer 44 -1.000000 neutral 0 0.000000 raiser 44 1.000000 split -0.1 eyeball lefteye // eyelid lower_left "mdldecompiler_expressions.vta" lowerer 44 -1.000000 neutral 0 0.000000 raiser 44 1.000000 split -0.1 eyeball lefteye flexcontroller eyelid right_CloseLid "range" 0.000 1.000 flexcontroller eyelid left_CloseLid "range" 0.000 1.000 flexcontroller eyelid multi_CloseLid "range" 0.000 1.000 flexcontroller eyelid blink "range" 0.000 1.000 flexcontroller happySmall happySmall "range" 0.000 1.000 flexcontroller mad mad "range" 0.000 1.000 flexcontroller happyBigUpper happyBigUpper "range" 0.000 1.000 flexcontroller OH OH "range" 0.000 1.000 flexcontroller Smile02 Smile02 "range" 0.000 1.000 flexcontroller painSmall painSmall "range" 0.000 1.000 flexcontroller GK GK "range" 0.000 1.000 flexcontroller TH TH "range" 0.000 1.000 flexcontroller Smile01 Smile01 "range" 0.000 1.000 flexcontroller painBig painBig "range" 0.000 1.000 flexcontroller DS DS "range" 0.000 1.000 flexcontroller silence silence "range" 0.000 1.000 flexcontroller defaultFace defaultFace "range" 0.000 1.000 flexcontroller specialAction01 specialAction01 "range" 0.000 1.000 flexcontroller happySmallUpper happySmallUpper "range" 0.000 1.000 flexcontroller madUpper madUpper "range" 0.000 1.000 flexcontroller N N "range" 0.000 1.000 flexcontroller painSmallUpper painSmallUpper "range" 0.000 1.000 flexcontroller T T "range" 0.000 1.000 flexcontroller ER ER "range" 0.000 1.000 flexcontroller scaredUpper scaredUpper "range" 0.000 1.000 flexcontroller painBigUpper painBigUpper "range" 0.000 1.000 flexcontroller scared scared "range" 0.000 1.000 flexcontroller happyBig happyBig "range" 0.000 1.000 flexcontroller specialAction01Upper specialAction01Upper "range" 0.000 1.000 flexcontroller defaultFaceUpper defaultFaceUpper "range" 0.000 1.000 flexcontroller WQ WQ "range" 0.000 1.000 flexcontroller OO OO "range" 0.000 1.000 flexcontroller MB MB "range" 0.000 1.000 flexcontroller SH SH "range" 0.000 1.000 flexcontroller Y Y "range" 0.000 1.000 flexcontroller FV FV "range" 0.000 1.000 flexcontroller AH AH "range" 0.000 1.000 flexcontroller AE AE "range" 0.000 1.000 flexcontroller UH UH "range" 0.000 1.000 flexcontroller AW AW "range" 0.000 1.000 flexcontroller EE EE "range" 0.000 1.000 flexcontroller PP PP "range" 0.000 1.000 flexcontroller eyes eyes_updown "range" -45.000 45.000 flexcontroller eyes eyes_rightleft "range" -45.000 45.000 %CloseLidLoR = (( right_CloseLid / 4.000) + ( right_CloseLid / 4.000)) %CloseLidUpR = (( right_CloseLid / 4.000) + ( right_CloseLid / 4.000)) %CloseLidUpL = (( left_CloseLid / 4.000) + ( left_CloseLid / 4.000)) %CloseLidLoL = (( left_CloseLid / 4.000) + ( left_CloseLid / 4.000)) %WQ = WQ %OO = OO %MB = MB %SH = SH %Y = Y %FV = FV %AH = AH %AE = AE %UH = UH %AW = AW %EE = EE %PP = PP %OH = OH %TH = TH %T = T %ER = ER %DS = DS %GK = GK %N = N %silence = silence %happySmall = happySmall %madUpper = madUpper %specialAction01Upper = specialAction01Upper %defaultFaceUpper = defaultFaceUpper %scaredUpper = scaredUpper %painBigUpper = painBigUpper %painSmallUpper = painSmallUpper %happyBigUpper = happyBigUpper %happySmallUpper = happySmallUpper %specialAction01 = specialAction01 %defaultFace = defaultFace %scared = scared %mad = mad %painBig = painBig %painSmall = painSmall %happyBig = happyBig %Smile01 = Smile01 %Smile02 = Smile02 } $bodygroup "spyMask" { "studio" "spy_mask.dmx.smd" } //$model "spyMask" "UnknownModelName.smd" $poseparameter body_pitch -45.00 45.00 $poseparameter body_yaw -45.00 45.00 $cdmaterials "models\player\spy\" $texturegroup skinfamilies { {"stylish_spy_red.vmt" "spy_red.vmt" } {"stylish_spy_blue.vmt" "spy_red.vmt" } {"stylish_spy_red_invun.vmt" "spy_red.vmt" } {"stylish_spy_blue_invun.vmt" "spy_red.vmt" } {"stylish_spy_red.vmt" "spy_red.vmt" } {"stylish_spy_blue.vmt" "spy_red.vmt" } {"stylish_spy_red.vmt" "spy_red.vmt" } {"stylish_spy_blue.vmt" "spy_red.vmt" } {"stylish_spy_red.vmt" "spy_red.vmt" } {"stylish_spy_blue.vmt" "spy_red.vmt" } {"stylish_spy_red.vmt" "spy_red.vmt" } {"stylish_spy_blue.vmt" "spy_red.vmt" } {"stylish_spy_red.vmt" "spy_red.vmt" } {"stylish_spy_blue.vmt" "spy_red.vmt" } {"stylish_spy_red.vmt" "spy_red.vmt" } {"stylish_spy_blue.vmt" "spy_red.vmt" } {"stylish_spy_red.vmt" "spy_red.vmt" } {"stylish_spy_blue.vmt" "spy_red.vmt" } {"stylish_spy_red.vmt" "spy_red.vmt" } {"stylish_spy_blue.vmt" "spy_red.vmt" } {"stylish_spy_red.vmt" "spy_red.vmt" } {"stylish_spy_blue.vmt" "spy_red.vmt" } } $hboxset "spy" $hbox 1 "bip_head" -5.000 -7.750 -7.500 5.000 3.750 3.500 $hbox 0 "bip_pelvis" -9.000 -1.000 -6.500 9.000 9.000 4.500 $hbox 3 "bip_spine_0" -8.000 -2.000 -7.000 8.000 4.000 5.000 $hbox 3 "bip_spine_1" -7.500 -2.000 -8.000 7.500 4.000 4.000 $hbox 2 "bip_spine_2" -9.000 -3.000 -9.000 9.000 3.000 4.000 $hbox 2 "bip_spine_3" -9.000 -3.000 -6.000 9.000 1.000 4.000 $hbox 4 "bip_upperArm_L" 0.250 -2.500 -1.750 13.750 3.500 3.250 $hbox 4 "bip_lowerArm_L" 0.500 -3.500 -2.500 13.500 2.500 2.500 $hbox 4 "bip_hand_L" -3.250 -7.500 -2.500 0.750 -0.500 2.500 $hbox 5 "bip_upperArm_R" 0.250 -3.500 -1.750 13.750 2.500 3.250 $hbox 5 "bip_lowerArm_R" 0.500 -2.500 -2.500 13.500 2.500 3.500 $hbox 5 "bip_hand_R" -0.750 0.500 -2.500 3.250 7.500 2.500 $hbox 6 "bip_hip_L" 2.000 -4.000 -3.500 22.000 2.000 3.500 $hbox 6 "bip_knee_L" 0.000 -2.500 -3.250 18.000 2.500 1.750 $hbox 6 "bip_foot_L" -1.500 -11.000 -2.750 1.500 3.000 1.250 $hbox 7 "bip_hip_R" 2.000 -3.500 -2.000 22.000 3.500 4.000 $hbox 7 "bip_knee_R" 0.000 -2.500 -3.250 18.000 2.500 1.750 $hbox 7 "bip_foot_R" -1.500 -3.000 -1.250 1.500 11.000 2.750 $attachment "eyes" "bip_head" 0.00 -2.66 -4.45 rotate 90.00 -90.00 0.00 $attachment "righteye" "bip_head" -1.14 -2.66 -4.45 rotate 90.00 -90.00 0.00 $attachment "lefteye" "bip_head" 1.14 -2.66 -4.45 rotate 90.00 -90.00 0.00 $attachment "cig_eject" "bip_pelvis" 2.00 -29.00 -17.00 rotate -20.00 -100.00 -90.00 $attachment "partyhat" "bip_head" 0.00 -6.88 -1.00 rotate 89.00 93.00 180.00 $attachment "cig_smoke" "prp_cig" 0.00 -2.13 0.00 rotate 0.00 0.00 0.00 $attachment "head" "bip_head" 0.00 -9.08 0.00 rotate 88.95 90.00 -180.00 $attachment "flag" "bip_spine_2" 0.00 -1.39 8.95 rotate -0.08 2.96 1.49 $attachment "weapon" "weapon_bone" 0 0 0 rotate 0 0 0 $includemodel "player/spy_animations.mdl" $surfaceprop "flesh" $eyeposition -0.000 -78.222 0.000 $illumposition 0.000 1.680 40.090 $sequence ref "ref" fps 30.00 $sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00 $ikchain rhand bip_hand_R knee 0.000 0.000 0.000 $ikchain lhand bip_hand_L knee 0.000 0.000 0.000 $ikchain rfoot bip_foot_R knee 0.000 0.000 0.000 $ikchain lfoot bip_foot_L knee 0.000 0.000 0.000 [/code]
Ig the model is thespymask your issue is that you have to blank it out as well $bodygroup mask { blank studio "spy_mask.dmx.smd" } Essentially the unknown model.smd is the blank model. The decompiler just doesn't know what it is. This would allow you to toggle the map via bodygroups. Of course the system tf2 uses is more complex and it's best to use the SDK QC's for that.
Haha, one word of difference! I noticed that when comparing the Source and modded QCs side by side. Thanks for the help! [b]Edit:[/b] The only problem left is GOOGLY EYES! In other words, the eyes move independently of each other, which is hilarious but unacceptable. :P [b]Edit:[/b] Ok, I think I got the eyes right. I had TWO eyeposition lines, imagine that.
Sorry, you need to Log In to post a reply to this thread.