Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Scholar
#26 Old 18th Jun 2017 at 12:43 AM
You really should update the game to be honest. Get 1.67 update not 1.69.
But if you want unprotected dlls for 1.38 patch then you can do it yourself with the core modding tutorial here in this link
http://www.modthesims.info/showthread.php?t=354419
Convert the .dll file to .il then open the .il file with notepad++ then go to search and replace and change the word private with public. After that save the .il file and convert it back into a .dll file. You now have your unprotected dll file
Advertisement
Lab Assistant
Original Poster
#27 Old 18th Jun 2017 at 4:21 AM
Quote: Originally posted by skydome
You really should update the game to be honest. Get 1.67 update not 1.69.
But if you want unprotected dlls for 1.38 patch then you can do it yourself with the core modding tutorial here in this link
http://www.modthesims.info/showthread.php?t=354419
Convert the .dll file to .il then open the .il file with notepad++ then go to search and replace and change the word private with public. After that save the .il file and convert it back into a .dll file. You now have your unprotected dll file

And sense? Failed to compile, error: Invalid token 'const' in class, struct, or interface member declaration.
Scholar
#28 Old 18th Jun 2017 at 7:30 AM
Quote: Originally posted by whiteman-Dara
And sense? Failed to compile, error: Invalid token 'const' in class, struct, or interface member declaration.


No decompiling is done using the windows command prompt and some other files. Decompile the .DLL file to .il file by using the tutorial. After that change the protected and private methods to public. Decompiling is NOT done via Visual Studio or ILspy.
Virtual gardener
staff: administrator
#29 Old 18th Jun 2017 at 11:54 AM
If I recall right, the link skydome linked is up to date to probably avoid confusion regarding the version you are suppose to use. I would update your game first and see what happens. (Not to 1.69 by the way but 1.67!)
Lab Assistant
Original Poster
#30 Old 19th Jun 2017 at 8:54 AM
skydome, Through ilasm all perfectly compiles, but I can not find in it part of this code
Quote:
if (!GameUtils.IsInstalled((ProductVersion)16384u))
{
Text text = base.GetChildByID(230395088u, true) as Text;
text.Enabled = false;
text.Visible = false;
this.mSupernaturalTypeButton.Enabled = false;
this.mSupernaturalTypeButton.Visible = false;
this.mSupernaturalTypeName.Visible = false;
}
Button button2 = base.GetChildByID(224337440u, true) as Button;
button2.Tag = OccultTypes.Witch;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Witch.ToString(), new object[0]);
button2 = (base.GetChildByID(224337424u, true) as Button);
button2.Tag = OccultTypes.Fairy;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Fairy.ToString(), new object[0]);
button2 = (base.GetChildByID(224777360u, true) as Button);
button2.Tag = OccultTypes.Ghost;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Ghost.ToString(), new object[0]);
button2 = (base.GetChildByID(224337392u, true) as Button);
button2.Tag = OccultTypes.Werewolf;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Werewolf.ToString(), new object[0]);
button2 = (base.GetChildByID(224780368u, true) as Button);
button2.Tag = OccultTypes.Genie;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Genie.ToString(), new object[0]);
if (!GameUtils.IsInstalled((ProductVersion)2048u))
{
button2.TooltipText = CASBasics.LocalizeEP07String("EPNotInstalled", new object[0]);
button2.Enabled = false;
}
button2 = (base.GetChildByID(224348352u, true) as Button);
button2.Tag = OccultTypes.None;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(0.ToString(), new object[0]);
button2 = (base.GetChildByID(224863552u, true) as Button);
button2.Tag = OccultTypes.Vampire;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Vampire.ToString(), new object[0]);
this.mHumanBasicsWindow = (base.GetChildByID(228219856u, true) as Window);
this.mHumanBasicsButton = (base.GetChildByID(228218416u, true) as Button);
this.mHumanBasicsButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnHumanBasicsClick);
this.mFairyBasicsButton = (base.GetChildByID(228218417u, true) as Button);
this.mFairyBasicsButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnSupernaturalBasicsClick);
this.mGhostBasicsButton = (base.GetChildByID(228218418u, true) as Button);
this.mGhostBasicsButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnSupernaturalBasicsClick);
this.InitGhostUI();
this.InitFairyUI();
this.PopulateGrid();
this.SetupControlValues();
this.UpdateAgeSelectionButtons();
this.UpdateAgeTooltip();
cASModel.OnSimPreviewChange += new SimPreviewChangeDelegate(this.OnSimPreviewChange);
cASModel.OnSimAddedToHousehold += new SimAddedToHouseholdDelegate(this.OnSimAddedToHousehold);
cASModel.OnSimDeleted += new SimDeletedDelegate(this.OnSimDeleted);
cASModel.OnSimLoaded += new SimLoadedDelegate(this.OnSimLoaded);
cASModel.OnSimRandomized += new SimRandomizedDelegate(this.OnSimRandomized);
cASModel.OnSimAgeGenderChanged += new SimAgeGenderChanged(this.OnSimAgeGenderChanged);
cASModel.OnSimPreviewLoadFinished += new SimPreviewLoadFinished(this.OnSimPreviewLoadFinished);
cASModel.OnDynamicUpdateCurrentSimThumbnail += new DynamicUpdateCurrentSimThumbnailDelegate(this.OnDynamicUpdateCurrentSimThumbnail);
cASModel.OccultTypeSelected += new OccultTypeChosenDelegate(this.OnOccultTypeSelected);
cASModel.OnSimReplaced += new SimReplacedDelegate(this.OnSimReplaced);
cASModel.OnUpdateThumbnails += new UpdateThumbnailsDelegate(this.OnDynamicUpdateCurrentSimThumbnail);
Simulator.AddObject(new OneShotFunctionTask(new Function(this.DynamicUpdateCurrentSimThumbnailTask), StopWatch.TickStyles.Seconds, 2.5f));
this.SetSupernaturalTypeNameCaption();
cASModel.UpdateVisualsToCurrent();
this.UpdateOccultDependentUI(cASModel.CurrentOccultType);
CASController singleton = CASController.Singleton;
CASController expr_CD8 = singleton;
expr_CD8.OnEditWerewolfTransformed = (CASController.EditWerewolfTransformed)Delegate.Combine(expr_CD8.OnEditWerewolfTransformed, new CASController.EditWerewolfTransformed(this.OnEditWerewolfTransformed));
CASController expr_CFB = singleton;
expr_CFB.OnEditWerewolfTransformedDone = (CASController.EditWerewolfTransformedDone)Delegate.Combine(expr_CFB.OnEditWerewolfTransformedDone, new CASController.EditWerewolfTransformedDone(this.OnEditWerewolfTransformedDone));

