#mod_development

1 messages · Page 126 of 1

worldly olive
#

Hey @drifting ore thanks for the animations guide, just created the first dummy animation to understand how it works and was really useful! kudos to you

drifting ore
#

i dont think he's here anymore unfortunately

worldly olive
#

Yeah! Saw his real name so didn't know who he was here 😛 but thanks to him too

wheat kraken
#

link it here i want to check it out

worldly olive
wheat kraken
#

oooooh i saw that one day

#

is dislaik nippytime?

drifting ore
#

NO

#

LOL

fast galleon
#
table.insert(Distributions["Paperbag_Spiffos"].items, "SpiffoCards.cardpack");
table.insert(Distributions["Paperbag_Spiffos"].items, 100);

instead of Distributions you should use SuburbsDistributions

table.insert(SuburbsDistributions["Garbagebag"].items, "Garbagebag");
table.insert(SuburbsDistributions["Garbagebag"].items, 110);
worldly olive
#

He was the one that sent me the guide 😛 that's why I thanked him!

wheat kraken
#

xDD

#

try to break my mod, the fire one, im waiting someone to beat this challenge, and to stress test it

i want to see how many fps can it drops

and test if i really did an working protection to avoid be bellow 30 fps

fast galleon
#

what's the reward?

wheat kraken
#

xD

#

i will do a scoreboard discussion section with that

#

recording the date, time and mod version and the beater name and how many fires and gas puddles used to beat it

the reward is to be registered and participate in the personal mod's guinness book

#

hahahah

sand dragon
bright roost
#

Hello all, I have added a custom skill to the game but im struggling to see it added to the skills menu for the player

#

has anyone else been able to get a custom skill to work and show along with the others? (fittness/strength/etc)

fast galleon
sand dragon
#

so trying set my Card Packs to give you three cards every time, but with a dif chance for common- rare or epic cards. i got it kinda working but i sometimes get 3 or 2. im sure this is a simple fix but i just am not seeing it so wanted see if someone else can tell me what is wrong so i can fix it to work how i want

"SpiffoCards.SpiffoCard4",
"SpiffoCards.SpiffoCard5",
}

local card_uncommon={
"SpiffoCards.SpiffoCard4",
"SpiffoCards.SpiffoCard5",
}

local card_rare={
"SpiffoCards.SpiffoCard3",
"SpiffoCards.SpiffoCard4",
"SpiffoCards.SpiffoCard5",
}

local card_epic={
"SpiffoCards.SpiffoCard1",
"SpiffoCards.SpiffoCard2",
"SpiffoCards.SpiffoCard3",
}

