Jump to content


  • Content Count

  • Joined

  • Days Won


djkrose last won the day on November 11 2017

djkrose had the most liked content!

Community Reputation

10 Good

About djkrose

  • Rank
  1. Sorry man, my schedule is pretty full with family & stuff and I don't play 7DTD anymore. I'm happy to help or answer questions for anyone who picks up the source code, but I don't see me doing it myself at the moment. Any feature that you are specifically looking after?
  2. Unfortunately, I won't be able to continue developing the Mod at the moment. If anyone else wants to pick it up, feel free. It's open source after all.
  3. I am currently not continuing development due to lack of personal time and motivation, at least not until A17 is there. But feel free to add bug reports and feature wishes to the GitHub issue tracker: https://github.com/djkrose/7DTD-ScriptingMod/issues Since it is open source, maybe someone else will pick it up and submit a pull request. Even if not, there is a chance that I get to it when I continue active development on it. djkrose
  4. Is it confirmed that this is still working in the latest version? Because the latest change log contains an entry that alledgedly fixes exactly that (as I understood it):
  5. I got a Christmas gift for you... [TABLE] [TR] [TD][/TD] [TD] djkrose's ScriptingMod got a new release![/TD] [/TR] [TR] [TD][/TD] [TD] Version 1.0 - First stable release![/TD] [/TR] [TR] [TD][/TD] [TD] With new event system![/TD] [/TR] [TR] [TD][/TD] [TD] Now all open source![/TD] [/TR] [/TABLE] ► Download & Changelog ► Event Documentation .oO( djkrose)Oo. ps: I will post a few examples and inspirations about what can be done with it in the following days.
  6. Interesting idea; i have the same problem on my server. Cars are generated as part of the game's last decoration step together with large prefabs, vegetation, etc., so I'll have to see if I can cut that part out and just generate cars. Two poblems I see already: * What if the terrain was digged deeper? Is the car being spawned flying in the air? * What if someone built a base where the car was? Is the generated car destroying his base? Even if that is solved, an admin still needed to go around from time to time and regenerate cars; a pretty tedious task. I'd like to find a more automated solution with a generic server-wide car respawn, similar to how loot in chests respawns. That is part of my bigger goal (at least for me) to create a self-maintaining server that can run for years without degredation, constantly renewing itself where necessary, without ever needing a reset. Similar to an MMORPG like WoW. djkrose
  7. That's actually one of the very simple solutions to the problem, which everyone can just do with XML setting destroy_on_close="true", but a) it puts your server in modded, and b) people would complain a lot about lost loot. Items do *not* drop on the groun on close, they just disappear. Same with supply crates. Happened to me countless times when I clicked on "read" in a book in the crate. It closed the container, read the book, and everything else was gone. Also you couldn't just look in a body and leave the content for your friend. The dev's wanted to get rid of the zombie body as quick as possible because it occupies lots of computation power (physics, collision, position updates, ticks, ...). Gore blocks on the other hand are blocks and just occupy a few bytes of memory and almost no cpu. On horde night, the server couldn't handle all the bodies or they would block spawn of new zombies. They are still count as entities and count towards the max entity setting. But you are right, gore blocks wouldn't NEED to have loot other than the harvesting material of itself (like with animals). It was just a design decision to not despawn loot quickly. People would complain if they fight horde all night and by the end 80% of the loot is already despawned. Good observation! I investigated into this question many hours already: When a client opens a container it actually announces a lock on it to all other clients (GameManager.TELockServer). All other clients then obey this lock until they receive the unlock signal (GameManager.TEUnlockServer). The server itself never stores this status, just distributes the log signals (NetPackageTELock.ProcessPackage). TELockServer can also be called for Entity objects (see EntityCar.OnEntityActivated) but it absolutely requires an associated TileEntity at the entity's position to apply the lock to. It exists for fixed-position entities like cars or traders, but not for moveable entities like zombies or zombie-bodies (they cann roll down a hill). In summary It is only implemented for TileEntities not for objects derived from EntityAlive. The server can't use this mechanism itself for decisions because it has no clue who currently has a lock. (*) Therefore it requires quite a few changes both client- and server-side to make it work for zombie bodies, although it shouldn't be impossible. .ooOO( djkrose )OOoo. (*) This makes me think of a possible new dupe exploit: 1) Player A is logged of. 2) Player B opens a chest with good items. 3) Player A logs in and opens the chest (possible?). 4) Both players loot the same items. Can someone try this out?
  8. This would be a prime example for what the ScriptingMod is for if it already had event support. -- Which just finished 30 minutes ago! :-) Untested preview for next version (v0.15 RC1): https://we.tl/8IOoG7we4c Create a .js file in the mod's script folder and put this in: [color=#AEAEAE]// This script changes the lifetime of dropped items[/color] [color=#AEAEAE]// @events entityLoaded[/color] [color=#FBDE2D]if[/color] ([color=#8DA6CE]event[/color].entity.GetType().ToString() [color=#FBDE2D]=[/color][color=#FBDE2D]=[/color][color=#FBDE2D]=[/color] [color=#61CE3C]'EntityItem'[/color]) { [color=#8DA6CE]event[/color].entity.lifetime [color=#FBDE2D]=[/color] [color=#D8FA3C]120[/color]; [color=#AEAEAE]// 60 seconds is default[/color] [color=#F8F8F8][font=Consolas]}[/font][/color] djk ps: tested and confirmed working
  9. It's not something else; from the "^M" it's pretty clear that this is a newline ending problem. That nano editor most likely can interpret both types of line endings. I can't tell you how, but you need to convert the text file into linux line endings. djk
  10. ScriptingMod v0.14 - Download This release contains a new repair mode that fixes bugged trees automatically. I mean those trees that have zero HP but still don't fall, but instead give a big chunk of wood on every hit, thus being considered an exploit. As with all repair modes, it can be executed one-time or run repeatedly in the background. One-time repair: dj-repair t Activate/deactivate auto-repair mode every 10 minutes: dj-repair t /auto Just check without repairing anything: dj-repair t /sim It will let you know in the server log if and how many bugged trees were found and repaired. See help dj-repair for details on this and all the other repair modes. djkrose
  11. alwaysnoone Prisma is right, the commands are registered with an extra "^M" at the end apparently. This is due to the different newline characters on Linux as mentioned before. I don't think calling the command with literally "^M" at the end works, because it's just a placeholder for the actual \n (ASCII 10) character that Windows is using for line endings but Linux isn't. This is already on my fix list, but to get the scripts working on Linux you would need to convert them to Linux line endings. I don't know how that could be done on Linux (anyone an idea?). Try to open the script in a Linux text editor and save it again. Or if you transferreed the files via FTP, use ASCII mode to transfer the .js files. djk Edit: Or ask @alwaysnoone - on page 6 he mentioned that he corrected the line endings.
  12. I was asked by a few people what my fix for the corpse dupe exploit is. Well, this is basically it: In class EntityZombie: The problem is that "isUserAccessing()" doesn't work on multiplayer, because the client never tells the server when it opens the corpse. So my fix checks if the corpse was opened (not "untouched" anymore) and if so, it empties it's content before the gore block is created. Without this, the "CopyLootContainerDataFromOther" would here just copy (aka duplicate) whatever is in the zombie corpse. Why doesn't TFP just add this? It's not a perfect fix. If a player just opens a corpse and then closes it (unsure whether to loot, or he wants to leave it for a friend) then the loot is still emptied when the corpse turns into a gore block. While I would always prefer an imperfect fix over a duple exploit, I can see why TFP is hesitent to patch it like this. Doing it right would take much more effort, because the client-server communication would need to be changed, possibly putting more load on the server. djk
  13. Can try dj-version to see if the mod is loaded at all? Then you can have a look into the server log at start-up. The mod logs out a lot of status messages, all tagged with "[sCRIPTING MOD]". If a script is loaded, or cannot be loaded or is ignored for any reason, it would say so in the log. There were reports that different line endings on Linux could cause troble, but I believe that was only for Lua scripts... Just check in the scripts folder below the ScriptingMod directory if the js-sleepers.js script is there and the content loks alright. If in doubt, get a fresh copy. djk
  14. No, the command is still there named "js-sleepers". See the file js.sleepers.js. In the header you can change the command to anything you like. Remember that the command works from the console, not the chat, and that you need to be admin by default to use it.
  15. Yeah, I didn't like that either... Gore blocks go poooof when there is already one in the same block, which can easily happen with hordes. And setting the value down to 1 sometimes disables drops entirely, and setting it higher makes it possible to at least duplicate the original loot. Plus the server goes into modded... :\
  • Create New...