[FIXED] Unable to refill water jugs as of 3.7

Here we stuff all the bugs we've managed to squash/squish/squelch.
Locked
stranf
UOX3 Guru
Posts: 939
Joined: Wed Jan 04, 2006 3:59 pm
Has thanked: 0
Been thanked: 0

Unable to refill water jugs as of 3.7

Post by stranf »

I thought I posted this, but I can't find my post, apperently it was deleted.

Bug #1: As of 3.7 I am unable to fill an empty water jar with water. I double click on the jar and it says, "you are unable to use this item."

Bug #2: This could be a JS scripting bug, so I might look at it myself if the above bug gets fixed so I can test.

When water jugs were working you could use water to turn flour into dough; however this uses 1 charge of the water. When you use the water jug again, it says "there is not enough water in the jar." when you use the jar on the water source, it would say, "you can't pour water into that."

So the only trick was to use the water jug to make dough, pour the water on a patch of grass (emptying the jug) and filling up the water jar again.

It would be nice to be able to fill up a jug of water and use it 3 to 5 times before refilling it again. I believe this could be a .js issue, but since jugs are not working at all it is hard to test.

Thanks!
Maarc
Developer
Posts: 576
Joined: Sat Mar 27, 2004 6:22 am
Location: Fleet, UK
Has thanked: 0
Been thanked: 0
Contact:

Post by Maarc »

I'd suspect this is a JS issue, yes. I'm not used to the whole thing, so I'll see if I can't look at it today, but no guarantees.
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

Since I made the script which handles pitchers, bottles, etc., I'm 100% certain it's a JS issue ;P

I made the script add custom tags to all the liquid-containers (including pitchers) that are used, to determine what's in them, and how much. That allows for moving liquid about from any container to any other container. You can fill a bottle of ale with wine, for instance, and it will read "a bottle of wine" instead.

Anyway, the problem is that the dough-making script doesn't know about those custom tags, and only changes the ID of the water pitcher when it's combined with the dough. So when you next double-click the water pitcher (which looks empty), the pitchers-script still thinks it holds liquid and asks you where to pour it.

Got a fix in the workings, though.

For a quick fix, stranf, add the following highlighted lines to the dough.js script under js/skill/cooking/:

Code: Select all

...
		if( targSerial.id == 0x0FF8 || targSerial.id == 0x1f9e)
			targSerial.id = 0x0FF7;
		if( targSerial.id == 0x0ff9 || targSerial.id == 0x1f9d )
			targSerial.id = 0x0FF6;
		[color=red]targSerial.SetTag( "ContentsType", 1 );
		targSerial.SetTag( "EmptyGlass", 3 );
		targSerial.SetTag( "UsesLeft", 0 );
		targSerial.SetTag( "ContentsName", "nothing" );[/color]

		var itemMade = CreateBlankItem( pUser.socket, pUser, 1, "#", 0x103D, 0x0, "ITEM", true ); // makes a dough
		pUser.SysMessage( "You make some dough." );
	}
	else // Target is a static item
		pUser.SysMessage( "You cannot use that for making dough." );
}
Also, further up in the script, you might want to apply the following code to make the script use the correct flour-resource from your backpack when making the dough:

Code: Select all

					if( iMakeResource < 1 )
					{
						pUser.SysMessage( "There is not enough flour in your pack!" );
						return;
					}
[color=red]					else[/color]
						var iID = 0x103a;
				}
[color=red]				else[/color]
					var iID = 0x1039;
			}
[color=red]			else[/color]
				var iID = 0x1046;[/color]
		}
-= Ho Eyo He Hum =-
Maarc
Developer
Posts: 576
Joined: Sat Mar 27, 2004 6:22 am
Location: Fleet, UK
Has thanked: 0
Been thanked: 0
Contact:

Post by Maarc »

Good work Xu, I'd have had no idea where to start looking :)
stranf
UOX3 Guru
Posts: 939
Joined: Wed Jan 04, 2006 3:59 pm
Has thanked: 0
Been thanked: 0

Post by stranf »

Thanks, I'll try to add that temporary fix this weekend.

And speaking of pouring water, I have fluid mechanics homework to do now!
Locked