I need to make edits here
Scholar
#31 Old 19th Jun 2017 at 10:17 AM
Try using the find option in notepad++, use the name of the class and method to find.
What kind of change are you trying to make? From what you described before in this post you need to change private and protected methods to public right? So what you should do is use the find and replace option and replace the word private with public and then replace the word protected with public, use the replace all option. When you have successfully done this convert the il file back into dll file and voila your unprotected dll file is ready. After that use this file as a reference in your visual studio to make your mo

If you are making a core mod than that's a little difficult for me to do, what you can do is copy paste the EA code into your .CS file like class1.cs, make the changes, change the namespace and class names then compile into dll. After that decompile your dll into il and compare the EA il file with yours and make the changes.
If you're attempting modding for the first time then core modding isn't the best place to start with tho, this is why there are so few core modders.
Lab Assistant
Original Poster
#32 Old 19th Jun 2017 at 9:18 PM
Quote: Originally posted by skydome
Try using the find option in notepad++, use the name of the class and method to find.
What kind of change are you trying to make? From what you described before in this post you need to change private and protected methods to public right? So what you should do is use the find and replace option and replace the word private with public and then replace the word protected with public, use the replace all option. When you have successfully done this convert the il file back into dll file and voila your unprotected dll file is ready. After that use this file as a reference in your visual studio to make your mo

If you are making a core mod than that's a little difficult for me to do, what you can do is copy paste the EA code into your .CS file like class1.cs, make the changes, change the namespace and class names then compile into dll. After that decompile your dll into il and compare the EA il file with yours and make the changes.
If you're attempting modding for the first time then core modding isn't the best place to start with tho, this is why there are so few core modders.

