Jump to content

Thuztor

Member
  • Posts

    368
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Thuztor got a reaction from blindcoder in Gutrot - Vacation Islands (pre-Alpha 1)   
    But surely not out of problems.
    I'm also planning a challenge, without zombies called 'Robinson Crusoid©'.
    ;D
  2. Like
    Thuztor got a reaction from The Good Noob in Sun/Moon position and moon phases in interface   
    All the stuff mentioned here is already planned for the horizon clock mod, but blindcoder has not much time at the moment.
  3. Like
    Thuztor got a reaction from Geras in Tree Stumps   
    I have a bit experience with tree stumps and the most can't dug up quite easily, except you invest a lot of time and energy. Additionally to a spade, I would use also a saw and an axe for all the roots.
    Often stumps of bigger trees can only release from earth with a lot of power, e.g. a car bound on the stump (prepare it with the tools before you start to pull the stump out).
    If my annotations would be considered, I'm for it!
  4. Like
    Thuztor got a reaction from Z3759xy in Gutrot - Vacation Islands (pre-Alpha 1)   
    But surely not out of problems.
    I'm also planning a challenge, without zombies called 'Robinson Crusoid©'.
    ;D
  5. Like
    Thuztor got a reaction from Man_In_The_Purple_Hat in Gutrot - Vacation Islands (pre-Alpha 1)   
    But surely not out of problems.
    I'm also planning a challenge, without zombies called 'Robinson Crusoid©'.
    ;D
  6. Like
    Thuztor reacted to EasyPickins in RELEASED: IWBUMS 32.27   
    HOW DO I GET THIS?
    http://theindiestone...my-save-branch/
    Added RCON (remote console) support on the server.   When enabled, the server accepts console commands through a TCP connection.  A simple RCON client is provided in the rcon/ folder of the game.  There are two options in the server INI file, RCONPort and RCONPassword.  If RCONPassword is left empty, then RCON is disabled. The tabs in the Crafting window will scroll horizontally if the tabs are wider than the window.  They can be scrolled with the mousewheel or by clicking a button.  (Issue #002100) Added console messages about Steam vs non-Steam clients and servers when connecting to a server fails. Require long 'E' press to climb through a broken window with no floor on the other side. Attempted to fix "laggy" zombie combat in multiplayer.  The server sends updates every turn (12 times per second) for the 10 closest zombies to the player.  (Issue #002098)
  7. Like
    Thuztor got a reaction from Man_In_The_Purple_Hat in Spray Paint Mod v2.41a   
    Changelog to 2.3:
    - complete UI overhaul
    - chalk items implemented
    - new textures for items
    - better multiplayer support
    - rain effect on chalk symbols outside (disappear)
    - mod compatibility (necro forge, toolbar, menubar)
    - language support (german, polish)
    - adjustable hotkeys in the game options
     
    download /workshop link in the OP
     

  8. Like
    Thuztor got a reaction from blindcoder in Spray Paint Mod v2.41a   
    Changelog to 2.3:
    - complete UI overhaul
    - chalk items implemented
    - new textures for items
    - better multiplayer support
    - rain effect on chalk symbols outside (disappear)
    - mod compatibility (necro forge, toolbar, menubar)
    - language support (german, polish)
    - adjustable hotkeys in the game options
     
    download /workshop link in the OP
     

  9. Like
    Thuztor reacted to EasyPickins in RELEASED: IWBUMS 32.26   
    HOW DO I GET THIS?
    http://theindiestone...my-save-branch/
    Fixed SafeMode getting set on single + dual-core machines.  This required setting zoom/shaders in the options every time the game started.  (Issue #000886, #001534, #001946) Fixed exception when rendering the new controller UI. Fixed 'Reload config files' doing nothing for controllers that hadn't been activated yet. Fixed Linux server not running due to a lack of jinput.jar. Fixed setting ServerPlayerID= to the empty string not disabling the what-server-was-this-player-created on check. Fixed /changeoption not allowing an option's value to be set to the empty string.
  10. Like
    Thuztor reacted to cdaragorn in PZ .pack file manager   
    I've built a tool to easily unpack and manage all the textures in Zomboid's .pack files.
     
    First, I am fully aware of Minic90's program for doing this, and have tried it out. I built my own in part because I really enjoy making small tools like this and in part because I found his had some problems I really wanted to fix.
     
    This tool has the same basic features his does.
     
    Features:
     
    1. Unpack - unpack the texture maps into a separate folder.
    2. Pack - pack the unpacked texture maps back into a .pack file.
    3. Split - split the unpacked texture maps into their individual textures for easier editing.
    4. Merge - merge the split textures back into a texture map.
     
    It does not support splitting or merging the .dds files found in Character.pack. I don't think I can ever support that because of the extra data a .dds file contains, but I'm open to feedback from anyone that might know of a way.
     
    The project is available on GitHub: https://github.com/cdaragorn/ProjectZomboidPackManager
     
    You can download a Windows build here: https://github.com/cdaragorn/ProjectZomboidPackManager/releases
     
    The project is built in Qt, so you should be able to build it in any OS you want pretty easily.
     
    Please let me know what you think. I'm also interested in any ideas for more features you think would be useful with it. Thanks!
  11. Like
    Thuztor reacted to blindcoder in Toolbar mod - Move Inventory/Crafting/Health/MoveFurniture buttons around and extend   
    What's this?
    This mod moves the four statically placed buttons "Inventory", "Crafting", "Health" and "Move Furniture" into a Window that you can move around on the screen.
    The player can decide which buttons to show and which buttons to hide.
     
    Other mods can also hook into this window and add their own buttons to it.
     
     
    Cool! Where do I get this?
    You can download it on the Workshop: http://steamcommunity.com/sharedfiles/filedetails/?id=507746061
    Or from github: https://github.com/blind-coder/pz-bcToolbar/releases
    This mod depends on the bcUtils package v1.2.0 or newer: https://github.com/blind-coder/pz-bcUtils/releases
    The bcUtils package is also available on the Workshop: http://steamcommunity.com/workshop/filedetails/?id=503640135
     
    Enjoy
  12. Like
    Thuztor reacted to Maska_zgz in Literature mod   
    Hello everyone. First of all, I would like to apologize for my English, is not my native language, so maybe there are parts of the post in which there is something slightly misspelled. Sorry for this. I spent several hours just to write this post, divided into several days due to my lack of time, due to the creation of all lists of items, especially the list of the 500 most famous books, because I preferred sort this list alphabetically, so you can more easily consult this list. I hope my efforts have achieved a good result.  - Literature mod (a short history)
     - Literature mod explained: Literature Mod eliminates the already mentioned objects of the game, and substitutes them by others. This version of the mod adds 1199 new items to the game. These are the new items created: - Books: 1140 new books. All these books are books of the real world, that have been carefully chosen during weeks of investigation. I have tried to ensure me that the books selected have been published in english (99.99% of the list), or that in his defect, are books tremendously renowned, and that thus it was possible that a student of literature, a student of languages or simply an immigrant residing in the country, could possess this book. Also it has given  to each book an approximate weight to the reality, based in his number of pages, and the type of edition of the book (hardcover or paperback). So each book almost has a realistic weight. For all purposes, the books act like normal books. You can use them as fuel for a campfire and you can also take the pages to use as improvised rolling paper, if you use my Marijuana mod. And of course, the books do not disappear once they have been read. The same can be applied to magazines and newspapers, except that they cannot be used as improvised smoking paper. - What has been the method used to create the list of books?:
    - Newspapers: 18 new newspapers. It has not been easy select the newspapers that the mod would add, because I live in Spain, and I do not know the newspapers of United States (except the most known), especially the newspapers of Kentucky, and especially those distributed in the area of Meade and Hardin counties, where develops the game. However, I think that the list of newspapers chosen after a lot of investigation, should be very approximate to the local, state and nationals newspapers distributed in the area. - Magazines: 41 new magazines. Select the magazines for the mod has been a bit easier that select the newspapers, since they have chosen especially magazines of national distribution. But also they have added several magazines that only are distributed in Kentucky area, and some that only distribute in the counties of Meade and Hardin. - As it works the distribution of these items?
    And at last, here they are the lists of the items: - Booklists: - Book Collections: - J.R.R. Tolkien book collection (31 books): We could not miss this list in the mod. I am a fan of Tolkien for more than 20 years ago, and I've read all his books (and also I played the RPG based on these books during more of a decade). Also, the recent Peter Jackson movies have attracted a new legion of fans of Tolkien. It is true that many of these books have been edited and published by his son Christopher, but even so are works that can not miss in the house of a Tolkien fan. Due to all his merits, and because I want that is in this way, the list of Tolkien is the first of all, so unsheathe your elven sword, takes a swig of miruvor and prepare for the long trip that means finding all the books of this collection.
    - George R. R. Martin book collection (32 books):  As in the previous case, the TV series has generated countless number of fans to the books of this great writer, mostly concentrated in the A Song of Ice and Fire saga. I read every book in this saga in particular, and I look forward the next book. However, this author has other books not related to this series, and all are included in this collection. As you'll see in the list, I added also the unfinished books of A Song of Ice and Fire saga. I've done this because if maybe my character is eaten by a zombie, at least he can die after to know if Tyrion Lannister is marrying with a female Ice Giant. Seriously, all of this of zombie apocalypse happened right after the books were published, and that's it.
    - H.P. Lovecraft book collection (101 books): I am a role player of the old school for over 20 years, and so the RPG Call of Cthulhu brought to my life many hours of fun for years. The novels and short stories by Lovecraft are small masterpieces written with an almost lost literary style, and although times have changed, remains a point of reference for its genre. I read long ago all the stories of Lovecraft translated into Spanish, but during creating this mod, I have read all the short stories in English that I could never find in my language, some of only 3 or 4 pages, and remain very good despite of the years. All of Lovecraft's stories have been published many times over time, and even though most can be found on websites like Amazon or Goodreads, now due to new technologies other short stories can only be purchased in digital version. Almost all these short stories, can be found on various pages dedicated to this author in the network totally free. As a side note, have been included in this list not only stories written directly by HP Lovecraft, but also collaborations with other authors and books written under several pseudonyms by Lovecraft and his works as ghostwriter. Nor could miss, in my view, the contributions of the writer August Derleth, Lovecraft's friend and collaborator, who after the death of Lovecraft, gave more life to cthulhu universe in itself, being August Derleth largely the creator of the term "Cthulhu Mythos", and thanks his work, I will could play the great RPG that much later was published. Also have added several compilation books with all of Lovecraft's works, including his poems. And you never forget this sentence: "In his house at R'lyeh, dead Cthulhu waits dreaming"...
    - Jules Verne book collection (63 books): Another author that I think everyone knows. Most of us have read some (or many) of the books by Jules Verne. Even people who have not read one of his books have certainly seen a movie based on one of his books. It is one of the major influences in the genre of science fiction and a incredible visionary ahead of his time, since he imagined many inventions before anyone else, that would later appear in the real world. Long before anyone else, he imagined weapons of mass destruction, helicopters, elevators, internet, submarines and much more. Have been avoided literary works published later by his son, Michel Verne, because although supposedly are based on his father's work, they are actually very manipulated by Michel, sometimes intensely altered. However, many of these original works never published by Jules Verne, was published without any alteration of Michel years later, and these have been included in this list. Without further ado, here is the list of his works.
    - J.K. Rowling book collection (13 books): Despite not having read personally any of these books, although I've seen all the movies, is undeniable the impact that the saga of "muggle" Harry Potter has had on the world of cinema and literature.  In fact, the books in this series have sold as many copies, who have made of J.K. Rowling the first and thus far only billionaire author.  Therefore, to avoid that the Dementors get angry and come to my house or who J.K. Rowling hits me with a big wad of cash, let's start with the list of books by J.K. Rowling.
    - Suzanne Collins book collection (11 books): As in the previous case of J.K. Rowling, Suzanne Collins, despite being a well-known TV writer and screenwriter, is best known for his trilogy The Hunger Games, and to a lesser extent but not least, by his other saga, The Underland Chronicles. The books of the The Hunger Games series, were the best sellers in the US during months, only behind of the Harry Potter books, and the movies based on his novels also have achieved great popularity. So here you have all the books in the collection of Suzanne Collins:
    - C.S. Lewis Fiction book collection (18 books): This fantastic British writer, a close friend of J.R.R. Tolkien, is known worldwide and his work is very extensive. However, his best known works are his books of fiction, and therefore, only include that kind of books in the list . His best known works are The Screwtape Letters, The Chronicles of Narnia and The Space Trilogy, as well as other books of Christian apologetics not mentioned in this list. Also very popular is the series of films based on his books of The Chronicles of Narnia, where a wardrobe can be much more than it seems. So with the permission of Aslan, here have the collection of books of C.S. Lewis.
    - Stephen King book collection (76 books): Stephen King is an American author of contemporary horror, suspense, science fiction, and fantasy famous all around the world, with hundreds of millions of books sold, and many literary prizes. Furthermore, based on many of his books, have created numerous television series and films. Carrie, It, Misery, and his great (and my favorite) work, The Dark Tower series, are just some of the many books of this prolific writer. Therefore, I think this marvelous writer deserves a own collection in this mod. Thus, under the watchful eye of the man in black, here you have the list of his works:
    - Stephenie Meyer book collection (8 books): Stephenie Meyer, as in some cases already mentioned, has reached popularity with a single saga, the Twilight saga. But that popularity achieved in a very short time has been tremendous. The books in this series have served as the basis for several movies, which are also extremely popular and have many fans. I personally have not read or will read this saga, because although I have seen the movies, and the final battle was pretty good, would have preferred a movie based on the adventures of a Nosferatu, a Gangrel, a Brujah and a Tzimisce in an universe based in the RPG Vampire: the Masquerade, prior to a love story full of vampires decaffeinated. But hey, it's all a matter of taste, so here you have the books by Stephenie Meyer.
    - Dragonlance book collection (174 books): Yes, you've read it correctly. This collection has 174 books. It is the largest collection of the mod. And the most geek collection of the mod too, with the possible exception of the collection of books about zombies. Although I like more the world of Dark Sun, in the past I read a lot of Dragonlance novels, and I've also been a player in this RPG many years ago. As a collection of Dark Sun is rather small, and as the history of Dragonlance universe is very attractive, I have decided to include this collection of books in the mod. A notice, I've discarded by simple purism, the young adult readers novels created in the last years for this universe. So before Tasslehoff Burrfoot "find" (because the kenders not steal, make it clear) some of these books and these disappears from the list, here you have the vast collection of books of Dragonlance.
    - Jean M. Auel book collection (6 books): Jean M. Auel just has written six books in a saga, and these books are known worldwide. The first book in this collection is the most famous, The Clan of the Cave Bear, and also is wherein has received more awards. This collection has been added to the mod for two reasons. First, it is a collection that I really like, and second, that too many others have read these books, as evidenced by the nearly 50 million books sold. Here you have the list of books by Jean M. Auel.
    - Zombies book collection (83 books): And here my most dearest collection, the jewel of the crown, with permission from Tolkien. I've been reading many books and comics about zombies since long before the zombie fashion are catapulted to the stars thanks to the comics and the TV series The Walking Dead. Logically, thanks to this trend have been published very many more books of this genre, and I love this large amount of books, even though the level of many of them is very low. Some of these books are about infected or possessed, not about the classic Romero zombie, but are classified as zombie literature. I have read 90% of the books of this list, and many others that have been published in my native language but not in English, but here are only included books that have been published in English. There are more books published about zombies, but I think the list is already quite long and includes many of the best, and maybe this list will be increased in future updates. No need to explain about why this list is included in the mod. It fits perfectly with the game, and is a booming fashion. Also, reading these books maybe helps to survive our characters... So lock the windows with barricades, have a hammer in the hand, and read every book on this list.
    - Cookbooks collection (54 books): This is the strangest collection of mod. Or maybe the most normal. As I mentioned before, it occurred to me to include this collection in the mod after seeing my girlfriend reading cooking recipes online. This solved one of the dumbest problems in this mod, see appear a book of Tolkien or The Art of War on the shelf of a kitchen. Not much more to explain about it. Here you have a long and varied list of cookbooks. Surely no one wants to read the books from this list, however, I suggest as minimum read the titles of the first three books. This books are real cookbooks, and really worth reading their titles, because they are very curious. Bon appétit.
    - The best books of all time (468 books): Behold, the last and longest list of books based on the remains of the main list of the 500 greatest books of all time. Surely many think that a important book is missing in this list, and that another book should not be in the list, but as always, it's impossible to make everyone happy. I added two books at the end of this list. The first is The Art of War by Sun Tzu, because of its great importance and the ease of application of the teachings of this book in many areas, including a post-apocalyptic world filled with zombies. The second is The Kama Sutra of Vatsyayana, a book known around the world, and is also a very "special" book. The list have not the original order of the list, because I have changed the order of the books belonging to the same author or saga to be together, so is easier for users of this mod, find books on the list. Here you have the list of the most influential books of the story:
     - Newspapers list:
    - Magazines list:
    - In the near future:
    - Compatibility:
    - Known Bugs:
    - Multiplayer:
     - Download link: http://bit.ly/1BDQiIS Enjoy the mod!
  13. Like
    Thuztor got a reaction from EUDOXIO in Gutrot - Vacation Islands (pre-Alpha 1)   
    + new textures (and coconut shells can be used in some new recipes or for making fire)
     

  14. Like
    Thuztor got a reaction from Z3759xy in Gutrot - Vacation Islands (pre-Alpha 1)   
    + new textures (and coconut shells can be used in some new recipes or for making fire)
     

  15. Like
    Thuztor reacted to RoboMat in RoboMat's Modding Tutorials (Updated 12/11/2013)   
    RoboMat's Modding Tutorials
    - An introduction to modding for Project Zomboid -


     

    I - Introduction
    I1 - Where to start
    I2 - What is needed
    I3 - Lua Tutorials
    I4 - Other Resources
     
    II - The first steps
    II1 - Getting the connection
    II2 - The entry point: Events
     
    III - The first mod
    III1 - Preparations
    III1a - Folders
    III1b - Our mod's identification card
    III1c - The actual lua script
    III2 - Adding items to the inventory
    III3 - Handling keys
    III4 - Detecting the correct key
     
    IV - Custom professions
    IV1 - Creating a custom profession
    IV1a - The foundation
    IV1b - Creating the profession
    IV1c - Creating a new trait
    IV1d - Custom Spawnpoints
    IV1e - Custom Profession Clothing
    IV1f - Putting it all together
    IV2 - Linking Professions / Traits to game mechanics
     
     


    I. Introduction
    Hello there, this is my attempt to write a few modding tutorials for the community. I will try to update this whenever I have some spare time.


    1. Where to start
    First things first. When I started looking into the code of Project Zomboid and the different mods I was a bit confused. There was the source code in Java, the additional code in Lua and the scripting language and I didn't really know which one to look into. To spare you this confusion I'll explain their purpose shortly:
     
    Java: Most of the source code of Project Zomboid is written in Java. While you can modify the java files it is not recommended. According to the developers changing the java source code won’t be necessary in future versions of Project Zomboid, so we won’t look into that. Eggplanticus has made a nice post about how to spelunk in the Java source if you want to try it nonetheless. Lua: There already are parts of the source of PZ that have been ported to lua. If you really want to get into modding, you won't get around learning its syntax. Scripting: At the moment it is only used for easily adding items to the game. While we will cover some of the basics of the scripting language we will mostly work with lua coding.
    2. What is needed
    Basically to edit a lua file you can use any standard text editor that is capable of saving simple (unformatted) text files. So Wordpad (Windows) or TextEdit (Mac OS) will do. While it is possible to create a script with those programs they miss many features a specific IDE will give you (syntax-highlighting, auto-formatting, etc...).
    I prefered working with Eclipse IDE with an extra lua plugin installed for quite some time, but recently switched to IntelliJIdea - haven't been looking back ever since. There are other free alternatives like gedit, Notepad++, ZeroBraneStudio or XCode for example. Find one that works for you and stick with it. Remember: It's not the program that does the work. None of them will turn you into a RobertJohnson over night, they only make your life easier.


    3. Lua Tutorials
    If you have some experience with programming already Lua will probably be fairly easy to pick up for you. I mainly used the official manual to learn the language, but of course there are many other great tutorials out there. From time to time I check the lua wiki and of course stack overflow.

    Just to be as clear about this as possible: This won't be a tutorial about lua. It will be a tutorial about modding Project Zomboid. If you don't understand parts of my code, you probably should learn some basic lua syntax first. If there is one thing I don't like then it's people who don't even take the time to read through the tutorial notes, then copy&paste the code and finally spam the thread with questions about "why it doesn't work".
    Don't be that person (unless you are Rathlord).


    4. Other Resources
    For more tutorials you should visit pz-mods.net and the tutorial section on the indiestone forums. If you have further questions you can post them in the modding help section of the the indiestone forums and one of the many coders will help you for sure.
     
     
    TOC
     
     
    Last updated: 12.11.2013
     


    II. The first steps
    Okay now that we got that out of the way let's move on to the actual modding part.


    1. Getting the connection
    To mod the game we somehow have to interact it. Lua's main purpose lies on extending existing programs written in other programming languages. As mentioned in the previous chapter the main base of Project Zomboid was written in Java. That's where the connection between lua and the java source code happens. With lua we can access all the public functions written in the Java source code.
     
    -- lua function function doStuffInLua(_player) -- getSpecificPlayer() is a public method defined in the java source code -- that returns the player. We can access it through lua. getSpecificPlayer(_player); end  
    But how do we know which methods there are!? Well, we can look at the javadoc. It's basically a complete list of all methods in the Java source code and it has even been updated to 2.9.9.15 recently. If you want to be on the save side I suggest that you open the source code and look through it yourself. I use a small programm called JD-GUI for that purpose. It has a useful search function that can search through the whole source code. In the course of this tutorial I will mark methods we call from java so you don't have to worry too much about that at the moment.

    Eggplanticus also released a good tutorial on how to decompile the java source over here.


    2. The entry point: Events
    So now we know that we can call Java methods from our lua code, but we still don't know how we actually execute our lua code. We need something that runs our code, when Project Zomboid runs. This will be done with Events. You can think of events as entry points to the source code of the Project Zomboid source code. Once Project Zomboid encounters an Event from a mod it calls the associated function.
     
     
     
    -- the function we want to execute function sayStuff() -- Java: we get the first player local player = getSpecificPlayer(0); -- Java: let the player speak player:Say("I like turtles."); end -- this event will be fired every ten ingame minutes. -- In this case sayStuff() is the associated method and -- thus will be executed every ten minutes. Events.EveryTenMinutes.Add(sayStuff); This short "mod" lets the player talk about his love for testudines every ten minutes in the game. Nothing great but it gets the point across. There are already many different events added to the game which we can use for our mods and the developers are constantly adding new ones. For a somewhat complete list check out the Event Reference on pz-mods.net. Don't worry though, we will use some of them throughout this tutorial so you will slowly get the hang of it.
     
     
     
    TOC
     
     
    Last updated: 01.10.2013
     


    III. The first mod
    Let's continue with a little more complex example. We will create a small cheat script that adds some items to the player's inventory when a certain key is pressed.


    1. Preparations
    At first we're going to set up a proper folder structure and all the files we'll need to get the mod to work with Project Zomboid. Please note that this tutorial has Version 2.9.9.17 and later in mind and thus is going to use the structure needed to work with the modloader. If everything is done right our mod will later on appear in the game like this:
     
     
     


    The almighty RobertJohnson has released a more in-depth tutorial about the modloader and mod.info functions. Once that version is released I'm going to update this post too!


    a.) Folders
    Please note, that the folder structure might slightly variate depending on what IDE you are using. I'm going to show you the end-structure which I use when I release my mods:
     
     
     
     


    I named the topmost folder (we are going to call this the base folder from now on) after our mod: CheatMod. This base folder is going to contain ALL of our mod files. The "media/lua" folder is basically the location of the vanilla lua files. When we drop our mod into the modloader it is going to copy the files in our base folder to their specified location in the PZ source files. This way our mods don't overwrite any base files and the mod can be removed from the game at any time without breaking it. Yay for the nifty modloader!


    b.) Our mod's identification card
    The modloader needs some way of identifying the mods given to it. This is done by the so called mod.info file. It is a simple (unformatted!) text file which contains some important information about our mod. It must be put into the base folder:
     
     
     
     


    To make it work we will have to fill it with information of course. Copy this to your mod.info file:
     
    name=Cheat Mod (1.0.0) poster=poster.png description=This mod is used to explain modding for Project Zomboid. It is going to show several aspects of modding from start to finish. -by RoboMat id=CheatMod  
    name: The name of the mod. poster: The image file that is displayed in the mod menu in PZ. description: A short description of your mod. I am not sure how many characters this supports. id: The id of our mod. This is used to identify our mod. The id must have the same name as the base folder of our mod (in this case: CheatMod). If you drop you folders into your Project Zomboid "mods" folder now it would already display it as a mod in the game:


    Of course this isn't really a mod yet. We still need to give it some functionality


    c.) The actual lua script
    The last file we need to create is the lua script file. We are going to call it "AddItems.lua" and put it into "media/lua/Mods/CheatMod". Make sure that you really are using the correct suffix of ".lua".
     
     


    Now we are set and ready to begin working on our first mod!


    2. Adding items to the inventory
    We are going to start with a simple script that allows us to add a few items to the player inventory as soon as a certain key is pressed. Adding items is a fairly easy task as you will see. Open your AddItems.lua and enter the following code.
     
     
     
    local function addItems() local player = getSpecificPlayer(0); -- Java: get player one local inv = player:getInventory(); -- Java: access player inv -- Java: add the actual items to the inventory inv:AddItem("Base.Axe"); inv:AddItem("Base.RippedSheets"); inv:AddItem("camping.TentPeg"); end As with the previous examples our starting point is the player. We need to "get" him first with getSpecificPlayer(0). We then can access his inventory with the getInventory() call. "getInventory()" returns an ItemContainer which happens to be the player's main inventory. This means we now can use all the java functions defined for the ItemContainer.class and one of them happens to be the nifty AddItem(...) function.

    If you look at the javadoc of this function you will notice that it expects a String as a parameter. What it doesn't tell you is, that it actually needs the module of the item you want to add and the name of the item itself. You can read our example above as "add item Axe from module Base". The code above would give the player an axe, some bandages and a tent peg from the camping module.

    How do you find out the modules and names of the items? Of course by looking through the source files. All items are currently located in "/media/scripts/items.txt", "/media/scripts/newitems.txt", "/media/scripts/camping.txt" and "/media/scripts/farming.txt". Just take a look at these files - the rest should be self explanatory.


    3. Handling keys
    As we haven't defined an event yet, the function is pretty useless right now. We want the items to be added whenever the player presses a key and luckily the devs have given us the great OnKeyPressed event for that purpose. Let's add it to our mod:
     
    local function addItems() local player = getSpecificPlayer(0); -- Java: get player one local inv = player:getInventory(); -- Java: access player inv -- Java: add the actual items to the inventory inv:AddItem("Base.Axe"); inv:AddItem("Base.RippedSheets"); inv:AddItem("camping.TentPeg"); end -- Will be fired whenever we press a key. Events.OnKeyPressed.Add(addItems); This event will be called whenever a key is pressed in the game. The only problem is, that the event doesn't care which key that is. If we would leave our mod like this, the player would get spammed with countless items. We need to fix that!


    4. Detecting the correct key
    One of the great things about events is, that some of them pass useful parameters to the function which is called through the event. The OnKeyPressed event for example passes the number of the pressed key to the function. The called function in this case is of course "addItems()". To use the parameter we have to slightly modify our code another time:
     
    -- We added the parameter to the function which -- will be passed to the function as soon as the -- event fires. local function addItems(_keyPressed) local key = _keyPressed; -- Store the parameter in a local variable. print(key); -- Prints the pressed key to the console. -- We test if the correct key is pressed. if key == 25 then local player = getSpecificPlayer(0); -- Java: get player one local inv = player:getInventory(); -- Java: access player inv -- Java: add the actual items to the inventory inv:AddItem("Base.Axe"); inv:AddItem("Base.RippedSheets"); inv:AddItem("camping.TentPeg"); end end -- This will be fired whenever a key is pressed. Events.OnKeyPressed.Add(addItems); Notice the _keyPressed parameter that was added to our function. You might wonder about the leading undaerscore. It is just a thing of coding style that I like to do, to be able to distinguish parameters from local variables in the function's body. The same goes for storing the parameter in the local variable "key". It might seem superfluous at first, but if you want to change the content of this variable later on, you can easily do that by changing its declaration at the top of the functions instead of having to track down every single occurence.

    Anyway, they _keyPressed parameter will receive a number corresponding to the pressed key and pass it into our function. Unfortunately I'm not to sure which numbering method is used in Project Zomboid, but I think it might be the one from LWJGL. You can use the print(key) call in the function to easily find out all numbers you need to know anyway.

    Basically we just have finished our first real mod. Save the AddItems.lua and copy your base folder into the Project Zomboid-mods folder. Now you can go into the game and enable your mod (restart the game afterwards!). Once you are in the game now, you should be able to cheat items into your character's inventory by pressing the 'P' key on your keyboard.
     
     
    TOC
     
     
    Last updated: 12.11.2013
     


    IV. Custom professions
    Admittedly our first mod isn't very impressive so we are going to expand it a bit. The biggest problem at the moment is, that the player can cheat weapons into his or her inventory every playthrough, which might ruin legit savegames.

    1. Creating a custom profession
    That's why we are going to create a custom "Cheater" Profession and link the cheat code to it.

    a.) The foundation
    Of course we need to create a new lua script. I'm gonna call it "CheaterProfession.lua" and save it in its own folder (Note: Basically it doesn't matter where you save your lua files, but good structuring will make it easier for you and others to organize and understand your project).



    After creating the file open it and add the following lines:
     
     
    -- CheaterProfession.luarequire'NPCs/MainCreationMethods';require'NPCs/ProfessionClothing'; This basically makes sure that the file is loaded after those two files which enables us to use their functions. (If someone has a more technical explanation feel free to PM me or comment below!).

    b.) Creating the profession
    Now we can start with actually creating the new profession. Add these lines to your CheaterProfession.lua
     
     
     
    -- CheaterProfession.lua require'NPCs/MainCreationMethods'; require'NPCs/ProfessionClothing'; local function initProfessions() -- Java: Create a new profession. local cheater = ProfessionFactory.addProfession("cheater", "Cheater", "Prof_rm_Cheater"); -- Java: Add a custom trait called Undesireable (no one likes cheaters ). cheater:addFreeTrait("rm_undesireable"); -- Java: Add the vanilla trait Nightowl. cheater:addFreeTrait("NightOwl"); end  
    Lets go through the code. The part of it which actually creates / registers the new profession is:
     
     
    local cheater = ProfessionFactory.addProfession("cheater", "Cheater", "Prof_rm_Cheater"); It calls the addProfession(String type, String name, String IconPath) function of the ProfessionFactory. The parameters are used like this:
    type: Used to identify the profession internally in the game's code. name: Human readable name which appears in the game's menus etc. iconPath: Name of the custom icon to be displayed in the game. If we would leave the code here it would create a fine new profession without any traits though. That's where the remaining two lines come into play:
    cheater:addFreeTrait("rm_undesireable"); This adds a (you probably guessed it) trait to the profession we just created. "rm_Undesireable" is the trait we are going to create in a few seconds whereas "NightOwl" is one of the vanilla traits. Of course PZ doesn't know "rm_undesireable" yet, so we still have to actually create it. Lets do it.

    c.) Creating a new trait
    We add a new function above the one we created above to initialise the traits.
    local function initTraits() TraitFactory.addTrait("rm_undesireable", "Undesireable", 0, "Allows you to cheat.\nShame on you!", true); end Quite similar to the ProfessionFactory we used above, the TraitFactory class allows us to add a new trait by calling addTrait(String type, String name, int cost, String desc, boolean profession). Let me explain those parameters:
    type: This is the internal name used in the games code. It's also the name of the custom icon to be displayed in the game. ! Has to be lower case ! name: The human readable name displayed in menus etc. cost: Determines how many trait points it will cost to select this trait. desc: The description which appears when you hover over the trait. profession: If set to true the trait won't appear as a selectable trait but instead stays a "profession-only" trait. It really is as easy as that Now you actually already have a fully functional profession which you could play with. But it still is lacking two important parts of the profession system: Spawn points and custom clothing colours.

    d.) Custom Spawnpoints
    Spawnpoints determine where in the Gameworld the player will appear when the game starts. Before we can add a new spawnpoint though we of course need to find out its coordinates in the game. For this purpose I have created the "Coordinate Viewer", which displays the player's coordinates as a small overlay in the game.

    So if our cheater profession should start in the large warehouse (where else!?) the game will show us a player position of X: 3110 and Y: 1809. Unfortunately we can't use those "absolute" coordinates for the spawning code. We have to calculate the "relative" coordinates instead. Don't worry though - it is pretty easy. Basically you just need to divide the absolute coordinates by 300 to get the cells, but more importantly you have to ignore the remainder. Our coordinates for the big warehouse would be X: 10 and Y: 6 then. Now we have the cell in which the player should spawn. Relative to that position we need the exact coordinates and this is where the remainder comes into play. Still using the above coordinates the remainders of the division would be for X: 110 and for Y: 9.

    This probably sounds more complicated than it is. I suggest that you read through this post by The_Real_AI who maybe explains it a bit better.

    Now that we have calculated the coordinates, we need to tell the game to use them.
     
    -- Set custom spawn points for this profession. -- Modelled after spawn code by RegularX. Thanks to -- The_Real_Ai for his explanation on how to calculate -- them. local function initSpawnPoints() local spawn; -- Create a Spawnpoint in the large Warehouse. spawn = { { worldX = 10, worldY = 6, posX = 110, posY = 8, }, } -- Add our profession to the list of spawnpoints for Muldraugh. BaseGameCharacterDetails.spawnPoint.MuldraughKY.cheater = spawn; spawn = { { worldX = 39, worldY = 23, posX = 138, posY = 100, }, } -- Add our profession to the list of spawnpoints for West Point. BaseGameCharacterDetails.spawnPoint.WestPointKY.cheater = spawn; end Basically we have created a local table which holds our calculated coordinates and added it to the global table BaseGameCharacterDetails.spawnPoint.

    Take a look at the last line of the function:
    BaseGameCharacterDetails.spawnPoint.WestPointKY.cheater = spawn; We create a new index cheater and give it the value of our spawnpoint. It is essential that this index uses the type (check the parameters above) of your profession or else it won't work. It is probably self evident but MuldraughKY holds all spawns for Muldraugh, whereas WestPointKY creates spawns in West Point.

    e.) Custom Profession Clothing
    Finally we are going to add some custom colors for the profession clothing. The System is quite similar to the spawn points above: Basically we are going to create a table which holds all values for male and female "cheaters".
    ----- Set custom clothing and clothing colors for this -- profession. local function initClothing() local clothes = {} ProfessionClothing.rm_Burglar = clothes; end We create a table called clothes which will hold all of the necessary values. Then we have to make two nested tables to separate the "male" and "female" clothes (this means the guy can have blue and the lady pink colors for example - yay ).
    local function initClothing() local clothes = { male = { }, female = { }, } end Now we will add all the values need to create the clothes. First we declare which type of clothing item the character should wear. The male character is going to wear a Shirt and Trousers and the female character gets a Blouse and Skirt.
    ----- Set custom clothing and clothing colors for this -- profession. local function initClothing() local clothes = { male = { topPal = "Shirt_White", top = "Shirt", bottomPal = "Trousers_White", bottom = "Trousers", }, }, female = { topPal = "Blouse_White", top = "Blouse", bottomPal = "Skirt_White", bottom = "Skirt", }, } end You probably are wondering why there are two variables (top and topPal) for each item for example. As far as I understand the system the "pal" stuff just sets the color palette for the specific item. Why we have to do that ... I don't know It is something we gotta have to ask the devs.

    Last but not least we are going to give some colours to those clothes. Those values will be stored in two seperat tables called topCol and bottomCol. As you probably figured the first determines the colours of the top the character wears, whereas the latter determines the clothes for pants, skirts, etc.

    PZ uses the three values Red, Green and Blue (RGB) to calculate the final colour. Those values have a floating point range from 0 to 1 which was a bit strange for me at first considering that most programs and games I've used use values from 0 to 255 I will leave it to you to figure out which values return which colour. In my example here all clothes will be black:
    ----- Set custom clothing and clothing colors for this -- profession. local function initClothing() local clothes = { male = { topPal = "Shirt_White", top = "Shirt", bottomPal = "Trousers_White", bottom = "Trousers", topCol = { r = 0.1, g = 0.1, b = 0.1, }, bottomCol = { r = 0.1, g = 0.1, b = 0.1, }, }, female = { topPal = "Shirt_White", top = "Shirt", bottomPal = "Trousers_White", bottom = "Trousers", topCol = { r = 0.1, g = 0.1, b = 0.1, }, bottomCol = { r = 0.1, g = 0.1, b = 0.1, }, }, } ProfessionClothing.cheater = clothes end Just like the spawnpoints we add the table of our cheater profession to the global table called ProfessionClothing with the last line of the function.

    f.) Putting it all together
    We still need to tell PZ to call our functions once the game boots so that our custom values are initialised. We wlll use our beloved Events for that. Add these lines to the end of your CheaterProfession.lua file:
     
    Events.OnGameBoot.Add(initTraits); Events.OnGameBoot.Add(initProfessions); Events.OnGameBoot.Add(initSpawnPoints); Events.OnGameBoot.Add(initClothing); We are done here. Congratulations you have created your first custom Profession

    The complete file should look like this:

     
    TOC
    Last updated: 12.11.2013
     

    2. Linking Professions / Traits to game mechanics
    What we want to do now is link a special game mechanic to the trait of the profession we just created. Of course this isn't a must, but it doesn't make much sense to implement a trait that doesn't have any effect in the game, does it? You will see that it is actually pretty easy. Let's get to it.
    Coming soon™...
     
     
     
    TOC
     
     
    Last updated: 08.11.2013
  16. Like
    Thuztor reacted to blindcoder in Do I Have A Key For This? - Show if you have a key for a knob in the tooltip - v3.0.0   
    After stumbling over this thread http://theindiestone.com/forums/index.php/topic/13649-serious-problem-with-the-new-keys-and-lockable-doorknobs/ I realized that I actually do have that implemented already.
     
    What's this mod do?
    It shows you a short info in a doorknobs tooltip if you have a key for this specific knob in your keyring.
    Also, when you right-click on doors, you get an option to drop one key for this door to the ground.
     

     
    Where do I get this mod?
    On github: https://github.com/blind-coder/pz-dihakft/releases
     
    How do I install it?
    Like any other mod, download and extract to Zomboid/mods, then enable it in the Mods section.
     
    Does this mod have tiny_avc support?
    Yes!
     
    What is the license of this mod?
    It's Free For All!
  17. Like
    Thuztor got a reaction from MrZombifiedGamer in Horizon Clock Mod v.0.6 for Build 41   
    Horizon Clock Mod
    version 0.6 for Build 41
     
    Concept, Textures, Code & Overhaul: Thuztor
    oldCode: TurboTuTone
     
    Translations:
    English & German: Thuztor
    Russian: Nebula
     
    Surprise! I'm back and not dead yet! Not yet!
    I hope I can revive even more in the future.


    Update to Version 0.6 for Build 41 and probably lower:

    - complete overhaul ( see Features )

    Features of this version:

    - You don't have found a watch, yet?
    ! Orient yourself at the level of the sun or the position of the stars!

    - You have a watch, but you can't see the clock?
    ! Hold Right CTRL,  if you move or whatever with the keyboard!
    ! Otherwise just press Right CTRL!

    - You can't see the sun or the stars, if you are inside a building or it rains?
    ! That's correct. It has to be like this!

    - You want a digital watch, but without the luxery temperature display?
    ! You can find black cheap digital watches on corpses and at some other places!

    - Language Support: english, german, russian (Nebula)

    Planned for the next version:

    - texture overlay, if you are sitting in cars
    - The correct beginning and end of sunrise and sunset depending on the season.
    - the strength of rain, clouds, fog, snow and wind is visible in the horizon clock
    - extra ui for the wind direction

    Future plans:
    - an analog watch
    - button cell battery for watches (keep a very long time, but eventually the clock will stop working)
    - windup watches that needs no battery, but needs to be wind up again and again.
    (Bad luck if one forgets it sometimes. Then you have to just guess what time it is)

    Steam: http://steamcommunity.com/sharedfiles/filedetails/?id=498643301
    Dropbox-Link: https://www.dropbox.com/s/1cbrgt4kdj55tju/HorizonClockv0.6.zip?dl=0
     
     
    See you soon!
     





  18. Like
    Thuztor reacted to RobertJohnson in RELEASED: IWBUMS 32.18   
    HOW DO I GET THIS?
    http://theindiestone.com/forums/index.php/topic/4183-iwbms-the-i-will-backup-my-save-branch/
     
    Hello guys!
     
    Sorry for the delay we're all been busy on lot of exciting stuff lately..
     
    Anyway, this update contains a few things:
    Health panel overhaul: damaged bodyparts are in a scrolling list. Added highlighting to the button-labels in MainScreen. Allow the EXIT button to be activated by the controller. Fixed zombies that are attacking getting pushed by other moving zombies. Also fixed the player getting pushed too much by zombies Unequip fishing net when placing it. Fixed calling sendObjectChange() in ISPlant when not on the server.   Fixed InventoryPane tooltips showing when another window is in front. Removed xeno-mods.com from list of valid mod URLs. (Issue #001960) Don't do the latestsave.ini for multiplayer game. [MP] Added KickFastPlayers server option. Don't kick players that were made invisible by an admin [MP] If NoFire is set on server, walls won't burn (from pipe bombs for example) [MP] Prevent copying a character (MP or SP) to another server
  19. Like
    Thuztor got a reaction from Z3759xy in Gutrot - Vacation Islands (pre-Alpha 1)   
    A little update of what I'm doing now.
    Next comes the greening.
     
     
  20. Like
    Thuztor got a reaction from blindcoder in Gutrot - Vacation Islands (pre-Alpha 1)   
    A little update of what I'm doing now.
    Next comes the greening.
     
     
  21. Like
    Thuztor got a reaction from EUDOXIO in Gutrot - Vacation Islands (pre-Alpha 1)   
    A little update of what I'm doing now.
    Next comes the greening.
     
     
  22. Like
    Thuztor reacted to Z3759xy in Downtown(On Hold)   
    Hello Community,
     
    Some time ago, I started looking into/playing with the Maptools, in my spare time.
    After I made my first building, "it" evolved into a whole cluster of buildings.

    This "cluster of buildings" looks very close to an area where I grew up (althrough a bit modified, to fit the PZ-universe).
    For now, there are 2 Cells (not complete).
    But I like to expand it a little further, by making it a 4 Cell city.
     
    There are some buildings I used/adjusted, made by other community members:
     
    - DoctahWong_cortman-medical
    - Doublebrain_ abandoned-factory
    - Jinja_house-1 and house-2
    - mendonca_modern-villa-R
    - Phex_garages
    - Veged_small-house
     
    Many thanks, to those(and all the other) members for sharing.
    Downtown Mod-folder:

    Dropbox
    or
    Zippyshare
    Instructions:
    Special thanks to The_Indie_Stone, and all who made it possible, for releasing the Maptools!
     
    Suggestions, ideas or critism are welcome.
    If you find any bugs or issues: please do reply or send a pm, thanks.
     
    Kind regards,
    Z3759xy
  23. Like
    Thuztor reacted to Batsphinx in Mondoid discussion 20.7.2015 - The Creative Revolution   
    Today we come to you with an awesome new mode for Build 33 that should have an explosive impact on the Project Zomboid modding and mapping scene, as well as providing a fun new way to play the game.

     

    Creative Mode is something we first experimented with in the dim and distant past, but came back to mind when we were looking at the speed of our own map production and the tools that we use. The Louisville map we’re building is very ambitious so, alongside EasyPickins’ awesome existing mapping systems, we started to think about ways we could populate our world more quickly.

     

    At the same time in development, meanwhile, TurboTuTone's awesome furniture decoration system arrived on the scene for Build 33 – while General Arcade and EP’s work on Steam Integration meant that Steam Workshop was also suddenly in the offing.

     

    Put them together, and what have you got?

     



     

    When we started Zomboid, and agreed upon a static map for the game, we (perhaps optimistically) anticipated hundreds of maps for players to download to provide almost unlimited amount of exploration. Despite there been some amazing map projects already released, this didn’t quite happen. The learning curve for the toolset, the drudge of copying files, the exporting and all the rest made it an intimidating process.

     

    Creative Mode, we hope, takes all that away. It lets you build maps faster, have fun and work as a team. In essence, it lets you edit the map in any way you can imagine. You can use any buildings or other map pieces available: whether you’re subscribed to them on Steam Workshop, copying and pasting them from the existing PZ map or creating them yourself.

     

    It’s a mode that lets you, as an in-game Zomboid character, create extra buildings, districts, even complete towns and cities. What’s more, absolutely anything can be shared to the Workshop - at the moment via an external app, but soon straight from the game itself. Coming back the other way, anything you’re subscribed to will automatically be available to place within Creative Mode.

     

    Furthermore, Creative Mode works completely in online multiplayer, so players can join forces to build an entire town on their server - before using it as a fun and engaging place to die from zombies. Split screen support isn’t currently coded, but will certainly be something we look into as we refine the system.

     

    In terms of Build 33 – the first version of Creative Mode will cover only the essentials: containing basic house construction, furniture population, landscaping and so on. As we roll it out further, however, we’ll provide additional tools that will let you create neat road systems, sidewalks, gardens, fences, levels of erosion and all that fun stuff.

     

    It's our dearest hope that by empowering everyone and anyone to make map content and share it via the Steam Workshop, and in making the process of building as fun and as co-operative as we possibly can, we’ll foster a new community of building-obsessed doozer players and a flood of new map content. Every player’s game world could potentially be many orders of magnitude bigger than the current Zomboid map, and potentially completely unique to them, or their server and their community.

     

    Then if all servers have their own unique maps, who's to say we couldn't see about giving them an option to have their borders connected one day? With Build 33 the Zomboid infection will be easier to spread than ever before. Exciting times!

     

    OH, AND….

     

    Before we go something else that happened last week and was a bit exciting was that Mike Laidlaw the Creative Director of the ace Dragon Age games at BioWare streamed some PZ – and provided what was an excellent guide and tutorial for the game. It seems Twiggy has some competition! You can view his butterknife and bacon adventures here. Byeee!

  24. Like
    Thuztor reacted to RoboMat in Better Shouts (1.1.1)   
    Better Shouts

    Better Shouts is a mod for Project Zomboid, which replaces the vanilla shouting mechanics and adds a whisper function.



    OverviewAdds custom shouts (users can easily add their own) Adds whispering, which will be used if the player is sneaking Removed vanilla shouts Tiny AVC Support Shouting & Whispering
    Shouting in this mod works similar to the shouting in the vanilla game, but it adds a few more variations of things your character says. Whispering works just like shouting and will be used when the player is sneaking. This can be used to only attract zombies who are close by.

    Adding custom Shouts
    Adding custom shout and whisper texts is quite easy. The files containing the default text are located in the RMBetterShouts/text folder.

    Add two new files called custom_shouts.txt and custom_whispers.txt to the RMBetterShouts/text folder. These files will be used by the mod to replace the default shouts the next time you load the game.

    Now open the newly created files and add a bunch of new shouts:


    # Example for custom_shouts.txt# Comments start with # and will be ignored when the file is loaded.# Empty lines will also be ignored.# MiscSupercalifragilisticexpialidocious# Dovahkiin ShoutsFus Ro DahOd Ah ViingLaas Yah NirZul Mey GutWuld Nah Kest# More Shouts...Of course you could simply edit the base files, but these will be overriden when the mod updates and your changes will be lost. By keeping your custom shouts in separate text files this won't happen.

     

  25. Like
    Thuztor reacted to RoboMat in Lockpicking Mod (1.8.1)   
    Pushed version 1.7.0

    ### Version 1.7.0- Player's panic levels now affect the lockpicking success (Closes #6)- Reduced the base chance for successfully picking a lock- Fixed #3 - Lockpicking sound is now stopped correctly when the timed action Stops- Fixed #7 - Timed Actions for breaking door and window locks now stop when the player walks or runsFinally the sound issues are fixed! (clyde) And another small (yet important) bug fix release:

    ### Version 1.7.1 - Fixed #8 - Reduce amount of false positives for doors inside of housesThis way doors inside of houses will no longer display lockpicking and lockbreaking options.
×
×
  • Create New...