Well I changed it to world and still does not work correctly, doing the same thing.
rope_1=createsprite(0)
SetSpriteSize(rope_1,50,10)
SetSpriteColor(rope_1,0,0,255,255)
SetSpritePhysicsOn(rope_1,1)
SetSpritePositionByOffset(rope_1,30,0)
rope_2=createsprite(0)
SetSpriteSize(rope_2,50,10)
SetSpriteColor(rope_2,0,255,255,255)
SetSpritePhysicsOn(rope_2,2)
SetSpritePositionByOffset(rope_2,30,60)
getxpos_1=GetSpriteXFromWorld( rope_1, GetSpriteOffsetX(rope_1),GetSpriteOffsetY(rope_1))
getypos_1=GetSpriteYFromWorld( rope_1, GetSpriteOffsetX(rope_1),GetSpriteOffsetY(rope_1))
getxpos_2=GetSpriteXFromWorld( rope_2, GetSpriteOffsetX(rope_2),GetSpriteOffsetY(rope_2))
getypos_2=GetSpriteYFromWorld( rope_2, GetSpriteOffsetX(rope_2),GetSpriteOffsetY(rope_2))
CreateRopeJoint( rope_1, rope_2,getxpos_1 , getypos_1, getxpos_2, getypos_2, 10, 1 )
EDIT
I looked in the examples and there is a different way to use a rope and it works welll.
rope_1=createsprite(0)
SetSpriteSize(rope_1,50,10)
SetSpriteColor(rope_1,0,0,255,255)
SetSpritePhysicsOn(rope_1,1)
SetSpritePositionByOffset(rope_1,30,0)
rope_2=createsprite(0)
SetSpriteSize(rope_2,50,10)
SetSpriteColor(rope_2,0,255,255,255)
SetSpritePhysicsOn(rope_2,2)
SetSpritePositionByOffset(rope_2,30,60)
CreateRevoluteJoint ( 1, rope_1, rope_2, 30, 0, 0 )