Project Zomboid

Project Zomboid

Soul Filcher's Farming Time
nagyslash 22 Jan, 2022 @ 9:43am
Rotten texture not showing
I'm having a problem that when the crop rot it doesn't show the rotten texture. It simple get transparent.
PS: Not using any other Mod
< >
Showing 1-1 of 1 comments
Phil J Herman 25 Oct, 2022 @ 11:57am 
Hey soulfilcher! Awesome mod! I referenced it and some others when I made my pumpkin mod. I noticed your plants disappear for the rotten condition (like reported here) because they don't get their sprite assigned. Take a look at how I fixed this problem on mine, you might be able to do something similar for yours.

The last lines there about rotting is what fixes the disappearing sprite - Each grow function needs to have its own rotten sprite for this setup, there are of course probably better ways to do it, but this worked well for me - it also seems to be well enough isolated for compatibility.

Cool mod! The server I play on uses it and it is great!

PhilsFarmconf.growPumpkin = function(planting, nextGrowing, updateNbOfGrow)
local nbOfGrow = planting.nbOfGrow;
local water = farming_vegetableconf.calcWater(planting.waterNeeded, planting.waterLvl);
local diseaseLvl = farming_vegetableconf.calcDisease(planting.mildewLvl);
if(nbOfGrow <= 0) then -- young
planting = growNext(planting, farming_vegetableconf.getSpriteName(planting), farming_vegetableconf.getObjectName(planting),
nextGrowing, farming_vegetableconf.props[planting.typeOfSeed].timeToGrow + water + diseaseLvl);
planting.waterNeeded = 80;
elseif (nbOfGrow <= 4) then -- young
if(water >= 0 and diseaseLvl >= 0) then
planting = growNext(planting, farming_vegetableconf.getSpriteName(planting), farming_vegetableconf.getObjectName(planting), nextGrowing, farming_vegetableconf.props[planting.typeOfSeed].timeToGrow + water + diseaseLvl);
planting.waterNeeded = farming_vegetableconf.props[planting.typeOfSeed].waterLvl;
else
badPlant(water, nil, diseaseLvl, planting, nextGrowing, updateNbOfGrow);
end
elseif (nbOfGrow == 5) then -- mature
if(water >= 0 and diseaseLvl >= 0) then
planting = growNext(planting, farming_vegetableconf.getSpriteName(planting), farming_vegetableconf.getObjectName(planting), nextGrowing, farming_vegetableconf.props[planting.typeOfSeed].timeToGrow + water + diseaseLvl);
else
badPlant(water, nil, diseaseLvl, planting, nextGrowing, updateNbOfGrow);
end
elseif (nbOfGrow == 6) then -- mature with seed
if(water >= 0 and diseaseLvl >= 0) then
planting.nextGrowing = calcNextGrowing(nextGrowing, 248);
planting:setObjectName(farming_vegetableconf.getObjectName(planting))
planting:setSpriteName(farming_vegetableconf.getSpriteName(planting))
planting.hasVegetable = true;
--planting.hasSeed = true; --No seed on pumpkin, get them by removing from pumpkin
else
badPlant(water, nil, diseaseLvl, planting, nextGrowing, updateNbOfGrow);
end
elseif (planting.state ~= "rotten") then -- rotten
planting:rottenThis()
planting:setSpriteName("PhilsFarmFarming_01_15")
end
return planting;
end
< >
Showing 1-1 of 1 comments
Per page: 1530 50