Quote: "Airslide deserves some credit too! I don't know what code contributions were his"
None of the code used for this was from Airslide. The "additions" I made to the source to make the legs work better were nothing more than a 10 minute top-off to the already implemented system from V1.07 of Ply's Mod.
Not to be mean or anything, but I feel that the way Airslide implemented the legs was too static and left no room for improvement from the end-user.
For those of you interested, here's the script used for the legs:
; Scripted by Plystire
;Header
desc = Player body
;Triggers
;set up entity as player body
:state=0:bindentitytocam=0,offsetentmovebeforerotate=1,offsetenty=-23,offsetentfore=-15,animate=1,dimvar=Calc,dimvar=Moving,dimvar=Anim,state=1
;animations
:ALWAYS:setvar=Moving 0
:keypressed=17 1,plrusingrun=0:addvar=Moving 1
:keypressed=17 1,plrusingrun=1:addvar=Moving 2
:keypressed=31 1,plrusingrun=0:addvar=Moving -1
:keypressed=31 1,plrusingrun=1:addvar=Moving -2
:ALWAYS:setvar=Calc 0
:keypressed=30 1:addvar=Calc -90
:keypressed=32 1:addvar=Calc 90
:vargreater=Moving 1:divvar=Calc 2
:varless=Moving -1:divvar=Calc -2
:ALWAYS:addvar=Calc 180
:ALWAYS:offsetentyang=%Calc
:varequal=Moving 2:setanimspeed=100,setvar=Anim 5
:varequal=Moving 1:setanimspeed=100,setvar=Anim 2
:varequal=Moving 0:setanimspeed=100,setvar=Anim 1
:varequal=Moving 0,varnotequal=Calc 180,plrusingrun=0:setanimspeed=100,setvar=Anim 2
:varequal=Moving 0,varnotequal=Calc 180,plrusingrun=1:setanimspeed=100,setvar=Anim 5
:varequal=Moving -1:setanimspeed=-100,setvar=Anim 2
:varequal=Moving -2:setanimspeed=-100,setvar=Anim 5
;Crouching
:keypressed=46 1:addvar=Anim 30,offsetenty=7
:keypressed=46 0:offsetenty=-23
;FInish Animation
:ALWAYS:animate=%Anim
;Jumping (Over Ride the animation frame with this)
:onground=0:setframe=10
The only things different in here from V1.07 are the two commands I've added: "offsetentmovebeforerotate" and "onground"
The first is a command to over-ride the order in which the offset of the entity takes place. In some cases it's good to have the entity/camera rotate before moving, giving you an orbiting effect, while in other cases (This one in particular) it's good to have the entity/camera move before rotating which allows the model to rotate about an offsetted center.
The second command was a condition to check for if the player was in the air or not, thus allowing the user to decribe a specific animation or frame to be used for when the player is in the air.
As you can see, this method of doing the player body is about as dynamic as it's going to get and the end-user is free to change whatever they want.
Your model was a very good test harness for this, though, Errant. You did a good job with it.
Stock characters worked just as well with this system (though required slight adjustments to the offsets in some cases) but the arms being visible defeated the illusion.
The one and only,