invisiblePlayerName = getClientName ( source )
invisiblePlayerSource = getPlayerFromNick ( invisiblePlayerName )
Why is this for?
Maybe you could just change
setTimer ( triggerEvent, 30000, 1, "nowFireNextFunction", invisiblePlayerSource )
to
setTimer(nextFunction, 30000, 1,source)
But I don't know about this, maybe it's only when both functions are in the same file.