I found what I was looking for there was, the another register. But the game does not want to accept changes after the intro videos, there is a crash
Scholar
#33 Old 19th Jun 2017 at 10:53 PM
Oh your mod is crashing huh, that sucks well look I'm sure you'll figure out what the problem is but I think you should try to make some simpler and easier mods first to gain more experience. Like Moodlet adding mods or interaction adding mods or traits adding and then work your way upto the more complex ones. You'll be able to solve the issue on your own when you get a little more experienced.

Core mods have to be really precise. Even a wrong line number will crash your game and it doesn't use the normal coding logic in the .il file.
Lab Assistant
Original Poster
#34 Old 20th Jun 2017 at 12:15 AM
skydome, I want to get the result, such a code, but I can not write it in the .il file, a the visual studio just does not want to compile it.
Quote:
using Sims3.SimIFace;
using Sims3.SimIFace.CAS;
using Sims3.UI.Hud;
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;

namespace Sims3.UI.CAS
{
public class CASBasics : Window, ICASUINode
{
private enum ControlIDs : uint
{
InvalidCharacterWindow = 16u,
DoneButton = 98277120u,
FirstNameTextEdit,
LastNameTextEdit,
GenderMaleButton,
GenderFemaleButton,
AgeToddlerButton,
AgeChildButton,
AgeTeenButton,
AgeYoungAdultButton,
AgeAdultButton,
AgeElderButton,
RandomizeNameButton,
SkinToneSlider = 98277136u,
SkinToneRamp,
SkinToneSwatchButton,
SkinToneSwatch,
CustomContentIcon,
ThinHeavySlider,
MuscleSlider,
MuscleDefinitionSlider = 170510192u,
BreastSizeSlider = 170871392u,
SkinToneGridHolder = 98277143u,
SkinToneGrid,
ThinHeavyHolder,
MuscleHolder,
BodyModifierWindow,
MuscleDefinitionHolder = 170871312u,
BreastSizeHolder = 170871376u,
SupernaturalTypeButton = 224269920u,
SupernaturalTypePopup = 224615632u,
SupernaturalTypePopupItemGrid = 224269936u,
BufferedThumbnailWindow = 224273248u,
SupernaturalTypeText = 224337504u,
WitchButton = 224337440u,
FairyButton = 224337424u,
WerewolfButton = 224337392u,
HumanButton = 224348352u,
GhostButton = 224777360u,
GenieButton = 224780368u,
VampireButton = 224863552u,
MummyButton = 224087920u,
FrankensteinButton = 224771904u,
GhostDeathTypeSelectionWindow = 224777216u,
GhostDeathTypeSelectionWindow_ItemGrid = 228231280u,
HumanBasicsWindow = 228219856u,
HumanBasicsButton = 228218416u,
FairyBasicsButton,
GhostBasicsButton,
FairyWingSelectorWindow = 228218736u,
FairyWingSelectorItemGrid,
FairyWingColorPickerButton = 228230016u,
SkinToneText = 228852464u,
SupernaturalTypeHeaderText = 230395088u,
GridItemGlowWindow = 231002384u
}

private const string kPrefix = "UI/Controllers/CasBasics:";

private const string kEP07Prefix = "UI/Controllers/CasBasicsEP07:";

private const string kEP07TooltipPrefix = "UI/Tooltip/CAS/CasBasicsEP07:";

private const int kSliderMaxValue = 256;

private const float kSliderMaxFloat = 256f;

private const int kSliderHalfValue = 128;

protected const float kSliderHalfFloat = 128f;

private const float kScrollbarPadding = 19f;

private const int kMaxNameLengthNormal = 13;

private const int kMaxNameLengthShort = 10;

private const long kBreastSliderInstanceID = 6997618900402679873L;

private const uint kBaseHeight = 438u;

private const uint kSliderIncrement = 50u;

private const uint kTopSliderHolderPosition = 30u;

private WindowBase mInvalidCharacterWindow;

private Button mDoneButton;

private TextEdit mFirstNameTextEdit;

private TextEdit mLastNameTextEdit;

private Button mGenderMaleButton;

private Button mGenderFemaleButton;

private Button mAgeToddlerButton;

private Button mAgeChildButton;

private Button mAgeTeenButton;

private Button mAgeYoungAdultButton;

private Button mAgeAdultButton;

private Button mAgeElderButton;

private float mPanelHeight;

private Slider mSkinToneSlider;

private Slider mThinHeavySlider;

private Slider mMuscleSlider;

private Slider mMuscleDefinitionSlider;

private Slider mBreastSizeSlider;

private ImageDrawable mRampDrawable;

private CustomContentIcon mCustomContentIcon;

private Window mSkinToneGridWindow;

private Window mSkinToneSwatch;

private Button mSkinToneSwatchButton;

private ItemGrid mSkinToneGrid;

private Window mThinHeavyHolder;

private Window mMuscleHolder;

private Window mMuscleDefinitionHolder;

private Window mBreastSizeHolder;

private float mSkin;

private int mRampIndex;

private FacialBlendData mBreastSizeBlendData;

private FadeEffect mFadeEffect;

private float mFadeTime;

private CASState mTargetState;

private bool mFirstSliderChange;

private Button mSupernaturalTypeButton;

private Window mSupernaturalTypePopup;

private ItemGrid mSupernatrualTypePopupItemGrid;

private Dictionary<WindowBase, SimOutfit> mThumbOutfits = new Dictionary<WindowBase, SimOutfit>();

private Text mSupernaturalTypeName;

private Window mGhostDeathTypeSelectionWindow;

private ItemGrid mGhostDeathTypeItemGrid;

private Window mHumanBasicsWindow;

private Button mHumanBasicsButton;

private Button mFairyBasicsButton;

private Button mGhostBasicsButton;

private Window mFairWingSelectionWindow;

private ItemGrid mFairyWingSelectionItemGrid;

private Button mFairyWingColorPickerButton;

private Vector3 mOriginalFairyWingColor;

private WingTypes mOriginalWingType;

private float mPerceivedLuminance;

private Text mSkinToneText;

private ICASModel mModel;

private int mNonTransformedMax;

private static bool mShowedWerewolfMsg = false;

private static string[] mGhostDeathNames = new string[]
{
"GhostDeath01",
"GhostDeath02",
"GhostDeath03",
"GhostDeath04",
"GhostDeath05",
"GhostDeath06",
"GhostDeath07",
"GhostDeath09",
"GhostDeath10",
"GhostDeath11",
"GhostDeath12",
"GhostDeath13",
"GhostDeath14"
};

private static string[] mAdultWingIconNames = new string[]
{
"FairyWings01",
"FairyWings02",
"FairyWings03",
"FairyWings04",
"FairyWings05",
"FairyWings06"
};

private static string[] mChildWingIconNames = new string[]
{
"FairyWings07",
"FairyWings08",
"FairyWings09",
"FairyWings10",
"FairyWings11",
"FairyWings12"
};

private static Layout sBasicsLayout = null;

internal static CASBasics gSingleton = null;

private bool mWerewolfIsTransformed;

public event UINodeShutdownCallback UINodeShutdown
{
[MethodImpl(MethodImplOptions.Synchronized)]
add
{
this.UINodeShutdown = (UINodeShutdownCallback)Delegate.Combine(this.UINodeShutdown, value);
}
[MethodImpl(MethodImplOptions.Synchronized)]
remove
{
this.UINodeShutdown = (UINodeShutdownCallback)Delegate.Remove(this.UINodeShutdown, value);
}
}

public static string LocalizeString(string name, params object[] parameters)
{
return Responder.Instance.LocalizationModel.LocalizeString("UI/Controllers/CasBasics:" + name, parameters);
}

public static string LocalizeEP07String(string name, params object[] parameters)
{
return Responder.Instance.LocalizationModel.LocalizeString("UI/Controllers/CasBasicsEP07:" + name, parameters);
}

public static string LocalizeEP07Tooltip(string name, params object[] parameters)
{
return Responder.Instance.LocalizationModel.LocalizeString("UI/Tooltip/CAS/CasBasicsEP07:" + name, parameters);
}

internal static void Load()
{
ResourceKey resKey = ResourceKey.CreateUILayoutKey("CASBasics", 0u);
CASBasics.sBasicsLayout = UIManager.LoadLayoutAndAddToWindow(resKey, UICategory.CAS);
CASBasics.gSingleton = (CASBasics.sBasicsLayout.GetWindowByExportID(1) as CASBasics);
}

private static void Unload()
{
CASBasics.gSingleton = null;
if (CASBasics.sBasicsLayout != null)
{
CASBasics.sBasicsLayout.Shutdown();
CASBasics.sBasicsLayout.Dispose();
CASBasics.sBasicsLayout = null;
}
}

public static int GetMaxNameLength()
{
string locale = StringTable.GetLocale();
string key;
switch (key = locale)
{
case "ja-jp":
case "zh-cn":
case "zh-sg":
case "zh-tw":
case "zh-hk":
case "ko-kr":
return 10;
}
return 13;
}

public CASBasics(uint winHandle) : base(winHandle)
{
}

public override void Init()
{
this.mModel = Responder.Instance.CASModel;
this.mWerewolfIsTransformed = this.mModel.CurrentlyEditingTransformedWerewolf();
foreach (object current in base.EffectList)
{
this.mFadeEffect = (current as FadeEffect);
if (this.mFadeEffect != null)
{
this.mFadeTime = this.mFadeEffect.Duration;
break;
}
}
base.FadeTransitionFinished += new UIEventHandler<UIHandledEventArgs>(this.OnFadeFinished);
this.mBreastSizeBlendData = new FacialBlendData(new BlendUnit(new ResourceKey(6997618900402679873uL, 3039776853u, 0u)));
this.mInvalidCharacterWindow = base.GetChildByID(16u, true);
this.mDoneButton = (base.GetChildByID(98277120u, true) as Button);
this.mFirstNameTextEdit = (base.GetChildByID(98277121u, true) as TextEdit);
this.mLastNameTextEdit = (base.GetChildByID(98277122u, true) as TextEdit);
this.mGenderMaleButton = (base.GetChildByID(98277123u, true) as Button);
this.mGenderFemaleButton = (base.GetChildByID(98277124u, true) as Button);
this.mAgeToddlerButton = (base.GetChildByID(98277125u, true) as Button);
this.mAgeChildButton = (base.GetChildByID(98277126u, true) as Button);
this.mAgeTeenButton = (base.GetChildByID(98277127u, true) as Button);
this.mAgeYoungAdultButton = (base.GetChildByID(98277128u, true) as Button);
this.mAgeAdultButton = (base.GetChildByID(98277129u, true) as Button);
this.mAgeElderButton = (base.GetChildByID(98277130u, true) as Button);
Button button = base.GetChildByID(98277131u, true) as Button;
button.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnRandomizeNameClick);
ICASModel cASModel = Responder.Instance.CASModel;
if (cASModel.CurrentlyEditingTransformedWerewolf())
{
this.mGenderFemaleButton.Enabled = false;
this.mGenderMaleButton.Enabled = false;
this.mGenderFemaleButton.TooltipText = (this.mGenderMaleButton.TooltipText = CASBasics.LocalizeEP07String("GenderSwapDisabled", new object[0]));
}
uint maxNameLength = (uint)CASBasics.GetMaxNameLength();
this.mFirstNameTextEdit.MaxTextLength = maxNameLength;
this.mLastNameTextEdit.MaxTextLength = maxNameLength;
CASBasics.SetupTextEdit(this.mFirstNameTextEdit, cASModel.FirstName);
this.mFirstNameTextEdit.TextAccept += new UIEventHandler<UITextEditAcceptEventArgs>(this.OnNameTextEditAccept);
this.mFirstNameTextEdit.TextChange += new UIEventHandler<UITextChangeEventArgs>(this.OnNameTextEditChange);
this.mFirstNameTextEdit.TextEditTab += new UIEventHandler<UIEventArgs>(this.OnNameTextEditTab);
this.mFirstNameTextEdit.TextValidate += new UIEventHandler<UITextValidateEventArgs>(this.OnNameTextEditValidate);
CASBasics.SetupTextEdit(this.mLastNameTextEdit, cASModel.LastName);
this.mLastNameTextEdit.TextAccept += new UIEventHandler<UITextEditAcceptEventArgs>(this.OnNameTextEditAccept);
this.mLastNameTextEdit.TextChange += new UIEventHandler<UITextChangeEventArgs>(this.OnNameTextEditChange);
this.mLastNameTextEdit.TextEditTab += new UIEventHandler<UIEventArgs>(this.OnNameTextEditTab);
this.mLastNameTextEdit.TextValidate += new UIEventHandler<UITextValidateEventArgs>(this.OnNameTextEditValidate);
this.mGenderMaleButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnGenderButtonClick);
this.mGenderFemaleButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnGenderButtonClick);
this.mAgeToddlerButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnAgeButtonClick);
this.mAgeChildButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnAgeButtonClick);
this.mAgeTeenButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnAgeButtonClick);
this.mAgeYoungAdultButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnAgeButtonClick);
this.mAgeAdultButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnAgeButtonClick);
this.mAgeElderButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnAgeButtonClick);
this.mDoneButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnDoneButtonClick);
this.mPanelHeight = base.Area.Height;
this.mSkinToneSlider = (base.GetChildByID(98277136u, true) as Slider);
this.mSkinToneSlider.SliderValueChange += new UIEventHandler<UIValueChangedEventArgs>(this.OnSkinToneSliderChanged);
this.mSkinToneSlider.MouseDown += new UIEventHandler<UIMouseEventArgs>(this.OnSliderMouseDown);
this.mSkinToneSlider.MouseUp += new UIEventHandler<UIMouseEventArgs>(this.OnSliderMouseUp);
this.mCustomContentIcon = (base.GetChildByID(98277140u, true) as CustomContentIcon);
this.mThinHeavySlider = (base.GetChildByID(98277141u, true) as Slider);
this.mThinHeavySlider.SliderValueChange += new UIEventHandler<UIValueChangedEventArgs>(this.OnThinHeavySliderChanged);
this.mThinHeavySlider.MouseDown += new UIEventHandler<UIMouseEventArgs>(this.OnSliderMouseDown);
this.mThinHeavySlider.MouseUp += new UIEventHandler<UIMouseEventArgs>(this.OnSliderMouseUp);
this.mMuscleSlider = (base.GetChildByID(98277142u, true) as Slider);
this.mMuscleSlider.SliderValueChange += new UIEventHandler<UIValueChangedEventArgs>(this.OnMuscleSliderChanged);
this.mMuscleSlider.MouseDown += new UIEventHandler<UIMouseEventArgs>(this.OnSliderMouseDown);
this.mMuscleSlider.MouseUp += new UIEventHandler<UIMouseEventArgs>(this.OnSliderMouseUp);
this.mNonTransformedMax = this.mMuscleSlider.MaxValue;
if (cASModel.CurrentlyEditingTransformedWerewolf())
{
this.mMuscleSlider.MaxValue = (int)((float)this.mNonTransformedMax * 1.25f);
this.mMuscleSlider.Invalidate();
}
this.mMuscleDefinitionSlider = (base.GetChildByID(170510192u, true) as Slider);
this.mMuscleDefinitionSlider.SliderValueChange += new UIEventHandler<UIValueChangedEventArgs>(this.OnMuscleDefinitionSliderChanged);
this.mMuscleDefinitionSlider.MouseDown += new UIEventHandler<UIMouseEventArgs>(this.OnSliderMouseDown);
this.mMuscleDefinitionSlider.MouseUp += new UIEventHandler<UIMouseEventArgs>(this.OnSliderMouseUp);
this.mBreastSizeSlider = (base.GetChildByID(170871392u, true) as Slider);
this.mBreastSizeSlider.SliderValueChange += new UIEventHandler<UIValueChangedEventArgs>(this.OnBreastSizeSliderChanged);
this.mBreastSizeSlider.MouseDown += new UIEventHandler<UIMouseEventArgs>(this.OnSliderMouseDown);
this.mBreastSizeSlider.MouseUp += new UIEventHandler<UIMouseEventArgs>(this.OnSliderMouseUp);
Window window = base.GetChildByID(98277137u, true) as Window;
this.mRampDrawable = (window.Drawable as ImageDrawable);
this.mSkinToneGridWindow = (base.GetChildByID(98277143u, true) as Window);
this.mSkinToneGrid = (base.GetChildByID(98277144u, true) as ItemGrid);
this.mSkinToneGrid.Visible = true;
this.mSkinToneGrid.ItemClicked += new ItemGrid.ItemGridItemClickedEventHandler(this.OnGridSelect);
this.mSkinToneSwatch = (base.GetChildByID(98277139u, true) as Window);
this.mSkinToneSwatchButton = (base.GetChildByID(98277138u, true) as Button);
this.mSkinToneSwatchButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnSwatchButtonClick);
this.mThinHeavyHolder = (base.GetChildByID(98277145u, true) as Window);
this.mMuscleHolder = (base.GetChildByID(98277146u, true) as Window);
this.mMuscleDefinitionHolder = (base.GetChildByID(170871312u, true) as Window);
this.mBreastSizeHolder = (base.GetChildByID(170871376u, true) as Window);
this.mSkinToneText = (base.GetChildByID(228852464u, true) as Text);
this.mSupernaturalTypeButton = (base.GetChildByID(224269920u, true) as Button);
this.mSupernaturalTypeButton.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnSupernaturalTypeButtonPressed);
this.mSupernaturalTypePopup = (base.GetChildByID(224615632u, true) as Window);
this.mSupernaturalTypePopup.Tick += new UIEventHandler<UIEventArgs>(this.OnSupernaturalTypePopupFocusLost);
this.mSupernatrualTypePopupItemGrid = (base.GetChildByID(224269936u, true) as ItemGrid);
this.mSupernaturalTypeName = (base.GetChildByID(224337504u, true) as Text);
this.SetSupernaturalTypeNameCaption();
if (cASModel.CurrentlyEditingTransformedWerewolf())
{
this.mSupernaturalTypeButton.Enabled = false;
this.mSupernaturalTypeButton.TooltipText = CASBasics.LocalizeEP07String("DisabledWhileTransformed", new object[0]);
this.mSupernaturalTypeName.TooltipText = CASBasics.LocalizeEP07String("DisabledWhileTransformed", new object[0]);
}
if (!GameUtils.IsInstalled((ProductVersion)16384u))
{
Text text = base.GetChildByID(230395088u, true) as Text;
text.Enabled = false;
text.Visible = false;
this.mSupernaturalTypeButton.Enabled = false;
this.mSupernaturalTypeButton.Visible = false;
this.mSupernaturalTypeName.Visible = false;
}
Button button2 = base.GetChildByID(224337440u, true) as Button;
button2.Tag = OccultTypes.Witch;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Witch.ToString(), new object[0]);
button2 = (base.GetChildByID(224337424u, true) as Button);
button2.Tag = OccultTypes.Fairy;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Fairy.ToString(), new object[0]);
button2 = (base.GetChildByID(224777360u, true) as Button);
button2.Tag = OccultTypes.Ghost;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Ghost.ToString(), new object[0]);
button2 = (base.GetChildByID(224087920u, false) as Button);
button2.Tag = OccultTypes.Mummy;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Mummy.ToString(), new object[0]);
button2 = (base.GetChildByID(224337392u, true) as Button);
button2.Tag = OccultTypes.Werewolf;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Werewolf.ToString(), new object[0]);
button2 = base.GetChildByID(224771904u, false) as Button;
button2.Tag = OccultTypes.Frankenstein;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Frankenstein.ToString(), new object[0]);
button2 = (base.GetChildByID(224780368u, true) as Button);
button2.Tag = OccultTypes.Genie;
button2.Click += new UIEventHandler<UIButtonClickEventArgs>(this.OnOccultTypeSelected);
button2.TooltipText = CASBasics.LocalizeEP07String(OccultTypes.Genie.ToString(), new object[0]);
if (!GameUtils.IsInstalled((ProductVersion)2048u))
{
button2.TooltipText = CASBasics.LocalizeEP07String("EPNotInstalled", new object[0]);
button2.Enabled = false;
}...
Scholar
#35 Old 20th Jun 2017 at 1:20 AM
You know that's a very big mod to work with, Visual studio won't compile if you're editing things in the resource directly. You don't have permission and even if Visual studio succeeds the game won't accept. If you want to make changes directly in the game file you have to decompile to il and make changes there.

