Revision Difference
ents.CreateClientRope#565264
<function name="CreateClientRope" parent="ents" type="libraryfunc">
<description>
Creates a clientside only rope, similar to those used by the DOG model from Half-Life 2.
</description>
<realm>Client</realm>
<added>2025.05.23</added>
<args>
<arg name="ent1" type="Entity">The first entity to attach the rope to.</arg>
<arg name="ent1attach" type="number">The attachment ID on the first entity to attach the rope to.</arg>
<arg name="ent2" type="Entity">The second entity to attach the rope to.</arg>
<arg name="ent2attach" type="number">The attachment ID on the second entity to attach the rope to.</arg>
<arg name="extra" type="table" default="nil">Extra optional settings for the rope. Possible values are:
* slack - How much extra rope to add to the length (default: 0)
* width - Width of the rope (default: 2)
* segments - How many segments the rope should have (default: 8, valid range is [2,10])
* material - Which material should the rope have (default: `"cable/cable"`)
* nogravity - If set, the rope should have no gravity. (default: 0)
</arg>
</args>
<rets>
<ret name="" type="Entity">Created entity (`C_RopeKeyframe`).</ret>
</rets>
</function>
<example>
<description>Sample usage, creates a clientside rope between the player entity, and the entity the player is looking at.</description>
<code>
concommand.Add( "test_rope", function( ply, cmd, args )
local ent = ply:GetEyeTrace().Entity
local ent2 = ply
local ropeEnt = ents.CreateClientRope( ent, 0, ent2, 1, { slack = tonumber( args[ 1 ] ) or 0, material ="models/wireframe" } )
print( ropeEnt )
end )
local ent = ply:GetEyeTrace().Entity
local ent2 = ply
local ropeEnt = ents.CreateClientRope( ent, 0, ent2, 1, { slack = tonumber( args[ 1 ] ) or 0, material ="models/wireframe" } )
print( ropeEnt )
end )
</code>
</example>