Fix payphones

This commit is contained in:
Vortrex
2023-03-02 08:17:20 -06:00
parent 880de94677
commit e2f7b5403a

View File

@@ -225,8 +225,15 @@ function callPayPhoneCommand(command, params, client) {
sendPayPhonePickupToPlayer(client); sendPayPhonePickupToPlayer(client);
let nearbyPlayers = getPlayersInRange(getPlayerPosition(client), 3);
for (let i in nearbyPlayers) {
sendPayPhonePickupToPlayer(nearbyPlayers[i]);
}
setTimeout(function () { setTimeout(function () {
sendPayPhoneDialingToPlayer(client); for (let i in nearbyPlayers) {
sendPayPhoneDialingToPlayer(nearbyPlayers[i]);
}
setTimeout(function () { setTimeout(function () {
getPayPhoneData(closestPayPhoneTarget).state = V_PAYPHONE_STATE_RINGING; getPayPhoneData(closestPayPhoneTarget).state = V_PAYPHONE_STATE_RINGING;
getPayPhoneData(closestPayPhoneTarget).usingPlayer = client; getPayPhoneData(closestPayPhoneTarget).usingPlayer = client;
@@ -247,18 +254,14 @@ function givePayPhoneToPlayerCommand(command, params, client) {
return false; return false;
} }
let targetClient = getClosestPlayer(getPlayerPosition(client), client); let targetClient = getPlayerFromParams(params);
if (areParamsEmpty(params)) {
targetClient = getPlayerFromParams(params);
}
if (!targetClient) { if (!targetClient) {
messagePlayerError(client, getLocaleString(client, "InvalidPlayer")); messagePlayerError(client, getLocaleString(client, "InvalidPlayer"));
return false; return false;
} }
if (getDistance(getPlayerPosition(client), getPlayerPosition(targetClient) <= getGlobalConfig().payPhoneGiveDistance)) { if (getDistance(getPlayerPosition(client), getPlayerPosition(targetClient)) >= getGlobalConfig().payPhoneGiveDistance) {
messagePlayerError(client, getLocaleString(client, "NoPlayerCloseEnough")) messagePlayerError(client, getLocaleString(client, "NoPlayerCloseEnough"))
return false; return false;
} }
@@ -278,7 +281,7 @@ function givePayPhoneToPlayerCommand(command, params, client) {
getPlayerData(client).usingPayPhone = -1; getPlayerData(client).usingPayPhone = -1;
getPlayerData(client).payPhoneInitiatedCall = false; getPlayerData(client).payPhoneInitiatedCall = false;
getPlayerData(otherClient).payPhoneCallStart = getCurrentUnixTimeStamp(); getPlayerData(otherClient).payPhoneCallStart = getCurrentUnixTimestamp();
getPlayerData(otherClient).payPhoneOtherPlayer = targetClient; getPlayerData(otherClient).payPhoneOtherPlayer = targetClient;
} }
@@ -311,10 +314,10 @@ function answerPayPhoneCommand(command, params, client) {
messagePlayerAlert(otherClient, getLocaleString(client, "PayPhoneRecipientAnswered")); messagePlayerAlert(otherClient, getLocaleString(client, "PayPhoneRecipientAnswered"));
messagePlayerNormal(client, getLocaleString(client, "PayPhoneAnswered")); messagePlayerNormal(client, getLocaleString(client, "PayPhoneAnswered"));
getPlayerData(client).payPhoneCallStart = getCurrentUnixTimeStamp(); getPlayerData(client).payPhoneCallStart = getCurrentUnixTimestamp();
getPlayerData(client).payPhoneOtherPlayer = otherClient; getPlayerData(client).payPhoneOtherPlayer = otherClient;
getPlayerData(client).usingPayPhone = closestPayPhone; getPlayerData(client).usingPayPhone = closestPayPhone;
getPlayerData(otherClient).payPhoneCallStart = getCurrentUnixTimeStamp(); getPlayerData(otherClient).payPhoneCallStart = getCurrentUnixTimestamp();
getPlayerData(otherClient).payPhoneOtherPlayer = client; getPlayerData(otherClient).payPhoneOtherPlayer = client;
getPayPhoneData(closestPayPhone).state = V_PAYPHONE_STATE_ACTIVE_CALL; getPayPhoneData(closestPayPhone).state = V_PAYPHONE_STATE_ACTIVE_CALL;
@@ -323,6 +326,11 @@ function answerPayPhoneCommand(command, params, client) {
sendPayPhoneStateToClient(null, closestPayPhone, V_PAYPHONE_STATE_ACTIVE_CALL); sendPayPhoneStateToClient(null, closestPayPhone, V_PAYPHONE_STATE_ACTIVE_CALL);
sendPayPhoneStateToClient(null, getPlayerData(otherClient).usingPayPhone, V_PAYPHONE_STATE_ACTIVE_CALL); sendPayPhoneStateToClient(null, getPlayerData(otherClient).usingPayPhone, V_PAYPHONE_STATE_ACTIVE_CALL);
let nearbyPlayers = getPlayersInRange(getPlayerPosition(client), 3);
for (let i in nearbyPlayers) {
sendPayPhonePickupToPlayer(nearbyPlayers[i]);
}
} }
// =========================================================================== // ===========================================================================
@@ -345,7 +353,7 @@ function hangupPayPhoneCommand(command, params, client) {
} }
let clientPayPhoneIndex = getPlayerData(client).usingPayPhone; let clientPayPhoneIndex = getPlayerData(client).usingPayPhone;
let clientPayPhone = getPayPhoneData(clientPayPhone); let clientPayPhone = getPayPhoneData(clientPayPhoneIndex);
if (clientPayPhone.state == V_PAYPHONE_STATE_CALLING) { if (clientPayPhone.state == V_PAYPHONE_STATE_CALLING) {
clientPayPhone.state = V_PAYPHONE_STATE_IDLE; clientPayPhone.state = V_PAYPHONE_STATE_IDLE;
@@ -359,6 +367,11 @@ function hangupPayPhoneCommand(command, params, client) {
getPayPhoneData(otherPayPhoneIndex).usingPlayer = null; getPayPhoneData(otherPayPhoneIndex).usingPlayer = null;
sendPayPhoneStateToClient(null, otherPayPhoneIndex, V_PAYPHONE_STATE_IDLE); sendPayPhoneStateToClient(null, otherPayPhoneIndex, V_PAYPHONE_STATE_IDLE);
let nearbyPlayers = getPlayersInRange(getPlayerPosition(client), 3);
for (let i in nearbyPlayers) {
sendPayPhoneHangupToPlayer(nearbyPlayers[i]);
}
} }
} else if (clientPayPhone.state == V_PAYPHONE_STATE_ACTIVE_CALL) { } else if (clientPayPhone.state == V_PAYPHONE_STATE_ACTIVE_CALL) {
let otherClient = getPlayerData(client).payPhoneOtherPlayer; let otherClient = getPlayerData(client).payPhoneOtherPlayer;
@@ -366,12 +379,22 @@ function hangupPayPhoneCommand(command, params, client) {
let otherClientPayPhone = getPayPhoneData(otherClientPayPhoneIndex); let otherClientPayPhone = getPayPhoneData(otherClientPayPhoneIndex);
if (getPlayerData(client).payPhoneInitiatedCall == true) { if (getPlayerData(client).payPhoneInitiatedCall == true) {
messagePlayerNormal(client, getLocaleString("PayPhoneRecipientHangup", getPayPhoneCallPrice(clientPayPhoneIndex, getCurrentUnixTimeStamp() - getPlayerData(client).payPhoneCallStart))); messagePlayerNormal(client, getLocaleString(client, "PayPhoneRecipientHangup", getPayPhoneCallPrice(clientPayPhoneIndex, getCurrentUnixTimestamp() - getPlayerData(client).payPhoneCallStart)));
takePlayerCash(client, getPayPhoneCallPrice(getCurrentUnixTimeStamp() - getPlayerData(client).payPhoneCallStart)); takePlayerCash(client, getPayPhoneCallPrice(getCurrentUnixTimestamp() - getPlayerData(client).payPhoneCallStart));
messagePlayerAlert(otherClient, getLocaleString(client, "PayPhoneHangup")); messagePlayerAlert(otherClient, getLocaleString(client, "PayPhoneHangup"));
let nearbyPlayers = getPlayersInRange(getPlayerPosition(client), 3);
for (let i in nearbyPlayers) {
sendPayPhoneHangupToPlayer(nearbyPlayers[i]);
}
nearbyPlayers = getPlayersInRange(getPlayerPosition(otherClient), 3);
for (let i in nearbyPlayers) {
sendPayPhoneHangupToPlayer(nearbyPlayers[i]);
}
} else { } else {
messagePlayerNormal(otherClient, getLocaleString("PayPhoneRecipientHangup", getPayPhoneCallPrice(otherClientPayPhoneIndex, getCurrentUnixTimeStamp() - getPlayerData(client).payPhoneCallStart))); messagePlayerNormal(otherClient, getLocaleString(client, "PayPhoneRecipientHangup", getPayPhoneCallPrice(otherClientPayPhoneIndex, getCurrentUnixTimestamp() - getPlayerData(client).payPhoneCallStart)));
takePlayerCash(otherClient, getPayPhoneCallPrice(getCurrentUnixTimeStamp() - getPlayerData(client).payPhoneCallStart)); takePlayerCash(otherClient, getPayPhoneCallPrice(getCurrentUnixTimestamp() - getPlayerData(client).payPhoneCallStart));
messagePlayerAlert(client, getLocaleString(client, "PayPhoneHangup")); messagePlayerAlert(client, getLocaleString(client, "PayPhoneHangup"));
} }