Jump to content

Expanded Minibike storage with added combine feature


Anabella

Recommended Posts

This mod gives you 42 slots minibike storage and adds the combine feature to the minibike so that you can combine on the go. If you have already been playing and built a minibike you will need to take it apart and reassemble it before it will show up correctly.

 

1114700963_Screenshot(22).jpg.b54c1e699fc3d4b40272c7b24b46bc2e.jpg

 

You will need to find replace the following code.

 

In loot.xml find and replace the code for the minibike storage

<!-- Ana's added mod code to increase minibike storage -->
<!-- minibike storage -->
<lootcontainer id="62" count="0" size="7,6" sound_open="UseActions/open_shopping_basket" open_time="0" sound_close="UseActions/close_shopping_basket" loot_quality_template="baseTemplate">
</lootcontainer>

 

in windows.xml find and replace the code for the windowVehicleStats and windowVehicleStorage

<!--#$-IGS BEGIN: Adding cursor area. -$#-->
<window name="windowVehicleStats" width="228" height="280" panel="Right" controller="VehicleStats" cursor_area="true" >
<!--#$-IGS END.-$#-->
	<panel name="header" height="43" depth="1" backgroundspritename="ui_game_panel_header">
		<sprite depth="2" name="windowIcon" style="icon32px" pos="5,-5" sprite="ui_game_symbol_minibike"/>
		<label style="header.name" text="{vehiclename} {vehiclestatstitle}" />
	</panel>


	<rect name="content" depth="0" pos="0,-46" height="234">
		<sprite depth="4" name="backgroundMain" sprite="menu_empty3px" color="[black]" type="sliced" fillcenter="false" />
		<sprite depth="1" color="[darkGrey]" type="sliced" width="228" height="197" pos="0,-3" />
		<rect depth="2" pos="6,-5">
			<grid name="stats" rows="5" cols="1" pos="3,-5" cell_width="223" cell_height="30" repeat_content="false" >
				<panel height="30" width="340" disableautobackground="true">
					<sprite depth="1" name="windowIcon" style="icon22px" pos="2,-2" sprite="ui_game_symbol_speed"/>
					<label depth="1" width="180" pos="30,-2" name="lblSpeed" font_size="22" text="{speedtitle}: [DECEA3]{speed}m/s ({speedtext})[-]" />
				</panel>
				<panel height="30" width="340" disableautobackground="true">
					<sprite depth="1" name="windowIcon" style="icon22px" pos="2,-2" sprite="ui_game_symbol_noise"/>
					<label depth="1" width="180" pos="30,-2" name="lblNoise" font_size="22" text="{noisetitle}: [DECEA3]{noise}[-]" />
				</panel>
				<panel height="30" width="340" disableautobackground="true">
					<sprite depth="1" name="windowIcon" style="icon22px" pos="2,-2" sprite="ui_game_symbol_defense"/>
					<label depth="1" width="180" pos="30,-2" name="lblProtection" font_size="22" text="{protectiontitle}: [DECEA3]{protection}%[-]" />
				</panel>
				<panel height="30" width="340" disableautobackground="true">
					<sprite depth="1" name="windowIcon" style="icon22px" pos="2,-2" sprite="ui_game_symbol_seats"/>
					<label depth="1" width="180" pos="30,-2" name="lblPassengers" font_size="22" text="{passengerstitle}: [DECEA3]{passengers|once}[-]" />
				</panel>
				<panel height="30" width="340" disableautobackground="true">
					<sprite depth="1" name="windowIcon" style="icon22px" pos="2,-2" sprite="ui_game_symbol_gas"/>
					<label depth="1" width="100" pos="30,-2" font_size="22" text="{fueltitle}: [DECEA3]{fuel}%[-]" />

					<sprite depth="2" width="100" pos="105, -7" height="10" type="sliced" color="[black]" />
					<sprite depth="2" width="98" pos="106, -8" height="8" type="sliced" color="[mediumGrey]" />
					<sprite depth="2" name="sprFillPotential" width="98" pos="106, -9" height="6" type="filled" color="[beige]" fill="{potentialfuelfill}" />
					<sprite depth="2" name="sprFuelFill" width="98" pos="106, -8" height="8" type="filled" color="181,57,57" fill="{fuelfill}" />
				</panel>
			</grid>
		</rect>
		<rect name="btnRefuel" depth="3" pos="0, -198" height="36" >
			<sprite depth="8" name="backgroundMain" sprite="menu_empty3px" color="[black]" type="sliced" fillcenter="false" />
			<sprite depth="2" name="background" pos="3,-3" sprite="menu_empty" width="224" height="32" color="[darkGrey]" type="sliced" />
			<rect depth="3" pos="1,-3" width="224" height="31">
				<button name="clickable" sprite="menu_empty" defaultcolor="[mediumGrey]" hoversprite="ui_game_select_row" hovercolor="[white]" type="sliced" hoverscale="1.0" />
				<sprite depth="2" name="windowIcon" width="24" height="24" pos="46,-3" sprite="ui_game_symbol_gas" color="[black_half_alpha]"/>
				<sprite depth="2" name="windowIcon" width="24" height="24" pos="44,-3" sprite="ui_game_symbol_gas" color="[black_half_alpha]"/>

				<sprite depth="2" name="windowIcon" width="24" height="24" pos="44,-1" sprite="ui_game_symbol_gas" color="[black_half_alpha]"/>
				<sprite depth="2" name="windowIcon" width="24" height="24" pos="46,-1" sprite="ui_game_symbol_gas" color="[black_half_alpha]"/>

				<sprite depth="2" name="windowIcon" width="24" height="24" pos="45,-2" color="[iconColor]" sprite="ui_game_symbol_gas"/>
				<label depth="2" name="windowName" pos="0,-4" justify="center" text="REFUEL" text_key="xuiRefuel" font_size="24" />
			</rect>
		</rect>
	</rect>
	<!-- Ana's mod code change to add the combine window to the minibike -->
	<panel pos="240, 0" style="header.panel">			
		<sprite style="header.icon" sprite="ui_game_symbol_add"/>
		<label style="header.name" text="COMBINE" text_key="xuiCombine"/>
	</panel>


	<rect pos="240, -46" height="230" width="228" controller="CombineGrid">
		<sprite depth="2" name="backgroundMain" sprite="menu_empty3px" pos="0,1" width="228" height="230" color="[black]" type="sliced" fillcenter="false" />
		<sprite name="background" color="[darkGrey]" pos="0,1" type="sliced"/>

		<grid name="parts" rows="3" cols="1" pos="3,-2" cell_width="150" cell_height="76" repeat_content="true" >
			<required_item_stack />
		</grid>

		<label depth="3" pos="90,-25" text="Item A" text_key="xuiCombineItemA" />
		<label depth="3" pos="90,-100" text="Item B" text_key="xuiCombineItemB"/>
		<label depth="3" pos="90,-175" text="Result" text_key="xuiResult"/>

	</rect>				