function opencardpack(items, result, player)
local roll=ZombRand(0,#card_common)
player:getInventory():AddItem(card_common[roll+3])
local roll=ZombRand(0,#card_uncommon)
player:getInventory():AddItem(card_uncommon[roll+2])
local roll=ZombRand(0,#card_rare)
player:getInventory():AddItem(card_rare[roll+2])
local roll=ZombRand(0,#card_epic)
player:getInventory():AddItem(card_epic[roll+1])
end```
#

nvm i think i see the issue now

runic creek
#

to actually add on to this can I just add a spawnpoint to unemployed?

worldly olive
#

One more question to confirm. Every xml file for the AnimSets needs to be under a folder that already exists in the base game? Those ones. I tried with one called "test" just to test mine but didn't work, tried to move it to one called "idle" and it worked

sand dragon
wheat kraken
drifting ore
#

i could be wrong but i have horrible luck with zombrand unless i clearly define the range

#

i know it's supposed to start from zero and go to the length of the table but i dont have that experience when using

worldly olive
#

<?xml version="1.0" encoding="utf-8"?>
<animNode>
<m_Name>Test_Idle</m_Name> <!-- File name (optional)-->
<m_AnimName>TestAlexa</m_AnimName> <!-- Action name (Important!)-->
<m_SpeedScale>1.00</m_SpeedScale> <!-- Speed animation -->
<m_BlendTime>0.20</m_BlendTime> <!-- Transition between animations -->
<m_Conditions> <!-- Condition to access this animation (Important!)-->
<m_Name>TestAlexa</m_Name>
<m_Type>BOOL</m_Type>
<m_BoolValue>true</m_BoolValue>
</m_Conditions>
</animNode>

That file under the idle folder works, but if I move it to a "death" folder for example, it stops working. So maybe the "idle" in the name of the file is required? 🤔

bright roost
fast galleon
#

level up section?

wheat kraken
#

i call mine holdingbagboth_cart

same name of .xml

worldly olive
wheat kraken
#

maybe its is the condition

#

needs to meets folder related

drifting ore
#

bare minimum needed

#
<animNode>
    <m_Name>NAME</m_Name>
    <m_AnimName>Animation_Name</m_AnimName>
    <m_deferredBoneAxis>Y</m_deferredBoneAxis>
    <m_SpeedScale>0.40</m_SpeedScale>
    <m_BlendTime>1.25</m_BlendTime>
    <m_Conditions>
        <m_Name>PerformingAction</m_Name>
        <m_Type>STRING</m_Type>
        <m_StringValue>CONDITION</m_StringValue>
    </m_Conditions>
</animNode>```
wheat kraken
#

mine have righthandmask m condition

#

i think that defines the match

sand dragon
#

what does roll actually do?

wheat kraken
worldly olive
#

I managed to play the animation once. But when the xml was under the Idle folder, if I create a "test" folder or whatever other name it doesn't play anymore, so I'm trying to understand if the filename needs to have some sort of relation with the folder and not only the m_name

wheat kraken
#

yours i see it is PerformingAction

that defines where can it be placed

#

if you change it to mine, righthandmask,
you need to place it in player, maskingright folder

#

you need to match the m_conditions tags on that folder @worldly olive

#

i assume/suppose

#

yours to be the same of theirs

worldly olive
#

Hmmmm

wheat kraken
#

death have no mconditions

#

if you check it folder

sand dragon
#

Spiffo Trading Cards help

wheat kraken
#

try to remove yours mconditions and test it there

#

or just use a folder that matches yours m conditions

#

i bypass this, using right hand mask, but doing animation on left hand too

wheat kraken
worldly olive
#

Yeah I'm checking and the Idle animations have those m conditions

#

Maybe that's why

thick karma
#

What is the easiest way to identify a tile's name outside of the game? I'm trying to identify all the ladder tiles... I see e.g. this:

#

But I don't know how to see the name of the actual ladder sprites.

#

I believe that at least one of them is called "industry_railroad_05_20" e.g.

#

But how I would determine that is unknown to me...

split basin
#

Hey, does anyone know whether the infectionLevel is connected to the bite-time? I'm trying to stop the infection for a period of time by removing the infection of the bodyparts and bodydamage but after i "reapply" the infection, the infectionLevel increases alot instantly

thick karma
#

This? @fast galleon

fast galleon
thick karma
#

Ahhhh thanks sorry no clue what I'm doing

fast galleon
#

it's easier with custom tiles, you just hover over the picture. locating the vanilla is a bit trickier

thick karma
#

Another win for @fast galleon:

#

Thanks

#

This is fast enough

#

I can work with this

#

Ladders about to get some animations y'all

fast galleon
thick karma
#

(Animations will be courtesy of @subtle gyro)

#

(I'm just coding them)

#

Is there any harm in setting a flag on something that already has it? I.e., if I call:

#
    sprite:getProperties():Set(flag)
    square:getProperties():Set(flag)

That won't unset flags right? It'll just skip already-set flags?

#

Or... reset them?

#

(which would be harmless in my circumstances)

faint jewel
#

animations?

#

what?

#

how you gonna animate a ladder

fast galleon
modern hamlet
#

How can i add free recipes to a trait?

worldly olive
# modern hamlet How can i add free recipes to a trait?

local gardener = TraitFactory.addTrait("Gardener", getText("UI_trait_Gardener"), 1, getText("UI_trait_GardenerDesc"), false);
gardener:addXPBoost(Perks.Farming, 1);
gardener:getFreeRecipes():add("Make Mildew Cure");
gardener:getFreeRecipes():add("Make Flies Cure");

faint jewel
#

also, you welcome

#

@thick karma

thick karma
#

And I don't need the sets that contain them...

faint jewel
#

that makes more sense.

thick karma
#

I needed the names of the sprites in the sets

#

But Polt hooked me up

#

I got em now

faint jewel
#

no that's the tilesheet your pack referenced.

#

OH i can show you how to find those easy.

thick karma
#

I mean I am currently finding them

faint jewel
#

tilesheetname_tile#

thick karma
#

I know I am currently identifying them through this

#

I can mouseover to see what number they are

faint jewel
#

the pack viewer. i find them via the tileset viewer.

thick karma
#

How?

faint jewel
#

same area.

#

tile properties.

#

open the .tiles for the base files.

fast galleon
#

you add the number to the prefix, e.g industry_railroad_5 + _20

faint jewel
#

yup

fast galleon
#

the number is usually the guid displayed in the tilesheet or you count the position manually

thick karma
#

I feel like mousing over the pictures is pretty fast

#

Also "usually" concerns me lol

#

I feel like I'm getting the sprite name always this way

fast galleon
#

I'm just not sure 100%, I think I saw something weird at some point

#

mixed prefixes

#

On another note, you may need to add one of the flags every time because it seems to be reset after you move

thick karma
#

Can sprite names have spaces?

#

I feel like this one has a space...

#

So, yes, but you hate it?

fast galleon
#

I guess it can? first time I see this.

thick karma
#

Anyone know of any tile packs off the top that add ladders?

#

I am adding a little bit of modded ladder support while I'm at this

#

I got Diederik's and 10YL ladders already

#

(At least I the ones that were full size... skipped the weird half-size ladders because unsure how they show up / would be used)

fast galleon
#

Raven Creek has ladders, not sure if they are different sprites

thick karma
#

Yeah I am actually explicitly curious about that

#

I didn't find a .pack for Raven Creek stuff yet searching through ProjectZomboid but I may go fishing in Raven Creek directly

#

Okay actually just found these:

#

I see no more ladders in RC tile packs...

#

omfg why

#

Wow.

faint jewel
#

?

thick karma
#

So many identical ladders.

#

Why

drifting ore
#

could be diff properties per ladder or something lol. thats really weird though

thick karma
#

Lol it's a set of 62 ladders index 1 to 62, named identically

#

(except for index)

drifting ore
#

just looking at it makes me giggle

thick karma
#

(it's more than it looks like)

#

(to me)

#

At a glance I was like what is that 30, 40? No, 62.

drifting ore
#

lmao i made all the 40 Context_Menu translations named Context_Menu_One, Two, Three etc.. who would have thought the most generic name ever was already use by vanilla? probably half the world except for me

#

no idea how i missed that one... lol

#

thanks to Pao also ❤️ figured out my issue with translations lol

tame mulch
#

Someone need help in mod creating? I need switch from fishing task for relax ded

#

I can do review code or refactoring or help with something

glass basalt
tame mulch
glass basalt
#

I need an event that is like OnNewGame but is server-side, because that event is only client-side, it seems. I checked

tame mulch
#

You need server side event?

glass basalt
#

yes, so that I can delay a client command for the server to spawn items on the map before the player can move their character

glass basalt
#

I will double-check this event, wasn't sure when it happens

tame mulch
#

Explain idea of what you want to do

glass basalt
#

hahaha I should do that.
When a player has a certain trait, the game needs to spawn a vehicle on the map (server-side).
Currently my client command to trigger the server to spawn the vehicle is happening before the client listener initializes, for some reason
I want to make the client command actually be seen by my command handler in OnClientCommand
Now that I think about it, a server-side event wouldn't work. I need an event that happens later than OnNewGame

tame mulch
#

OnGameStart must work

glass basalt
#

will test this 🫡

frank lintel
#

is there any event triggered by player pressing 'click to start' or indicate they already did and are in world?

bronze yoke
#

OnGameStart

frank lintel
#

yeah I gotta test that one just making sure there not something explicit to say 'hey UI's you can open now...'

glass basalt
#

darn. The client command is now sending when I want it to, but OnClientCommand does not see it. The only commands it does see are writeLog from ISLogSystem

#

It reads the events milliseconds after mine 😂

[02-03-23 17:09:46.186] LOG  : General     , 1677802186186> 0> [AirdroppedLUV] Sending client command to server.
[02-03-23 17:09:48.545] LOG  : General     , 1677802188545> 0> [AirdroppedLUV] Sent client command to server.
[02-03-23 17:09:48.881] LOG  : General     , 1677802188881> 15,038,666> [AirdroppedLUV] Events.OnClientCommand caught "ISLogSystem", "writeLog".
[02-03-23 17:09:48.882] LOG  : General     , 1677802188881> 15,038,667> [AirdroppedLUV] Events.OnClientCommand caught "ISLogSystem", "writeLog".
drifting ore
#

isn't OnGameBoot right after that also? i could be wrong there. thats what i used when the one you are using didn't work for me

frank lintel
#

well player and isalive or whatever we tried worked on one but not the other I didnt get around yet to checking gameboot I just asked since a 'red name' was offering advice figure ask

drifting ore
#

oh you are good my suggestion was for @glass basalt anyways, but could help you also

frank lintel
#

yeah the helicopter got me distracted today still wondering why IDE seems to think its exposed

drifting ore
#

this is a silly question but how the heck to i pinned a thread on workshop?

#

i can't for the life of me figure it out

glass basalt
drifting ore
#

ahh i see it

glass basalt
drifting ore
#

wooooo

sour island
#

Anyone mess with teleportation from location? I'm having an issue where the player seemingly gets stuck in place. What I think is happening is it's teleporting the player but then completing the movement after the fact.

drifting ore
#

swear i didnt have those options earlier lol

sour island
#

I think there should be more triggers, and event"after move" and hook for movement bypassing

#

Speaking of hooks- it'd be nice if you could default to the vanilla behavior somehow

#

They'd get a lot more use - although there's only like 3 of them (?)

glass basalt
# tame mulch OnGameStart must work

The client command is now sent later, but it does not reach OnClientCommand. Could I somehow check server-side if a player joins the server, creates a new character, and has a certain trait, without touching the client?

sour island
#

OnBoot fires when the game loads Lua afaik

#

MainMenu, then again when game starts

#

I was messing with OnLoad, OnGameStart and OnGameBoot -- may have mixed some of the tests up

#

Oh, read up a bit, there's a delay to client connections afaik

#

If you even use OnCreatePlayer -- I've seen it not work initially or set to a pre-connection IsoPlayer

#

It was very weird, but this was a while ago

#

Maybe some test suites and how to make test suites would be a good project for the community thing

sour island
#

Or OnLoadGame, I forget

glass basalt
drifting ore
#

did you try gameboot?

sour island
#

It should be when the IsoPlayer is created but it behaved differently in SP than in MP

glass basalt
glass basalt
sour island
#

It is

drifting ore
#

ahh hmm

sour island
#

OnLoad is when the player connects I believe

#

Or loads the surrounding map

glass basalt
#

ill check rn

sour island
#

It doesn't fire on MainMenu

#

I know that for sure, cause I made something debug info dump only in game

glass basalt
#

is OnLoad client or server side?

sour island
#

Client only

glass basalt
#

gotcha

sour island
#

Let me grab a snippet

#
Events.OnLoad.Add(function() HelicopterSandboxOptions("OnLoad"end) 
 if isServer() then Events.OnGameBoot.Add(function() HelicopterSandboxOptions("OnGameBoot"endend

My goal here was to only have the function fire once in client and once in server -- this code is in shared

#

I don't have to add a caveat to OnLoad for serverside

glass basalt
#

same, my trait practically triggers the same as expanded helicopter events

sour island
#

What's your trait btw?

glass basalt
#

darn, didn't fire again
lemme pull the url

#

it just needs to send information on character creation (sandbox options, traits) and then just spawn one thing and that's it

sour island
#

You could use modData on player to countdown

#

Have the countdown occur in OnPlayerUpdate

#

I've done that before for delayed events

glass basalt
#

yeah, I was considering make it delayed, but I wasn't sure which event would suit it best

#

also forgot I can remove events to make them stop spamming lol

#

I could also make an item that activates the spawn but it doesn't solve the client-server communication issue

#

or maybe it does, i'd have to actually see

glass basalt
# sour island OnLoad is when the player connects I believe

Turns out OnLoad fires before the player actually connects

[02-03-23 17:45:02.355] LOG  : General     , 1677804302355> 0> [AirdroppedLUV] Sent client command to server.
[02-03-23 17:45:02.356] LOG  : Network     , 1677804302356> 0> [02-03-23 17:45:02.356] > ConnectionManager: [send-packet] "player-connect" connection: guid=819655149280193729 ip=90169973526638597 steam-id=76561198079959669 access="" username="Panopticon" connection-type="UDPRakNet".
[02-03-23 17:45:02.356] LOG  : General     , 1677804302356> 0> Waiting for player-connect response from server.
#

I'm gonna do that delayed trigger

frank elbow
glass basalt
#

Maybe a schema that has default values for every kind of class? sounds like a great deal of work, and I'm not sure if it can be done in Java or Lua

#

javascript games really do be looking tasty for mod development

#

can someone tell me how to correctly do this condition check?
Error:

function: sendServerSpawnCommand -- file: AirdroppedLUVClient.lua line # 15 | MOD: Insurgent Profession - Airdropped LUV Add-on.
[02-03-23 18:09:04.730] LOG  : General     , 1677805744730> 18,594,346> __le not defined for operand.
[02-03-23 18:09:04.730] ERROR: General     , 1677805744730> 18,594,346> ExceptionLogger.logException> Exception thrown java.lang.RuntimeException: __le not defined for operand at KahluaUtil.fail line:82..
[02-03-23 18:09:04.730] ERROR: General     , 1677805744730> 18,594,347> DebugLogStream.printException> Stack trace:.
[02-03-23 18:09:04.731] LOG  : General     , 1677805744731> 18,594,347> -----------------------------------------
STACK TRACE

Line # 15:

if not AirdroppedLUV.clientCommandTimer <= 1 then
tame mulch
#

AirdroppedLUV.clientCommandTimer is null?

glass basalt
#

is it?

#

hmm

#
AirdroppedLUV = AirdroppedLUV or {}
AirdroppedLUV.clientCommandTimer = 30

function AirdroppedLUV.sendServerSpawnCommand(player)
    AirdroppedLUV.clientCommandTimer = AirdroppedLUV.clientCommandTimer - 1
    if not AirdroppedLUV.clientCommandTimer < 1 then
        print("[AirdroppedLUV] Countdown to fire client command: "..AirdroppedLUV.clientCommandTimer)
        return
    end
open drum
#

Hello fellows

open drum
#

may I get a help in where I could find an info about

#

what command can executed in server multiplay

#

and what functions only work in clients/single?

#

I found out that spawnazombienow() function doesn't work on multi

#

so I wanted to study on what's the difference b/w server and client specific functions

tame mulch
#

I think don't exist info about this. Need check java code or test or check how worked similar stuff in vanilla multiplayer

glass basalt
open drum
#

i see

glass basalt
tame mulch
#

I think he mean lua functions

open drum
#

yea

glass basalt
#

ah

open drum
#

i meant lua functions

#

sorry for not being clear

frank lintel
#

what does the 'ServerCommands.lua' do in media/lua/client?

red tiger
#

Couldn't mod tonight. Had to shelter in place. Scary weather.

#

Hurricane force winds

open drum
#

certain lua functions shows up only on my client but server side it doesn't stay

tame mulch
open drum
red tiger
tame mulch
glass basalt
#

"I found out that spawnazombienow() function doesn't work on multi"

open drum
#

ok, For instance

drifting ore
#

they were asking generally so they know what to use in mp vs sp

open drum
#

addZombieSitting(getPlayer():getX(),getPlayer():getY(),getPlayer():getZ())

#

i executed this command

#

when I opened an "item"

#

but it shows up on my client side

#

but other's cant see it

#

and it just dissappears

#

after i get out of the region and back

tame mulch
#

I think need send command from client to server and on server side create zombie

glass basalt
#

@open drum you need to send the server the function you want to do
https://theindiestone.com/forums/index.php?/topic/15256-multiplayer-coding-questions/

open drum
#

VirtualZombieManager.instance:AddBloodToMap(44, chunk1)

open drum
#

ill read about it

glass basalt
#

to summarize, first you need to sendClientCommand to server, server needs to see it with Events.OnClientCommand and then you can execute your code

open drum
open drum
glass basalt
# tame mulch Hmmm

how can I make sure clientCommandTimer exists? I need it to be a global variable. Should it outside of my object?

glass basalt
open drum
#

i see

#

thank you

glass basalt
#

when the server correctly detects that your custom command happened, you can have it perform anything you want

drifting ore
#

the mp stuff is where i put my wall up until i needed it lol

plucky dirge
#

https://theindiestone.com/forums/index.php?/topic/61-robomats-modding-tutorials-updated-12112013/

this is kinda outdated and the images are not available anymore

glass basalt
tame mulch
glass basalt
tame mulch
glass basalt
plucky dirge
#

Okay, this sounds like a long shot. But I'm tyring to create a mod where a player can piggy-back another player. Right now I know I'm going to need to know how to use UI, TimedAction, and Animations. Animation is probably the hardest one, as I don't know how to import default animations because its file extension is not supported by blender. Any suggestions?

tame mulch
plucky dirge
#

The former is basically copying the animations from the original manually, and the latter is converting the files. Is that correct?

tame mulch
plucky dirge
#

What's "anim guide"?

glass basalt
tame mulch
plucky dirge
#

Okay2x. Thanks!

sly wedge
#

Hi I was trying to figure how does farm/plant texture template work I dont know if there is a correct order in texture file or do i have to type in the specific pixels of the stage of growth of the plant

glass basalt
#

Success!

[02-03-23 18:41:37.637] LOG  : General     , 1677807697637> 20,547,422> [AirdroppedLUV] Events.OnClientCommand caught "AirdroppedLUV", "spawnVehicleAndItemsToClient".

...but it doesn't do anything. A new round of debugging 😔

sly wedge
glass basalt
glass basalt
#

there should be something that differentiates the different sprites in the png file in the code, check for any XMLs

sly wedge
glass basalt
#

What mod are you looking at? So I can see what files you see

sly wedge
#

i checked Seeds for vanilla vegetables,Farming Coffee,More common seeds (41 Ready),'Mo Crops

#

but i dont see any xml file just png

glass basalt
#

ah, okay

#

I am looking at Mo' Crops

#

check the texturepacks folder, there is a PACK file

#

that should have an XML file inside when you unpack it

#

or is that what you are referring to?

sly wedge
#

i remember Mo' Crops i cant unpack it using ProjectZomboidPackManager

glass basalt
#

try installing the Project Zomboid Modding Tools, it has a much better way of looking at PACK files with TileZed

glass basalt
#

hidden under "Tools" in case you can't see it

sly wedge
#

yeah i see sorry this is my first time modding in project zomboid

glass basalt
#

that's good dude, we have to start somewhere

#

I haven't done anything with textures or models, I just write code

sly wedge
#

okay i see I will research how to use project zomboid modding tools first Thank you very much

glass basalt
#

YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

#

YEAAAAAAAAAAAAAAHHHHHHH

#

oh sheesh this is a thrill

faint jewel
#

???

glass basalt
#

@tame mulch @sour island thank you both

glass basalt
faint jewel
#

spiderman attacks a military firetruck thing?

glass basalt
#

parachutes below a military firetruck, yeah

spring zephyr
#

when i am coding the script part,

if i want to use other modules,

        Base,
        Customemodules
        }```
#

this will do?

glass basalt
#

no

#

or wait, you want to have other modules besides Base?

spring zephyr
#

yes

glass basalt
#

Usually people just import Base, and require the files that they need instead

spring zephyr
#

such as?

glass basalt
#

If Customemodules is not local, you can simply call it

glass basalt
spring zephyr
#

cause i have 1 mod with my custome item,
and i have 1 mod with furniture

and it's different mods they are in one workshop id.
but i want to call one of furniture to my custom item mod.
that;s why i am asking

glass basalt
#

ah, this is for .txt scripts

#

try it the way you have it, yes

#

if it does not work, you could instead set your mod to be module Customemodules and only import { Base }

#

honestly... I would keep it all module Base

spring zephyr
#

cause shopkeeper is belong to other mods

glass basalt
#

oh I see

#

try that then

spring zephyr
#

okay

glass basalt
#

I haven't seen any examples that ever import more than just Base

spring zephyr
#

okie

#

i think putting
XXXXmodule.item this will actually work instead of importing those all thiings

#

in my opinion

glass basalt
#

I don't think Kahlua interprets it like that, but it wouldn't hurt to try

spring zephyr
#

it's 3am already

#

i havent sleep for almost 16 days righ tnow . like everyday 2 hours in bus

glass basalt
#

You should sleep before you mod :(

spring zephyr
#

how do i test my mods without keep uploading in workshop?

#

is there anyway for that?

glass basalt
#

if they are in your Workshop folder, the game should find it locally in your mod list

#

Much, much easier to test the local mod than constantly uploading it

spring zephyr
#

so can i launch it with host-server?

glass basalt
#

yes

#

instead of finding the Workshop ID, your server settings need to include the mod ID

#

using the UI to select it under Mods is the easiest way

spring zephyr
#

please dont tell me that i only didnt add "," and i got this error and i was fightin gfor 2 hours

#

it will make me sad

#

for real

glass basalt
#

it happens to the best of us 😔

spring zephyr
#

how can i test my mods without updating on workshop? cause when i local host server it it tells me server is different

#

than mod version

glass basalt
#

you are subscribed to your workshop version. Remove that subscription and enable your local version in the server settings

#

the one in User/Zomboid/Workshop

spring zephyr
#

okay i feel so bad. cause it was "," error that made me failed for 2 hours.

glass basalt
#

you learned something very important: you do not have to upload your mod to test it. It takes way too much time

#

I am testing my mod, going back to code, changing a line, and relaunching the game to test it. It doesn't get any faster than that

spring zephyr
#

i mean do i need to just upload the fixed one in to my mod folder?

glass basalt
#

what do you mean

spring zephyr
#

moment

glass basalt
#

if you fixed your mod, then the game will automatically use your new fixes in the files. You only need to upload if you want to upload a new version to the Steam Workshop

wheat kraken
#

(i got no clue about solve this)
hey, someone knows what code snipped i need to have to TimedActions works in mp?
mine is getting a bug when checking isValid

ISBaseTimedAction

function: isValid -- file: FireTrailAction.lua line # 14 | MOD: Fire a trail of fuel
Callframe at: StartAction
function: begin -- file: ISBaseTimedAction.lua line # 61 | Vanilla
function: onCompleted -- file: ISTimedActionQueue.lua line # 59 | Vanilla
function: perform -- file: ISBaseTimedAction.lua line # 49 | Vanilla
function: perform -- file: ISEquipWeaponAction.lua line # 184 | Vanilla
function: perform -- file: FHEquipWeaponAction.lua line # 40 | MOD: Fancy Handwork.

#

maybe it is a mod conflict with fancy handwork (oh no) oopsie

spring zephyr
#

@glass basalt can i invite you for a screen share?

glass basalt
wheat kraken
#

if someone can be able to debug together my first mp bug report (with video included + debug log txt), i have 0 experience on mp compatible mods, i will be glad to learn with it, from such amazing person (and i dont have hardware resources/specs to run server-client here, 8 gb ram, i5, no video card)
https://drive.google.com/drive/folders/14Hwzcty0LUi6rnKX29eb4PUPmP8fSHVI

sly wedge
#

@glass basalt thank you i think i figure it out

drifting ore
#

omg nm

#

i literally just read success LOL

#

i have a feeling this is the breakthrough moment

drifting ore
# wheat kraken if someone can be able to debug together my first mp bug report (with video incl...
function: isValid -- file: FireTrailAction.lua line # 14 | MOD: Fire a trail of fuel
Callframe at: StartAction
function: begin -- file: ISBaseTimedAction.lua line # 61 | Vanilla
function: onCompleted -- file: ISTimedActionQueue.lua line # 59 | Vanilla
function: perform -- file: ISBaseTimedAction.lua line # 49 | Vanilla
function: perform -- file: ISEquipWeaponAction.lua line # 184 | Vanilla
function: perform -- file: FHEquipWeaponAction.lua line # 40 | MOD: Fancy Handwork.```
#

don't go breaking that juicy mod now

wheat kraken
#

xD it is yours debug?

drifting ore
#

i just grabbed that from your link

#

off thatgdrive

wheat kraken
#

im investigating with authenticpeach, i got some conclusions

drifting ore
#

oh sweet

wheat kraken
#

STACK TRACE

Callframe at: se.krka.kahlua.integration.expose.MultiLuaJavaInvoker@b37c507f
function: isValid -- file: FireTrailAction.lua line # 14 | MOD: Fire a trail of fuel.
[02-03-23 16:08:07.996] ERROR: General , 1677784087996> 558.473.055> ExceptionLogger.logException> Exception thrown java.lang.reflect.InvocationTargetException at NativeMethodAccessorImpl.invoke0 (Native Method)..
[02-03-23 16:08:08.015] ERROR: General , 1677784088015> 558.473.073> DebugLogStream.printException> Stack trace:.
[02-03-23 16:08:08.621] WARN : General , 1677784088620> 558.473.679> IsoFireManager.StartFire> The StartFire function was called on Client.
[02-03-23 16:08:11.091] LOG : General , 1677784091091> 558.476.150> -----------------------------------------
STACK TRACE

" The StartFire function was called on Client."

IsoFireManager.StartFire(sqElem:getCell(), sqElem, true, 100, randDurationFireEnergy[ZombRand(3)+1]);

i need to place that on server lua folder?
because clients cant spawn fire
from no where
only server side can spawn fire using it
it is it?
i suppose

#

IsoFireManager.StartFire is a command line, commented by developers, in burncorpse code

--
investigation update:
with Panopticon
yes, fire must spawn server-side because it touches the world
Anything in the world (tiles, cells) must be server
Anything player (inventory, timed actions) must be client

the method stays the same, you simply have it run on server only, on command
https://theindiestone.com/forums/index.php?/topic/15256-multiplayer-coding-questions/

glass basalt
# drifting ore you got it workin right?

...maybe? the vehicle spawns as it should but currently I need to split my function into two to make the client spawn items
and effectively double the amount of code I have because client & server need to have two-way communication stressed

wheat kraken
sour island
#

Really scratching my head with teleporting -- I'm doing the way vanilla does it but it doesn't seem to work.

#

SetXYZ and Lxyz

#

Tried to do it during onPlayeeMove but I figured the timing was off

#

Now I set up a timed action to fire off onPlayeraUpdate if the player isn't moving

#

And it still doesn't seem to work - but the screen flickers a bit -- seems like it's reloading the map

glass basalt
#

do you constantly teleport or do you teleport once

frank lintel
#

using the method debug window does?

glass basalt
#

there is also telecorn, that isn't debug

frank lintel
#

talking code...

glass basalt
#

you don't know what telecorn is? 😂

frank lintel
#

nope because I dont TP unless Im in debug

bronze yoke
#

you must not eat a lot of corn

frank lintel
#

point was that code works... look at it

glass basalt
#

Telecorn is an easter egg
Each time you eat corn there is a random chance you teleport to a predesignated location

frank lintel
#

actually never ate any unless it was in a can

glass basalt
#

me neither lol, never survived to get to full-scale farming

frank lintel
#

I havent even touched it I got started on using superb survivors and my debugging self couldnt help it

glass basalt
#

you should make a function that makes all superb survivors teleport to you on command lol

frank lintel
#

all? maybe if they were in the group be possible

bronze yoke
sour island
#

That's what I'm using

#

I'm wondering if the tail end of the movement is disrupting it - but even just standing still seems to not work

bronze yoke
#

i was using it in the perform method of a timed action, if that could be related

sour island
#

I moved what I have to a perform as well

#

The timed action fires off but the player doesn't move

frank lintel
#

grr wish this GH was seriously laid out like the actual mod so I didnt have to copy crap all over the place

sour island
#

Nope

#

Trying to get it working in SP at least lol

tame mulch
#

Can you send code?

sour island
#

This was supposed to be a simple comission 😭

#

Can't right now, in bed

tame mulch
sour island
#

The gist is there's a list of coordinates with target IDs - A goes to B, B goes no where

#

In player update if the players xyz matches one of the coords it teleports

tame mulch
#

Try firstly copy all code from teleport tool and then change it

sour island
#

I'll try to simplify it tomorrow but it's pretty bare bones

sour island
#

It activates when I walk over the intended entry area

#

I'd have to check if I messed up the target area somehow

wide oar
#

Hey guys

#

i have a question

#

is it possible to make a mod to steal this

#

i'd like to be able to pick this up and take it home

#

and put it in my house

#

im gonna call it Grab the Gas Station after that mobile game meme "Grab the auto"

ancient grail
#

Yeah it is . Wanna commission this?

wide oar
#

No i want to make it myself lmao can you teach me

ancient grail
#

I can give you the logic. But the not the whole thing

#

You should have a moveable script item. You check for the property piped something forgot the actual syntax. And im currently using mobile..

Then after that store the sprite into a moveable obj as well at the fuel it has into that items moddata

Not sure if theres an event but if theres none.
Then probably replace its "place" context menu to take account for its fuel moddata
Then once its spawned apply the moddata.

You would also need to replace way you pick it

#

Or atleast thats what i think is how it should be done but there might be a better way if anyone else knows

wide oar
#

how much for commission

glass basalt
#

you should try making it first 😂

#

making it pretty is the hard part, but starting small and making something happen with those particular gas pumps is a good step

#

like right click and make a custom thing pop up

#

Is it possible to pass objects through arguments?

#

an object I pass as an argument seems to not properly point back to what it refers to

wheat kraken
#

what are the lowest server .ini config, for low specs pc? can link it here?

frank lintel
#

yay finally got 1 step done...

frank lintel
#

yep just verified finally got that odd hotkey open window bug eliminated

wheat kraken
#

how do i connect in my own local dedicated server?

i manage to open using a dedicated server it cost less resource (it uses only terminal)
but how do i connect to it

frank lintel
#

ie you playing and hosting same rig?

#

if so then its just localhost or 127.0.0.1 and use the right port '#'

#

same network in your home then its whatever address in the local network for that computer

wheat kraken
#

like, i just launch the dedicated server zomboid from steam library

#

i need to use -nosteam flag?

glass basalt
#

no

wheat kraken
#

i need to use my public ipv4?

frank lintel
#

if you do that honestly is a problem

glass basalt
#

try your public IPv4, and then try your internal IP, which is 127.0.0.1

#

I haven't been able to connect with either

#

sux

frank lintel
#

make sure the port # is right

#

and also firewall not blocking traffic

wheat kraken
#

it will be nice if i can force it to run localhost

glass basalt
#

you mean 127.0.0.1:16124 or whatever it is?

wheat kraken
#

because it shows that are running on my public ipv4

frank lintel
#

well you can define that normally dunno this game but whatever they use

glass basalt
plucky dirge
#

how do you add a dummy player for testing in debug mode?

wheat kraken
#

xD

frank lintel
#

I havent tried doing MP stuff so I never done the whole play and host yet (but I can on a threadripper)

glass basalt
frank lintel
#

fixed that odd bug with keybinds and opening the windows apparently wasnt just quest window only was also the group window also

#

but as the readme says its not official Im just trying to get the GH up to date so first forked the mod and uploaded mod as is for a start point then started so tech real first commit

glass basalt
#

Insurgent - Airdropped LUV Add-on officially works in multiplayer! 🥳

frank lintel
#

nice

glass basalt
#

now I need to finalize some changes and upload

wheat kraken
frank lintel
#

thats my end goal honestly Im gonna try and see if I can get this MP working

glass basalt
frank lintel
#

oh thats just ghey went you self hosting with a dedi

wheat kraken
#

i think this is a problem, i need to set my dedicated server to be a nonsteam

glass basalt
#

no, you are getting that because dedicated server is nonsteam

#

both your game and you need to be steam

#

if you want to connect and have mods

#

-nosteam just disconnects the Steam functionality

wheat kraken
#

my server is running, but client receive no server response

frank lintel
#

firewall exclusion just might not include local ip stuff who knows

wheat kraken
glass basalt
#

honestly haven't taken a look at firewalls, but you may need to unblock the steam port for the server

#

maybe a quick search will solve the issue

frank lintel
#

far as I knew --nosteam was only when ya hosting dedi and a client from same box because you cant double run technically same program same steam UUID

glass basalt
#

hmmmmmmmmmmmmmmmmmmmmmmmmmmmmm maybe

frank lintel
#

arma is like that

glass basalt
#

@wheat kraken try what you said, it wouldn't hurt

#

but when I did --nosteam, my workshop mods did not download

frank lintel
#

I would have to host my dedi's on a different name (didnt matter cuz it was FFA didnt need to own) then just played on my normal name but thats two different rigs. same rig always had to force a nosteam thing

#

now if I could find out whats popping these 4 other errors which Im betting same problem trying to start a 'nil' window or pre-render or something

wheat kraken
#

it was firewall

#

thank you!

frank lintel
#

money

#

np

wheat kraken
#

HAHAHA

#

xD

#

i got response on menu, its is trying to connect now

#

this takes too long?

frank lintel
#

dunno like I said never dealt with MP yet...

wheat kraken
#

@glass basalt

#

me either

#

that non mp experience is crazy (i didnt play mp yet)

#

no one believes

frank lintel
#

?

glass basalt
#

he means that people don't understand just how crazy it is to play solo 😂

wheat kraken
#

i only play sp games

#

only solo

glass basalt
#

I used to play PZ in MP but friends went to different games :(

frank lintel
#

I didnt think its too bad but again only played SP so far

glass basalt
#

making this mod MP definitely expanded my understanding in modding though. Don't even mind that I'll never play my own mods in MP lol

frank lintel
#

I did alot of backend stuff in MC so I got a rough idea of it only reason even thinking of maybe trying to get this working for MP.

wheat kraken
#

its not possible to connect in your own server without using -nosteam

i manage to edit dedicated server command line, to steam=0

frank lintel
#

yeah didnt think so even bet anti-cheat seeing it as a dual UUID login

wheat kraken
#

maybe if you edit server .ini to enable two

Limits the number of different accounts a single Steam user may create on this server. Ignored when using the Hosts button.\nMinimum=0 Maximum=2147483647 Default=0

MaxAccountsPerUser=0

this can be userful too, to choose mods

List Workshop Mod IDs for the server to download. Each must be separated by a semicolon. Example: WorkshopItems=514427485;513111049

WorkshopItems=

frank lintel
#

does MP let you pick a character to use like SP does?

wheat kraken
#

i think you can enable it in ini

frank lintel
#

nvm says accounts, Im thinking characters

wheat kraken
#

ServerPlayerID determines if a character is from another server, or single player. This value may be changed by soft resets. If this number does match the client, the client must create a new character. This is used in conjunction with ResetID. It is strongly advised that you backup these IDs somewhere

ServerPlayerID=

#

how do i define my self as admin?

#

im not able to run pz as debug, if im not the admin server

#

when running dedicated server

glass basalt
wheat kraken
#

uhuul!

#

its is working ! now i have a enviroment to test my mp mods!

frank lintel
#

nice

wheat kraken
#

dedicated server saves me

#

a must recommended for lowspecs pcs

frank lintel
#

they do use UUIDs to track what player is who correct?

wheat kraken
#

if mods that allow character save works it is possible to load it,

or maybe in config files rs

wheat kraken
frank lintel
#

well in MP how do you know two same named ppl are different data wise?

#

gotta be some unique id method

wheat kraken
#

the getPlayer(number) is a terror in mp, i think this is real

#

i read about it i think

bronze yoke
#

by sqlid

wheat kraken
#

nice! yeah its a db

frank lintel
#

yeah but does it change upon reconnecting or does that # stay unique is the key

bronze yoke
#

sqlid is persistent

wheat kraken
#

saved in server

bronze yoke
#

if you don't need persistence use onlineids instead

frank lintel
#

oh it would be absolutely needed for this mod

wheat kraken
#

user database "%userprofile%\Zomboid\db\servertest.db"

frank lintel
#

really hate windows for having so many refs to the same folder...

bronze yoke
#

steamid can be used to similar effect most of the time

frank lintel
#

yeah a steamID would be basically UUID like in uniqueness

bronze yoke
#

sqlid differentiates between different players using splitscreen but if you don't care about that steamid is a lot easier to work with

wheat kraken
#

setaccess command is not working on dedicated server

#

Unknown command /setaccess reifel "admin"

bronze yoke
#

setaccesslevel

wheat kraken
#

Unknown command /setaccesslevel reifel "admin"

frank lintel
#

btw what anti-cheat does MP use?

wheat kraken
#

without bar works setaccesslevel reifel "admin"
@glass basalt

bronze yoke
#

you don't need to use the slash if you're putting it directly into the server console, it already knows everything you're typing is a command

#

you only need that if you're entering it through the chat

wheat kraken
#

nice!

#

im so happy that now i can do mp compatibility tests on my mods :)))

#

sycholic and panopticon and albion you are amazing and supportive to make this possible

#

im really thankful

frank lintel
#

aww dont get me into dad mode I'll start talking about working at Oracle and the DoD and welding fiberoptics back in the early 90s

#

I dont drink so that emote dont work really albeit I look like that atm... 🚬

glass basalt
#

after I finished suffering with adding multiplayer support... now im gonna do it again by duplicating it for a different use case lol

#

how does "Custom Vehicle Start" sound?

frank lintel
#

like one that doesnt take the key out when you just turn it off?

glass basalt
#

nah, I mean starting the game with a vehicle with you

#

There is already a mod or two like that but they don't let you choose the vehicle :^)

frank lintel
#

oh my cheat mod if I use it lets me pick anything and fix it to 100 lol

#

get key etc etc

glass basalt
#

we call it "balans" lmao

frank lintel
#

I mean honestly I never had issues with getting a car, gas was always the thing

glass basalt
#

im getting it for flavor. tired of spawning in the middle of nowhere and walking god knows how long

drifting ore
#

as a roleplayer myself i can appreciate something like this 😄

frank lintel
#

if anything mod that actually makes cars realistic and not like zero reason 50% health while in a parking lot

glass basalt
#

haha like a globally-vehicle-repairing mod lol

#

the sandbox options already determine vehicle condition though

frank lintel
#

more like just fix them how they actually spawn not so damaged unless its like in the accident scene stuff

#

didnt think there was... have to look again then

wheat kraken
#

@bronze yoke or someone knows how to reload lua script server side? using dedicated server?

glass basalt
#

theres a command for it, idr what it is

frank lintel
#

and nope it dont

bronze yoke
#

reloadlua "file" iirc

#

not sure if you need to include .lua

glass basalt
frank lintel
#

yeah but it effects everything even stuff that should be trashed

glass basalt
#

ahhh

frank lintel
#

atleast thats how it seems to me

glass basalt
#

I keep it at normal and shrug when I see a junker. Someone didn't give their car TLC.

#

also gives a reason to level Mechanics and use the Vehicle Repair Overhaul mods n such

frank lintel
#

well at a wreck scene I can totally get why... makes sense there an accident

#

maybe just mod the wreck generator stuff to add more dmg to just them... hmmm

glass basalt
#

it'd be a good server-side mod for more finely controlling vehicle condition, outside of the sandbox options

#

and maybe other vehicle parameters, while we're at it

ancient grail
frank lintel
#

I love it when a car says 'oh you need a key to take this (x) off this'

ancient grail
#

Thats connected

bronze yoke
#

nothing

ancient grail
#

Exactly

#

@wheat kraken ☝️

bronze yoke
#

it's still useful

ancient grail
#

Yep depends on the scenario iguess

#

What if you intall community api or aud

bronze yoke
#

you obviously need to reload files on the server if you want them to be reloaded on the server 😅

ancient grail
#

So that client has the ability to reload lua too

#

That might work

#

Theoretically it should but i doubt it wont cause problems. Its better to just restart

frank lintel
#

no global event in like shared that lets you reload a mod?

glass basalt
#

I only know of an event that triggers on the reloading of lua

wheat kraken
#

dude, im falling in love with the great feedbacks on fire trail mod comments, such a great communityspiffo

frank lintel
#

oh the fire trail I can believe it

glass basalt
#

tbh I REALLY want to disable it when I change my modlist. it's so annoying that it freezes my whole game

bronze yoke
#

it's better to reconnect for clients because it's fast

#

for server i would recommend reloading files because server takes ages to start up

#

but that depends if your code is safe to run twice

frank lintel
#

^

wheat kraken
#

and i never see this grow rate in my mods xD
the community are beating records over here

bronze yoke
#

personally i would test as much as i can in singleplayer since it's so much faster, and then just make sure everything behaves the same in multiplayer

#

though that's not really an option for newer modders since they don't tend to know how to write for multiplayer in the first place, and obviously you can't test that specific stuff in singleplayer

glass basalt
calm depot
#

what mod is it?

frank lintel
#

that just works in the movies... as you reviewing a fiction. drunk

plucky dirge
calm depot
#

neat, but what's going on with the framerate in the demo video

drifting ore
#

hahaha

glass basalt
wheat kraken
#

my pc is shit

drifting ore
#

i totally said the same

#

the fact that you made this still amazes me haha kudos

wheat kraken
#

please remake a good one and send me the youtube link

#

and fix this

glass basalt
drifting ore
#

nothing really helps the whole no video card thing lol

wheat kraken
#

i think many people thinks that, but in reality the fps are amaziling optimized in code, (edited, an i5 cpu 👇)

drifting ore
#

even with no videwo card they have 8gb ram and what kinda cpu?

#

i know vid card isnt big for pz

#

i love that you tackled this mod with that computer

#

it's something poetic about it lol

glass basalt
frank lintel
#

I just started updating OBS :P

wheat kraken
#

i think i will use the tiktok one that i did

#

the edits mask it i think

frank lintel
#

I'll go live on twitch maybe

wheat kraken
glass basalt
#

oho the editing's not bad

wheat kraken
#

tell me if got better masked the shit fps, until panopticon dont send me a new one, i can use this new one

glass basalt
#

ok 👌

#

I think I will try making a story out of it (player walks out of a house, pouring gasoline like in GTA V)

frank lintel
#

oh If i can get my stream decent this will be in some nice surround sound and ultrawide

#

heh lets see...

#

ofc murphys law had to make it rain when I decided to try this

wheat kraken
#

xD its adds more dramatic aesthetics

frank lintel
#

yeah didnt even lag with rain and all the crap I got open atm including obs etc

ancient grail
wheat kraken
#

im telling you, the fps optimization on this, are in masterpiece state, i use some of arsenal knowledge of data structures, process schedule and stuff, that i got/learn from in my Computer science uni, i got luck that where i live the federal uni are reference in the country in tech, on #10 at least, i really enjoy there, but is hard, and im near to finish it (in my country, the public universities are better than private ones, but we need to pass the admitional exams)

frank lintel
#

well they just happened to need a vid maybe so just did it

#

thats 3440x1440 ultrawide btw

#

just gotta downscale vid cuz twitch upload bandwidth cap

#

tbh prob shoulda just not talked...

glass basalt
#

Reifel, are you able to attach Twitch videos to mod pages? i haven't looked

frank lintel
#

take me like 5min to have it on yt just gotta export

glass basalt
#

ah gotcha gotcha

frank lintel
wheat kraken
#

and im looking for some people stress this

#

to i find bottle necks

#

and to check if the 30 fps protection that i did are working

glass basalt
#

the bottleneck will come from PZ itself, not the mod

wheat kraken
#

xDDD

frank lintel
#

its 3am now so I need to crash or I would turn on infinite source and lay out a massive trail

glass basalt
#

because lots of fire is FPS heavy

wheat kraken
#

i did a way that when the user have less then 30fps, it dont process hard stuff, like chain reaction that he not did (limit to process only their own trail, that cost nothing)

#

i want to check if it is really working

frank lintel
#

if ya around in 6..7 hrs and see me bring it up could try before work or later tomorrow night

wheat kraken
#

ok! i will pm you to I remember

#

while pouring: you can confirm once and release, and doesnt need to aiming specific tiles, the walking controls defines where it will pours

frank lintel
#

that was literally my first try doing it Im just glad it worked right and I didnt burn lol

wheat kraken
#

thaanks btw

#

it was amazing

#

xDDD

frank lintel
#

np and okay bed I got work laterz all

wheat kraken
#

"I didnt burn lol" me too

#

the safety that im using is char last square

#

and is to get a chance to get burn if something or someone ignites it while you are pouring, but i this its is a minimal chance, or none, i dont know dont test it deeply, and dont have many code about it

or at least the emotional state that accidents can happens while doing xD the tension and suspence

frank lintel
#

my computer just exploded from that cuz I didnt close obs and scared the F outta me

wheat kraken
#

lmao

#

the streamoverlay

#

follow alert?

frank lintel
#

yep

wheat kraken
#

HAHAHAHA

#

a strange thing happend

#

it loads the server, but didnt load the client firetrail
client/firetrail.lua
when im admin, on mp, i only load the server? not the client?

bronze yoke
#

clients load the server folder unless you have code to stop it

wheat kraken
#

but i have a file missing in the image

#

the client/firetrail.lua that is core, it doesnt appears, not loaded

#

nvm

#

it was my mistake

#

and im blaming my unknown knowledge about mp

glass basalt
#

usually both client and server need the mod

wheat kraken
#

ops my bad

wheat kraken
#

im getting progress, the error changes, its not The StartFire function was called on Client."

now are about square update

tawny elk
#

Hello, is it possible for me to code a mod which allows players to take items out of container bags in vehicles, without having to equip them first?

wheat kraken
#

i thinks its is ["squareServer"] this notation missing

fast galleon
wheat kraken
fast galleon
#

for fire? I did make something before.

wheat kraken
#

im solving my first bug mp related, its is about spawn fire on map

#

im using this
IsoFireManager.StartFire(square:getCell(), square, true, 100, randDurationFireEnergy[ZombRand(3)+1]);

#

to spawn just needing a square

#

but the problem is, when mp, the server needs to do it

#

so my mp compatibility looks like this:
client

fast galleon
#

you should start the fires on server if you're not done in 12h I could maybe take a look at the code

wheat kraken
#

server

fast galleon
#

you're on the right track, send coordinates in x,y,z

tawny elk
wheat kraken
#

get cell didnt works right

#

thanks! for the feedback

fast galleon
wheat kraken
#

oooh i found this interesting

local x = args.x
local y = args.y
local z = args.z

local square = getCell():getGridSquare(x, y, z)
#

there is a reason to square:getCell() dont works? (error for getCell of non table)

fast galleon
#

probably the square was nil

wheat kraken
fast galleon
wheat kraken
#

can you refer a link to your fire mp mod? if you allow me learn from it, and if i want to use something asking to you?

#

im getting some experience with fire with mp now, starting from 0

fast galleon
#

I think it doesn't have anything you didn't already make.

wheat kraken
#

{["squareServer"]= square, ["square_x"]= square:getX(),["square_y"]= square:getY(),["square_z"]= square:getZ(),["square_cell"]= square:getCell()})

#

can i just use square_cell instead using coords?

#

and if i use IsoFireManager.StartFire(x,y,z, square, true, 100, randDurationFireEnergy[ZombRand(3)+1]);
works?

fast galleon
#

you can't send objects, it should be primary types

wheat kraken
#

ooooh

#

that enlight many things

#

i can use x y z primary variables, instead use cell?

tawny elk
#

What s the difference Is it specific to

glass basalt
sly wedge
#

Hello, I finished creating my texture PNG, but I'm not sure how to use the txt/xml settings for it. What need I do before turning my texture PNG into a PACK file?

fast galleon
#

@wheat kraken if your command only starts fire on a square there's a vanilla command you can use, Commands.object.addFireOnSquare

wheat kraken
#

it only needs a square to do it

#

what a handy! thanks

fast galleon
#

not a square, args.x,...

wheat kraken
#

yeah! appreciate too much for sharing it

#

these things gotta out of my radar, where can i find them easily

i use this, and a search on lua files in game, and decompiled java too
https://projectzomboid.com/modding/index.html

if i just search fire, i got 283 results

and 2 of it have the command that you mention xD

0.71% chance to find it by myself haha @fast galleon

on only game files, 123 results, so 1.63% chance of find it, with my currently setup

odd notch
wheat kraken
#

amazing

odd notch
late hound
wheat kraken
#

it reminds me papers please game, very nice effects typing words

odd notch
#

they were definitely not stolen from undertale :)

wheat kraken
#

hahahhahaa, its was a compliment because papers please is a masterpiece that can, will, and must influence and inspire many as huge as possible it can be, as equal from all masterpiece outhere

i will love to see that with a universe expanded along multiple games, the papers please multiverse

--
the undertale soundtrack it is all over tiktok and youtube, i hear that almost all day xD
and just follow the own tiktok theme suggestion, that they give me lol

drifting ore
cerulean rover
#

I wanted to know if it is possible to create a user control panel (UCP) that can link certain characteristics of the characters of a project zomboid server directly with the ucp to be able to modify their attributes, abilities, etc., without having to be inside of the game. I am aware that it can be done from the admin tools but I also plan to give the UCP another type of use, but the most important thing would be this.

odd notch
cunning kestrel
drifting ore
#

Btw, do we know when the next build will be released ? I wanted to redo my mod when it's released but I was not expecting to be that long

finite sonnet
fast galleon
drifting ore
#

Yeah that's him, would like to talk to him

drifting ore
#

I need a mod that will remove ALL the traits from the game completely, can anyone help me with that? 👉 👈

zinc pilot
drifting ore
zinc pilot
#

I sent you a DM

drifting ore
#

Too many notification on stream 😅

zinc pilot
#

on discord and on steam

zinc pilot
drifting ore
zinc pilot
drifting ore
#

Does anybody know how I could update a SSR Quest pack to the knew one?

wheat kraken
#

@bronze yoke now i got no errors, client side and server side, but clients didnt see the fire created

i need to send back something? from server to clients, any world update... or so

#

if some one with mp experience can help me, im solving my first mp mod bug/issue, i have 0 experience in mp mods,

so if you got any it can be really userful

#

im going against a issue, in mp, on fire trials, that fires needs to be placed by server side

#

i manage to do that, but now it didnt givers errors and we didnt get fires :(

#

Anything in the world (tiles, cells) must be server
Anything player (inventory, timed actions) must be client

#

should i must send a message back from server to client, about world changes? related to fire

wheat kraken
#

@willow estuary can you help me with mp knowledge, im trying it with 0 experience

#1 got The StartFire function was called on Client, solved, created the server folder, to get sendclientcommands

#2 server needs to triggers fire on squares, done

#

that is the problem @zinc pilot , there is no more errors, but the fires didnt appears

#

here

zinc pilot
#

oh I misread, sorry

wheat kraken
#

the code are in this state

#

there is a possibility to debug with breakpoints server side?

zinc pilot
#

you're using sendClientCommand to let the server start the fire

#

right?

zinc pilot
#

you should check if your commands are getting to the server adding some prints inside the command

#

before doing anything else imo

wheat kraken
#

oooh

#

oopsie, my mistake

zinc pilot
#

be sure that the module name is correct

#

mh?

wheat kraken
#

im tired

#

insomnia and need to rest

#

1 sec, i forgot to triggers inside if module scope

zinc pilot
#

lel

#

it happens

wheat kraken
#

there is no waaay

#

i cant believe it

#

i just put fallen down from undertail, to play in loop, to not fall sleep

#

and when server and clients resets, with the module scope easy fix

#

puf

#

now fire a trail of fuel is working on mp

#

discord ground me, for a long thankfull message, mentioning all amazing guys that show up while i was progressing on this level up skill of mp mods experience

sadly, you will not be able to read the previously, but now have this one:

at the end I remember that i tell you guys that im immensely grateful, and this support and collaboration generates a very good development place,
now without mentioning, just citing,
albion, pao for showing up too, poltergeist panopticon sycholic glytch3r, help me alot to go from 0 experience to be able to solve and make my first mp mod compatibility, now i really got something, is not on 0 anymore, and zomboid community now can desfruit as many mp games they want with this new mechanic, and for sure you guys are part of it, to make it possible on mp

i will post the update with the mp fix on the workshop, last final test, and go to sleep

ancient grail
#

It looks like your mod is useful for boss battle

wheat kraken
#

these are the bare minimum to have an mp integration and compatibility, snippet example
tags to be able to find by texts
isClient getWorld():getGameMode() == "Multiplayer" sendClientCommand onClientCommand module

server/firetrail_mp.lua
client/firetrail.lua
https://theindiestone.com/forums/index.php?/topic/15256-multiplayer-coding-questions/

ancient grail
#

And pvp maybe

#

Imagine an event that as soon as the players enters the fire around the arena lits up

sour island
# wheat kraken these are the bare minimum to have an mp integration and compatibility, snippet ...

Idk if this will clear things up or make it worse but... there are multiple "entities" when a game runs - dependent on the situation.

  • To help explain I'll be referring to the session hosting as host (rather than server) and the connecting people as connections (instead of players/clients).
  • Client or Server code run independently (shared is the bridging between) but basically hosts only run server code (and shared).
  • Connections run both server and client code.
  • Sending commands is communicating between connections and hosts -- but also on their respective codes.
  • IsClient and IsServer only return true in MP.

I hope I got all that right

#explainclientvsserver

hollow lodge
#

Good morning PZ community.

I'm currently working on a Gloves expansion, similar to Boots expanded by Mark IV. And to fulfill that project, I'm in need of a 3D modeler to make 1 or 2 functioning models for the male and female bodies. So far I can only work with textures and manage to make short and simple gloves, but my goal is to make a full set of gloves for each starting occupation, bringing more realism and customization to the game.

DM if you're interested.

chrome egret
chrome egret
cunning kestrel
#

looks useful for those big / unorganized bases. good job

red tiger
#

Good morning.

wheat kraken
# chrome egret Item Searcher (https://steamcommunity.com/sharedfiles/filedetails/?id=2789003239...

when i test it,a long time ago, because i was looking for similar idea that you had, and i found a glitch that makes my screen blicking black (i think it is because a mismatch with game fps and ui fps, or something like that) when i open the window, i found out that was the render method on

on ItemSearchPanel.lua file

to fix it you need to use these
function ItemSearchPanel:render()
ISCollapsableWindow.render(self)
end
and transfer the code scope to ItemSearchPanel:setSearchTarget

and adds new self.searchForLabel = ISLabel:new on ItemSearchPanel:createChildren()

and never self:drawText on it, because there is a in game vanilla optimization options on menu, about ui fps, that conflicts with this and cause the issue that i was getting

another improvement that i did, was persistent data content on the window, by have an single instance of it, and reusing it,

you did an amazing code with all the items persistent data, and be acessible by display name, and by using Set data structure to do a really great optimization, im near to graduate in my Computer Science mayor, i really enjoy the way you deal with a ton of data, with an optimized approach, it was beatiful and poetic to me read it

i started modding zomboid by fixing these visuals glitches and adding the behaviors that i was looking for

your mod was my first learning mod, my starter point, i made some improvements on it, and extends it with functions i was looking after (search area and search building)

it was my first mod search on workshop, because when i began i didnt know where to find the items that i was wanting

you can check all thoses improvements to incorporate more easily here
https://steamcommunity.com/sharedfiles/filedetails/?id=2927002767

chrome egret
wheat kraken
chrome egret
#

Ah nah, I think I jumped the gun and assumed you were someone else:

wheat kraken
#

yeah!

chrome egret
#

but they at least had the same problem, I never heard back from them so didn't know much about it

wheat kraken
#

it was amazing when i got it right, and stops flickering/blinking

chrome egret
#

I think I implemented some or all of your recommendations in the UI overhaul

wheat kraken
#

the render function is a very sensitive spot

chrome egret
#

but I'll have to take a look at yours to confirm

#

In any case, I'm grateful for your feedback, flattered and humbled to see you used it as a basis for getting into modding yourself, and glad it was helpful!

wheat kraken
chrome egret
#

Getting closer 🙂

wheat kraken
#

i like to leave "random" comments in my codes xD and leave it there forever

#

analysis ones, learning processes, researching, debugging... to i remember later and save my finals conclusions

#

and hints, or flags on costly parts

#

the programmers notes

wheat kraken
#

its a way to get a better overall performance, to reduce visual processing on ui

chrome egret
#

Would it be possible for you to replicate the glitch and send the replication to me somehow? I'd like to know what others are dealing with so I can ensure I fix it properly.

wheat kraken
#

it was terrifying, and really annoying to keep that open,

it was a more intense example, from a episode from stranger things that keeps lights blinking all the time,

i will try to reproduce and send you the video

#

did you know about this episode that i mentioned?

chrome egret
#

Oh I remember that

frank lintel
#

Reifel, gonna have to raincheck till later tonight to do anything woke up late and still trying to wake up.

sly wedge
#

I finished creating my texture PNG, but I'm not sure how to use the txt/xml settings for it. What need I do before turning my texture PNG into a PACK file?

jaunty marten
# sly wedge I finished creating my texture PNG, but I'm not sure how to use the txt/xml sett...
wheat kraken
sly wedge
jaunty marten
sly wedge
jaunty marten
sly wedge
#

is it in steam workshop? can i have the name

modern hamlet
#

Can someone show me where is the PillsBetablocker or other pill functions are stored?

jaunty marten
tame mulch
sly wedge
#

just png

tame mulch
#

@jaunty marten Want to talk about modding in voice chat?

jaunty marten
jaunty marten
#

there's just pngs

#

what do u want but just pngs?

jaunty marten
sly wedge
#

i already have my own png but the settings i mean like the growth order

jaunty marten
tame mulch
jaunty marten
#

never work with farm things

#

so can't say

jaunty marten
tame mulch
sly wedge
#

okay thank you i will try again later

willow estuary
#

Also be forewarned that build 41 farming/farming mods will not be compatible with b42 farming.

sly wedge
jaunty marten
red tiger
#

With how huge b42 is, breaking all mods wouldn't be the worst thing and probably be good for a healthy modding API.

#

(Runs away to survive the mob coming after me for suggesting this)

frank lintel
#

wont hear that from me I experienced this already helping dev a 3rd party server for MC with an API, honestly if one is promoting modding then a api is kinda a must..

fast galleon
#

the fact they use seasons instead of climate in blogs always makes me sceptical

tame mulch
frank lintel
#

two thumbs up to that

frank lintel
#

dont matter long as you dont depreciate

red tiger
frank lintel
#

and tell everyone ahead of time yeah but only if its like absolutely needed for a reason to do so. dont be like adobe... :P and time for me to jump up from the rig and get ready/going to work.

red tiger
#

=)

frank lintel
#

true okay l8ts

red tiger
frank lintel
#

ya got few to relax before walking, Jab were you on last night?

red tiger
#

I went dark due to a dead battery after going through the storms in my area.

frank lintel
#

it can wait gotta get step'n off to work.

#

just found out looks like rain too meh.

red tiger
#

Oh yeah. Those same storms are now affecting people East of me.

frank lintel
#

Im in the poconos so we about to get slapped ^_^

red tiger
#

Yup.

#

We had 80 mph wind gusts.

frank lintel
#

yeah it gets worse with mtn compression and with that not risking either my rig shutting down laters

red tiger
#

@jaunty marten Ping me too when you start.

#

=)

fast galleon
#

пинг

jaunty marten
#

@tame mulch a few minutes to take a tea and here we go

tame mulch
red tiger
#

At work so cannot talk for the moment.

tame mulch
red tiger
#

So I can talk in 30 minutes.

fast galleon
#

I'm gonna listen in, put you in the background.

jaunty marten
tame mulch
jaunty marten
#

kk, I'm almost end

red tiger
#

What is the purpose of this discussion btw?

#

@drifting ore You have a broadcasting voice.

drifting ore
#

haha ty

modern hamlet
#

I added a custom context menu to a custom item to use it but couldn't delete the item after using it. What is the right way to do it? Is there a simple delete/destroy function?

red tiger
#

My concern lies with API, ease of use, Quality-of-Life, possible third-party documentation support.

#

I have an item on my backlog to improve the blender IO for .X files.

#

(Animations)

faint jewel
#

MAH MEEENYAH!

modern hamlet
ancient grail
#

oops

#

aiterons asking for suggestion in vc

wheat kraken
#

i follow a zomboid players suggestion on comments to place showcase clips in gif format on steam page, GOD this bring that to up another tier, thanks @frank lintel for the high res video and better fps

frank lintel
#

At work ATM but free to link and use the yt one as ya wish I don't monetize anything

wheat kraken
#

more glamorous than global top model on the fashion week

jaunty marten
#

@tame mulch thank u, was interesting moon_kittylove

wheat kraken
# tame mulch Ok. I am in voice channel. <@183299843240886272> If someone want to talk about ...

it will be nice to have sessions scheduled for that, like 2 differents days (sunday and a random non weekends day) per month

and optimize that frenquency evaluating presency and the quality result from session,
and to be able more people get prepared for a specific day that he can participate

like use reaction post to see how many people will be able to participate

scheduled brainstorm sessions planned on community sounds goods

and i know a discord bot that can be pretty handy, meet @inland verge

example
/poll "poll explanation text" "option 1" "option2" "and so on"

fast galleon
#

we need a bird watching mod

humble oriole
#

Couldn't make the meeting, I was at the dentist haha

sour island
#

That'd be an overhaul

#

The current system wouldn't really expand neatly - but yeah that'd be awesome

bronze yoke
#

the current medical system is basically the beginnings of a medical system

#

i'm hoping b42 will see an overhaul anyway, since i don't see how a skills rework is going to pan out if they don't make first aid worthwhile at all, but i don't think anything has ever been mentioned about it specifically

wheat kraken
# tame mulch I want to work on expand API for modding in 42 after I done with my current task...

@tame mulch about it, i read one day that @heady crystal are looking for that better mod api support, specially on vehicles, i think it is an oportunity to bring the sparkles of joy ✨ about it back

and feel better with a great rework, expanded api, and enhancement

and think it can generate a constructive output

sometimes i got a bit sad, about some great devs mods with some kind desmotivation with the current mod supports limitations that can even have the possibility to bring him down about it

i really admire the bravens masterpieces, i got worry about him, to brings back enjoyment about mods on him

drifting stump
#

rip was at work then vet

spring zephyr
silent sapphire
#

been googling this for a bit but there is a mod that has a item which doesn't have the option to place it down, how can I make a placeable Item?

drifting stump
#

how am i supposed to yet again ask for the damn OnSandboxOptionsUpdate

drifting stump
spring zephyr
fast galleon
drifting stump
#

Theres a better way of implementing it

ancient grail
#

spineless trait

spring zephyr
#

really i cant find anyoption to add sound while using crafting menu and do recipe.

#

i beg for help

modern hamlet
#

I know very little but adding this "Sound:PutItemInBag," to recipe helps me

spring zephyr
modern hamlet
digital moon
#

@fast galleon and @ancient grail - I just want to say thank you so much for all the patience and help you've been giving me. I've gotten the custom container working in the game and placing properly with a proper name.

Only thing I have left to do is wrap my head around the script to make sure it only accepts specific items. But thank you so much

silent sapphire
#

Is it possible to change the crafting time you need for a recipe depending on proffesion?

iron talon
#

not sure where to post this but lacking the time to make advanced mods, willing to pay ($100+) someone to do a few things, hmu if interested c: <33

sour island
#

I'd really prefer not to have to use a context menu - and I'd like 'move to xyz to tp to another xyz'

#

got it working sort of

#

seems to be an issue with moving afterall

#

took out the timed action

#

moved the teleporting to mousedown

mystic vessel
#

Goodnight
Is there a place that has a list of all the body locations the clothes can cover?

Example:
I want my t-shirt to only cover the top of my arms and hands. How do I do it?

fast galleon
#

you can check vanilla file clothing_shirts.txt to see what they use

sour island
#

Had to add to a list in playermove and have a function in ontick parse through the list

frank lintel
#

chuck you using fastteleportmove?

#

re: or something like.. media/client/DebugUIs/ISFastTeleportMove.lua