Time Nick Message 00:34 exoticalexo Could someone tell me how I would use set_nametag_attributes in https://api.luanti.org/class-reference/#methods_8 with more details? I wan’t to know which player to set the attributes to. 00:36 exoticalexo *how it know which player to set the attributes to 00:37 MTDiscord it sets the attributes for whichever player you call it against 00:38 MTDiscord so like if you're doing it on joinplayer, it'll be for whichever player is joining 00:39 exoticalexo Bruh, Luanti says that minetest.get_nametag_attributes is an invalid field… 00:40 MTDiscord skill issue 00:40 exoticalexo How… 00:41 MTDiscord its a method of an object ref 00:41 MTDiscord minetest doesn't have a nametag, players do 00:42 MTDiscord core.get_player_by_name("skillissue_exoticalexo"):get_nametag_attributes() 00:42 exoticalexo Oh, so I have to use player:set_player_attributes()? 00:42 MTDiscord or loop over get_connected_players, or use a player you get from a callback 00:43 MTDiscord most of the tim eI see people mess with nametags, it's on joinplayer 00:46 exoticalexo Ok, 00:52 exoticalexo Is core.parse_json() able to retrieve a lua list that has the parsed into json? 00:52 exoticalexo *been 01:14 exoticalexo How do I convert userdata to a player name? I’ve tried to used player:get_player_name(), but that resulted in a nil value? 01:15 MTDiscord it works if player is actually a player 01:18 exoticalexo It’s in register_on_joinplayer(), so I’m pretty sure the player is real 01:19 MTDiscord something is wrong, since it should return "" if not a player, not nil 01:19 cheapie Random architecture experimentation with (IMO) mixed results: https://cheapiesystems.com/media/images/screenshot_20250402_201350.png https://cheapiesystems.com/media/images/screenshot_20250402_201354.png 01:19 MTDiscord post your code in a pastebin service/gist/etc? 01:19 cheapie Interior is mostly empty except for https://cheapiesystems.com/media/images/screenshot_20250402_201358.png of course 01:20 cheapie exoticalexo: Did the player quit before the first globalstep? It seems to do that sometimes if that happens 01:21 cheapie Mods *hate* it when that happens, last time I saw something similar happen on VE-C one mod gave a somewhat ominous warning, then another one crashed, then a third one crashed during the resulting shutdown 01:22 exoticalexo No 01:23 exoticalexo But now it says “attempt to index local ‘player’ (a nil value)” 01:24 MTDiscord paste your code? 01:24 MTDiscord i assume you passed in player as something else, and are referencing a var that doesnt exist 01:24 exoticalexo It’s 3 files 01:25 exoticalexo No, I passed player:get_player_name() form core.register_on_joinplayer(player) 01:25 exoticalexo *from 01:26 MTDiscord should look something like https://pastebin.com/1J4p7e0D 01:27 MTDiscord well, your not passing it properly or something, because when your calling that method, your calling it on nothing 01:27 exoticalexo I did after it passed through core.after(1, fucntion(player)) 01:27 exoticalexo *function 01:28 MTDiscord ...thats not how that works 01:28 exoticalexo (Just in case stuff still needed to load) 01:28 exoticalexo Oh 01:29 MTDiscord you want something like core.after(1, function, player) 01:29 MTDiscord as the docs says > Optional: Variable number of arguments that are passed to func 01:29 exoticalexo Ok 01:30 MTDiscord im not sure why you think "Just in case stuff still needed to load", since unless your doing very certain things (which you havent eleborated on), probably not needed 01:32 exoticalexo What’ the difference? I thought you need to pass in variables in a function to use outside variables 01:33 MTDiscord sure, but the after code calls the function after time, it doesnt have anything to give to that function when it calls, unless you add them as args in the after call 01:34 MTDiscord https://pastebin.com/qCCmvuAX 01:36 exoticalexo So function(…) won’t get any of the params passed in? 01:37 MTDiscord in the context of core.after, no. unless you add them afterwords 01:37 exoticalexo Ok 01:39 exoticalexo Also is it absurd to use dkjson lin instead of minetest.serialize to store data? 01:39 exoticalexo *lib 01:39 MTDiscord i have no idea what dkjson is 01:40 exoticalexo https://github.com/LuaDist/dkjson 01:40 MTDiscord >archived 01:40 MTDiscord lol 01:40 MTDiscord 10 years old 01:41 MTDiscord core.parse_json/core.write_json just makes to much sense? 01:41 MTDiscord tldr: yes, very 01:41 exoticalexo Ok 02:24 exoticalexo 15What’s the difference betwwen .(de)serialize and write/parse_json for the core namespace?15 02:25 MTDiscord one is the data save as lua in a string, the other is json 02:27 exoticalexo 15Ok15 02:39 exoticalexo so, luanti still says that set_nametag_attribute() is nil some reason even after the player is a real player. 05:05 [MatrxMT] cheapie: amazing that you managed to make a building out of brie 05:06 [MatrxMT] Is core.deseralize unsafe? could one send while true do end and block the server? 05:07 [MatrxMT] IIRC yes 07:19 sfan5 the documentation tells you that you can't unserialize untrusted data 11:03 SliverFlowCipher !tell exoticalexo hi can you tell me something, please? 11:03 MinetestBot SliverFlowCipher: I'll pass that on when exoticalexo is around 15:37 ireallyhateirc I'm looking under the 5.12.0 milestone and there are SSCSMs there 15:37 ireallyhateirc is that real or did you forget to remove your 1st april joke? 15:38 ireallyhateirc I know we had extended april fools due to geopolitical reasons but let's get serious now :P 16:34 MTDiscord SSCSMs? on a milestone? 16:35 MTDiscord i don't think there'll be something in 5.12, but i am in the process of looking at Desour's PR 16:40 ireallyhateirc https://github.com/luanti-org/luanti/milestone/26 16:40 ireallyhateirc something seems buggy on my side 16:41 ireallyhateirc I see 15 open 20 closed, but when I click I get 1 open, 4 closed 16:41 ireallyhateirc and the only open is the SSCSM issue 16:41 MTDiscord yeah that ain't right, the 15 open 20 closed is what's right 16:42 ireallyhateirc https://litter.catbox.moe/dafuaj.png 16:42 ireallyhateirc I checked with another browser 16:43 MTDiscord lol what 16:45 ireallyhateirc the other milestone looks like this: https://litter.catbox.moe/tnearl.png 16:46 ireallyhateirc This is totally drunk, when I enter "Issues" and filter by the 5.12.0 milestone I don't get SSCSMs 16:48 ireallyhateirc https://litter.catbox.moe/26wjxb.png 17:30 ireallyhateirc I'll ignore it for now, maybe it's just a Github bug 17:47 MinetestBot 02[git] 04grorp -> 03luanti-org/luanti: lua_api.md: Mapblock-related and misc improvements (#15972) 1366dedf1 https://github.com/luanti-org/luanti/commit/66dedf1e216f203c2c6bb673b689a77051d15c71 (152025-04-03T17:46:06Z) 18:29 ireallyhateirc Partially unrelated but vaguely on topic: I'm working on a character with a hoodie for my luanti game and having a rigged hoodie appears to be almost impossible to implement. While on the hood needs to track the head bone but while off it needs to track the back. Pulling the hood down essentially means rotating it by 120 degrees and then the hood lacks weights for the back which makes it clip. 18:30 ireallyhateirc So the only solution I see is to have a hood-on variant with the hood off animation and a hood-off variant that would be static but would have correct weights for the back which would prevent clipping. 18:30 ireallyhateirc But my question is: is this feature creep? Are there any games that implement hood off animation? 22:15 jonadab Not sure about hood-on/hood-off specifically, but there are definitely games that have multiple versions of the same character, with separate animations for each. The most famous example is probably Super Mario Bros. 22:17 jonadab As for whether it's feature creep, I would ask a question in return: what does the hood (or the ability to doff it) add to the gameplay, and how does that make the game more fun? 22:18 jonadab Is it just "I thought of this feature so now I want to implement it", or did it come up because it would enable some useful or interesting capability? 22:18 jonadab Does the character *play* differently with the hood up vs down, or is it purely cosmetic? 22:21 jonadab For Mario, there's a trade-off between being big (and able to break blocks, and able to take a hit at the cost of no longer being big, and able to get the fire-flower upgrade), versus being able to fit into one-high spaces, which is strategically significant in some locations. 22:22 jonadab So in that case, the extra character appearance and animation(s) add something significant to the gameplay. 22:23 jonadab Can you make a similar case for your hood-up/hood-down? 22:23 [MatrxMT] https://github.com/luanti-org/luanti/blob/5.11.0/doc/lua_api.md?plain=1#L7498 22:23 [MatrxMT] IRC etiquette: Just ask the question 22:23 [MatrxMT] cant he jumphigher too? 22:24 jonadab Maybe? I am absolute pants at platformers due to my inconsistent reaction time, so I've never made it past the first level of that game. 22:25 jonadab I know that in later games in the same franchise, Luigi can jump higher than Mario. 22:26 jonadab But in the game I was talking about, Luigi is just a palette-swap of Mario for the second controller. 22:27 jonadab Not sure about big-vs-small Mario jump height being different. 23:26 ireallyhateirc jonadab, thanks for the reply, will read shortly 23:29 ireallyhateirc the hoodie is important because the character are simply speaking wiggas, but gameplay wise it's just for immersion and looking good 23:30 ireallyhateirc I could perhaps add some effect associated with wearing a hoodie but I did not plan that yet 23:56 jonadab Not sure why which language the characters speak has anything to do with attire. 23:57 jonadab But whatever.