</window>

<!-- Ana's added mod code to increase minibike storage -->	
<!--#$-IGS BEGIN: Adding cursor area. -$#-->
<window name="windowVehicleStorage" width="530" height="262" depth="5" anchor="CenterTop" panel="Right" backgroundcolor="[black]" cursor_area="true" >
<!--#$-IGS END.-$#-->
	<panel name="header" height="43" depth="1" backgroundspritename="ui_game_panel_header">
		<button depth="1" name="btnSort" style="icon32px, press, hover" pivot="center" pos="21,-21" sprite="ui_game_symbol_loot_sack" tooltip_key="lblSortContainer" sound="[paging_click]" />
		<label style="header.name" text="MINIBIKE STORAGE" text_key="xuiMinibikeStorage" />
	</panel>

	<grid depth="2" name="inventory" rows="6" cols="7" pos="3,-46" cell_width="75" cell_height="75" repeat_content="true" controller="VehicleContainer">
		<item_stack name="0"/>
	</grid>

	<panel name="emptyPanel" height="450" depth="4" pos="0,-49" backgroundcolor="[darkGrey]" bordercolor="[black]" visible="false">
		<sprite depth="4" name="backgroundMain" sprite="menu_empty3px" color="[black]" type="sliced" fillcenter="false" />
		<label pos="0,-180" depth="3" name="descriptionText" width="100%" height="80" text="ADD BASKET TO ACCESS STORAGE." text_key="xuiEmptyVehicleStorage" justify="center" font_size="24"/>
	</panel>
</window>

Link to comment
Share on other sites

thanks for this mod, its nice to have more space on the bike but i dont have the combine field.

Dont you need to edit the xui.xml for that?

 

Yes on top of what Ana posted you will want to go into the XUI.XML and replace the minibike section with this

 

	<window_group name="vehicle" controller="XUiC_VehicleWindowGroup">
		<window name="windowVehicle"/>
		<window name="windowNonPagingHeader" />
		<window name="windowVehicleStats" />
		<window name="windowVehicleStorage" />
		<window name="windowCombine" />
	</window_group>

Link to comment
Share on other sites

Yes on top of what Ana posted you will want to go into the XUI.XML and replace the minibike section with this

 

	<window_group name="vehicle" controller="XUiC_VehicleWindowGroup">
		<window name="windowVehicle"/>
		<window name="windowNonPagingHeader" />
		<window name="windowVehicleStats" />
		<window name="windowVehicleStorage" />
		<window name="windowCombine" />
	</window_group>

 

I didn't code it to where you had to edit that file. I have used this since a15 (had to update it for a16) and had no problems with it.

 

- - - Updated - - -

 

thanks for this mod, its nice to have more space on the bike but i dont have the combine field.

Dont you need to edit the xui.xml for that?

 

No. I coded it where it is part of the vehiclestats window.

 

- - - Updated - - -

 

Thanks for the mod, good job, what if I just want the workbench option on minibike? What do I change? thank you

 

I think just the vehiclestats window part as that is where I placed the combine.

Link to comment
Share on other sites

Just curious but what would happen if you leave items in the bike and logoff with this running on a dedicated server? i ask because i know alot of the backpack mods have to use a custom csharp file otherwise you loose items.

 

