Zitat Zitat von Low Post Beitrag anzeigen
Die Abfrage nach GetButtonPressed muss im gleichen Script wie der MessageBox-Befehl stehen.

Für das Auslagern würde ich aber eher Activators empfehlen, da der OnActivate-Block nach einem Activate [Ref], 1 sofort ausgeführt wird und man nicht einen Frame auf das Ergebnis warten muss.
Nachteil ist, dass mit der normalen Activate-Funktion nur 5-6 pro Frame möglich sind.
Gleiches gilt für QuestStages & den SetStage-Befehl.

Zeig mal dein Script her, dann lässt sich da eher was machen.
Das, das zu viel Zeichen hat? Ich kürz das mal auf das wichtigste:

Code:
scn 00AttributeScript

short Button

Begin OnEquip

Messagebox "asdf", "1", "2", "3", "4", "5", "6", "7", "8", "9"

end

Begin MenuMode 1002

set Button to GetButtonPressed
	if Button == -1
		return
	elseif Button == 0
		if player.GetBaseAV Strength <= 25
			player.removeitem 01032ABC 1
				player.ModPCAttribute Strength 5
					player.ModPCSkill Blade 1
						player.ModPCSkill Blunt 1
							player.ModPCSkill HandToHand 1
		elseif player.GetBaseAV Strength <= 50 && player.GetBaseAV Strength > 25 && player.GetItemCount 01032ABC >= 2
			player.removeitem 01032ABC 2
				player.ModPCAttribute Strength 5
					player.ModPCSkill Blade 1
						player.ModPCSkill Blunt 1
							player.ModPCSkill HandToHand 1
		elseif player.GetBaseAV Strength <= 75 && player.GetBaseAV Strength > 50 && player.GetItemCount 01032ABC >= 3
			player.removeitem 01032ABC 3
				player.ModPCAttribute Strength 5
					player.ModPCSkill Blade 1
						player.ModPCSkill Blunt 1
							player.ModPCSkill HandToHand 1
		elseif player.GetBaseAV Strength < 100 && player.GetBaseAV Strength > 75 && player.GetItemCount 01032ABC >= 4
			player.removeitem 01032ABC 4
				player.ModPCAttribute Strength 5
					player.ModPCSkill Blade 1
						player.ModPCSkill Blunt 1
							player.ModPCSkill HandToHand 1
		elseif player.GetBaseAV Strength < 100 && player.GetBaseAV  Strength > 94 && player.GetItemCount 01032ABC >= 4
			player.removeitem 01032ABC 4
				player.SetAV Strength 100
					player.ModPCSkill Blade 1
						player.ModPCSkill Blunt 1
							player.ModPCSkill HandToHand 1
		elseif player.GetBaseAV Strength == 100
			Message "Ihr könnt eure Fertigkeiten nicht über 100 steigern"
		endif
Ab hier passiert eigentlich immer genau das gleiche, nur die einzelnen Level der Fähigkeiten werden abgefragt und die Befehle dementsprechend geändert. Danach geht es mit den weiteren Attributen weiter.
	endif

end
Das Script an sich funktioniert.