Check if payphone & player valid for desync fix

This commit is contained in:
Vortrex
2023-03-07 20:59:23 -06:00
parent ea4cd87202
commit 0368ea3371

View File

@@ -691,21 +691,24 @@ function fixDesyncedPayPhones() {
for (let i in getServerData().payPhones) { for (let i in getServerData().payPhones) {
switch (getServerData().payPhones[i].state) { switch (getServerData().payPhones[i].state) {
case V_PAYPHONE_STATE_RINGING: case V_PAYPHONE_STATE_RINGING:
if (getPayPhoneData(i).otherPayPhone != -1) {
if (getPayPhoneData(getPayPhoneData(i).otherPayPhone).state != V_PAYPHONE_STATE_CALLING) { if (getPayPhoneData(getPayPhoneData(i).otherPayPhone).state != V_PAYPHONE_STATE_CALLING) {
if (getServerData().payPhones[i].usingPlayer != null) {
getPlayerData(getServerData().payPhones[i].usingPlayer).usingPayPhone = -1; getPlayerData(getServerData().payPhones[i].usingPlayer).usingPayPhone = -1;
getPlayerData(getServerData().payPhones[i].usingPlayer).payPhoneCallStart = 0; getPlayerData(getServerData().payPhones[i].usingPlayer).payPhoneCallStart = 0;
getPlayerData(getServerData().payPhones[i].usingPlayer).payPhoneInitiatedCall = false; getPlayerData(getServerData().payPhones[i].usingPlayer).payPhoneInitiatedCall = false;
getPlayerData(getServerData().payPhones[i].usingPlayer).payPhoneOtherPlayer = null; getPlayerData(getServerData().payPhones[i].usingPlayer).payPhoneOtherPlayer = null;
}
getPayPhoneData(i).otherPayPhone = -1;
setPayPhoneState(i, V_PAYPHONE_STATE_IDLE); setPayPhoneState(i, V_PAYPHONE_STATE_IDLE);
} }
}
break; break;
default: default:
break; break;
} }
} }
sendPayPhoneStateToPlayer(null, -1, V_PAYPHONE_STATE_IDLE);
} }
// =========================================================================== // ===========================================================================
@@ -714,3 +717,5 @@ function setPayPhoneState(payPhoneIndex, state) {
getPayPhoneData(payPhoneIndex).state = state; getPayPhoneData(payPhoneIndex).state = state;
sendPayPhoneStateToPlayer(null, payPhoneIndex, state); sendPayPhoneStateToPlayer(null, payPhoneIndex, state);
} }
// ===========================================================================