









e466ef5 Version 18.0 - def-
d093c31 Update translations for upcoming DDNet 18.0 - def-
55e82e2 Update German translations - def-
8a5d164 Fix multiple editor undo/redo issues - archimede67
ed7b013 Update Swedish translations for 18.0 - furo321
f612688 Update russian.txt - gerdoe-jr
49ffdfe Update brazilian_portuguese.txt - rffontenelle
e633bdb Update traditional_chinese.txt - By622
68a1bbb Update simplified_chinese.txt - By622
bda0855 Fix warning title being uninitialized in some cases - Robyt3
c3835dc Divide /tp into /tpxy and /tpto - gerdoe-jr
c6537e7 /tpto -> /tp and /teleport - gerdoe-jr
ce7060e Fix style - def-
6888f75 Update config_variables.h - k-i-o
















(((!(tw7.msg == "sys.input")) && !(tw7.msg == "sys.snap_single")) && !(tw7.msg == "sys.input_timing")) && !(tw7.msg == "sys.snap_empty") 








Hacker News • 2024-01-21 19:16:54Z 



























































`https://yes.no`















































void CCharacter::ExplodingProcess()
{
if(m_ExplodingProcessStartTick == -1)
{
m_ExplodingProcessStartTick = Server()->Tick();
for(int i; (i <= 16) && m_ExplodingProcessStartTick*(16*10) >= Server()->Tick();)
{
if((i*10)+m_ExplodingProcessStartTick == Server()->Tick())
{
GameServer()->SendEmoticon(m_pPlayer->GetCID(), i, -1);
i++;
}
}
}
return;
}









i under a certain condition












i is not set to any number, causing undefined behavior

CCharacter::ExplodingProcess is called every tick, and m_ExplodingProcessStartTick is set externally to the tick when the tee explodes, you could simply do:
1. calculate tick_duration = server_tick - current_tick, that is the tick duration since the exploding started
2. do a if tick_duration < 150 { return; } to make the animation last only 3 seconds
3. emoji = tick_duration % 16
4. send that emoji
I don't think you need a for loop for this



CCharacter::ExplodingProcess is called every tick, and m_ExplodingProcessStartTick is set externally to the tick when the tee explodes, you could simply do:
1. calculate tick_duration = server_tick - current_tick, that is the tick duration since the exploding started
2. do a if tick_duration < 150 { return; } to make the animation last only 3 seconds
3. emoji = tick_duration % 16
4. send that emoji
I don't think you need a for loop for this
1


NUM_EMOTICONS, which is 15.
1


None => then you can't select countries anymore, but the countries you selected previously are still part of the filter process.
That easily leads to 0 servers, without intuitively understanding why it happens























SELECT
name,
total_points,
t
FROM
(
SELECT
r.name,
MIN(r.timestamp) AS t,
SUM(m.points) as total_points
FROM
race AS r
JOIN maps AS m ON r.map = m.map
GROUP BY
name
) AS subquery
WHERE
t BETWEEN '2023-01-01'
AND '2023-12-31'
AND total_points > 50;
Use it here: https://db.ddstats.org/
It assumes that someone is only a new player if their first finish was in 2023 and they have collected more than 50 points in total
Unless there is an error in this query, this results in 24273 new players. Obviously this excludes people who started playing on existing account names and it definitely includes alt names (edited)



SELECT
name,
total_points,
t
FROM
(
SELECT
r.name,
MIN(r.timestamp) AS t,
SUM(m.points) as total_points
FROM
race AS r
JOIN maps AS m ON r.map = m.map
GROUP BY
name
) AS subquery
WHERE
t BETWEEN '2023-01-01'
AND '2023-12-31'
AND total_points > 50;
Use it here: https://db.ddstats.org/
It assumes that someone is only a new player if their first finish was in 2023 and they have collected more than 50 points in total
Unless there is an error in this query, this results in 24273 new players. Obviously this excludes people who started playing on existing account names and it definitely includes alt names (edited)





WHERE name



select
count(distinct Name)
from
race (edited)


select
count(distinct Name)
from
race (edited)








1153219


















































cl_chat_reset 0?


cl_chat_reset 0? 


shell_register_application: Error opening registry key: The system cannot find the specified file.
client: Failed to register application


e466ef5 Version 18.0 - def-
d093c31 Update translations for upcoming DDNet 18.0 - def-
55e82e2 Update German translations - def-
8a5d164 Fix multiple editor undo/redo issues - archimede67
ed7b013 Update Swedish translations for 18.0 - furo321
f612688 Update russian.txt - gerdoe-jr
49ffdfe Update brazilian_portuguese.txt - rffontenelle
e633bdb Update traditional_chinese.txt - By622
68a1bbb Update simplified_chinese.txt - By622
bda0855 Fix warning title being uninitialized in some cases - Robyt3
c3835dc Divide /tp into /tpxy and /tpto - gerdoe-jr
c6537e7 /tpto -> /tp and /teleport - gerdoe-jr
ce7060e Fix style - def-
6888f75 Update config_variables.h - k-i-o
0aa2e9f Update spanish.txt - n0Ketchp
0cba5c5 Fix countries/types filters excluding all servers - Robyt3
a5c8941 Version 18.0.1 - def-


