Normalerweise solltest du das mainscript als dieses belassen. Also weder entities darin erstellen oder iwelche Funktionen aufrufen.
Sondern erstell dafür neue scripte.
Dein Fehler rührt daher, das du eine entity erstellt hast, die Aktion zugewiesen hast.. Diese aber noch nicht initialisiert wurde.
Erstell das entity daher lieber in einem neuen Script, welches du via #include NACH deinem enviroment.c einbindest.
Somit erstellt er die Aktion bevor das Objekt erstellt wird.