Jump to content


waebbl

Member Since 11 Sep 2015
Offline Last Active Dec 05 2015 09:37 AM

Posts I've Made

In Topic: [Research] The 'my transition is stuck' thread

26 November 2015 - 11:13 PM

They could also have used some special value, like NAN, NIL or NULL or whatever.

 

Using wptfmcat instead of WTPCat in the above snippet worked for me. Cat's in Picture 1, I can save the game and play.


In Topic: [Research] The 'my transition is stuck' thread

26 November 2015 - 05:34 PM

The Global set to 0 is the default, it is not set but is equal to does not exist, ie in your case it IS 0 already.

This behaviour I didn't know. It's not very common for many programming languages to have an undefined variable equal (integer) 0. It's not noted in the IESDP either.

 

I had this idea too and tried it using the save from before I last spoke to Gorion, but this doesn't work. But I didn't realize, that Candlekeep Chores starts, when you are already in ar0602. I check again with the other save file too.

 

I already reported to the WTP modmaker two days ago, didn't check back there yet, just came home from a short trip.


In Topic: [Research] The 'my transition is stuck' thread

24 November 2015 - 06:05 PM

I found this in ar0602.bcs:
 

IF
	Global("MeetOldenFriends","GLOBAL",100)
	Global("IHaveFamiliar","GLOBAL",0)
	PartyHasItem("FAMCAT") // Vertrauter
THEN
	RESPONSE #100
		ActionOverride("Picture 1",TakePartyItem("FAMCAT")) // Vertrauter
		SetGlobal("IHaveFamiliar","GLOBAL",2)
		Continue()
END

SImiliar blocks are there for other familiars as well.

With WTPFamiliars installed, the familiars are called WTP* instead of FAM*, i.e. WTPCat for the cat familiar. And I don't have a variable IHaveFamiliar defined at all. I have no clue, where this gets set to 0, maybe when the original spell Find Familiar is cast, but the spell is modified by WTPFamiliars IIRC. I did all kind of searches with NI, but only found this variable set to 2 within ar0602.bcs. Looks like this could be the source, why the familiar doesn't appear in Picture 1.


In Topic: [Research] The 'my transition is stuck' thread

24 November 2015 - 04:26 PM

I found this interesting bit in the BGT documentation (related to transition stuck problem where the familiar blocked Imoen from opening PC's cage and start dialogue)

 

Familiar importation

If a familiar is out during the transition to Shadows of Amn, it will follow the player into Irenicus’ dungeon. However, if the familiar is in inventory, its importation occurs by script in AR0602.BCS. Since DropInventory() does not drop undroppable items (this is to preserve unique items of joinable NPCs, such as Minsc’s Boo), and the start of Shadows of Amn calls upon DestroyAllEquipment(), which removes all items regardless of their parameters, there is a gap where checks for a familiar in inventory can take place. Familiar checks check for familiar type, but also required the MeetOldenFriends global variable to be set to 100, exclusive to the importation process. This prevents characters directly imported into Shadows of Amn from erroneously keeping their familiar. The familiar, if found, is placed in Picture 1 of AR0602.ARE.

 

I never used familiars so I am not sure about the last point of finding the familiar again. The red 100 is misprinted as 10 in the BGT documentation, it is 100 in ar0602,bcs

In my savegame, the familiar is actually not in Picture 1. I made two saves before the transition, one with cat in my backpack, and another with it outside. The relevant variables of WTPFamiliar, as far as I have found them, (WTP* and #G*) are actually identical in both saves, and also with the autosave happening after newscene.bcs. The MeetOldenFriends variable is set to 100. The familiar might not be found by BGT, because WTPFamiliar uses different names for them, all starting with wtp.


In Topic: Need help understanding github impact on mod releases

23 November 2015 - 05:39 AM

To help with the question of "which version do I have?" the BWS now puts an install date in the WeiDU log. I am also investigating how to get the GitHub commit version automatically for each mod to include in the log also. This would make it even easier, but already it is not difficult.

 
https://developer.gi....com/libraries/ might help you with this. Althought there's no AutoIt3 API available, they have a JavaScript API (node.js), which is IMO usable from within AutoIt, where you can get an array of commits, for example, as well as other nifty information about a repository hosted at github.
 

I would strongly recommend every modder to use a master/devel setup or something similar. That way you can publish releases in a controlled manner and it is easier to manage as to keep all commits locally until you decide to publish a new release.

 

I fully agree to this, the branch concept with git is a very powerful feature! Even if your changes are commited only locally in the first place, and only get updated on github, if you push them.

If you introduce bigger changes to your mod, you're better bet if you develop them within a new branch. You can easily switch between different branches, i.e. to fix simple bugs on your master branch and publish them, without disturbing your current progress in other branches. This way, you keep your master or release branch clean from any development related errors. Once you're happy with your new development, you merge the branch back into the master branch for your next release.