The Sims Indonesia Communities

All About The Sims - The Sims 2 - The Sims 3 => The Sims 3 Chit Chat => Topic started by: gilang on June 11, 2009, 04:51:24 PM

Title: Udah pada pake AwesomeMod belon?
Post by: gilang on June 11, 2009, 04:51:24 PM
Yang maen TS3, udah pada pake AwesomeMod belon? Ada yang crash2 pas ingame gitu ga setelah pake itu?
Title: Re: Udah pada pake AwesomeMod belon?
Post by: treeag on June 11, 2009, 04:58:33 PM
/me belum main ts3 lagi setelah download :wak:

gilang ts3 crash setelah install awesomemod? :wew
Title: Re: Udah pada pake AwesomeMod belon?
Post by: gilang on June 11, 2009, 05:07:22 PM
Cuma start-up crash. Ga ada ngaruh apa-apa karena kayaknya cuma kebegoan TS3 aja  :ahah Soalnya pas di start lagi uda langsung mau..

Kalo ingame crash belon pernah ngerasain.. Kata orang2 di MATY kan ada issue tentang crash 1AM.. Tapi gw uda beberapa kali maen sampe lewat 1AM ngga crash kok.

Moga2 aja ga ada crash.. Kalo ada crash sedih deh.. :aneh
Title: Re: Udah pada pake AwesomeMod belon?
Post by: Vespaphobia on June 23, 2009, 12:34:42 PM
maaf kk... noob nih... mo nanya awesomemod tuh apa ya??  :haduu:
Title: Re: Udah pada pake AwesomeMod belon?
Post by: gilang on June 23, 2009, 01:24:14 PM
Hack untuk membuat game The Sims 3 kita jadi lebih Awesome!

http://www.moreawesomethanyou.com/smf/index.php/topic,15185.0.html
Title: Re: Udah pada pake AwesomeMod belon?
Post by: Vespaphobia on June 23, 2009, 01:30:39 PM
nanya lagi...  :haduu: makenya gimana ya kk?
Title: Re: Udah pada pake AwesomeMod belon?
Post by: gilang on June 23, 2009, 04:05:59 PM
Baca donk petunjuknya di sana.. Susah ngejelasinnya di sini :shake
 :sneak

Sneak Info:
1. Donlot Delphy install helper monkey dari MTS
2. Download Awesome mod
3. Trus install pake Delphy Install Helper monkey
4. Taadaa
Title: Re: Udah pada pake AwesomeMod belon?
Post by: caramelz on June 26, 2009, 09:23:47 PM
Apa mungkin kek ts2 kalo hacknya ngga cocok malah jadi crash gamenya? Aku belum pernah main ts3 sih..
Title: Re: Udah pada pake AwesomeMod belon?
Post by: gilang on June 26, 2009, 11:33:17 PM
Emang ada crash issues. Ada yang dari mod-nya, dan biasanya di-maintain sama si modder, ada juga dari yang EA-nya yang tiba2 bisa crash di komputer lu tapi baik2 aja di komputer orang-orang laen.

Cuman karena nature TS3 dimana scritpnya sekarang bukan macem BHAV, tapi pake Signed MSIL Library alias .NET Code, jadi script2nya semacam hardcoded gitu dan naturally hardcoded thingy is not really modular. Jadinya untuk saat ini, cuma satu Global Mod yang bisa dipake.

Sampai sekarang juga belum diketahui bagaimana membuat script sendiri seperti kita dulu bikin BHAV baru untuk custom objects.

GW kemaren nyoba me-disassamble library yang di-hack pake AwesomeMod, dan scriptnya bener-bener fully .NET code dengan library-library dari TS3nya langsung. Gw juga belon nyoba mengeksplor lebih jauh apa aja yang disediakan API dari TS3. Kayaknya sih emang super ribet. Tapi karena scritpnya pake bahasa pemrograman asli, hack-hack di TS3 seharusnya bisa jauh lebih luas dari TS2. Contohnya di AwesomeMod menyediakan code2 console (baca: cheat) ekstra, beserta modifikasi user interface.

