maxxxim
Новичок
Проблема такая, килллист на пейнте сортируется не только по колонке убийств, но и по колонке смертей. Таким образом, могут быть следующие статистики
Имя убийств смертей
1. Вася_Пупкин 1 14
2. Иван_Иванович 13 5
или
Имя убийств смертей
1. Вася_Пупкин 15 5
2. Иван_Иванович 5 13
Тоесть, не важно какая колонка, судит по возрастанию цифр. А надо, чтобы счетчик смертей не влиял на сортировку. Необходимые части кода:
Больше PaintInfo или PaintList ни где не используется. Я тупо не могу понять какая строка отвечает за сортировку. Подскажите пожалуйста, что не так тут. Очень прошу.
Имя убийств смертей
1. Вася_Пупкин 1 14
2. Иван_Иванович 13 5
или
Имя убийств смертей
1. Вася_Пупкин 15 5
2. Иван_Иванович 5 13
Тоесть, не важно какая колонка, судит по возрастанию цифр. А надо, чтобы счетчик смертей не влиял на сортировку. Необходимые части кода:
PHP:
YCMD:paintlist(playerid,params[],help)
{
if(PlayerInfo[playerid][pLogin] == 0) return true;
new strrr[700];
for(new i = 0; i < PaintList; i++) format(YCMDstr, sizeof(YCMDstr), "%s\t\tУбийств: %d\t\tСмертей: %d\n",PaintInfo[i][Name],PaintInfo[i][Kills],PaintInfo[i][Deaths]), strcat(strrr, YCMDstr);
if (strlen(strrr) > 1) ShowPlayerDialogEx(playerid, 11349, DIALOG_STYLE_MSGBOX, "Список игроков", strrr, "Закрыть", "");
else SendClientMessage(playerid,-1,"Список пуст");
return true;
}
PHP:
if(paintt[0] > 0)
{
paintt[0]--;
if(paintt[1] == 1 && paintt[0] == 120){ SendClientMessageToAll(0xFFAAFFAA,"Внимание! Начало Paint Balla через 2 минуты. Место проведения военный завод К.А.С.С"); }
if(paintt[1] == 1 && paintt[0] == 1)
{
if(paintt[2] > 2)
{
for(new i = 0; i < PaintList; i++)
{
strmid(PaintInfo[i][Name],"None", 0, strlen("None"), 32);
PaintInfo[i][Kills] = 0;
PaintInfo[i][Deaths] = 0;
}
PaintList = 0;
SendClientMessageToAll(0xFFAAFFAA,"Внимание! Матч по Paint Ball начался.");
paintt[1] = 2; paintt[0] = 300;
for(new idx=0, x=0; idx<cvector_size(players); idx++)
{
x = cvector_get(players, idx); if(GetPVarInt(x, "napeinte") == 1){ SetPVarInt(x, "napeinte", 2); SpawnPlayer(x); }
}
}
else { SendClientMessageToAll(0xFFAAFFAA,"Матч по пейнтболу отменен из - за не достаточного количества участников "); paintt[1] = 0; paintt[0] = 0; }
}
if(paintt[1] == 2 && paintt[0] == 1)
{
SendClientMessageToAll(0xFFAAFFAA,"Матч по пейнтболлу завершён. (( Список победителей: /paintlist ))");
paintt[1] = 0; paintt[0] = 0;
for(new idx=0, x=0; idx<cvector_size(players); idx++)
{
x = cvector_get(players, idx);
new v = GetPVarInt(x,"paintkills");
if(GetPVarInt(x, "napeinte") == 2)
{
PaintInfo[PaintList][Kills] = GetPVarInt(x,"paintkills");
PaintInfo[PaintList][Deaths] = GetPVarInt(x,"paintdeaths");
strmid(PaintInfo[PaintList][Name],Name(x), 0, strlen(Name(x)), 32);
PaintList++;
if(v > maxs) { maxs = v; id = x; }
DelGun(x);
guncheat[x] = 0;
SetPlayerPos(x, 2490.5623,2773.2583,10.7950);
SetPlayerFacingAngle(x, 91.0485);
}
}
if(id != -1) { PlayerInfo[id][pCash]+=15000; SendClientMessage(id, TEAM_AZTECAS_COLOR, "Поздравляем вы заняли 1-е место."); }
}
}
Последнее редактирование:
