## [2.5.0] - 2025-08-08
This commit is contained in:
parent
5c87a51fad
commit
680473cb0e
5 changed files with 27 additions and 4 deletions
|
|
@ -23,6 +23,9 @@ All notable changes to Peril Dice will be documented in this file.
|
||||||
- **Race Condition Resolution**: Eliminated duplicate player entries from rapid multiple touches
|
- **Race Condition Resolution**: Eliminated duplicate player entries from rapid multiple touches
|
||||||
- **Game Disruption Prevention**: Stopped unwanted joins during critical game startup phase
|
- **Game Disruption Prevention**: Stopped unwanted joins during critical game startup phase
|
||||||
- **Consistent Game State**: All registration paths now properly validate timing and prevent duplicates
|
- **Consistent Game State**: All registration paths now properly validate timing and prevent duplicates
|
||||||
|
- **Duplicate Pick Prevention**: Fixed `continueCurrentRound()` function to properly rebuild `globalPickedNumbers` with uniqueness checks
|
||||||
|
- **Data Corruption Fix**: Resolved issue where `globalPickedNumbers` could contain duplicates, causing inconsistent bot pick validation
|
||||||
|
- **Delimiter Handling**: Enhanced parsing to correctly handle both comma (human) and semicolon (bot) pick delimiters
|
||||||
|
|
||||||
## [2.4.0] - 2025-08-08
|
## [2.4.0] - 2025-08-08
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,9 @@ All notable changes to Peril Dice are documented in this file.
|
||||||
- Race Condition Resolution: Eliminated duplicate player entries from rapid multiple touches
|
- Race Condition Resolution: Eliminated duplicate player entries from rapid multiple touches
|
||||||
- Game Disruption Prevention: Stopped unwanted joins during critical game startup phase
|
- Game Disruption Prevention: Stopped unwanted joins during critical game startup phase
|
||||||
- Consistent Game State: All registration paths now properly validate timing and prevent duplicates
|
- Consistent Game State: All registration paths now properly validate timing and prevent duplicates
|
||||||
|
- Duplicate Pick Prevention: Fixed continueCurrentRound() function to properly rebuild globalPickedNumbers with uniqueness checks
|
||||||
|
- Data Corruption Fix: Resolved issue where globalPickedNumbers could contain duplicates, causing inconsistent bot pick validation
|
||||||
|
- Delimiter Handling: Enhanced parsing to correctly handle both comma (human) and semicolon (bot) pick delimiters
|
||||||
|
|
||||||
[2.4.0] - 2025-08-08
|
[2.4.0] - 2025-08-08
|
||||||
====================
|
====================
|
||||||
|
|
|
||||||
21
Main.lsl
21
Main.lsl
|
|
@ -259,10 +259,23 @@ continueCurrentRound() {
|
||||||
if (llGetListLength(parts) >= 2) {
|
if (llGetListLength(parts) >= 2) {
|
||||||
string picks = llList2String(parts, 1);
|
string picks = llList2String(parts, 1);
|
||||||
if (picks != "") {
|
if (picks != "") {
|
||||||
// Handle semicolon encoding for picks
|
// Handle both comma and semicolon delimiters
|
||||||
string decodedPicks = llDumpList2String(llParseString2List(picks, [";"], []), ",");
|
list playerPicks = [];
|
||||||
list playerPicks = llParseString2List(decodedPicks, [","], []);
|
if (llSubStringIndex(picks, ";") != -1) {
|
||||||
globalPickedNumbers += playerPicks;
|
// Bot picks use semicolons
|
||||||
|
playerPicks = llParseString2List(picks, [";"], []);
|
||||||
|
} else {
|
||||||
|
// Human picks use commas
|
||||||
|
playerPicks = llParseString2List(picks, [","], []);
|
||||||
|
}
|
||||||
|
// Add picks to global list, avoiding duplicates
|
||||||
|
integer j;
|
||||||
|
for (j = 0; j < llGetListLength(playerPicks); j++) {
|
||||||
|
string pick = llStringTrim(llList2String(playerPicks, j), STRING_TRIM);
|
||||||
|
if (pick != "" && llListFindList(globalPickedNumbers, [pick]) == -1) {
|
||||||
|
globalPickedNumbers += [pick];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -94,6 +94,8 @@ Dice type is automatically chosen to ensure at least 3 picks per player:
|
||||||
- **Startup Sequence Protection**: Eliminated timing window allowing unwanted joins during game initialization
|
- **Startup Sequence Protection**: Eliminated timing window allowing unwanted joins during game initialization
|
||||||
- **Enhanced Game Flow Control**: Better state management and user feedback during registration processes
|
- **Enhanced Game Flow Control**: Better state management and user feedback during registration processes
|
||||||
- **Race Condition Resolution**: Comprehensive fixes for all registration-related race conditions
|
- **Race Condition Resolution**: Comprehensive fixes for all registration-related race conditions
|
||||||
|
- **Duplicate Pick Prevention**: Fixed intermittent duplicate number picks caused by data corruption in `globalPickedNumbers`
|
||||||
|
- **Data Integrity**: Enhanced `continueCurrentRound()` function to properly rebuild pick tracking with uniqueness validation
|
||||||
|
|
||||||
## Previous Improvements (v2.4.0)
|
## Previous Improvements (v2.4.0)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,8 @@ RECENT IMPROVEMENTS (V2.5.0)
|
||||||
- Startup Sequence Protection: Eliminated timing window allowing unwanted joins during game initialization
|
- Startup Sequence Protection: Eliminated timing window allowing unwanted joins during game initialization
|
||||||
- Enhanced Game Flow Control: Better state management and user feedback during registration processes
|
- Enhanced Game Flow Control: Better state management and user feedback during registration processes
|
||||||
- Race Condition Resolution: Comprehensive fixes for all registration-related race conditions
|
- Race Condition Resolution: Comprehensive fixes for all registration-related race conditions
|
||||||
|
- Duplicate Pick Prevention: Fixed intermittent duplicate number picks caused by data corruption in globalPickedNumbers
|
||||||
|
- Data Integrity: Enhanced continueCurrentRound() function to properly rebuild pick tracking with uniqueness validation
|
||||||
|
|
||||||
PREVIOUS IMPROVEMENTS (V2.4.0)
|
PREVIOUS IMPROVEMENTS (V2.4.0)
|
||||||
==============================
|
==============================
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue