Larian Banner: Baldur's Gate Patch 9
Previous Thread
Next Thread
Print Thread
Joined: Sep 2015
A
addict
OP Offline
addict
A
Joined: Sep 2015
Hallo everybody!

I've worked on a new Mod over the last weeks and think it's time to release a test version, so you can have a look on it!

For more information see this thread on the Forum http://larian.com/forums/ubbthreads.php?ubb=showflat&Number=584472&#Post584472 or visit my Nexus site where you can download the mod: BetterLogistics.

I will use this thread here to give some more information about the working process and the two Osiris scripts themselves by time.

Last edited by Abraxas*; 24/08/16 04:11 PM. Reason: Thread function changed

My mods for DOS 1 EE: FasterAnimations - QuietDay - Samaritan
Joined: Jun 2013
old hand
Offline
old hand
Joined: Jun 2013
I'll just reply in here instead of PM.

I've played a bit through and haven't run into anything that didn't work. Keep in mind I'm using the version prior to the one you have on Nexus now.


1. I'd suggest adding an in-game readme in a file like the "orders" you get in your inventory.

2. You should make the logistics and crafting books go into your inventory automatically, you can do it without modifying main by sticking something like this in one of your story files:
IF
CharacterEnteredRegion(CHARACTER_Player1,"Cyseal")
AND
NOT DB_LogisticsStart(1)
THEN
DB_LogisticsStart(1);
ItemToCharacter(ITEM_BOOK_CraftingBook_000,CHARACTER_Player1);
ItemToCharacter(ITEM_BOOK_CraftingBook_001,CHARACTER_Player2);
ItemToCharacter(ITEM_BOOK_LogisticBook_000,CHARACTER_Player1);

Also you can add that readme file to here^.

3. One of the problems I'm having with the logistics book is forgetting which player is 1 and which player is 2. Maybe you could set a statement when you start the transfer dialog which has each character say which number they are via CharacterDisplayText. Or perhaps put a node on the player selection screen which you can press called "Player Identify" which does the same.

4. For this one "- crafting with external objects - water, oil and ooze barrel, well, oven, anvil - is possible for companions: they will remember your dialog orders, walk to the required object, re-check resources (no exploits) and create the items"
What's the reason the player can't do it? You can usually make the player do anything a companion can if you use CharacterFreeze. Is it because the GUI pops up by default when a PC "uses" an external object?

5. The editor throws 4 "unable to parse script" errors when loading the mod. Does it do this for you?

Joined: Jun 2015
F
enthusiast
Offline
enthusiast
F
Joined: Jun 2015
Originally Posted by SniperHF
I'll just reply in here instead of PM.

I've played a bit through and haven't run into anything that didn't work. Keep in mind I'm using the version prior to the one you have on Nexus now.


1. I'd suggest adding an in-game readme in a file like the "orders" you get in your inventory.

2. You should make the logistics and crafting books go into your inventory automatically, you can do it without modifying main by sticking something like this in one of your story files:
IF
CharacterEnteredRegion(CHARACTER_Player1,"Cyseal")
AND
NOT DB_LogisticsStart(1)
THEN
DB_LogisticsStart(1);
ItemToCharacter(ITEM_BOOK_CraftingBook_000,CHARACTER_Player1);
ItemToCharacter(ITEM_BOOK_CraftingBook_001,CHARACTER_Player2);
ItemToCharacter(ITEM_BOOK_LogisticBook_000,CHARACTER_Player1);

Also you can add that readme file to here^.


Personally, I try to avoid adding additional event handlers where possible. One could use

Code
PROC
  ProcUnlockInitialRecipes()
THEN
  ..


instead, which is called once after character creation in DOSStart/CYS_General.txt (where money and books are added).
Since it's called only once, no DB_LogisticsStart(1) would be required.

Writing another PROC does not require any change to CYS_General.txt.

Last edited by FrauBlake; 28/08/16 01:01 AM.
Joined: Sep 2015
A
addict
OP Offline
addict
A
Joined: Sep 2015
Quote

I've played a bit through and haven't run into anything that didn't work. Keep in mind I'm using the version prior to the one you have on Nexus now.

Sounds good! Your version contains one or two minor issues I fixed in the Nexus version. Vendors removed trade items of the same template as items in the transport container for example.

Quote
1. I'd suggest adding an in-game readme in a file like the "orders" you get in your inventory.

That's a good idea. Some functions are not self-explaining and it would be good to have a quick way to read up about them.

Originally Posted by SniperHF
You should make the logistics and crafting books go into your inventory automatically

Originally Posted by FrauBlake
instead, which is called once after character creation in DOSStart/CYS_General.txt (where money and books are added).
Since it's called only once, no DB_LogisticsStart(1) would be required.

I liked the idea of gathering up all the stuff from the beach, so the new items are more than just icons in the inventory and get more attention at the start. Is it the necessarity to pick them up or the risk to miss an item?
I'd add them via CYS_General as I did with the backpacks.

Quote
3. One of the problems I'm having with the logistics book is forgetting which player is 1 and which player is 2. Maybe you could set a statement when you start the transfer dialog which has each character say which number they are via CharacterDisplayText. Or perhaps put a node on the player selection screen which you can press called "Player Identify" which does the same.

Yes. Maybe I can implement a Me in the dialog (since only main characters can start the dialog there's always one player and Me).

Quote
4. For this one "- crafting with external objects - water, oil and ooze barrel, well, oven, anvil - is possible for companions: they will remember your dialog orders, walk to the required object, re-check resources (no exploits) and create the items"
What's the reason the player can't do it? You can usually make the player do anything a companion can if you use CharacterFreeze. Is it because the GUI pops up by default when a PC "uses" an external object?

I wanted to conserve the feeling of controlling the two main characters and it would require Osiris to execute some actions and more nasty char-Osiris communication. Currently I use scriptframes in character script that characters execute after the dialog ended. They have to check non-global items in range (doesn't seem to be possible in Osiris) and do some actions under certain conditions (e. g. looking for and sitting on a chair while waiting for the oven to finish). Would be quite complicated.

This is what the char script does:

Code
INIT

EXTERN INT:%Oven = 0
EXTERN INT:%SmithOven = 0
EXTERN INT:%WaterBarrel = 0
EXTERN INT:%OozeBarrel = 0
EXTERN INT:%OilBarrel = 0
EXTERN INT:%Well = 0
EXTERN INT:%Anvil = 0

STORY

SCRIPTFRAME CraftingActions
VARS
	ITEMTEMPLATE:_OvenTemp = "FUR_Poor_Oven_A_f44b2969-8d36-4e62-95cd-2849a11ae95a"
	ITEMTEMPLATE:_DungeonSmithTemp = "2m_DungeonPrison_A_Smith_Fireplace_A_Item_b7f00fad-8fd6-47c5-bbc7-2b71e15e795a"
	ITEMTEMPLATE:_SmithTemp = "LTS_Smith_Fireplace_A_1f66bf28-48ac-4be8-8714-93f22212a1c6"
	ITEMTEMPLATE:_WellTemp = "Hum_Well_A_e9cfca4c-5564-47e0-85c2-c5387bbdca35"
	ITEMTEMPLATE:_WellSnowTemp = "Hum_Well_A_Snow_9a9153f2-d0dd-45f1-a6fb-e9fed68aba4a"
	ITEMTEMPLATE:_AnvilTemp = "TOOL_Smith_Anvil_A_4fcd8129-ad8c-46ff-9373-329387e5b214"
	ITEMTEMPLATE:_AnvilBTemp = "TOOL_Smith_Anvil_B_4869c1fe-1529-40a1-95c2-569bbdac47f4"
	ITEMTEMPLATE:_OilBarrelTemp = "CONT_Barrel_Oil_A_1b34b32c-e96c-404e-90cc-054cb549c558"
	ITEMTEMPLATE:_WaterBarrelTemp = "CONT_Barrel_A_Water_59b25792-1cc2-4364-92eb-89aca8fb8425"
	ITEMTEMPLATE:_OozeBarrelTemp = "CONT_Barrel_Ooze_A_0ae0668f-418c-46c4-bcbb-1683aa3c68e3"
	ITEMTEMPLATE:_Seat1 = "FUR_Citz_Chair_A_3d1892b1-0b6b-4f25-9a70-6c107fdd3294"
	ITEMTEMPLATE:_Seat2 = "FUR_Poor_Chair_A_f5115ada-4145-42b7-94bf-80fee29674a8"
	ITEMTEMPLATE:_Seat3 = "FUR_Poor_Chair_B_0c784122-2da8-42ef-865f-a70c802b1a75"
	ITEMTEMPLATE:_Seat4 = "FUR_Poor_Chair_C_32b6925a-bf33-44c2-96d3-22b432785f80"
	ITEMTEMPLATE:_Seat5 = "FUR_Rich_Chair_A_f0a87e0e-f895-4463-8d38-7ebe5853d5c9"
	ITEMTEMPLATE:_Seat6 = "FUR_Poor_Bar_Stool_A_f5bcacd2-2d39-442b-b566-23b667ee961b"
	ITEMTEMPLATE:_Seat7 = "FUR_Poor_Bar_Stool_B_dcd2f731-17ea-46bb-896a-198a72754d9b"
	ITEM:_CraftingItem
	ITEM:_Seat
	INT:_WalkOrRun
	INT:_Ability
	INT:_Effect
	INT:_IntValue
	FLOAT:_Chance = 0.3 
	FLOAT:_Attribute
	FLOAT3:_position
	CHARACTER:_Player
ACTIONS
	IF "c1&c2"
		GetVar(_IntValue,__Me,"Well")
		IsEqual(_IntValue,1)
	THEN
		IF "c1|c2"
			ItemGet(_CraftingItem,__Me,15,Random,null,_WellTemp)
			ItemGet(_CraftingItem,__Me,15,Random,null,_WellSnowTemp)
		THEN	
			CharacterMoveTo(_CraftingItem,0,0,0,1,1.1)
			Sleep(1)
			IF "c1"
				IsRandom(0.15)
			THEN				
				CharacterPlayAnimation("use_inspect")
				Sleep(1)
			ENDIF
			CharacterPlayAnimation("use_craft")
			IF "c1"
				IsRandom(0.2)
			THEN
				CreateSurfaceAt(__Me,Water,1,4)
			ENDIF			
			CharacterEvent(__Me,"Well")
			SetVar(__Me,"Well",INT:0)
			Sleep(1.5)
		ELSE
			DisplayText(__Me,"WellNotFound",3) 
			SetVar(__Me,"Well",INT:0)			
			Sleep(3)
		ENDIF
	ENDIF
	IF "c1&c2"
		GetVar(_IntValue,__Me,"Oven")
		IsEqual(_IntValue,1)
	THEN
		IF "c1"
			ItemGet(_CraftingItem,__Me,15,Random,null,_OvenTemp)			
		THEN	
			CharacterMoveTo(_CraftingItem,0,0,0,0.7,0.8)
			Sleep(1)
			IF "c1"
				IsRandom(0.15)
			THEN				
				CharacterPlayAnimation("use_inspect")
				Sleep(1)
			ENDIF
			CharacterPlayAnimation("use_craft")
			Sleep(2)
			PlayLoopEffectAt(_Effect,_CraftingItem,"FX_Env_Smoke_Small_A")
			IF "c1&(c2|c3|c4|c5|c6|c7|c8)"
				IsRandom(0.1)
				ItemGet(_Seat,__Me,12,Random,null,_Seat1)
				ItemGet(_Seat,__Me,12,Random,null,_Seat2)
				ItemGet(_Seat,__Me,12,Random,null,_Seat3)
				ItemGet(_Seat,__Me,12,Random,null,_Seat4)
				ItemGet(_Seat,__Me,12,Random,null,_Seat5)
				ItemGet(_Seat,__Me,12,Random,null,_Seat6)
				ItemGet(_Seat,__Me,12,Random,null,_Seat7)
			THEN
				CharacterMoveTo(_Seat)
				Sleep(1)
				CharacterUseItem(_Seat)
				Sleep(8)
				GetRandom(_WalkOrRun,0,1)				
				CharacterMoveTo(_CraftingItem,_WalkOrRun)
				Sleep(1)
			ELSE
				Sleep(5)
			ENDIF
			IF "c1"
				IsRandom(0.3)
			THEN				
				CharacterPlayAnimation("use_inspect")
				Sleep(1)
			ENDIF
			CharacterPlayAnimation("use_craft")
			StopLoopEffect(_Effect)
			Sleep(1)
			CharacterPlayAnimation("use_loot")
			CharacterEvent(__Me,"Oven")
			SetVar(__Me,"Oven",INT:0)
			Sleep(1.5)
		ELSE
			DisplayText(__Me,"OvenNotFound",3)
			SetVar(__Me,"Oven",INT:0)
			Sleep(3)
		ENDIF
	ENDIF
	IF "c1&c2"
		GetVar(_IntValue,__Me,"SmithOven")
		IsEqual(_IntValue,1)
	THEN
		IF "c1|c2"
			ItemGet(_CraftingItem,__Me,15,Random,null,_DungeonSmithTemp)
			ItemGet(_CraftingItem,__Me,15,Random,null,_SmithTemp)
		THEN	
			CharacterMoveTo(_CraftingItem)
			Sleep(1)
			IF "c1"
				IsRandom(0.15)
			THEN				
				CharacterPlayAnimation("use_inspect")
				Sleep(1)
			ENDIF
			CharacterPlayAnimation("use_craft")
			GetPosition(_CraftingItem,_position)
			Add(_position,{0;1;0})
			PlayLoopEffectAt(_Effect,_position,"FX_GP_Bomber_Sparks")
			/*IF "c1&c2" 							
				CharacterGetStat(_Attribute,__Me,Dexterity)
				IsGreaterThen(_Attribute,8)
			THEN
				Subtract(_chance,0.15)
			ENDIF
			IF "c1&c2"
				CharacterGetAbility(_Ability,__Me,Repair)
				IsGreaterThen(_Ability,1)
			THEN
				Subtract(_chance,0.1)
			ENDIF
			IF "c1"
				IsRandom(_Chance)
			THEN
				CreateSurfaceAt(__Me,Fire,1,4)
			ENDIF
			Set(_Chance,0.3)*/
			Sleep(5)
			CharacterPlayAnimation("use_craft")
			StopLoopEffect(_Effect)
			Sleep(2)
			CharacterPlayAnimation("use_loot")
			CharacterEvent(__Me,"SmithOven")
			SetVar(__Me,"SmithOven",INT:0)
			Sleep(1)
		ELSE
			DisplayText(__Me,"SmithNotFound",3) 
			SetVar(__Me,"SmithOven",INT:0)
			Sleep(3)
		ENDIF
	ENDIF
	IF "c1&c2"
		GetVar(_IntValue,__Me,"Anvil")
		IsEqual(_IntValue,1)
	THEN
		IF "c1|c2"
			ItemGet(_CraftingItem,__Me,15,Random,null,_AnvilTemp)
			ItemGet(_CraftingItem,__Me,15,Random,null,_AnvilBTemp)
		THEN	
			CharacterMoveTo(_CraftingItem)
			Sleep(1)
			IF "c1"
				IsRandom(0.1)
			THEN				
				CharacterPlayAnimation("use_inspect")
				Sleep(1)
			ENDIF
			CharacterPlayAnimation("use_activate")
			Sleep(0.5)
			CharacterPlayAnimation("use_mine")
			Sleep(1.5)
			CharacterPlayAnimation("use_mine")
			Sleep(1)
			IF "c1"
				IsRandom(0.3)
			THEN				
				CharacterPlayAnimation("use_inspect")
				Sleep(1)
				CharacterPlayAnimation("use_mine")
				Sleep(1)
			ENDIF
			CharacterPlayAnimation("use_loot")
			CharacterEvent(__Me,"Anvil")
			SetVar(__Me,"Anvil",INT:0)
			Sleep(1.5)
		ELSE
			DisplayText(__Me,"AnvilNotFound",3)
			SetVar(__Me,"Anvil",INT:0)		
			Sleep(3)
		ENDIF
	ENDIF
	IF "c1&c2"
		GetVar(_IntValue,__Me,"WaterBarrel")
		IsEqual(_IntValue,1)
	THEN
		IF "c1"
			ItemGet(_CraftingItem,__Me,15,Random,null,_WaterBarrelTemp)
		THEN	
			CharacterMoveTo(_CraftingItem,0,0,0,1,1.1)
			Sleep(1)
			IF "c1"
				IsRandom(0.15)
			THEN				
				CharacterPlayAnimation("use_inspect")
				Sleep(1)
			ENDIF
			CharacterPlayAnimation("use_craft")
			IF "c1"
				IsRandom(0.2)
			THEN
				CreateSurfaceAt(__Me,Water,1,4)
			ENDIF			
			CharacterEvent(__Me,"WaterBarrel")
			SetVar(__Me,"WaterBarrel",INT:0)
			Sleep(1.5)
		ELSE
			DisplayText(__Me,"WaterNotFound",3)
			SetVar(__Me,"Well",INT:0)			
			Sleep(3)
		ENDIF
	ENDIF
	IF "c1&c2"
		GetVar(_IntValue,__Me,"OilBarrel")
		IsEqual(_IntValue,1)
	THEN
		IF "c1"
			ItemGet(_CraftingItem,__Me,15,Random,null,_OilBarrelTemp)
		THEN	
			CharacterMoveTo(_CraftingItem,0,0,0,1,1.1)
			Sleep(1)
			IF "c1"
				IsRandom(0.15)
			THEN				
				CharacterPlayAnimation("use_inspect")
				Sleep(1)
			ENDIF
			CharacterPlayAnimation("use_craft")
			IF "c1"
				IsRandom(0.2)
			THEN
				CreateSurfaceAt(__Me,Oil,1,4)
			ENDIF			
			CharacterEvent(__Me,"OilBarrel")
			SetVar(__Me,"OilBarrel",INT:0)
			Sleep(1.5)
		ELSE
			Sleep(1)
			DisplayText(__Me,"OilNotFound",3)
			Sleep(2)
			CharacterPlayAnimation("use_dig")
			SetVar(__Me,"OilBarrel",INT:0)			
			Sleep(3)
		ENDIF
	ENDIF
	IF "c1&c2"
		GetVar(_IntValue,__Me,"OozeBarrel")
		IsEqual(_IntValue,1)
	THEN
		IF "c1"
			ItemGet(_CraftingItem,__Me,15,Random,null,_OozeBarrelTemp)
		THEN	
			CharacterMoveTo(_CraftingItem,0,0,0,1,1.1)
			Sleep(1)
			IF "c1"
				IsRandom(0.15)
			THEN				
				CharacterPlayAnimation("use_inspect")
				Sleep(1)
			ENDIF
			CharacterPlayAnimation("use_craft")
			/*IF "c1"
				IsRandom(0.2)
			THEN
				CreateSurfaceAt(__Me,Ooze,1,4)
			ENDIF	*/		
			CharacterEvent(__Me,"OozeBarrel")
			SetVar(__Me,"OozeBarrel",INT:0)
			Sleep(1.5)
		ELSE
			DisplayText(__Me,"OozeNotFound",3) 
			SetVar(__Me,"OozeBarrel",INT:0)			
			Sleep(3)
		ENDIF
	ENDIF
	Sleep(1)
	CharacterEvent(__Me,"CraftingOrdersFinished")
	DisplayText(__Me,"OrdersCompleted",3)
	Sleep(2)


Quote
5. The editor throws 4 "unable to parse script" errors when loading the mod. Does it do this for you?

That are 'errors' of the type:

[99] Error 9: Variable _WellTemp is not of type FIXEDSTRING but of type ITEMTEMPLATE

It's not a problem and wouldn't work if I used FIXEDSTRING instead of ITEMTEMPLATE in the VARS section (if I remember my testings right). Anyway: it works.
http://larian.com/forums/ubbthreads.php?ubb=showflat&Number=581127&page=1 (number 18)

I'd like to ask some question back:

1. Is a scrolls and food transfer necessary? Or for any other item type that isn't regarded yet?
2. Should companions be able to start the item transfer dialog?
3. Should item to container transfer be possible for SourceHunter backpacks and every container in the game world?
4. Would a special weapon chest or something like that be desired for weapon transfer exceptions? (Weapons are the only items that can be stored in any container to except them from item transfer, for CharacterMoveWeaponsToContainer not regarding containers in character inventory)
5. Is the whole system (especially the dialogs) handy enough?
6. Do you miss any function?


My mods for DOS 1 EE: FasterAnimations - QuietDay - Samaritan
Joined: Jun 2013
old hand
Offline
old hand
Joined: Jun 2013
Originally Posted by Abraxas*

Is it the necessarity to pick them up or the risk to miss an item?


You could just note on the ReadMe where the books are so people can go back if they missed them.


Quote

I'd like to ask some question back:

1. Is a scrolls and food transfer necessary? Or for any other item type that isn't regarded yet?
2. Should companions be able to start the item transfer dialog?
3. Should item to container transfer be possible for SourceHunter backpacks and every container in the game world?
4. Would a special weapon chest or something like that be desired for weapon transfer exceptions? (Weapons are the only items that can be stored in any container to except them from item transfer, for CharacterMoveWeaponsToContainer not regarding containers in character inventory)
5. Is the whole system (especially the dialogs) handy enough?
6. Do you miss any function?


1. Probably not, the main thing I would use the transfer book for is to move all the items to my character with barter for selling. Pretty rare I sell food or scrolls.

2. If it doesn't cause a problem, I don't see why not. But if it does (or more work than is worth it) then don't worry about it.

3. I never use containers really so I'm a bad person to ask. Just creates extra clicking.

4. Same as above.

5. The transfer function is very useful. Both for selling and for say moving all your armors to a character so you can pick which one to use.

I'm not much of a crafter normally so that function is less useful to me. I like that I can make potions in large batches though.

6. I don't think so but as before, I'm not much of a crafter normally.

Joined: Sep 2015
A
addict
OP Offline
addict
A
Joined: Sep 2015
Quote
1. Probably not, the main thing I would use the transfer book for is to move all the items to my character with barter for selling. Pretty rare I sell food or scrolls.

And what about all the recipe books to get rid of?

Quote
2. If it doesn't cause a problem, I don't see why not. But if it does (or more work than is worth it) then don't worry about it.

I better restrict starting transfer dialogs via backpack to a small amount of characters as long as I don't see a way to tell Osiris which non-global backpack a character started a dialog with. Only the char script knows, but it can't tell, Osiris doesn't listen!

Quote
3. I never use containers really so I'm a bad person to ask. Just creates extra clicking.

For the same reasons as 2. I better make restrictions here if it's not highly desired.

I've added a book with information about all contained items and functions now, added a Me to transfer dialogs and fixed a potential problem with crafting in Coop.
I'll upload the update tomorrow.



My mods for DOS 1 EE: FasterAnimations - QuietDay - Samaritan
Joined: Jun 2015
F
enthusiast
Offline
enthusiast
F
Joined: Jun 2015
Originally Posted by Abraxas*
Quote
1. Probably not, the main thing I would use the transfer book for is to move all the items to my character with barter for selling. Pretty rare I sell food or scrolls.

And what about all the recipe books to get rid of?

Quote
2. If it doesn't cause a problem, I don't see why not. But if it does (or more work than is worth it) then don't worry about it.

I better restrict starting transfer dialogs via backpack to a small amount of characters as long as I don't see a way to tell Osiris which non-global backpack a character started a dialog with. Only the char script knows, but it can't tell, Osiris doesn't listen!

Osiris can pick up a CharacterItemHandleEvent() for non globals, so even non globals can communicate.
That's what mines do after all, they communicate back and forth with Osiris. (GLO_Minespot.itemScript and LUC_MineBlackRock.txt)
You only need to find the 'event actors' for the event, which you can ignore in Osiris as desired.

I'm not sure if a dialog start throws a use event though, but dialogs can set their own events and they have their actors ...

Originally Posted by Abraxas*
Quote
3. I never use containers really so I'm a bad person to ask. Just creates extra clicking.

For the same reasons as 2. I better make restrictions here if it's not highly desired.

I've added a book with information about all contained items and functions now, added a Me to transfer dialogs and fixed a potential problem with crafting in Coop.
I'll upload the update tomorrow.


Last edited by FrauBlake; 29/08/16 05:25 PM.
Joined: Sep 2015
A
addict
OP Offline
addict
A
Joined: Sep 2015
Quote
Osiris can pick up a CharacterItemHandleEvent() for non globals, so even non globals can communicate.

Oh, I must have missed it somehow! I searched for this several times... Thank you smile




My mods for DOS 1 EE: FasterAnimations - QuietDay - Samaritan
Joined: Jun 2013
old hand
Offline
old hand
Joined: Jun 2013
Originally Posted by Abraxas*


Quote
3. I never use containers really so I'm a bad person to ask. Just creates extra clicking.

For the same reasons as 2. I better make restrictions here if it's not highly desired.


I'd hesitate to make too many function changes based on my recommendations since I'm not a normal player. Something to think about anyway.


IMO your mod is good enough to release on the workshop now BTW. Earlier the better since the D:OS 2 early access is coming up and the player base is going to take a hit.

Make sure to create a decent steam workshop thumbnail. One tip for the icon is, make it a good sized 16:9 resolution image. Then once you have the final version, resize it to 637x358 and use that one. For some reason that's the size the workshop likes.

You can't change the thumbnail after you upload without deleting the entire mod.

Joined: Sep 2015
A
addict
OP Offline
addict
A
Joined: Sep 2015
Quote
IMO your mod is good enough to release on the workshop now BTW. Earlier the better since the D:OS 2 early access is coming up and the player base is going to take a hit.

Yeah, now that two issues are solved I'm quite content with it. I just want it to feel functionally consistent and complete, and free from bugs. I'll test the updated script and maybe release the first version at the weekend, but I'm not worried about Early Access (not more than I'd be in two weeks since it's so close already and this mod, for the known reasons, so late).

Thanks for the workshop tip. Though I'll continue my Steam workshop embargo, as long as I have the impression Steam's a potential target for a witcher.


My mods for DOS 1 EE: FasterAnimations - QuietDay - Samaritan
Joined: Jun 2015
F
enthusiast
Offline
enthusiast
F
Joined: Jun 2015
Originally Posted by Abraxas*
Quote
IMO your mod is good enough to release on the workshop now BTW. Earlier the better since the D:OS 2 early access is coming up and the player base is going to take a hit.

Yeah, now that two issues are solved I'm quite content with it. I just want it to feel functionally consistent and complete, and free from bugs. I'll test the updated script and maybe release the first version at the weekend, but I'm not worried about Early Access (not more than I'd be in two weeks since it's so close already and this mod, for the known reasons, so late).

Thanks for the workshop tip. Though I'll continue my Steam workshop embargo, as long as I have the impression Steam's a potential target for a witcher.

Ugh, what does that mean ?

I'm far more scared by pages with tons of external ads with unknown Javascript like Nexus than I'm scared by Steam. Should I be more scared of Steam ?

Joined: Sep 2015
A
addict
OP Offline
addict
A
Joined: Sep 2015
Quote
I'm far more scared by pages with tons of external ads with unknown Javascript like Nexus than I'm scared by Steam. Should I be more scared of Steam ?

I was more referring to Steam's/Valve's behaviour and meaning on the market in general: trying to monetize mods, demanding 30% (!) of sales from developers/publishers, handling of property (no resale of licences), handling of revocation (< 2 hours of playing: that's a farce), producing all the statistical data about player behaviour that companies base their production on, systematical desinterest in moderating their forums etc. I don't like to feed the monsters...

So overall I prefer Nexus over Steam.


My mods for DOS 1 EE: FasterAnimations - QuietDay - Samaritan
Joined: Sep 2015
A
addict
OP Offline
addict
A
Joined: Sep 2015
Updated test version now available (0.6.0.0):

- Fixed potential crafting issue in coop
- Improved backpack item transfer
- Added Me to dialog
- Allowed companions to start the backpack item transfer
- Support of different container templates for item transfer possible via char script update
- Added an info book


My mods for DOS 1 EE: FasterAnimations - QuietDay - Samaritan
Joined: Sep 2015
A
addict
OP Offline
addict
A
Joined: Sep 2015
UPDATE:

Version 1.02 is available.

I had a strange crash every time I consumed items when using these char script lines:

Code
EVENT ModOptionDialog
VARS
	ITEM:_ModBook = BOOK_ModBook_000_f852c2fd-857e-4441-834b-045559689def
ON
	OnUseItem(__Me,_ModBook)
ACTIONS
	DialogStart("BLModOptions",_ModBook,__Me)


The Dialog got started corretly, but every item I consumed caused a crash. The ID of the mod book is correct. It's a global item and has Send use event to Osiris (in inventory) as OnUse action.
What is wrong here?

This way it works:

Code
EVENT ModOptionDialog
VARS
	ITEM:_ModBook
	ITEMTEMPLATE:_BookTemp = BOOK_ModBook_668583fe-5c9a-4bc6-b610-928033dbf956
	ITEMTEMPLATE:_Temp
ON
	OnUseItem(__Me,_ModBook)
ACTIONS
	IF "c1&c2"
		ItemGetTemplate(_ModBook,_Temp)
		IsEqual(_Temp,_BookTemp)
	THEN
		DialogStart("BLModOptions",_ModBook,__Me)
	ENDIF


Any ideas?


My mods for DOS 1 EE: FasterAnimations - QuietDay - Samaritan

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.5