(Kok jadi ngomong jorok kodingan yaa...  :ngebut Kadang2 lupa diri kalo udah ngomongin kodingan  :hahak)
Title: Re: Udah pada pake AwesomeMod belon?
Post by: Koe™ on June 26, 2009, 11:58:04 PM
@om gilang, ko3 :binun berat:
Title: Re: Udah pada pake AwesomeMod belon?
Post by: gilang on June 27, 2009, 12:13:28 AM
Apanya bang yg bingung? Gw juga bingung.. Hahahahahahaha

(Bingung gw knapa gw sering bgt dipanggil om....  :eek Gw kan masih mudaa...  :mcred)

Nih biar tambah bingung  :hahak.. Salah satu script BookSkill.. Gw jg nggak tau nih script ngapain.  :ngebut

Code: [Select]
public class BookSkill : Book, IOmniPlantFeedable, IGameObject, IScriptObject, IScriptLogic, IHasScriptProxy, IObjectUI, IExportableContent, ISkillCallbackUser
{
    // Fields
    [Tunable, TunableComment("Description:  Minutes before sending kFinishdBoookEvent")]
    private static float kMinutesBeforeFinished = 20f;
    private Sim mSimReading;

    // Methods
    public IGameObject CloneForOmniPlant()
    {
        return base.Clone();
    }

    public override IGameObject Copy(bool movingOut)
    {
        BookSkill skill = null;
        BookSkillData data = base.Data as BookSkillData;
        if (data != null)
        {
            skill = CreateOutOfWorld(data);
        }
        return skill;
    }

    public static BookSkill CreateOutOfWorld(BookSkillData data)
    {
        BookSkill skill = GlobalFunctions.CreateObjectOutOfWorld("BookSkill") as BookSkill;
        skill.InitBookCommon(data);
        return skill;
    }

    public static ObjectGuid CreateOutOfWorldID(BookSkillData data, ref Simulator.ObjectInitParameters initData)
    {
        IGameObject obj2 = GlobalFunctions.CreateObjectOutOfWorld("BookSkill", null, initData);
        if (obj2 == null)
        {
            return ObjectGuid.InvalidObjectGuid;
        }
        return obj2.ObjectId;
    }

    public void FinishOneUse()
    {
        if (!Config.BooksNotMagicScrolls)
        {
            base.mOneShotDelete = true;
        }
    }

    public void FinishUnlockSkill(Sim Actor, BookSkillData sData)
    {
        Actor.SkillManager.AddElement(sData.SkillGuid);
        base.BookDialog(Localization.LocalizeString(Actor.IsFemale, "Gameplay/Objects/BookSkill:SkillUnlockDialogText", new object[] { Actor, sData.Skill }), Actor);
    }

    public override void FirstTimeFinished(Sim actor)
    {
        BookSkillData sData = base.Data as BookSkillData;
        if (sData != null)
        {
            if (sData.UnlockSkill)
            {
                this.FinishUnlockSkill(actor, sData);
            }
            if (sData.OneUse)
            {
                this.FinishOneUse();
            }
        }
    }

    public Skill.SkillLevelUpCallback GetSkillCallback()
    {
        return new Skill.SkillLevelUpCallback(this.SkillLevelUpCallback);
    }

    public bool IsFeedable()
    {
        return true;
    }

    public override void LoopDel(StateMachineClient smc, Sim Actor, bool isBookWorm, float deltaTime, float lifeTime)
    {
        ReadBook currentInteraction = Actor.CurrentInteraction as ReadBook;
        if (((currentInteraction != null) && !currentInteraction.mHasSentEventThisInteraction) && (lifeTime > kMinutesBeforeFinished))
        {
            EventTracker.SendEvent(EventTypeId.kReadBook, Actor, this);
            currentInteraction.mHasSentEventThisInteraction = true;
        }
        base.LoopDel(smc, Actor, isBookWorm, deltaTime, lifeTime);
    }

    public override void OnLoad()
    {
        BookSkillData data;
        if (BookData.BookSkillDataList.TryGetValue(base.mBookId, out data))
        {
            base.Data = data;
        }
        base.OnLoad();
    }

