Kaliber hat also mit seiner ersten Aussage bezueglich Timern in SAMP vollkommen recht. Timer koennen nur Callbacks aufrufen, da die Timer funktion eine Funktionsreferenz haben moechte.
Das ist immer noch nicht richtig.
wenn ich eine einfache Funktion erstelle, die nichts kann außer einen Wert zurückgeben, und sie public setze, macht sie das nicht zu einem Callback.
Callbacks sind Funktionen die durch bestimmte nicht im Script/eigentlichen Programm aufgerufen werden.
Beispiel OnPlayerConnect.
Es steht zwar im Script, wird aber nicht im Script aufgerufen. sondern extern durch den (SA:MP) Server.
Ich kann auch eine Funktion erstellen, die Kaliber heißt, die ebenso public ist, aber nicht extern durch den (SA:MP Server) aufgerufen wird, ergo sie ist kein Callback.
Trotzdem kann ich sie mit einem Timer aufrufen 
Man könnte also sagen:
public: lässt eine Funktion von "überall" zugänglich machen und compiliert den Code ohne "Function ist never used"
stock: lässt bei compilieren die Funktion "weg", sofern sie nie aufgerufen wird. Ist daher auch nicht von "außen" aufrufbar.
ohne Keyword: eine einfache Funktion, ohne Zugirff von "außen" aber mit dem Fehler "Function is never used"