Scriptname PKRoseLevel extends ReferenceAliasimport ActorGlobalVariable Property PKMoveSlotNum Auto SPELL Property Absorb Auto SPELL Property MegaDrain Auto SPELL Property Growth Auto SPELL Property StunSpore Auto SPELL Property PoisonSting Auto SPELL Property MoveSlot1 Auto SPELL Property MoveSlot2 Auto SPELL Property MoveSlot3 Auto SPELL Property MoveSlot4 Auto ;Uses playerlevel to decide what move to learnSpell Function newMove() if Game.GetPlayer().GetLevel() == 4PKNewMove.setValue(2) return Growth endIf if Game.GetPlayer().GetLevel() == 7PKNewMove.setValue(3) return PoisonSting endIf if Game.GetPlayer().GetLevel() == 10PKNewMove.setValue(4) return StunSpore endIf if Game.GetPlayer().GetLevel() == 13PKNewMove.setValue(5) return MegaDrain endIf if Game.GetPlayer().GetLevel() == 16PKNewMove.setValue(6) return LeechSeed endIf if Game.GetPlayer().GetLevel() == 19PKNewMove.setValue(7) return MagicalLeaf endIf if Game.GetPlayer().GetLevel() == 22PKNewMove.setValue(8) return GrassWhistle endIf if Game.GetPlayer().GetLevel() == 25PKNewMove.setValue(9) return GigaDrain endIf if Game.GetPlayer().GetLevel() == 28PKNewMove.setValue(10) return ToxicSpikes endIf if Game.GetPlayer().GetLevel() == 31PKNewMove.setValue(11) return SweetScent endIf if Game.GetPlayer().GetLevel() == 34PKNewMove.setValue(12) return Ingrain endIf if Game.GetPlayer().GetLevel() == 37PKNewMove.setValue(13) return Toxic endIf if Game.GetPlayer().GetLevel() == 40PKNewMove.setValue(14) return PetalDance endIf if Game.GetPlayer().GetLevel() == 43PKNewMove.setValue(15) return Aromatherapy endIf if Game.GetPlayer().GetLevel() == 46PKNewMove.setValue(16) return Synthesis endIfendFunction;Uses the player decided moveslot to figure out what spell to replaceSpell Function oldMove() if PKMoveSlotNum.GetValue() == 0 return MoveSlot1 endIf if PKMoveSlotNum.GetValue() == 1 return MoveSlot2 endIf if PKMoveSlotNum.GetValue() == 2 return MoveSlot3 endIf if PKMoveSlotNum.GetValue() == 3 return MoveSlot4 endIfendFunctionFunction LearnMove();This decides if there is a move in the slot, and then takes it off if they do. if(oldMove() != None) RoseliaActor.RemoveSpell(oldMove()) EndIf;adds the newspell RoseliaActor.AddSpell(newMove());these replace the correct spellslot with the new spell if PKMoveSlotNum.GetValue() == 0 MoveSlot1 = newMove() ;here are the problem lines Move1Global.setValue(PKNewMove) endIf if PKMoveSlotNum.GetValue() == 1 MoveSlot2 = newMove() Move2Global.setValue(PKNewMove) endIf if PKMoveSlotNum.GetValue() == 2 MoveSlot3 = newMove() Move3Global.setValue(PKNewMove) endIf if PKMoveSlotNum.GetValue() == 3 Move4Global.setValue(PKNewMove) endIfEndFunctionSPELL Property LeechSeed Auto SPELL Property MagicalLeaf Auto SPELL Property GrassWhistle Auto SPELL Property GigaDrain Auto SPELL Property ToxicSpikes Auto SPELL Property SweetScent Auto SPELL Property Ingrain Auto SPELL Property Toxic Auto SPELL Property PetalDance Auto SPELL Property Aromatherapy Auto SPELL Property Synthesis Auto Actor Property RoseliaActor Auto ReferenceAlias Property PokeAlias Auto GlobalVariable Property Move1Global Auto GlobalVariable Property Move2Global Auto GlobalVariable Property Move3Global Auto GlobalVariable Property Move4Global Auto GlobalVariable Property PKNewMove Auto
(You can CTRL+F to the word 'problem')
Basically, it won't let me set one global equal to another. How can I do this?

And I have felt pretty dumb quite a bit with scripting lately.