Created by Taz
Using "RC_Core.rcm" ; Morgance Online 0.1 ; Date/Time: 9:28:37 PM on 7/18/2012 ; By Dan Seguin on TAZCO-PC Function Main() Player = Actor() ActorZoneCheck$ = ActorZone(Player) Vampfly% = ActorId("Vampire Flying", "Form") Vamp% = ActorId("Vampire", "Form") Human% = ActorId("Human", "") ;IsVamp% = ActorHasEffect(Player, "Vampirism") IsVampfly% = ActorHasEffect(Player, "Vampire Fly") ; If (IsVamp = 0) ;If (IsVampfly = 0) ; OutPUt(Player, "You can not fly, unless you are in vampire form.") ; Return ; Endif ; Endif ;--------------------------------Vampire Check---------------------------------------------------------------------------------- ;If vamp dont tell player they cant use a pet in this form IsVamp% = ActorId("Vampire", "Form") PRace$ = Race(Player) PClass$ = Class(Player) PlayerID% =ActorID(PRace, PClass) If (IsVampfly = 1) ; if vamp flying allow ability couse they are still a vampire. PlayerID% = ActorId("Vampire", "Form") EndIf If Not (IsVamp = PlayerID) ;if player is not a vampire ;check what form they are in. IsSaber% = ActorHasEffect(Player, "Saber") IsSAberCat% = ActorHasEffect(Player, "Saber Cat") If (IsSaber = 1) ;in saber form tell player. ;player is in saber form used in speed check OutPut(Player, "You can not use a vampire abiility in saber form.", 255, 34, 12) Return ElseIf (IsSAberCat = 1) ;player is in saber cat form used in speed check OutPut(Player, "You can not use a vampire abiility in saber cat form.", 255, 34, 12) Return Else ;until other fors are added player must be human so tell them. OutPut(Player, "You can not use a vampire abiility in human form.", 255, 34, 12) Return EndIf EndIf ;----------------------------End Vampire Check---------------------------------------------------------------------------------- VampBlood% = Attribute(Player, "Blood") AbilityCost% = 65 TotBloodCost% = VampBlood - AbilityCost If(IsVampfly = 0) ;Output(Player, "U are now in vampire form.") If (VampBlood < 45) OutPut(Player, "You do not have enough blood to fly") Return EndIf DeleteActorEffect(Player, "Vampirism") AddActorEffect(Player, "Vampire Fly", "", 0, 0, 522) ChangeActor(Player, Vampfly) PlayerX% = ActorX(Player) PlayerY% = ActorY(PLayer) + 1 PlayerZ% = ActorZ(Player) ;----------------------------------------------------------------------------------------------------------- ;Set changes to delimiter for zone entry HealthStat% = Split(ActorGlobal(Player, 3), 1, "|") ManaStat% = Split(ActorGlobal(Player, 3), 2, "|") StrStat% = Split(ActorGlobal(Player, 3), 3, "|") TouStat% = Split(ActorGlobal(Player, 3), 4, "|") DefStat% = Split(ActorGlobal(Player, 3), 5, "|") AgiStat% = Split(ActorGlobal(Player, 3), 6, "|") WizStat% = Split(ActorGlobal(Player, 3), 7, "|") StatsCurr% = Split(ActorGlobal(Player, 3), 8, "|") StBak% = Split(ActorGlobal(Player, 3), 9, "|") RepCurr% = Split(ActorGlobal(Player, 3), 10, "|") ;player rep Gamble% = Split(ActorGlobal(Player, 3), 11, "|") ;used in gambling ClassStored% = Split(ActorGlobal(Player, 3), 12, "|") ;stores melee, ranging and magic InOutCombat% = Split(ActorGlobal(Player, 3), 13, "|") ;use in tracker in and out of combat ;extra delimters for things that mybe needed later. Extra1% = Split(ActorGlobal(Player, 3), 14, "|") Extra2% = Split(ActorGlobal(Player, 3), 15, "|") Extra3% = Split(ActorGlobal(Player, 3), 16, "|") Extra4% = 5 ;Using to check if trasmorming for entry scripts. if = to 5 then dont run zone entery Extra5% = Split(ActorGlobal(Player, 3), 18, "|") Extra6% = Split(ActorGlobal(Player, 3), 19, "|") Extra7% = Split(ActorGlobal(Player, 3), 20, "|") Extra8% = Split(ActorGlobal(Player, 3), 21, "|") OtherThingsToStore$ = HealthStat + "|" + ManaStat + "|" + StrStat + "|" + TouStat + "|" + DefStat + "|" + AgiStat + "|" + WizStat + "|" + StatsCurr + "|" + StBak + "|" + RepCurr + "|" + Gamble + "|" + ClassStored + "|" + InOutCombat + "|" + Extra1 + "|" + Extra2 + "|" + Extra3 + "|" + Extra4 + "|" + Extra5 + "|" + Extra6 + "|" + Extra7 + "|" + Extra8 SetActorGlobal(Player, 3, OtherThingsToStore) ;set dilimiter to actor global 3 ;----------------------------------------------------------------------------------------------------------- Warp(Player, ActorZoneCheck, "", 0) MoveActor(Player, PlayerX, PlayerY, PlayerZ, "False") DoEvents(2000) SetAttribute(Player, "Blood", TotBloodCost) ;cost to fly EndIf If (IsVampfly = 1) ;OutPut(Player, "U are now in human form.") DeleteActorEffect(Player, "Vampire Fly") AddActorEffect(Player, "Vampirism", "", 0, 0, 522) IfVisable% = ActorClothes(Player) If (IfVisable = 5) SetActorClothes(Player, 1) ;make vamp visable again EndIf ;If Its night time take night bonus away IsItNight% = ActorGlobal(Player, 0) If (IsItNight = 100) EndIf ChangeActor(Player, Vamp) PlayerX% = ActorX(Player) PlayerY% = ActorY(PLayer) + 4 PlayerZ% = ActorZ(Player) ;----------------------------------------------------------------------------------------------------------- ;Set changes to delimiter for zone entry HealthStat% = Split(ActorGlobal(Player, 3), 1, "|") ManaStat% = Split(ActorGlobal(Player, 3), 2, "|") StrStat% = Split(ActorGlobal(Player, 3), 3, "|") TouStat% = Split(ActorGlobal(Player, 3), 4, "|") DefStat% = Split(ActorGlobal(Player, 3), 5, "|") AgiStat% = Split(ActorGlobal(Player, 3), 6, "|") WizStat% = Split(ActorGlobal(Player, 3), 7, "|") StatsCurr% = Split(ActorGlobal(Player, 3), 8, "|") StBak% = Split(ActorGlobal(Player, 3), 9, "|") RepCurr% = Split(ActorGlobal(Player, 3), 10, "|") ;player rep Gamble% = Split(ActorGlobal(Player, 3), 11, "|") ;used in gambling ClassStored% = Split(ActorGlobal(Player, 3), 12, "|") ;stores melee, ranging and magic InOutCombat% = Split(ActorGlobal(Player, 3), 13, "|") ;use in tracker in and out of combat ;extra delimters for things that mybe needed later. Extra1% = Split(ActorGlobal(Player, 3), 14, "|") Extra2% = Split(ActorGlobal(Player, 3), 15, "|") Extra3% = Split(ActorGlobal(Player, 3), 16, "|") Extra4% = 5 ;Using to check if trasmorming for entry scripts. if = to 5 then dont run zone entery Extra5% = Split(ActorGlobal(Player, 3), 18, "|") Extra6% = Split(ActorGlobal(Player, 3), 19, "|") Extra7% = Split(ActorGlobal(Player, 3), 20, "|") Extra8% = Split(ActorGlobal(Player, 3), 21, "|") OtherThingsToStore$ = HealthStat + "|" + ManaStat + "|" + StrStat + "|" + TouStat + "|" + DefStat + "|" + AgiStat + "|" + WizStat + "|" + StatsCurr + "|" + StBak + "|" + RepCurr + "|" + Gamble + "|" + ClassStored + "|" + InOutCombat + "|" + Extra1 + "|" + Extra2 + "|" + Extra3 + "|" + Extra4 + "|" + Extra5 + "|" + Extra6 + "|" + Extra7 + "|" + Extra8 SetActorGlobal(Player, 3, OtherThingsToStore) ;set dilimiter to actor global 3 ;----------------------------------------------------------------------------------------------------------- Warp(Player, ActorZoneCheck, "", 0) MoveActor(Player, PlayerX, PlayerY, PlayerZ, "False") DoEvents(2000) EndIf ;----------------------------------------------------------------------------------------------------------- ;Set changes to delimiter for zone entry HealthStat% = Split(ActorGlobal(Player, 3), 1, "|") ManaStat% = Split(ActorGlobal(Player, 3), 2, "|") StrStat% = Split(ActorGlobal(Player, 3), 3, "|") TouStat% = Split(ActorGlobal(Player, 3), 4, "|") DefStat% = Split(ActorGlobal(Player, 3), 5, "|") AgiStat% = Split(ActorGlobal(Player, 3), 6, "|") WizStat% = Split(ActorGlobal(Player, 3), 7, "|") StatsCurr% = Split(ActorGlobal(Player, 3), 8, "|") StBak% = Split(ActorGlobal(Player, 3), 9, "|") RepCurr% = Split(ActorGlobal(Player, 3), 10, "|") ;player rep Gamble% = Split(ActorGlobal(Player, 3), 11, "|") ;used in gambling ClassStored% = Split(ActorGlobal(Player, 3), 12, "|") ;stores melee, ranging and magic InOutCombat% = Split(ActorGlobal(Player, 3), 13, "|") ;use in tracker in and out of combat ;extra delimters for things that mybe needed later. Extra1% = Split(ActorGlobal(Player, 3), 14, "|") Extra2% = Split(ActorGlobal(Player, 3), 15, "|") Extra3% = Split(ActorGlobal(Player, 3), 16, "|") Extra4% = 0 ;Using to check if trasmorming for entry scripts. if = to 5 then dont run zone entery Extra5% = Split(ActorGlobal(Player, 3), 18, "|") Extra6% = Split(ActorGlobal(Player, 3), 19, "|") Extra7% = Split(ActorGlobal(Player, 3), 20, "|") Extra8% = Split(ActorGlobal(Player, 3), 21, "|") OtherThingsToStore$ = HealthStat + "|" + ManaStat + "|" + StrStat + "|" + TouStat + "|" + DefStat + "|" + AgiStat + "|" + WizStat + "|" + StatsCurr + "|" + StBak + "|" + RepCurr + "|" + Gamble + "|" + ClassStored + "|" + InOutCombat + "|" + Extra1 + "|" + Extra2 + "|" + Extra3 + "|" + Extra4 + "|" + Extra5 + "|" + Extra6 + "|" + Extra7 + "|" + Extra8 SetActorGlobal(Player, 3, OtherThingsToStore) ;set dilimiter to actor global 3 ;----------------------------------------------------------------------------------------------------------- Return End Function