    public static void ProcessCallback(BookSkillData data, BookSkill book)
    {
        book.InitBookCommon(data);
        book.RemoveFromWorld();
    }

    public override void ReadPostLoop(bool succeeded, Sim Actor, InteractionInstance interaction)
    {
        BookSkillData data = base.Data as BookSkillData;
        Skill element = Actor.SkillManager.GetElement(data.SkillGuid);
        Actor.SkillManager.StopSkillGain(element.Guid);
        this.mSimReading = null;
        ReadBook book = interaction as ReadBook;
        if (succeeded && !book.mHasSentEventThisInteraction)
        {
            EventTracker.SendEvent(EventTypeId.kReadBook, Actor, this);
            book.mHasSentEventThisInteraction = true;
        }
        element.UnRegisterForSkillLevelUpEvent(new Skill.SkillLevelUpCallback(this.SkillLevelUpCallback), this);
        book.RegisteredSkillEvent = false;
    }

    public override bool ReadPreLoop(Sim Actor, InteractionInstance inst)
    {
        BookSkillData data = base.Data as BookSkillData;
        Skill skill = Actor.SkillManager.AddElement(data.SkillGuid);
        ReadBook book = inst as ReadBook;
        skill.RegisterForSkillLevelUpEvent(new Skill.SkillLevelUpCallback(this.SkillLevelUpCallback), this);
        book.RegisteredSkillEvent = true;
        if (skill.GatedFromLevelingUp)
        {
            base.BookDialog(Localization.LocalizeString("Gameplay/Objects/BookSkill:LackRequirementsDialogText", new object[] { Actor, data.Skill }), Actor);
            return false;
        }
        float pagesMinNorm = data.PagesMinNorm;
        if (Actor.TraitManager.HasElement((TraitNames) (-5175480303478029936L)))
        {
            pagesMinNorm = data.PagesMinBW;
        }
        if (Actor.LotCurrent.GetMetaAutonomyVenueType() == MetaAutonomyVenueType.Library)
        {
            pagesMinNorm += base.BookLibraryReadPPMBonus;
        }
        float rate = pagesMinNorm * data.SkillPointsPerPage;
        data = null;
        Actor.SkillManager.StartSkillGain(skill.Guid, rate);
        this.mSimReading = Actor;
        return true;
    }

    public void SkillLevelUpCallback(int skillLevel)
    {
        BookSkillData data = base.Data as BookSkillData;
        if (skillLevel >= data.MaxSkill)
        {
            this.mSimReading.AddExitReason(ExitReason.Finished);
        }
    }

    public override bool TestReadBook(Sim Actor, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback)
    {
        GreyedOutTooltipCallback callback = null;
        GreyedOutTooltipCallback callback2 = null;
        GreyedOutTooltipCallback callback3 = null;
        GreyedOutTooltipCallback callback4 = null;
        BookSkillData sData = base.Data as BookSkillData;
        if (sData == null)
        {
            return false;
        }
        if (!sData.ChildCanRead && (Actor.SimDescription.Age == 4))
        {
            if (callback == null)
            {
                callback = delegate {
                    return Localization.LocalizeString(Actor.IsFemale, "Gameplay/Actors/Sim:ChildSkillBookFailure", new object[] { Actor });
                };
            }
            greyedOutTooltipCallback = callback;
            return false;
        }
        if (((sData.MinSkill > 0) && (sData.MinSkill > Actor.SkillManager.GetSkillLevel(sData.SkillGuid))) || (!sData.ChildCanRead && (Actor.SimDescription.Age == 4)))
        {
            if (callback2 == null)
            {
                callback2 = delegate {
                    return Localization.LocalizeString(Actor.IsFemale, "Gameplay/Objects/BookSkill:CannotReadDialogText", new object[] { Actor, sData.Skill });
                };
            }
            greyedOutTooltipCallback = callback2;
            return false;
        }
        if (sData.MaxSkill <= Actor.SkillManager.GetSkillLevel(sData.SkillGuid))
        {
            if (callback3 == null)
            {
                callback3 = delegate {
                    return Localization.LocalizeString(Actor.IsFemale, "Gameplay/Objects/BookSkill:SimTooAdvancedText", new object[] { Actor, sData.Skill });
                };
            }
            greyedOutTooltipCallback = callback3;
            return false;
        }
        if (Actor.MoodManager.StressInteractionTest())
        {
            if (callback4 == null)
            {
                callback4 = delegate {
                    return Localization.LocalizeString("Gameplay/Actors/Sim:StressFailure", new object[] { Actor });
                };
            }
            greyedOutTooltipCallback = callback4;
            return false;
        }
        if (isAutonomous)
        {
            Skill element = Actor.SkillManager.GetElement(sData.SkillGuid);
            if (element == null)
            {
                return sData.UnlockSkill;
            }
            if (element.GatedFromLevelingUp || (sData.MinSkill > Actor.SkillManager.GetSkillLevel(sData.SkillGuid)))
            {
                return false;
            }
        }
        return true;
    }
}

 

