ikidrauhl
Умник
Помогите разобраться с проблемой. Не сохраняются выговоры в акке. Тоесть я даю выговор, а он слетает после перезахода. Может я что-то не досмотрел.
Вот команда:
Вот команда:
Код:
if(strcmp(cmd, "/vig", true) == 0 || strcmp(cmd, "/vigovor", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /vigovor [id игрока] [причина]");
return 1;
}
new para1;
para1 = ReturnUser(tmp);
if(PlayerInfo[playerid][pLeader] >= 1)
{
if(IsPlayerConnected(para1))
{
if(PlayerInfo[playerid][pLeader] == PlayerInfo[para1][pMember] || PlayerInfo[playerid][pLeader] == PlayerInfo[para1][pLeader])
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /vigovor [id игрока] [причина]");
return 1;
}
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[para1][pVig] >= 3)
{
printf("[RP]serv: %s имеет незваный %s.", sendername, giveplayer);
format(string, sizeof(string), "* Вас выкинул из семьи %s, т.к. у вас больше 3 выговоров.", sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
SendClientMessage(para1, COLOR_LIGHTBLUE, "* Вы снова гражданское лицо.");
gTeam[para1] = 3;
PlayerInfo[para1][pTeam] = 3;
PlayerInfo[para1][pMember] = 0;
PlayerInfo[para1][pRank] = 0;
PlayerInfo[para1][pChar] = 20;
new rand = random(sizeof(CIV));
SetSpawnInfo(para1, gTeam[para1], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
PlayerInfo[para1][pModel] = CIV[rand];
MedicBill[para1] = 0;
SpawnPlayer(para1);
PlayerInfo[para1][pVig] = 0;
format(string, sizeof(string), "* Вы уволили %s, т.к. он имел более 3 выговоров.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
format(string, sizeof(string), "* Вас предупредил лидер %s, причина: %s", sendername, result);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Вы предупредили %s, причина: %s", giveplayer, result);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerInfo[para1][pVig] = PlayerInfo[para1][pVig] + 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Этот игрок не в вашей фракции!");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Этот игрок не в игре!");
}
}//not connected
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Нет прав на использование команды!(только лидерам)");
}
}
printf("Использовалась команда %s",cmd);
return 1;
}
