I use this
integer channel = -383838;default{ touch_start(integer total_number) { if (llDetectedKey(0) == llGetOwner()) llRegionSay(channel, "summon"); }}
for script in the prim, that need to summon me
and this in av attacjment
integer channel = -383838;safe_posJump(vector target_pos){ vector start_pos = llGetPos(); llSetLinkPrimitiveParamsFast(!!llGetLinkNumber(), [PRIM_POSITION, <1.304382E+19, 1.304382E+19, 0.0>, PRIM_POSITION, target_pos, PRIM_POSITION, start_pos, PRIM_POSITION, target_pos]);}default{ state_entry() { llListen(channel, "", "", "summon"); } listen(integer channel, string name, key id, string message) { key o = llGetOwner(); if (llGetOwnerKey(id) == o) { list details = (llGetObjectDetails(o, [OBJECT_POS, OBJECT_ROT])); vector where = llList2Vector(details, 0); rotation rot = llList2Rot(details, 1); safe_posJump(where + (<1, 0, 0> * rot) + <0., 0., 1.>); llSetRot(rot); } }}
upd: code