I'll try to help you but first you have to explain to me what kind of mod are you trying to make Script mod or core mod?
First answer me this and we can move to the next step, ok?
Lab Assistant
Original Poster
#36 Old 20th Jun 2017 at 1:48 AM
Quote: Originally posted by skydome
You know that's a very big mod to work with, Visual studio won't compile if you're editing things in the resource directly. You don't have permission and even if Visual studio succeeds the game won't accept. If you want to make changes directly in the game file you have to decompile to il and make changes there.

I'll try to help you but first you have to explain to me what kind of mod are you trying to make Script mod or core mod?
First answer me this and we can move to the next step, ok?

I do not know for sure, but I guess that the scripting mod.
Scholar
#37 Old 20th Jun 2017 at 3:25 AM
This link might help clarify you. http://www.carls-sims-4-guide.com/f...hp?topic=9186.0

You can't directly write your code in the game's resource file and if you're copy pasting the code than you have to change the name of the namespace and probably the name of the methods.

I suggest you save this mod for now and start a simpler mod to get more experienced.

I suggest you first try making these simpler mods
http://www.modthesims.info/wiki.php...ripting_Modding
And these tutorials
http://www.modthesims.info/wiki.php..._GeneralModding

This will give you a good idea with making script mods. And one more thing you should update your game to the patch 1.67. The patch is free and about 1 GB in download. You can use the latest up to date features and the unprotected dlls already available. The mod you're making seems kinda complex and even you seem confused about it, so start with simpler mods and then go big. Practice easier mods for a month or two with the help of tutorials and then try this one again when you get more experienced.
Virtual gardener
staff: administrator
#38 Old 20th Jun 2017 at 10:14 PM
One thing you have to make sure of whenever you're editing this mod, is not to keep the werewolf, fairy, vampire, etc data because it already exists. This is probably why the mod crashed in the first place.