I have not had any problems with it. I used this on my server I ran back during a15 and no one had issues with it. I have taken a small break from running servers this alpha but no one using my mod had issues with it. If you use it with another mod that changes the dll it might do that. I have not tried this with any mods of that kind.

 

I normally take my bike apart because of the issues of motors disappearing in vanilla with server restarts. With any mod it's a use at your own risk.

Link to comment
Share on other sites

Does the minibike mod have to be server and local or just server?

 

If you put it on server it will push to the client. All of the modding I have done so far is this way since I didn't want to force people playing on my servers to download and install files.

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

FIX: Using this minibike basket combine mod with the Simple UI Mod (w/ storage mods)

 

I have this minibike basket combine mod working with the Simple UI Mod (with storage mods) on Alpha 16.3 b12. When the Simple UI Mod is installed, it comments out some of the default window names for the minibike storage in the xui.xml, and replaces it with it's "S420" versions. Luckily, it left the original window names commented out, so I just commented out the modifications made by the Simple UI mod, and uncommented the defaults. This allows the mods mentioned earlier in this thread to work correctly. Here is how the section of the xui.xml looked after I swapped the commented and uncommented lines in order to get the minibike combine to work.

 

<!-- S420 Start -->

<window name="windowVehicle"/> <!--Stock-->

<!--window name="S420windowVehicle"/-->

<window name="windowNonPagingHeader" />

<window name="windowVehicleStats" /> <!--Stock-->

<!--window name="S420windowVehicleStats" /-->

<window name="windowVehicleStorage" /> <!--Stock-->

<!--window name="S420windowVehicleStorage" /-->

<!-- S420 End -->

 

NOTE - I had installed the Simple UI Mod, first, before making the changes to include the combine in the minibike basket. If you try this tweak to allow using the Simple UI mod (with storage mods) AND the minibike basket combine mod to work correctly, please backup your xui.xml, first. Then just replace the section of the xui.xml with the tweaked section above, and it should work. It worked for me. If I run into any issues, I will post an update here. I recommend having people empty their minibike baskets, if feasible, before trying this mod. I noticed that some minibike baskets seemed to partially use the mods, even before disassembling and reassembling the minibike. So, combining this minibike basket mod with the Simple UI mod might cause items in existing minibike baskets to be lost. This is not verified, but because I did see a minibike basket storage slots change without reassembling the minibike, I would recommend that people take a cautious approach when combining these two mods. The Simple UI mod (with storage mod) configures 72 storage slots in the minibike basket. This tweak will reduce that number to 42, to allow room for the combine in the minibike basket.

 

Good luck!

 

-TSForrest

Link to comment
Share on other sites

  • 1 year later...

I might look through how you did this to see if I can give the default crafting window/backpack the combine option instead (since taking a minibike with me up the skyscrapers and crap is not possible). That or see if I can change the workbench so that you do not need to place a land claim block to be able to pick it back up after. Update: tried to add it to inventory but couldn't get the positions to work and got sick of trying lol. So I just changed the workbench to make it drop workbench when harvested/destroyed (removing the other things it usually drops). Could not find the code that allows them to be picked up when near a land claim block or would have tried to change it to have that work outside of land claims as well. Perhaps someone who is better at this can give it a try if they want but if not being able to do it this way works. For anyone interested in how I did this I just edited the workbench code in blocks.xml and changed it to

 

<block id="1563" name="workbench">
<property name="Class" value="Workstation"/>
<property name="Material" value="metal"/>
<property name="MaxDamage" value="800"/>
<property name="StabilitySupport" value="false"/>
<property name="Shape" value="ModelEntity"/>
<property name="Model" value="Entities/Crafting/workbenchPrefab"/>
<property name="MultiBlockDim" value="2,2,1"/>
<property name="ImposterDontBlock" value="true"/>
<property name="Place" value="TowardsPlacerInverted"/>
<property name="OnlySimpleRotations" value="true"/>
<property name="IsTerrainDecoration" value="true"/>
<property name="HeatMapStrength" value="0.5"/>
<property name="HeatMapTime" value="1200"/>
<property name="HeatMapFrequency" value="25"/>
<!--<property name="RecipeList" value="backpack, workbench"/>-->
<!--<property name="CraftTimeMultiplier" value="0.5,1"/>-->
<property name="Stacknumber" value="1"/>
<property class="Workstation">
	<property name="Modules" value="output"/>
	<property name="CraftingAreaRecipes" value="player,workbench"/>
</property>
<property class="RepairItems">
	<property name="forgedIron" value="25"/>
	<property name="mechanicalParts" value="20"/>
	<property name="wood" value="50"/>
</property>
<drop event="Harvest" name="workbench" count="1" tool_category="harvestingTools"/>
<drop event="Harvest" name="workbench" count="1" tool_category="Disassemble"/>
<drop event="Destroy" count="0"/>
<drop event="Fall" name="woodDebris" count="1" prob="0.75" stick_chance="1"/>
<property name="TakeDelay" value="15"/>
<property name="DescriptionKey" value="workbenchDesc"/>
<property name="EconomicValue" value="776"/>
<property name="Group" value="Building,Science"/>
</block>

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...