Gerterво-первых, вот так:
local a = 0
вне функций лучше не писать
во-вторых, вот эта строчка:
if prewOwner == PLAYER_NOON and newOwner == PLAYER_NAME
нейтральный игрок - это PLAYER_NONE. PLAYER_NAME - это что вообще? нужно использовать константы номера игрока, например, PLAYER_1.
кроме того, в определении функции zoloto нужно указать, что у нее есть параметры prewOwner и newOwner:
function zoloto(prewOwner, newOwner)
PLAYER_NAME - это любой игрок. Я хочу чтоб скрипт работал, когда любой игрок захватит этот город