コード例 #1
0
        public FreemodePotentialGangMember(Ped targetPed, dressStyle myStyle, memberColor linkedColor) : base(targetPed, myStyle, linkedColor)
        {
            headOverlayIndexes   = new int[13];
            extraDrawableIndexes = new int[8];
            extraTextureIndexes  = new int[8];
            propDrawableIndexes  = new int[3];
            propTextureIndexes   = new int[3];

            //we've already got the model hash, torso indexes and stuff.
            //time to get the new data
            for (int i = 0; i < headOverlayIndexes.Length; i++)
            {
                headOverlayIndexes[i] = Function.Call <int>(Hash._GET_PED_HEAD_OVERLAY_VALUE, targetPed, i);

                if (i < propDrawableIndexes.Length)
                {
                    propDrawableIndexes[i] = Function.Call <int>(Hash.GET_PED_PROP_INDEX, targetPed, i);
                    propTextureIndexes[i]  = Function.Call <int>(Hash.GET_PED_PROP_TEXTURE_INDEX, targetPed, i);
                }

                //extra drawable indexes
                if (i == 1)
                {
                    extraDrawableIndexes[0] = Function.Call <int>(Hash.GET_PED_DRAWABLE_VARIATION, targetPed, i);
                    extraTextureIndexes[0]  = Function.Call <int>(Hash.GET_PED_TEXTURE_VARIATION, targetPed, i);
                }

                //indexes from 5 to 11
                if (i > 4 && i < 12)
                {
                    extraDrawableIndexes[i - 4] = Function.Call <int>(Hash.GET_PED_DRAWABLE_VARIATION, targetPed, i);
                    extraTextureIndexes[i - 4]  = Function.Call <int>(Hash.GET_PED_TEXTURE_VARIATION, targetPed, i);
                }
            }
        }
コード例 #2
0
 public PotentialGangMember()
 {
     this.modelHash          = -1;
     this.myStyle            = dressStyle.special;
     this.linkedColor        = memberColor.white;
     this.torsoDrawableIndex = -1;
     this.torsoTextureIndex  = -1;
     this.legsDrawableIndex  = -1;
     this.legsTextureIndex   = -1;
     this.hairDrawableIndex  = -1;
     this.headDrawableIndex  = -1;
     this.headTextureIndex   = -1;
 }
コード例 #3
0
 public PotentialGangMember(int modelHash, dressStyle myStyle, memberColor linkedColor,
                            int headDrawableIndex  = -1, int headTextureIndex  = -1, int hairDrawableIndex = -1,
                            int torsoDrawableIndex = -1, int torsoTextureIndex = -1, int legsDrawableIndex = -1, int legsTextureIndex = -1)
 {
     this.modelHash          = modelHash;
     this.myStyle            = myStyle;
     this.linkedColor        = linkedColor;
     this.hairDrawableIndex  = hairDrawableIndex;
     this.headDrawableIndex  = headDrawableIndex;
     this.headTextureIndex   = headTextureIndex;
     this.torsoDrawableIndex = torsoDrawableIndex;
     this.torsoTextureIndex  = torsoTextureIndex;
     this.legsDrawableIndex  = legsDrawableIndex;
     this.legsTextureIndex   = legsTextureIndex;
 }
コード例 #4
0
        public PotentialGangMember(Ped sourcePed, dressStyle myStyle, memberColor linkedColor)
        {
            this.myStyle     = myStyle;
            this.linkedColor = linkedColor;

            modelHash = sourcePed.Model.Hash;

            headDrawableIndex = Function.Call <int>(Hash.GET_PED_DRAWABLE_VARIATION, sourcePed, 0);
            headTextureIndex  = Function.Call <int>(Hash.GET_PED_TEXTURE_VARIATION, sourcePed, 0);

            hairDrawableIndex = Function.Call <int>(Hash.GET_PED_DRAWABLE_VARIATION, sourcePed, 2);

            torsoDrawableIndex = Function.Call <int>(Hash.GET_PED_DRAWABLE_VARIATION, sourcePed, 3);
            torsoTextureIndex  = Function.Call <int>(Hash.GET_PED_TEXTURE_VARIATION, sourcePed, 3);

            legsDrawableIndex = Function.Call <int>(Hash.GET_PED_DRAWABLE_VARIATION, sourcePed, 4);
            legsTextureIndex  = Function.Call <int>(Hash.GET_PED_TEXTURE_VARIATION, sourcePed, 4);
        }
コード例 #5
0
        public static PotentialGangMember GetMemberFromPool(dressStyle style, memberColor color)
        {
            PotentialGangMember returnedMember;

            if (MemberPool.memberList.Count <= 0)
            {
                UI.Notify("GTA5GangNTurfMod Warning: empty/bad memberpool file! Enemy gangs won't spawn");
                return(null);
            }

            int attempts = 0;

            do
            {
                returnedMember = MemberPool.memberList[RandoMath.CachedRandom.Next(MemberPool.memberList.Count)];
                attempts++;
            } while ((returnedMember.linkedColor != color || returnedMember.myStyle != style) && attempts < 1000);

            if (returnedMember.linkedColor != color || returnedMember.myStyle != style)
            {
                //we couldnt find one randomly.
                //lets try to find one the straightforward way then
                for (int i = 0; i < MemberPool.memberList.Count; i++)
                {
                    returnedMember = MemberPool.memberList[i];
                    if (returnedMember.linkedColor == color && returnedMember.myStyle == style)
                    {
                        return(returnedMember);
                    }
                }

                UI.Notify("failed to find a potential member of style " + style.ToString() + " and color " + color.ToString());
            }

            return(returnedMember);
        }