Jump to content

Skallagrim

Member
  • Posts

    59
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Skallagrim got a reaction from kookikaykitti in Farming - Renovated   
    0.1.4
    Jumped a number, did some experiments. Nothing you will notice if I did it right (fingers crossed).
    Should now work with .17 0008 and later. Have trouble with the lua loader ignoring my "require" lines, files are wrongly beeing loaded alphabetically (for me that is).
    Now I changed folder and file names for the loading in the proper order, which is not nice, but it works for now.
     
    I added a new tool, the "Makeshift Sickle", it can cut long grass. I found it annoying to lie down floor tiles and have the grass still hang out. Now you can cut the grass first and then make the floor.
    Also you can cut the grass around your garden to make it look more orderly.
    To make this tool you need a string, a stick (from planks) and a kitchen knife.
    Strings can be made from yoyos or shoes (laces).
     
    recipe Craft Makeshift Sickle{  KitchenKnife,  Belt/String/Wire,  WoodenStick/Poolcue,  Result:makeshift_sickle,  Time:200.0,}
  2. Like
    Skallagrim got a reaction from chthonic in The glorious return of the PZ screenshot competition   
    A little much gardening:
    But the neighborhood came to help out:
  3. Like
    Skallagrim got a reaction from thansen1983 in Ability to dig out bushes   
    A garden fork would be nice, too. But shovel will do for now.
    I hope the bushes can be created by lua yet. I'll look it up the weekend, I got to get back to work.
  4. Like
    Skallagrim got a reaction from thansen1983 in Ability to dig out bushes   
    I like the idea. I wanted to try replanting tree's. But replanting berry-bushes sounds even better. Too bad I hardly have time.
  5. Like
    Skallagrim reacted to RobertJohnson in The Fixing System   
    Hello, here is how the fixing system for you item and weapon works, it'll be in the upcoming version.
     
    It may need to be balanced in the couple of days, after some testing, please use this thread to talk about this, ask question, suggest... And not to talk about my horrible english skillz (use PM for this, so I can answer in French )
     

     
    1) The fixing.txt

    Each fixing is define like a recipe, here's an example (not balanced, it's just for the purpose of my testing) :

    You can find this file in the script/ folder.
     
    module Base
    {
        fixing Fix Axe
        {
           Require : Axe,
           
           Fixer : Woodglue=2; Woodwork=2; Farming=2,
           Fixer : DuctTape=2,
           Fixer : Glue,
           Fixer : Nails,
        }
    }
    What does this mean ?
    Require : Axe Simply the required item to fix.
    List of fixers Every Fixer : you add is an item used to fix the Required item (here, an Axe).
    First fixer give you + 50% condition (here Duct tape), second 25% (here Wooden glue) and 10% for every other in the list.
     
    Now, you can also use Drainable item to fix, for example the Duct tape, here by adding Ducttape=2, I'm gonna use 2 times the Duct tape (and because it have a 0.25 use delta, i'm gonna use 50% of it).
    But if the item is not a Drainable (ex pistol=2), I'll need 2 pistols to make my fix.
     
    Also, you can add skill requirements for each fixer, for example the Wooden glue will require a level 2 of Carpentry (woodwork) and a level 2 of Farming (still an example ), BUT you can still try to fix your item with the wooden glue with no wood work skills, but you'll have great chance of fail !
     
    2) Condition

    When your weapon condition reach 0, it break, meaning you can't equip it anymore, his name change (for "Broken itemName") and a small icon (red cross) is added to show you again that this weapon is broken.
     
    Every time you successfully repair your item, the condition will up, depending on the fixer selected (reminder : first fixer + 50%, 2nd = +25%, others = +10%).
    But it also take in count the number of time you already repaired the item, an example :
     
    My axe have a condition of 0, a max condition of 10.
    I repair it one time with wooden glue, my new axe condition is : (condition max - condition) * 25% * (1 / number of time repaired) = 10 * 25% * 1/1 = condition (0) + 2.5 (round to 2).
    I repair it a second time with duct tape, my new axe condition is (condition max - condition) * 50% * (1 / number of time repaired) = 8 * (50% * 1/2) = condition (2) + 2.
    Etc.
     
    3) Chance of fail
     
    You have a base chance of failing of 5%.
    Everytime a skill is required and you are below, we add 30% for each missing skill level.
    We also add +2% for everytime you already repaired the weapon.
    But we remove 3% for each skill point above the required skill level.
     
    So for example, if I try to fix my axe with the wooden glue (require a carpentry level of 2) and having 0 carpentry skill, the chance of fail will be : 5% + (2-0) * 30%, resulting in a 65% of fail.
     
    A fail mean you gonna use the fixer (for example use 2 times the duct tape), and maybe result in a condition -1 of your weapon.
     
    4) Luck ?

    2 new traits have been added, Lucky and Unlucky.
    A lucky trait cut by 5% the chance of failing the repair, while unlucky add 5% of chance to fail. (so if I have 50% chance of fail, with the Lucky trait I'll have 45% chance of fail, but with the Unlucky trait 55%).
    Those traits will also be used for other stuff (chance of loot, chance of lower the condition of the weapon when hiting something, etc.)
     
    5) Current fixing
     
    This is the list of the current fix you can do :
     
     
    As you can see, a pistol require another pistol, meaning if you have 2 broken pistol, you can merge them in one with 50% of it's condition
  6. Like
    Skallagrim got a reaction from woods in Farming - Renovated   
    0.1.4
    Jumped a number, did some experiments. Nothing you will notice if I did it right (fingers crossed).
    Should now work with .17 0008 and later. Have trouble with the lua loader ignoring my "require" lines, files are wrongly beeing loaded alphabetically (for me that is).
    Now I changed folder and file names for the loading in the proper order, which is not nice, but it works for now.
     
    I added a new tool, the "Makeshift Sickle", it can cut long grass. I found it annoying to lie down floor tiles and have the grass still hang out. Now you can cut the grass first and then make the floor.
    Also you can cut the grass around your garden to make it look more orderly.
    To make this tool you need a string, a stick (from planks) and a kitchen knife.
    Strings can be made from yoyos or shoes (laces).
     
    recipe Craft Makeshift Sickle{  KitchenKnife,  Belt/String/Wire,  WoodenStick/Poolcue,  Result:makeshift_sickle,  Time:200.0,}
  7. Like
    Skallagrim got a reaction from Walther in The glorious return of the PZ screenshot competition   
    A little much gardening:
    But the neighborhood came to help out:
  8. Like
    Skallagrim got a reaction from lordixi in The glorious return of the PZ screenshot competition   
    A little much gardening:
    But the neighborhood came to help out:
  9. Like
    Skallagrim got a reaction from nasKo in The glorious return of the PZ screenshot competition   
    A little much gardening:
    But the neighborhood came to help out:
  10. Like
    Skallagrim got a reaction from LeoIvanov in The glorious return of the PZ screenshot competition   
    A little much gardening:
    But the neighborhood came to help out:
  11. Like
    Skallagrim got a reaction from RoboMat in The glorious return of the PZ screenshot competition   
    A little much gardening:
    But the neighborhood came to help out:
  12. Like
    Skallagrim got a reaction from maniacwand12 in The glorious return of the PZ screenshot competition   
    A little much gardening:
    But the neighborhood came to help out:
  13. Like
    Skallagrim got a reaction from Stoposto in The glorious return of the PZ screenshot competition   
    A little much gardening:
    But the neighborhood came to help out:
  14. Like
    Skallagrim got a reaction from Ontogenesis in The glorious return of the PZ screenshot competition   
    A little much gardening:
    But the neighborhood came to help out:
  15. Like
    Skallagrim reacted to RobertJohnson in How to use the modloader   
    Howdy,
     
    Here's a description of how to add your mod in PZ.
     
    First, the folder tree :
    zomboidFolder |-- mods |-- MyMod/ |-- poster.png |-- mod.info |-- media/ |-- lua/ |-- lua1.lua |-- UI/ |-- myUI.lua |-- sounds/ |-- myCustomSound.ogg |-- textures/ |-- Item_customItem.png |-- Prof_customProfession.png |-- ui/ |-- Traits/ |-- trait_customtrait.png |-- scripts/ |-- myCustomItems.txtLet's explain now
     
          1. The very important mighty mod.info
     
    The mod.info file will contains a full description of your mod, along with other great stuf, here's an example :
    name=My custom mod v1.7id=RJCustomModposter=poster.pngdescription=Here's a description of my awesome custom mod.require=Utility, CustomMod2url=http://theindiestone.com/forums/index.phpname = the name displayed in the mod selector.
    id = an unique ID you need to find, it'll be used for the require stuff for example.
    poster = the .png image which be displayed when someone click on your mod in the mod selector.
    description = a full description of your mod.
    require = you can add a list (separated by ",") of id of  mods which are required for your mod to works, for example if you want to add an Utility mod you use, or if you just want to make change on another mod, etc.
    url = the url of your mod (indiestone forum, xeno-mods or pz-mods only), it'll be displayed as a button under the poster, click on it will open your default browser to this url.
     
    The only essential tag is "name". All the others are optional and can be left out.
     
    Here come my über paint skillz to show you how it look like in game :
     



     
    Please don't be shy, you can compliment me on my paint skillz, I know I pwn everything.
     
          1.1 A bit more stuff about the require.
     
    The require work recursively, for example if you have 3 mods, mod A require mod B, mod B require mod C. If you don't have the mod C, you couldn't activate the mod A, a red cross will be displayed if you miss some of the mods required :



    Here, my test1 mod need the test2, I have it, but the test2 require exampleMod, which I don't have, so I can't use the test1 mod.
     
    If now I have all my mod (A,B and C), and I double click on the mod A, the mod B and C will also be activated.
    And then if I disable the mod B, the mod A will also be disabled, because it require the mod B to work.
     
    Then, the require mod is also used to load your mod in a certain order, for example if mod A require mod B, then mod B will be loaded in the game before mod A.
     
    Remember, you have to use the ID of the mod, not the name or the folder's name.
     
            2. The lua files.
     
    The lua files are loaded after the vanilla lua files, which mean you can override the existing lua file (example, I make a new UI/ISLabel.lua file).
    All the .lua extension file will be loaded, even if they're inside folders.
     
            3. Customize your items.txt !
     
    You can add custom items for your mods, you just have to place them inside /scripts/ folder.
    You can override existing items or make new one.
    Here's an example :
     


    module custom { item myNewItem { HungerChange = -10, Weight = 0.1, Type = Food, DangerousUncooked = TRUE, DaysTotallyRotten = 21, DisplayName = Egg, Icon = customEgg, DaysFresh = 14, }}
     
    Here I created a new item (please note I used the module custom, but I could use the module Base if I wanted to).
     
    Now I want to override existing item, if you make a file named items.txt, it'll override the existing items.txt, it mean we gonna load YOUR items.txt and not the vanilla one, so be carefull to do it, use this only if you want to replace EVERY ITEM or a bunch of them.
    If you want to modify only some items, here's the solution :
    You make a file named as you want (except items.txt), like customItems.txt, and inside it, do that :
     


    module Base{item Egg    {        HungerChange    =    -50,        Weight    =    5,        Type    =    Food,        DangerousUncooked    =    TRUE,        DaysTotallyRotten    =    21,        DisplayName    =    Egg,        Icon    =    customEgg,        DaysFresh    =    14,    }}
     
    Here I overrided the Egg, by setting the module Base (which is the one in items.txt).
    Now the egg will weight 5 and give 50 hunger reduction.
     
            3. The custom textures
     
    In the /textures/ folder, you can add your custom textures.
    You can add textures for items, trait and profession.
     
            3.1 The custom item icon
     
    To add a custom item icon, you just need to add the image in the textures/ folder, named like that :
    Item_iconname.pngHere's an example of my item :
     


    item myNewItem    {        HungerChange    =    -10,        Weight    =    0.1,        Type    =    Food,        DangerousUncooked    =    TRUE,        DaysTotallyRotten    =    21,        DisplayName    =    Egg,        Icon  =   customEgg,        DaysFresh    =    14,    }
     
    So my item icon will be textures/Item_customEgg.png.
     
    You also can override items icon, for example just place a textures/Item_Axe.png file, and this one will be taken instead of the vanilla one.
     
            3.2 The custom trait icon
     
    To add a custom trait icon, you have to add your image in the ui/Traits/ folder like this :
    ui/Traits/trait_yourtraitid.pngThe trait ID is the first parameter when you add a trait, it need to be in lower case, example :
    TraitFactory.addTrait("Athletic", getText("UI_trait_athletic"), 6, getText("UI_trait_athleticdesc"), false);To add an icon for this trait, I need to add a ui/Traits//trait_athletic.png  image, the name is Athletic, but as I said, the name of the image have to be in lower case.
    You can also override the existing one, for example just put in your mod folder an new ui/Traits/trait_brave.png, and there you go, the brave trait will now take your image instead of the vanilla one.
     
            3.3 The custom profession icon
     
    It's almost the same as the trait, in your textures/ folder, you image have to start by "Prof_", example :
    Prof_professionIcon.pngThe icon of the profession is the last parameter (no need to be lower case on this one) :
    ProfessionFactory.addProfession("fireofficer", getText("UI_prof_fireoff"), "Prof_FireFighter");In this case,my .png file will be : textures/Prof_FireFighter.png.
     
    You can add new one and override existing one.
     
     
     
    And here you go for now
     
    Please, don't hesitate to suggest new stuff for the mod.info or the mod loader, and tell me if there's any bugs
     
    Oh also, everything will be in for the next steam version only.
  16. Like
    Skallagrim reacted to RoboMat in Survivor Stories (0.1.0)   
    Survivor Stories (WIP)

    This is the latest mod I've been working on. It basically adds a bunch of readable messages to loot containers all over the world which describe the horrors of the Zombie Apocalypse but also the life before the Outbreak. All in all it should create a bit more immersion

    Also: Easter Eggs.





    This mod is heavily in development at the moment. Expect bugs and problems all around
    Download from pz-mods.net


    ! IMPORTANT: You will need to install my modding utilities to be able to use this mod !


    I'm also going to accept custom stories / notes etc. as long as they fit the style of the game & mod.

    ContributorsRathlord Gammlernoob PlannedOnly some notes will have survivor messages on them. Empty notes can be used to write your own stuff down on them. Better UI Specific spawns More stories / notes Writeable journal Known IssuesItem's can only be clicked when expanded Ui doesn't have scrollbars Text field isn't correctly wrapped in UI atm Notes can be found too easy Note-Items have no further use once all of them have been found Permission (Click the spiffo for more informations):


    Changelog

  17. Like
    Skallagrim reacted to RoboMat in Lua requests   
    Like on the old forums people can post their requests for lua additions in this thread. Please just post requests here and don't debate about the ones made. The devs are perfectly capable of deciding what to add and what not to add Anyway, here we go:
    New / Changed Events:
    EveryMinute: Self explanatory. EveryHour: Self explanatory. OnUnequip: When Item is unequipped from the primary or secondary slot. OnItemUse: When item is used in the inventory. (E.g. "Eat Food" or "Bandage Wound") OnContainerUpdate: When the item containers are updated (parameters: table of contained items, getType() of the updated container) New / Changed Functions:
    IsoFloorBloodSplats(): in the Chunk class (or whatever is necessary to retrieve blood on walls and floors and remove it) FIX ItemContainer:isInCharacterInventory() getFps() in GameWindow. Getter / Setter for amount of splattered blood. Finished (already in the game)
    setPermaLocked(boolean) in IsoWindow -- RM : Done for 2.9.9.17 isPermaLocked() in IsoWindow -- RM: Done for 2.9.9.17 OnRainStart -- RJ : Done for 2.9.9.14 OnRainStop -- RJ : Done for 2.9.9.14 OnEquipPrimary: Fires when an item is equipped as primary weapon.-- RJ : Done for 2.9.9.14, param : player, item OnEquipSecondary: Fires when an item is equipped as secondary weapon.-- RJ : Done for 2.9.9.14, param : player, item OnItemEquipAny -- RJ : Use the OnPrimaryItem/OnSecondaryItem instead OnAmbientSound: Fires when ambient sounds is played (helicopters, gunshots ... etc.) - RJ : Done for 2.9.9.14, param : name of the ambient sound (like "chopper1", "pistolgun2",..) getClosedSprite() -- RJ : use getSprite() setClosedSprite()-- RJ : use setSprite(IsoSprite) getOpenSprite(...)-- RJ : Done for 2.9.9.14 setOpenSprite(...)-- RJ : Done for 2.9.9.14 setSmashed(...)-- RJ : Done for 2.9.9.14, use isDestroyed() to know if it's already smashed or not getSmashedSprite()-- RJ : Done for 2.9.9.14
×
×
  • Create New...