Preparation before heading into the wilds

Discuss IB/IBx engine ideas, bugs, etc.
youngneil1
Posts: 148
Joined: Mon Jan 20, 2020 9:01 am

Re: Preparation before heading into the wilds

Post by youngneil1 »

I am even later :oops: , - a hearty welcome, cartons!

I am a bit out of the IB loop these days (see current Unreal Enigne project), but return I will :) . This work is not done yet, harf!
cartons
Posts: 68
Joined: Mon Jan 11, 2021 5:38 pm

Re: Preparation before heading into the wilds

Post by cartons »

Hey youngneil1, no worries, I find it cool how you guys have been steadily chipping away at this block for the last 8+ years. I've been lowkey evangelizing this project here and there, anticipating the day when this becomes a cornerstone item in every rpg enthusiast's toolkit.

The fantasy I'd like to indulge here would be to somehow marry the two formative rpgs of my childhood; Pokemon and Baldur's Gate (it's a jellybean pizza, I know), which, off the bat would require a system that allows for recruitable pre-made pcs that you can boot from your party at will (with the exception of the human custom pc), but recruit at a later a time if you choose; as well as a system that allows for pcs to 'evolve', essentially ascending to a higher class of specialization.

I have no idea if the first is possible, while with the second, I see only aesthetic obstacles; like, is it possible for a pc to have its profile and overworld sprite changed?

I'd like to be able to steal as much knowledge as I can from taking apart existing modules, and digging through the archived boards, but to supplement the work, is there, like, a database of non-integrated scripts on github or somewhere that I could look at?
User avatar
slowdive
Site Admin
Posts: 485
Joined: Wed Jan 15, 2020 4:37 am

Re: Preparation before heading into the wilds

Post by slowdive »

All of the ideas you mentioned are possible in the existing system. Recruitable PCs that can be removed via a conversation, changing PC sprites, special builder made custom traits that essentially can make a specialization class. Some of these are in use in modules like Hearkenwold, Raventhal, Lanterna - The Exile, and Lanterna - Return to Charn. I don't think there are any script resource databases out there.
cartons
Posts: 68
Joined: Mon Jan 11, 2021 5:38 pm

Re: Preparation before heading into the wilds

Post by cartons »

I have a couple of questions:

I'm having trouble with the gaAddPartyMember.cs script. I set it up in a conversation, with the parameter pointing to the Char.json file (in the data folder), but I can't get it to follow through. MaxPartySize is set to 6 and I'm not seeing any other obstacle to script activation.

I've checked the 'Fresh Template' that comes included, and it looks like the test Companion Balen doesn't join your party either (also uses the same gaAddPartyMember.cs script.

My next question is about accessing some of the parameters that don't show up in the builder like the elements list (ie. Acid, Ice, etc..) as well as the Item scripts (ie. itHealLight.cs). Is there a way, for example, to get a Potion to heal 7 HP instead of 8, besides resorting to creating a new Spell Effect to trigger on the Item's use?

btw, I'm using the IceBlink 2 RPG Toolset ver 1.00, which I understand is still in development.
User avatar
slowdive
Site Admin
Posts: 485
Joined: Wed Jan 15, 2020 4:37 am

Re: Preparation before heading into the wilds

Post by slowdive »

I'm not exactly sure about the gaAddPartyMember.cs script, why it isn't working right. I know that you can add party members and even temporary party members. It may come down to a syntax issue with the file name or location of the file? Have you tried turning debugmode on and see what notes show up in the message box? Also, maybe check the "IB2ErrorLog.txt" to see if any messages maybe show up there that may be related. We have slowly been working on adding more debugging messages and creating more intuitive functionality, but we still have a long way to go with that. Unfortunately, IB can still have a large learning curve because of the lack of up-to-date documentation.

We have been moving away from fixed item scripts like "itHealLight.cs" and such. We created the effect system so that the builders can have a lot of flexibility in creating what they need. We add new features to the Effect Class as needed as well. So to have a healing option that does 1-7 or just 7, you create an Effect in the Effect editor and then use that effect with an item or spell or trait.
zach_holbrook
Posts: 83
Joined: Thu Jan 16, 2020 5:00 am

Re: Preparation before heading into the wilds

Post by zach_holbrook »

cartons wrote: Sat Feb 20, 2021 2:06 am

I'm having trouble with the gaAddPartyMember.cs script. I set it up in a conversation, with the parameter pointing to the Char.json file (in the data folder), but I can't get it to follow through. MaxPartySize is set to 6 and I'm not seeing any other obstacle to script activation.
Have you made sure to enter the name without the .json file extension?
cartons
Posts: 68
Joined: Mon Jan 11, 2021 5:38 pm

Re: Preparation before heading into the wilds

Post by cartons »

Ah, thank you,
It may come down to a syntax issue with the file name or location of the file?
Have you made sure to enter the name without the .json file extension?
That was the issue. I was typing in the .json extension in the Parameter 1 case. Could it be the example given in the IB build I'm using is misleading?

//gaAddPartyMember.cs - Adds a pre-made character to the party
//parm1 = (string) PC file name (ex. Drin.json)
//parm2 = none
//parm3 = none
//parm4 = none
User avatar
slowdive
Site Admin
Posts: 485
Joined: Wed Jan 15, 2020 4:37 am

Re: Preparation before heading into the wilds

Post by slowdive »

I think the example may be based on an older version maybe. In IBbasic, I check for both with and without the extension, but IB doesn't have the check (we should add it):

IBbasic:

Code: Select all

        public void AddCharacterToParty(string filename)
        {
            try
            {
                //if the filename doesn't have a .json extension, add it
                if (!filename.EndsWith(".json"))
                {
                    filename += ".json";
                }
                Player newPc = gv.cc.LoadPlayer(filename); //ex: filename = "ezzbel.json"
                ...
IB:

Code: Select all

       public void AddCharacterToParty(string filename)
        {
            try
            {
                Player newPc = gv.cc.LoadPlayer(filename +".json"); //ex: filename = "ezzbel.json"
                ...
cartons
Posts: 68
Joined: Mon Jan 11, 2021 5:38 pm

Re: Preparation before heading into the wilds

Post by cartons »

I went to test some recent changes to my game, and when I select 'New Game' and try to hit the left and right arrows to scroll to my test character, I get hit with this error message:

System.NullReferenceException: Object reference not set to an instance of an object.
at IceBlink2.ScreenPartyBuild.redrawPartyBuild()
at IceBlink2.GameView.Render(Single elapsed)
at IceBlink2.GameView.gameTimer_Tick(Object sender, EventArgs e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I'm not sure what object instance is being referred to here as not prperly set. The Data Check within the Toolset doesn't provide any information.

Anyone have a clue?

edit: This happens even if I delete all the created characters from the save folder. I'm able to create new characters, just not select them with the left and right buttons.
cartons
Posts: 68
Joined: Mon Jan 11, 2021 5:38 pm

Re: Preparation before heading into the wilds

Post by cartons »

I worked around it by going back to previously saved version of the module. I was able to import all the area, trigger, and conversation work I'd done since then, so there wasn't anything there that had caused the problem. Strange.
Post Reply