So what I would do instead is carefully reading the scripts and see how EA made a occult appear in the supernatural button window that you are altering at the moment. You might also change the public class to:

public class YOURCLASS : CASBasics

Instead of just keeping the original window and ICASUInode.

But I agree, scripting is not easy when you have no idea what to alter and what to do. So I would definetly check out a few tutorials before proceeding working on this mod. I think then you see what I mean with why the mod will make your game crash
Lab Assistant
Original Poster
#39 Old 21st Jun 2017 at 11:52 PM
Greenplumbbob, skydome, Thank you very much for your help, but the mod is useless, now I will explain, as is well known in ghosts, a double voice, it came from patch 26, but in the cas it appears only with patch 38, I assumed that this effect is obtained because the developers done so The creatures that are in the button of the supernatural type get the effect of the voice that they have in the life mode, but a bummer, having emptied the button I found that ghosts and speak with a double voice, the question arises where this was added?
Scholar
#40 Old 22nd Jun 2017 at 5:15 AM
You should get the newer patch(1.67) We can't really tell you what was stored where in the old dll files y'know, we don't have the older dll files anymore.
Virtual gardener
staff: administrator
#41 Old 22nd Jun 2017 at 7:18 AM
With newer patch, we mean updating the game through the launcher or from here:

https://simsvip.com/2014/01/24/sims...ate-1-67-12414/

(Only download the super patch )
Lab Assistant
Original Poster
#42 Old 23rd Jun 2017 at 12:49 AM
Quote: Originally posted by skydome
You should get the newer patch(1.67) We can't really tell you what was stored where in the old dll files y'know, we don't have the older dll files anymore.

In your game there is such an effect in CAS, but if you need dll files, I'll attach with patch 36 where ghosts had a dual voice only in life mode and patch 38 where ghosts had a double voice and in CAS
Attached files:
File Type: zip  dll files patch 36.zip (19.92 MB, 3 downloads) - View custom content
File Type: zip  dll files patch 38.zip (21.50 MB, 3 downloads) - View custom content
Page 2 of 2
Back to top