Mach aus dem Objekt (Also, da wo du es erstellst) einfach
objectHide = createObject(...)
und dann später beim Entfernen
destroyElement(objectHide)
//EDIT: Kurze Erklärung zu der Variablen-Überlagerung:
local hide = 0
function ...
Dort erstellst du die Variable "hide", die als Integer im späteren Script-Verlauf überprüft und gesetzt wird.
local hide = 0 <------------------------------------------------------------------------------------------
function verstecken ( source, commandName )
if (hide == 0) then
if getTeamName(getPlayerTeam(source)) == "Verstecker" then
local x, y, z = getElementPosition ( source )
local hide = createObject(ids[math.random(1,3)], x, y, z-0.5) <-----------------
attachElements(hide, source)
setElementAlpha(source, 0)
outputChatBox("You're hidden", source)
hide = 1 <---------------------------------------------------------------------------------------------
else
....
Alles anzeigen
Die mit den Pfeilen markierten Zeilen sind Überlagerungen.
Am Anfang setzt du die Variable auf 1, einen Integer.
Im weiteren Script, also in der Funktion, erstellst du eine neue lokale Variable, dessen Name mit der globalen Variable konfliktiert (heißt das Wort so?)
Außerdem setzt du in diesem Teil des Scripts die Variable "hide", die du in dem Teil der Funktion als Objekt definiert hast, indem du createObject auf diese Variable gemacht hast, auf 1, was aber dann nicht mehr Global wirkt.