Sebenernya ini juga ga cocok dibilang sekedar script. Ini memang bener-bener library program, yang harus di-compile terlebih dahulu, serta menggunakan konsep programming OOP. (Waduh.. omongannya tambah jorok nih..  :ngebut)
Title: Re: Udah pada pake AwesomeMod belon?
Post by: chucky_pakorem on June 30, 2009, 06:07:31 PM
ga ngerti :binun berat:
laen deh emang sama om gilang yg udah ahli .. :toke
Title: Re: Udah pada pake AwesomeMod belon?
Post by: gilang on June 30, 2009, 10:14:00 PM
Saya mah nggak ahli.. Cuma n00by yang rada sotoy dan ngebongkar package yang isinya alien dari planet Jupiter. :petir

Saya mah modding aja ga bisa. Cuma seneng aja ngeliat kodingan dalam bahasa yang bisa "dimengerti"  :ngebut
Title: Re: Udah pada pake AwesomeMod belon?
Post by: LyNx on July 02, 2009, 10:16:40 PM
:aaa saya nge-crash!
dan gak mau masuk ke main menu/(entahlah apa namanya, pokoknya abis loading itu ada menu) :tolong:

gimana nih? tak ngertos saya :puciing:

Title: Re: Udah pada pake AwesomeMod belon?
Post by: gilang on July 03, 2009, 07:22:09 AM
Coba jalanin lagi TS3nya deh.. Udah nginstal Delphy installer monkey ato frameworknya blon?
Title: Re: Udah pada pake AwesomeMod belon?
Post by: LyNx on July 03, 2009, 09:42:31 AM
oh iya frameworknya belum :eek
:shake thanks gilang/ka gilang/om gilang :peace
lagi di donlot dulu nih, hehe

Udah bisa, thx banget gilang! :shake
Title: Re: Udah pada pake AwesomeMod belon?
Post by: niezzz on October 26, 2009, 05:03:00 PM
aduh om gilang..bingung nii apa tu code2 n buat apa? pusing ah..btw cheat extra nya apa aja ni? :mesum  :ngayal
Title: Re: Udah pada pake AwesomeMod belon?
Post by: edhot43 on February 22, 2010, 12:22:15 PM
Apanya bang yg bingung? Gw juga bingung.. Hahahahahahaha

(Bingung gw knapa gw sering bgt dipanggil om....  :eek Gw kan masih mudaa...  :mcred)

Nih biar tambah bingung  :hahak.. Salah satu script BookSkill.. Gw jg nggak tau nih script ngapain.  :ngebut

Code: [Select]
public class BookSkill : Book, IOmniPlantFeedable, IGameObject, IScriptObject, IScriptLogic, IHasScriptProxy, IObjectUI, IExportableContent, ISkillCallbackUser
{
    // Fields
    [Tunable, TunableComment("Description:  Minutes before sending kFinishdBoookEvent")]
    private static float kMinutesBeforeFinished = 20f;
    private Sim mSimReading;

    // Methods
    public IGameObject CloneForOmniPlant()
    {
        return base.Clone();
    }

    public override IGameObject Copy(bool movingOut)
    {
        BookSkill skill = null;
        BookSkillData data = base.Data as BookSkillData;
        if (data != null)
        {
            skill = CreateOutOfWorld(data);
        }
        return skill;
    }

