Das geht zwar, ist aber so nicht ganz richtig.
"ball" beschreibt einen Entity Pointer und keine Variable.
Das es trotzdem geht, hängt mit den Internas von c-Script zusammen.
Allerdings gibt es eine Fehlermeldung, sobald Du mit der Entity "ball" etwas machen willst.

Schreibe statt:
var ball;

dieses hier:
entity* ball;

über die Action.

Damit hast Du aus "ball" einen Zeiger auf eine Entity gemacht.


Mittels

ball = me;

wird der Zeiger der betreffenden Entity zugewiesen.


Nun kannst Du in anderen Funktionen auf den Ball zugreifen, z.B. mit

ball.invisible = on; // Ball unsichtbar machen


Vorher musst Du warten / sicherstellen, daß der Pointer gefüllt ist:

while(!ball){wait(1);}

Hoffe das hilft und verwirrt Dich jetzt nicht zu sehr.


no science involved