Fix payphones
This commit is contained in:
@@ -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"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user