    public static BookSkill CreateOutOfWorld(BookSkillData data)
    {
        BookSkill skill = GlobalFunctions.CreateObjectOutOfWorld("BookSkill") as BookSkill;
        skill.InitBookCommon(data);
        return skill;
    }

    public static ObjectGuid CreateOutOfWorldID(BookSkillData data, ref Simulator.ObjectInitParameters initData)
    {
        IGameObject obj2 = GlobalFunctions.CreateObjectOutOfWorld("BookSkill", null, initData);
        if (obj2 == null)
        {
            return ObjectGuid.InvalidObjectGuid;
        }
        return obj2.ObjectId;
    }

    public void FinishOneUse()
    {
        if (!Config.BooksNotMagicScrolls)
        {
            base.mOneShotDelete = true;
        }
    }

    public void FinishUnlockSkill(Sim Actor, BookSkillData sData)
    {
        Actor.SkillManager.AddElement(sData.SkillGuid);
        base.BookDialog(Localization.LocalizeString(Actor.IsFemale, "Gameplay/Objects/BookSkill:SkillUnlockDialogText", new object[] { Actor, sData.Skill }), Actor);
    }

    public override void FirstTimeFinished(Sim actor)
    {
        BookSkillData sData = base.Data as BookSkillData;
        if (sData != null)
        {
            if (sData.UnlockSkill)
            {
                this.FinishUnlockSkill(actor, sData);
            }
            if (sData.OneUse)
            {
                this.FinishOneUse();
            }
        }
    }

    public Skill.SkillLevelUpCallback GetSkillCallback()
    {
        return new Skill.SkillLevelUpCallback(this.SkillLevelUpCallback);
    }

    public bool IsFeedable()
    {
        return true;
    }

    public override void LoopDel(StateMachineClient smc, Sim Actor, bool isBookWorm, float deltaTime, float lifeTime)
    {
        ReadBook currentInteraction = Actor.CurrentInteraction as ReadBook;
        if (((currentInteraction != null) && !currentInteraction.mHasSentEventThisInteraction) && (lifeTime > kMinutesBeforeFinished))
        {
            EventTracker.SendEvent(EventTypeId.kReadBook, Actor, this);
            currentInteraction.mHasSentEventThisInteraction = true;
        }
        base.LoopDel(smc, Actor, isBookWorm, deltaTime, lifeTime);
    }

    public override void OnLoad()
    {
        BookSkillData data;
        if (BookData.BookSkillDataList.TryGetValue(base.mBookId, out data))
        {
            base.Data = data;
        }
        base.OnLoad();
    }

    public static void ProcessCallback(BookSkillData data, BookSkill book)
    {
        book.InitBookCommon(data);
        book.RemoveFromWorld();
    }

    public override void ReadPostLoop(bool succeeded, Sim Actor, InteractionInstance interaction)
    {
        BookSkillData data = base.Data as BookSkillData;
        Skill element = Actor.SkillManager.GetElement(data.SkillGuid);
        Actor.SkillManager.StopSkillGain(element.Guid);
        this.mSimReading = null;
        ReadBook book = interaction as ReadBook;
        if (succeeded && !book.mHasSentEventThisInteraction)
        {
            EventTracker.SendEvent(EventTypeId.kReadBook, Actor, this);
            book.mHasSentEventThisInteraction = true;
        }
        element.UnRegisterForSkillLevelUpEvent(new Skill.SkillLevelUpCallback(this.SkillLevelUpCallback), this);
        book.RegisteredSkillEvent = false;
    }

