mirror of
https://github.com/shavitush/bhoptimer.git
synced 2025-12-07 10:28:26 +00:00
Fixed !save behaving differently from the !cp menu option.
This commit is contained in:
parent
74239a3639
commit
36b4ed4a94
@ -1516,6 +1516,13 @@ public Action Command_Save(int client, int args)
|
|||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int iMaxCPs = GetMaxCPs(client);
|
||||||
|
|
||||||
|
if(gI_CheckpointsCache[client][iCheckpoints] >= iMaxCPs)
|
||||||
|
{
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
bool bSegmented = CanSegment(client);
|
bool bSegmented = CanSegment(client);
|
||||||
|
|
||||||
if(!gB_Checkpoints && !bSegmented)
|
if(!gB_Checkpoints && !bSegmented)
|
||||||
@ -1525,12 +1532,10 @@ public Action Command_Save(int client, int args)
|
|||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
int iMaxCPs = GetMaxCPs(client);
|
int index = gI_CheckpointsCache[client][iCheckpoints];
|
||||||
|
|
||||||
if(args > 0)
|
if(args > 0)
|
||||||
{
|
{
|
||||||
int index = 0;
|
|
||||||
|
|
||||||
char[] arg = new char[4];
|
char[] arg = new char[4];
|
||||||
GetCmdArg(1, arg, 4);
|
GetCmdArg(1, arg, 4);
|
||||||
|
|
||||||
@ -1540,35 +1545,27 @@ public Action Command_Save(int client, int args)
|
|||||||
{
|
{
|
||||||
index = (parsed - 1);
|
index = (parsed - 1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(SaveCheckpoint(client, index))
|
bool bSegmenting = CanSegment(client);
|
||||||
{
|
bool bSaved = false;
|
||||||
Shavit_PrintToChat(client, "%T", "MiscCheckpointsSaved", client, (index + 1), gS_ChatStrings[sMessageVariable], gS_ChatStrings[sMessageText]);
|
|
||||||
}
|
if(!bSegmenting)
|
||||||
|
{
|
||||||
|
bSaved = SaveCheckpoint(client, gI_CheckpointsCache[client][iCheckpoints]);
|
||||||
|
gI_CheckpointsCache[client][iCurrentCheckpoint] = ++gI_CheckpointsCache[client][iCheckpoints];
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
bool bSaved = false;
|
bool bOverflow = gI_CheckpointsCache[client][iCheckpoints] >= iMaxCPs;
|
||||||
|
bSaved = SaveCheckpoint(client, gI_CheckpointsCache[client][iCheckpoints], bOverflow);
|
||||||
|
gI_CheckpointsCache[client][iCurrentCheckpoint] = (bOverflow)? iMaxCPs:++gI_CheckpointsCache[client][iCheckpoints];
|
||||||
|
}
|
||||||
|
|
||||||
if(gI_CheckpointsCache[client][iCheckpoints] < iMaxCPs)
|
if(bSaved)
|
||||||
{
|
{
|
||||||
if((bSaved = SaveCheckpoint(client, gI_CheckpointsCache[client][iCheckpoints])))
|
Shavit_PrintToChat(client, "%T", "MiscCheckpointsSaved", client, (index + 1), gS_ChatStrings[sMessageVariable], gS_ChatStrings[sMessageText]);
|
||||||
{
|
|
||||||
gI_CheckpointsCache[client][iCurrentCheckpoint] = ++gI_CheckpointsCache[client][iCheckpoints];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
else if((bSaved = SaveCheckpoint(client, (iMaxCPs - 1), true)))
|
|
||||||
{
|
|
||||||
gI_CheckpointsCache[client][iCurrentCheckpoint] = iMaxCPs;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(bSaved)
|
|
||||||
{
|
|
||||||
Shavit_PrintToChat(client, "%T", "MiscCheckpointsSaved", client, gI_CheckpointsCache[client][iCurrentCheckpoint],
|
|
||||||
gS_ChatStrings[sMessageVariable], gS_ChatStrings[sMessageText], gS_ChatStrings[sMessageVariable], gS_ChatStrings[sMessageText]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user