Just guessing:
Reanimation is handled by the server in MP, but you're doing things on the client. The server doesn't know about it.
Picking up & dropping the corpse syncs something with the server, so now it knows what to do.
So you need to figure out how to make sure that things run on the server at the right time. Easier said than done.
Decompiling the java source code always helps with figuring out why something doesn't work.
Looks like my GlobalModData isn't saved on the server, it's gone as soon as I host the game again using the "Host" button.
Is it supposed to work this way?
Using ModData.transmit() to communicate with the server works, but the lua table doesn't contain my data... It's always empty.
Is there something similar to Events.OnReceiveGlobalModData when using the oldschool transmitModData()?
btw: Please polish the MP game design a bit as well!
For example, we still don't have a sanity/reputation system to combat griefing & KoS. PvP is either unlimited or disabled. The only alternative is admins constantly monitoring the server and banning players who break the rules. And then there are issues like clunky server resets, floating bases, or the lack of a working sleeping system...
This looks similar to a problem I've had when trying to mod animations:
Whenever I assigned a new hit animation while another hit animation was already playing, the new one would get queued instead of playing immediately - so zombies got stuck in a series of hit animations.
So what might be happening here:
1) "knockdown" anim is playing
2) zombie gets hit while "knockdown" is still playing
3) game thinks that the player hit the zombie from BEHIND because the zombie's center position is at its feet - so it queues a new "hit from behind" anim
4) After "knockdown" anim has finished, the game is now playing the "hit from behind" anim from the queue
In this image, the scratches look as expected, the dents are brown instead of grey, and the rust is... on fire? It even glows in the dark 😮
edit: ok, the rust glitch was because I set rust to "100" instead of "1"
My shell damage overlay has the wrong colors ingame.
For example: if I make it greyscale, it appears brown ingame.
Any idea how I can fix this? I'm using the newest B41.
Got a filled torch & welding mask, but there's no metal working option in the right-click menu anymore.
Or am i just dumb & doing something wrong right now?
Compare this to the old preview video, where turn speed was much better:
0:42 fast turn & hit
0:46 fast turn & hit, visually a bit off
1:27 niiice
All of these would have resulted in death with the current build.
btw NOBODY CARES about feet sliding a little.
I'd simply do this:
- take the area's coordinates from blindcoder's map
- check if the player's position is in that area when he spawns
- then use modData to check if he's already received the items, kinda like this:
if not player:getModData().startingItems then
player:getInventory():AddItem("Base.itemnamehere")
player:getModData().startingItems = true
end
Maybe there's a smarter way, but this should do the trick.