Problem with new Bench

Started by SlayR, March 03, 2014, 05:58:22 PM

Previous topic - Next topic

SlayR

I made a new bench with texture and recipes. I made it work in game! BUT... It cant craft. I can give the bill, but noone can build it! i have no idea why!  Help please.  :'(

Cala13er

A look at the code would be nice so we can do an indepth check.

But it sounds like you might have your filters set wrong. Make sure in your recipe def your filters are the same as your ingredients, For example. In my Industrial Rim Mod.

<ingredients>
   <li>
      <filter>
         <thingDefs>
            <li>Logs</li>
         </thingDefs>
      </filter>
      <count>1</count>
   </li>
</ingredients>

<parentIngredientFilter>Logs</ParentIngredientFilter>
<defaultIngredientFilter>Logs</ParentIngredientFilter>


If this does not work, then you may be forgetting to assign one of your colonists as a crafter in the overview mod. By default everyone starts of with a forbidden crafting state. Make sure you tick the box.

Nasikabatrachus

I had this problem a few hours ago. I had no idea why my mans weren't filling bills. It turned out I had forgotten to make the appropriate WorkGiverDefs.

Nasikabatrachus

I had this problem a second time this night. Apparently an interaction square in the wrong place will prevent bills from being given to pawns.

I say that because this

<ThingDef ParentName="BuildingBase">
<DefName>TableSmelter</DefName>
<EType>Building_WorkTable</EType>
<Label>Electric Smelter</Label>
<ThingClass>Building_WorkTable</ThingClass>
<Description>Smelts Ore  and Slag into useable metal.</Description>
<TexturePath>Things/Building/ElectricSmelter</TexturePath>
<CostList>
<ResourceCost>
<thingDef>Metal</thingDef>
<count>400</count>
</ResourceCost>
</CostList>
<AltitudeLayer>Waist</AltitudeLayer>
<WorkToBuild>1000</WorkToBuild>
<UseStandardHealth>True</UseStandardHealth>
<maxHealth>400</maxHealth>
<Size>(3,1)</Size>
<Overdraw>False</Overdraw>
<DesignationCategory>Furniture</DesignationCategory>
<Passability>Impassable</Passability>
<hasInteractionSquare>True</hasInteractionSquare>
<interactionSquareOffset>(0,0,-1)</interactionSquareOffset>
<itemSurface>True</itemSurface>
<recipes>
<li>SmeltMetalOre</li>
<li>SmeltSlag</li>
</recipes>
<inspectorTabs>
<li>UI.ITab_Bills</li>
</inspectorTabs>
</ThingDef>


worked, but this

<ThingDef ParentName="BuildingBase">
<DefName>TableSmelter</DefName>
<EType>Building_WorkTable</EType>
<Label>Electric Smelter</Label>
<ThingClass>Building_WorkTable</ThingClass>
<Description>Smelts Ore  and Slag into useable metal.</Description>
<TexturePath>Things/Building/ElectricSmelter</TexturePath>
<CostList>
<ResourceCost>
<thingDef>Metal</thingDef>
<count>400</count>
</ResourceCost>
</CostList>
<AltitudeLayer>Waist</AltitudeLayer>
<WorkToBuild>1000</WorkToBuild>
<UseStandardHealth>True</UseStandardHealth>
<maxHealth>400</maxHealth>
<Size>(3,4)</Size>
<Overdraw>False</Overdraw>
<DesignationCategory>Furniture</DesignationCategory>
<Passability>Impassable</Passability>
<hasInteractionSquare>True</hasInteractionSquare>
<interactionSquareOffset>(0,0,3)</interactionSquareOffset>
<itemSurface>True</itemSurface>
<recipes>
<li>SmeltMetalOre</li>
<li>SmeltSlag</li>
</recipes>
<inspectorTabs>
<li>UI.ITab_Bills</li>
</inspectorTabs>
</ThingDef>


did not work.

Cala13er

He's having a problem with crafting within the bench, not building the bench itself.

Nasikabatrachus

The problem I just had was that I could issue bills to a new work table, but no colonist would work on those bills. That's what SlayR described, no? And the issue was resolved by changing its size from 3,4 to 3,1. (At size 3,1, colonists would craft on it whether the interaction square was 0,0,-1 or 0,0,-2.)

Cala13er

He never showed us the code, so jumping to the conclusion that the table was 3,4 wasn't an option.

I've had the same problem. And that's how I fixed it.

SlayR

sorry for not replying. I'm working on other mods right now (and have more problem with those... -_-) And didn't took a look at this post. I give the coding now. Thanks for all the comment!

<?xml version="1.0" encoding="utf-8"?>
<Buildings>
  <ThingDef Name="BuildingBase" Abstract="True">
    <category>Building</category>
    <bulletImpactSound>BulletImpactMetal</bulletImpactSound>
    <selectable>true</selectable>
    <drawerType>MapMeshAndRealTime</drawerType>
    <surfaceNeeded>Light</surfaceNeeded>
    <constructionEffect>ConstructMetal</constructionEffect>
    <repairEffect>Repair</repairEffect>
  </ThingDef>
  <ThingDef ParentName="BuildingBase">
    <DefName>WeaponBench</DefName>
    <EType>Building_WorkTable</EType>
    <Label>Weapon Bench</Label>
    <ThingClass>Building_WorkTable</ThingClass>
    <Description>A work bench made for precise crafting. Used for making weapons.</Description>
    <TexturePath>Things/Bench/WeaponBench</TexturePath>
    <CostList>
      <ResourceCost>
        <thingDef>Metal</thingDef>
        <count>75</count>
      </ResourceCost>
    </CostList>
    <AltitudeLayer>Waist</AltitudeLayer>
    <WorkToBuild>300</WorkToBuild>
    <UseStandardHealth>True</UseStandardHealth>
    <maxHealth>180</maxHealth>
    <Size>(3,1)</Size>
    <Overdraw>False</Overdraw>
    <DesignationCategory>Furniture</DesignationCategory>
    <Passability>Impassable</Passability>
    <hasInteractionSquare>True</hasInteractionSquare>
    <interactionSquareOffset>(0,0,-1)</interactionSquareOffset>
    <itemSurface>True</itemSurface>
    <recipes>
      <li>CraftPistol</li>
      <li>CraftLeeEnfield</li>
    </recipes>
    <inspectorTabs>
      <li>UI.ITab_Bills</li>
    </inspectorTabs>
  </ThingDef>
</Buildings>