Exemple #1
0
 public bool ClickToMove(float x, float y, float z)
 {
     write.WriteFloat((uint)ClickToMovex.CTM_Base + (uint)ClickToMovex.CTM_X, x);
     write.WriteFloat((uint)ClickToMovex.CTM_Base + (uint)ClickToMovex.CTM_Y, y);
     write.WriteFloat((uint)ClickToMovex.CTM_Base + (uint)ClickToMovex.CTM_Z, z);
     write.WriteUInt((uint)ClickToMovex.CTM_Base + (uint)ClickToMovex.CTM_Action, 4);
     return(true);
 }
        /// <summary> Write the coordinates and action to the memory. </summary> <param
        /// name="pos">Vector3 containing the X,y & Z coordinates</param> <param name="action">CTM
        /// Interaction to perform</param>
        private static void WriteXYZToMemory(Vector3 pos, InteractionType action)
        {
            const float distance = 1.5f;

            AmeisenLogger.Instance.Log(LogLevel.VERBOSE, $"Writing: X [{pos.X},{pos.Y},{pos.Z}] Action [{action}] Distance [{distance}]", "AmeisenCore");
            BlackMagic.WriteFloat(Offsets.ctmX, (float)pos.X);
            BlackMagic.WriteFloat(Offsets.ctmY, (float)pos.Y);
            BlackMagic.WriteFloat(Offsets.ctmZ, (float)pos.Z);
            BlackMagic.WriteInt(Offsets.ctmAction, (int)action);
            BlackMagic.WriteFloat(Offsets.ctmDistance, distance);
        }
Exemple #3
0
        /// <summary>
        /// Going to coords/guid
        ///7 - подойти и полутать(Move to + Interact (OBJECT ONLY))
        ///11 - Лететь и ебашить(Attack GUID pos)
        ///4 - лететь в координату(Walk to Assigned POS)
        ///6 -	Loot
        /// </summary>
        /// <param name="X"></param>
        /// <param name="Y"></param>
        /// <param name="Z"></param>
        /// <param name="GUID"></param>
        /// <param name="ActionType"></param>
        public void GoTo(float X, float Y, float Z, UInt64 GUID, int ActionType)
        {
            uint ctmBase         = (uint)ClickToMove.CTM_Base;
            uint ctmTurnScale    = ctmBase + 0x04;
            uint ctmDistance     = ctmBase + 0x0c;
            uint ctmAction       = ctmBase + 0x1c;
            uint ctmTarget       = ctmBase + 0x20;
            uint ctmDestinationX = ctmBase + 0x8C;
            uint ctmDestinationY = ctmDestinationX + 0x4;
            uint ctmDestinationZ = ctmDestinationY + 0x4;

            switch (ActionType)
            {
            case 0:
                wow.WriteUInt64(ctmTarget, 0);
                wow.WriteFloat(ctmDistance, 0f);     // ctm distance
                wow.WriteFloat(ctmDestinationX, 0);  //ctm x
                wow.WriteFloat(ctmDestinationY, 0);  //ctm y
                wow.WriteFloat(ctmDestinationZ, 0);  //ctm z
                break;

            case 1:
                wow.WriteUInt64(ctmTarget, GUID);
                wow.WriteFloat(ctmDistance, 30.5f);     // ctm distance
                break;

            case 3:
                wow.WriteUInt64(ctmTarget, 0);
                wow.WriteFloat(ctmDistance, 30.5f);     // ctm distance
                break;

            case 4:
                if (Abilities.AbilityStatus == "Casting")
                {
                    return;
                }
                wow.WriteFloat(ctmDestinationX, X);    //ctm x
                wow.WriteFloat(ctmDestinationY, Y);    //ctm y
                wow.WriteFloat(ctmDestinationZ, Z);    //ctm z
                wow.WriteFloat(ctmDistance, 0.5f);     // ctm distance
                break;

            case 6:
                wow.WriteUInt64(ctmTarget, GUID);
                wow.WriteFloat(ctmDistance, 3.66666650772095f);     // ctm distance
                break;

            case 7:
                wow.WriteUInt64(ctmTarget, GUID);
                wow.WriteFloat(ctmDistance, 3.66666650772095f);     // ctm distance
                break;

            case 9:
                wow.WriteUInt64(ctmTarget, GUID);
                wow.WriteFloat(ctmDistance, 3.66666650772095f);     // ctm distance
                break;

            case 11:
                if ((Abilities.AbilityStatus == "Casting") & (WowControl.ClassType == 0))
                {
                    return;
                }
                wow.WriteUInt64(ctmTarget, GUID);
                wow.WriteFloat(ctmDistance, 3.66666650772095f);     // ctm distance
                break;
            }
            wow.WriteInt(ctmAction, ActionType); // ctm action
        }