    public override bool ReadPreLoop(Sim Actor, InteractionInstance inst)
    {
        BookSkillData data = base.Data as BookSkillData;
        Skill skill = Actor.SkillManager.AddElement(data.SkillGuid);
        ReadBook book = inst as ReadBook;
        skill.RegisterForSkillLevelUpEvent(new Skill.SkillLevelUpCallback(this.SkillLevelUpCallback), this);
        book.RegisteredSkillEvent = true;
        if (skill.GatedFromLevelingUp)
        {
            base.BookDialog(Localization.LocalizeString("Gameplay/Objects/BookSkill:LackRequirementsDialogText", new object[] { Actor, data.Skill }), Actor);
            return false;
        }
        float pagesMinNorm = data.PagesMinNorm;
        if (Actor.TraitManager.HasElement((TraitNames) (-5175480303478029936L)))
        {
            pagesMinNorm = data.PagesMinBW;
        }
        if (Actor.LotCurrent.GetMetaAutonomyVenueType() == MetaAutonomyVenueType.Library)
        {
            pagesMinNorm += base.BookLibraryReadPPMBonus;
        }
        float rate = pagesMinNorm * data.SkillPointsPerPage;
        data = null;
        Actor.SkillManager.StartSkillGain(skill.Guid, rate);
        this.mSimReading = Actor;
        return true;
    }

    public void SkillLevelUpCallback(int skillLevel)
    {
        BookSkillData data = base.Data as BookSkillData;
        if (skillLevel >= data.MaxSkill)
        {
            this.mSimReading.AddExitReason(ExitReason.Finished);
        }
    }

    public override bool TestReadBook(Sim Actor, bool isAutonomous, ref GreyedOutTooltipCallback greyedOutTooltipCallback)
    {
        GreyedOutTooltipCallback callback = null;
        GreyedOutTooltipCallback callback2 = null;
        GreyedOutTooltipCallback callback3 = null;
        GreyedOutTooltipCallback callback4 = null;
        BookSkillData sData = base.Data as BookSkillData;
        if (sData == null)
        {
            return false;
        }
        if (!sData.ChildCanRead && (Actor.SimDescription.Age == 4))
        {
            if (callback == null)
            {
                callback = delegate {
                    return Localization.LocalizeString(Actor.IsFemale, "Gameplay/Actors/Sim:ChildSkillBookFailure", new object[] { Actor });
                };
            }
            greyedOutTooltipCallback = callback;
            return false;
        }
        if (((sData.MinSkill > 0) && (sData.MinSkill > Actor.SkillManager.GetSkillLevel(sData.SkillGuid))) || (!sData.ChildCanRead && (Actor.SimDescription.Age == 4)))
        {
            if (callback2 == null)
            {
                callback2 = delegate {
                    return Localization.LocalizeString(Actor.IsFemale, "Gameplay/Objects/BookSkill:CannotReadDialogText", new object[] { Actor, sData.Skill });
                };
            }
            greyedOutTooltipCallback = callback2;
            return false;
        }
        if (sData.MaxSkill <= Actor.SkillManager.GetSkillLevel(sData.SkillGuid))
        {
            if (callback3 == null)
            {
                callback3 = delegate {
                    return Localization.LocalizeString(Actor.IsFemale, "Gameplay/Objects/BookSkill:SimTooAdvancedText", new object[] { Actor, sData.Skill });
                };
            }
            greyedOutTooltipCallback = callback3;
            return false;
        }
        if (Actor.MoodManager.StressInteractionTest())
        {
            if (callback4 == null)
            {
                callback4 = delegate {
                    return Localization.LocalizeString("Gameplay/Actors/Sim:StressFailure", new object[] { Actor });
                };
            }
            greyedOutTooltipCallback = callback4;
            return false;
        }
        if (isAutonomous)
        {
            Skill element = Actor.SkillManager.GetElement(sData.SkillGuid);
            if (element == null)
            {
                return sData.UnlockSkill;
            }
            if (element.GatedFromLevelingUp || (sData.MinSkill > Actor.SkillManager.GetSkillLevel(sData.SkillGuid)))
            {
                return false;
            }
        }
        return true;
    }
}

 

Sebenernya ini juga ga cocok dibilang sekedar script. Ini memang bener-bener library program, yang harus di-compile terlebih dahulu, serta menggunakan konsep programming OOP. (Waduh.. omongannya tambah jorok nih..  :ngebut)

ntu kan JAVA, kalo nyoba compilenya bisa pake neatbean atau pake CMD. tapi kalo lwt CMD musti install JDK ama setting Environtment Variable dulu.