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); } } }
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; }
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; }
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); }
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); }