Jump to content

Dr_Cox1911

Member
  • Posts

    814
  • Joined

1 Follower

About Dr_Cox1911

  • Birthday 11/19/1990

Contact Methods

  • Website URL
    discord.project-zomboid.de

Profile Information

  • Gender
    Man

Recent Profile Visitors

5162 profile views

Dr_Cox1911's Achievements

  1. The best setup that I know of is if Jetbrains IntelliJ Community Edition in conjunction with the guide from Konijima. If you follow this setup you will end up with awesome autocompletion and easy access to the decompiled source code to look up how certain things behave.
  2. You should have a round button at the left side (where the heart-symbol is) which has "client" writte on it. Click on it and you will see a small panel with a few buttons for various client settings you can alter. In there you will find the factions button.
  3. This is due to mods altering the inventory. Try it without any mods and see if it works. If yes, then add back in one mod at a time.
  4. For linux hosting I can really recommend the LGSM-scripts. With this hosting is pretty easy and yet so customizable.
  5. I'm currently handling the Steam workshop version, but if Fenris wants someone else to take it over I'm more than willing to give it to someone. If not: @Fenris_Wolf: Should I update to the new version? Back in the day we agreed that you will poke me if I should update the version.
  6. Dr_Cox1911

    TPDOID

    That's done on purpose, just look back almost a year where tooilet paper was horded like crazy. So TIS did this as a little easer egg.
  7. So glad that this massive update is here! Can't wait to give this a proper go tomorrow.
  8. I'm really glad that the mod spotlight is back and hope that it will be published on a somewhat regular basis
  9. Thanks for making this, had it on my todo-list for ages. One thing that is needed for my upcoming mod though: can I target a simple gridsquare (even one that is currently not loaded because no player is around)?
  10. @leon2356I quickly skimmed through the sourcecode and found a couple of mentions of Axeman. Don't know if these are all of them though: IsoGameCharacter.class protected float calculateCombatSpeed() { float f = 1.0F; HandWeapon handWeapon = null; if (getPrimaryHandItem() != null && getPrimaryHandItem() instanceof HandWeapon) { handWeapon = (HandWeapon)getPrimaryHandItem(); f *= ((HandWeapon)getPrimaryHandItem()).getBaseSpeed(); } WeaponType weaponType = WeaponType.getWeaponType(this); if (handWeapon != null && handWeapon.isTwoHandWeapon() && getSecondaryHandItem() != handWeapon) f *= 0.77F; if (handWeapon != null && this.Traits.Axeman.isSet() && handWeapon.getCategories().contains("Axe")) f *= getChopTreeSpeed(); f -= getMoodles().getMoodleLevel(MoodleType.Endurance) * 0.07F; f -= getMoodles().getMoodleLevel(MoodleType.HeavyLoad) * 0.07F; f += getWeaponLevel() * 0.03F; f += getPerkLevel(PerkFactory.Perks.Fitness) * 0.02F; f *= Rand.Next(1.1F, 1.2F); f *= this.combatSpeedModifier; f *= getArmsInjurySpeedModifier(); if (getBodyDamage() != null && getBodyDamage().getThermoregulator() != null) f *= getBodyDamage().getThermoregulator().getCombatModifier(); f = Math.min(1.6F, f); f = Math.max(0.8F, f); if (handWeapon != null && handWeapon.isTwoHandWeapon() && weaponType.type.equalsIgnoreCase("heavy")) f *= 1.2F; return f * GameTime.getAnimSpeedFix(); } public float getChopTreeSpeed() { return (this.Traits.Axeman.isSet() ? 1.25F : 1.0F) * GameTime.getAnimSpeedFix(); } HandWeapon.class public float getSpeedMod(IsoGameCharacter paramIsoGameCharacter) { if (this.ScriptItem.Categories.contains("Blunt")) { int i = paramIsoGameCharacter.getPerkLevel(PerkFactory.Perks.Blunt); if (i >= 10) return 0.65F; if (i >= 9) return 0.68F; if (i >= 8) return 0.71F; if (i >= 7) return 0.74F; if (i >= 6) return 0.77F; if (i >= 5) return 0.8F; if (i >= 4) return 0.83F; if (i >= 3) return 0.86F; if (i >= 2) return 0.9F; if (i >= 1) return 0.95F; } if (this.ScriptItem.Categories.contains("Axe")) { int i = paramIsoGameCharacter.getPerkLevel(PerkFactory.Perks.Axe); float f = 1.0F; if (paramIsoGameCharacter.Traits.Axeman.isSet()) f = 0.95F; if (i >= 10) return 0.65F * f; if (i >= 9) return 0.68F * f; if (i >= 8) return 0.71F * f; if (i >= 7) return 0.74F * f; if (i >= 6) return 0.77F * f; if (i >= 5) return 0.8F * f; if (i >= 4) return 0.83F * f; if (i >= 3) return 0.86F * f; if (i >= 2) return 0.9F * f; if (i >= 1) return 0.95F * f; return 1.0F * f; } if (this.ScriptItem.Categories.contains("Spear")) { int i = paramIsoGameCharacter.getPerkLevel(PerkFactory.Perks.Spear); if (i >= 10) return 0.65F; if (i >= 9) return 0.68F; if (i >= 8) return 0.71F; if (i >= 7) return 0.74F; if (i >= 6) return 0.77F; if (i >= 5) return 0.8F; if (i >= 4) return 0.83F; if (i >= 3) return 0.86F; if (i >= 2) return 0.9F; if (i >= 1) return 0.95F; } return 1.0F; } IsoTree public void WeaponHit(IsoGameCharacter paramIsoGameCharacter, HandWeapon paramHandWeapon) { int i = paramHandWeapon.getConditionLowerChance() * 2 + paramIsoGameCharacter.getMaintenanceMod(); if (!paramHandWeapon.getCategories().contains("Axe")) i = paramHandWeapon.getConditionLowerChance() / 2 + paramIsoGameCharacter.getMaintenanceMod(); if (Rand.NextBool(i)) paramHandWeapon.setCondition(paramHandWeapon.getCondition() - 1); paramIsoGameCharacter.getEmitter().playSound("ChopTree"); WorldSoundManager.instance.addSound(null, this.square.getX(), this.square.getY(), this.square.getZ(), 20, 20, true, 4.0F, 15.0F); setRenderEffect(RenderEffectType.Hit_Tree_Shudder, true); float f = paramHandWeapon.getTreeDamage(); if (paramIsoGameCharacter.Traits.Axeman.isSet() && paramHandWeapon.getCategories().contains("Axe")) f *= 1.5F; this.damage = (int)(this.damage - f); if (this.damage <= 0) { this.square.transmitRemoveItemFromSquare(this); paramIsoGameCharacter.getEmitter().playSound("FallingTree"); this.square.RecalcAllWithNeighbours(true); int j = this.LogYield; byte b; for (b = 0; b < j; b++) { this.square.AddWorldInventoryItem("Base.Log", 0.0F, 0.0F, 0.0F); if (Rand.Next(4) == 0) this.square.AddWorldInventoryItem("Base.TreeBranch", 0.0F, 0.0F, 0.0F); if (Rand.Next(4) == 0) this.square.AddWorldInventoryItem("Base.Twigs", 0.0F, 0.0F, 0.0F); } reset(); CellLoader.isoTreeCache.add(this); for (b = 0; b < IsoPlayer.numPlayers; ) { LosUtil.cachecleared[b] = true; b++; } IsoGridSquare.setRecalcLightTime(-1); GameTime.instance.lightSourceUpdate = 100.0F; LuaEventManager.triggerEvent("OnContainerUpdate"); } LuaEventManager.triggerEvent("OnWeaponHitTree", paramIsoGameCharacter, paramHandWeapon); } I guess those things you would have to mimic in Lua if a baseballbat is equipped and the character wielding it has your trait.
  11. Greetings Tangos! First things first: I've absolutely no knowledge about 3D-models in PZ, but I know a few basic things about modding in PZ (or at least where I can look for info 😁) In order to start modding PZ you should start with the basics, that is script-files for items and Lua for pretty much everything else. @Fenris_Wolfcreated an awesome beginners guide on github, after you have worked your way through this you should have some basic knowledge. The next crucial thing in my opinion is getting familiar with the base Lua files and the Java classes PZ ships with. For the Lua files you will simply need a texteditor to look at, but for the Java classes you will need something to decompile them. Other modders (me included) use JD-GUI for this. Next steps are: look at other mods that do similiar things that you want to achieve. There are so many awesome mods out there with good written code to look at. These will help you get started. That are for me the first steps to start modding in PZ. The other modders are very friendly and all chip in to help a fellow modder in need, so don't despair and either use the forum here or go to the official PZ Discord and participate in the modding-channel.
  12. Would it be possible to Support the Tag Mod from Maris: More Mod tags
  13. Currently at Work, but damn this looks nice!
  14. Dr_Cox1911

    [WIP] Mod Options

    I did previously start something similiar myself. Are your mod options synced to clients as well? I previously wanted a way to let admins change some mod settings right through the game, so my framework consisted of a hookable UI that a mod can add a page to. These settings would then be transfered to the server and propagated to all clients. I never really got it done 100%.
  15. Dr_Cox1911

    PriZon Break

    I'm really eager to try the new menu style, before I play it I can't really tell which control scheme I like more, but this seems pretty sleek. MP news is good as always👍
×
×
  • Create New...