How to install Sestze's Hip Biased Walking Chip . (<---although I'm not sure if that's the name)
10 replies, posted
I watched a few vids in YouTube on how to make a walker and I found Sestze's (did I spell that right?)chip walker. I saw they built bots out of props and I wanted to make it too. but when I downloaded it. it's only a text file(.txt) and I don't know where to put it? some said it should be put in addons folder but some said that it should be put in adv_dupe. please help
PS: sorry for any mistake in where I posted this thread. I'm very new to this site.
PPS: What are the REAL requirements? Because some said it needs some addons before it will take effect. If anyone knows. please help
PPPS:If I posted this on the wrong forums, please direct me to the correct one.
thanks for your attention :D
I believe it's an Expression2 file, which means you need to have Wiremod in order to use it.
yes, I do have the wiremod. but where do I put the .txt file? I opened it and it looks like some programming/code. I dont understand what it says. I never had knowledge of it. :(
[url=http://www.facepunch.com/threads/1057850]This[/url] thread has BFW_V5, which is a system that doesn't use keepupright and is a lot easier to set up.
Alternatively you could use this chip, which doesn't require a torso or eyepod. It uses a camera controller instead.
[code]
@name Harpy Quickmech
@inputs [ADV CAM]:wirelink
@outputs
# Inputs
@persist W A S D Space Alt Pod:entity X Y
# NEYEpod
@persist [NEYEDriverEye NEYEFlat NEYEUpper]:vector
# vectors
@persist [For Rig Up CamD Delta HROffset HRForce HipMirror OUTCAMP OUTCAMD]:vector
@persist [CurPos CurVel Adjusted WalkVec CurWalk Step Side]:vector
# Flags, etc.
@persist Run N CAMNUM Hip:entity Dran:ranger Dranb:ranger
@persist Accm Perc Throttle Time Inputs ThrInput AcPerc Active
# Arrays
@persist [Total Feet Guns Held Last Current]:array
# Held quats
@persist [HipHeld HipCurrent]:quaternion
# Tweakables
@persist [HIPSTR FEETSTR GUNSTR]:string
@persist HRFRC FHFRC HHFRC GRFRC LOCALOFFSET:array
@persist THRESHOLD THROTMAX ACCEL STEPS UM MAXACC CROUCHLEN
@trigger none
#pros: torsoless; low op; built in ACF functionality
#cons: built for ACF, only does weapon handling for ACF weapons as gunpods
interval(50)
if(dupefinished())
{
reset()
}
#f'ns
if(first())
{
function vector tol (Intol:vector, Ftol:vector, Rtol:vector, Utol:vector)
{
TempV = vec(Intol:dot(Ftol), Intol:dot(Rtol), Intol:dot(Utol))
return TempV
}
function vector tow (Intow:vector, Ftow:vector, Rtow:vector, Utow:vector)
{
TempV = Intow:x() * Ftow + Intow:y() * Rtow + Intow:z() * Utow
return TempV
}
}
#defs
if(first())
{
#Tweakable values
HIPSTR = "models/props_borealis/bluebarrel001.mdl" #Place model of hip here
FEETSTR = "models/props_junk/MetalBucket02a.mdl" #Place model of foot here
GUNSTR = "" #place a gun model here. It also automatically picks up all ACF guns
HRFRC = 400 #Hip rotation force.
HHFRC = 8 #Hip holding force
FHFRC = 8 #Foot holding force
GRFRC = 300 #Gun rotational force
STEPS = 30 #Step size
MAXACC = 1.0 #Maximum acceleration modifier.
#LOCALOFFSET sets the camera offsets that can be cycled through with Alt
LOCALOFFSET[1, vector] = vec(-100, 0, 100)
LOCALOFFSET[2, vector] = vec(-100, 100, 50)
LOCALOFFSET[3, vector] = vec(-100, -100, 50)
THRESHOLD = 3 #Minimum "speed" the mech must attain to make the legs start moving
THROTMAX = 36 #Maximum angle deviation per frame possible for cyclical movement. Too high, and you'll slip at high speeds
ACCEL = 14 #How much impulse W/A/S/D imparts. Higher makes it accelerate faster.
UM = 1 #Multiplier for stepsize for step height. 1 is 1x the stepsize, 0.5 is 0.5x the stepsize, etc.
CROUCHLEN = 40 #When you get out, how far the contraption crouches. Helpful for servers without noclip.
#set stuff
For = vec(0, 1, 0)
Up = vec(0, 0, 1)
WalkVec = For
CurWalk = For
Rig = For:cross(Up)
Total = entity():getConstraints()
rangerPersist(1)
rangerFilter(Total)
CAMNUM = 1
N = 1
timer("objfilter", 10)
}
#filters
if(clk("objfilter"))
{
while((N <= Total:count()) & perf())
{
if(!Total[N, entity]:parent())
{
if(!Hip)
{
if(Total[N, entity]:model():lower() == HIPSTR:lower())
{
Hip = Total[N, entity]
N = 0
}
}
else
{
if(Total[N, entity]:model():lower() == FEETSTR:lower())
{
Feet:pushEntity(Total[N, entity])
}
elseif((Total[N, entity]:type() == "acf_gun") | (Total[N, entity]:model():lower() == GUNSTR:lower()))
{
Guns:pushEntity(Total[N, entity])
}
}
}
N++
}
if(N <= Total:count())
{
timer("objfilter", 100)
}
else
{
timer("setprops", 10)
}
}
if(clk("setprops"))
{
N = 1
# set feet bit defaults
while(N <= Feet:count())
{
Held[N, vector] = tol((Feet[N, entity]:massCenter() - Hip:massCenter()), For, Rig, Up)
N++
}
# set gun bit defaults
while(N <= (Feet:count() + Guns:count()))
{
Held[N, quaternion] = inv(quat(Guns[N - Feet:count(), entity])) * quat(For, Up)
N++
}
HipHeld = inv(quat(Hip)) * quat(For, Up)
Run = 1
}
#run - inputs
if(clk() & Run)
{
W = ADV["W", number]
A = ADV["A", number]
S = ADV["S", number]
D = ADV["D", number]
Space = ADV["Space", number]
Alt = ADV["Alt", number]
Pod = ADV["Entity", entity]
Active = ADV["Active", number]
CAM["Activated", number] = Active
AcPerc = clamp(AcPerc + 0.08 * (Active - !Active), 0, 1)
NEYEDriverEye = Pod:driver():eye()
NEYEFlat = (NEYEDriverEye - NEYEDriverEye:dot(Pod:up()) * Pod:up()):normalized()
NEYEUpper = (NEYEDriverEye - NEYEDriverEye:dot(Pod:right()) * Pod:right()):normalized()
X = acos(clamp(NEYEFlat:dot(Pod:forward()), -1, 1)) * sign(Pod:right():dot(NEYEFlat - Pod:forward()))
Y = acos(clamp(NEYEDriverEye:dot(NEYEFlat), -1, 1)) * sign(Pod:up():dot(NEYEDriverEye-NEYEFlat))
if(Active)
{
For = vec(sin(X), cos(X), 0)
Up = vec(0, 0, 1)
Rig = For:cross(Up)
CamD = vec(sin(X)*cos(Y), cos(X)*cos(Y), sin(Y))
}
Inputs = abs(W - S) | abs(D - A)
Accm = clamp(Accm + 0.04 * (Inputs - !Inputs), 0, MAXACC)
if(Inputs)
{
WalkVec = (For * (W - S) + Rig * (D - A)):normalized()
}
if(Alt & $Alt)
{
CAMNUM = (CAMNUM % LOCALOFFSET:count()) + 1
Pod:hintDriver("View #" + CAMNUM, 3)
}
}
#run - walking
if(clk() & Run)
{
CurPos = Hip:massCenter()
CurVel = $CurPos
Adjusted = Accm * ((CurVel - CurVel:dot(Up) * Up) + WalkVec * ACCEL)
ThrInput = Adjusted:length() > THRESHOLD
if(ThrInput)
{
CurWalk = Adjusted:normalized()
}
Perc = clamp(Perc + 0.1 * (ThrInput - !ThrInput), 0, 1)
Throttle = min(Adjusted:length() * 180 / (pi() * STEPS), THROTMAX)
Time = Time + Throttle
Dran = rangerOffset(Hip:massCenter(), Hip:massCenter() + tow(LOCALOFFSET[CAMNUM, vector], CamD, Rig, Rig:cross(CamD)))
if(Dran:hit())
{
OUTCAMP = Dran:position()
}
else
{
OUTCAMP = Hip:massCenter() + tow(LOCALOFFSET[CAMNUM, vector], CamD, Rig, Rig:cross(CamD))
}
Dranb = rangerOffset(64000, OUTCAMP, CamD)
OUTCAMD = CamD
TargetPos = Dranb:position()
HipCurrent = quat(Hip) * HipHeld
HipTarget = quat(For, Up)
HROffset = rotationVector(HipTarget/HipCurrent)
HRForce = HROffset + $HROffset
Hip:applyTorque(Hip:inertia() * HRFRC * Hip:toLocal(Hip:pos() + HRForce))
HipMirror = vec()
N = 1
while(N <= (Feet:count() + Guns:count()))
{
if(N <= Feet:count())
{
Step = STEPS * Perc * (sin(Time + N / Feet:count() * 360) * CurWalk + cos(Time + N / Feet:count() * 360) * Up * UM)
Side = STEPS * Perc * (1/3) * CurWalk:dot(Rig) * Rig * (-1)^(N % 2)
Crouch = Up * (1-AcPerc) * CROUCHLEN
Last[N, vector] = Current[N, vector]
Current[N, vector] = tow(Held[N, vector] - tol(Feet[N, entity]:massCenter() - Hip:massCenter(), For, Rig, Up), For, Rig, Up) + Step + Side + Crouch
Delta = Current[N, vector] - Last[N, vector]
Feet[N, entity]:applyForce(Feet[N, entity]:mass() * FHFRC * (Current[N, vector] + Delta) * Perc * (AcPerc == 1))
HipMirror -= (Current[N, vector] + Delta)
}
else
{
CGQ = quat(Guns[N - Feet:count(), entity]) * Held[N, quaternion]
TempV = (
does expression2 go with wiremod? cause I cant find it in the datas folder. or is it another independent mod or such?
PS: thanks for the help but I dont know how to use that code >.<
If you have never saved an expression 2 chip from within the game, there probably wont be a folder. You will have to make the folder "garrysmod/data/Expression2" and place the text file there.
ok, thanks. Imma update this if it worked
Edit: okay, I made the expression2 folder, but how would I spawn it? I know it's a chip (like wire Gate). I saw it on a video. but how would I weld it on a prop? I opened up the wire tab in the spawn menu and there's no expression tool. :( I'm very sad about this.
PS : sorry for being such a n00b and asking a lot of questions cause I just started adding addons and mods recently
[editline]21st May 2012[/editline]
damn, I wonder how these other guys pulled it off T.T
come on, guys. I wont be bothered by a little bump. I just need some little help! -_-
I'm going to be brutally honest - If you can't figure out how to get this chip in game, you're not going to be able to figure out how to use it.
well, there's still youtube. ;)
I just want to ask how to spawn it. D:
then, youtube will help me set up the mech :D
Go into the Wire tab in-game, and up at the top there will be a listing for Expression 2.
If there isn't, you either don't see it, or you installed the game wrong. For the latter, nobody here will be willing to help you correctly install it.
Sorry, you need to Log In to post a reply to this thread.