Also als erstes kannst du das
*AND* True, sowie Null operation (Does nothing.) weglassen. Ersteres wird nur für Scripts benutzt, die ohne bestimmte Voraussetzungen aktiv sein sollen und zweiteres macht, wie es der Name schon sagt, gar nichts.
Außerdem werden die Aktionen der KI nicht in den AI Bases festgelegt, sondern in der AI_Men Of The West.map. Ich habe mich zwar noch nicht intensiv mit dem Scritping auseinandergesetzt, aber ich hätte es möglicherweise so versucht. Aber ob das so funktioniert kann ich nicht sagen.
*** IF ***
Unit Unit '<This Object>' has entered the nearest base owned by player Player '<This Player>' entirely.
*AND* Unit '<This Object>' has Object Status is 'HOLDING_THE_RING'
*AND* Player '<This Player>' has Equal To 1 unit or structure of type 'NoldorGilGaladVilya'
*** THEN ***
Find 'NoldorGilGaladVilya' Owned by Player '<This Player>' nearest team Team '<This Team>' and reference as UnitRef 'GilGalad'
Give Unit Unit 'GilGalad' the upgrade Upgrade 'Upgrade_RingHero'.
For unit Unit '<This Object>' set object status Object Status is 'HOLDING_THE_RING' to FALSE.