Alexand78
Новичок
Привет поцаны. Сделал систему бана по мануалу http://pawno-info.ru/threads/115278 и у меня не приписывает бан игроку в файле. + ошибка, когда я делаю, что, если ввел неправильный ИД писало, что ввел неправильно. Вот короче сама команда.
Вот ошибка с неправильным идом
Может еще нужен паблик обновления (он же у меня с сохранением). В нем есть таймер, который пишет каждую секунду.
Заранее спасибо.
PHP:
if(strcmp(cmd, "/ban", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] != 1) return SendClientMessage(playerid,COLOR_RED,"*Вы не можете использовать эту команду, т.к не являетесь администратором");
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "*Подсказка: /ban [ID] [Причина]");
return 1;
}
giveplayerid = ReturnUser(tmp);
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
new id;
GetPlayerName(id, giveplayer, sizeof(giveplayer));
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GREY, "*Подсказка: /ban [ID] [Причина]");
return 1;
}
format(string, sizeof(string), "Игрок %s был забанен администратором %s, причина: %s", giveplayer, sendername, (result));
SendClientMessageToAll(COLOR_RED, string);
PlayerInfo[id][pBanned] = 1; // Кажись в этом соль
Kick(giveplayerid);
}
}//not connected
}
else
{
format(string, sizeof(string), "[%d] нет в сети", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
}
return 1;
}
PHP:
D:\Games\SampServer\gamemodes\RDP.pwn(965) : error 029: invalid expression, assumed zero
PHP:
public OnPlayerUpdate(playerid)
{
new string[128];
format(string,sizeof(string),"score %07d",PlayerInfo[playerid][pDrift]);
TextDrawSetString(Score[playerid],string);
format(string,sizeof(string),"%08d",PlayerInfo[playerid][pMoney]);
new playername[MAX_PLAYER_NAME];
UpdatePlayerPosition(playerid);
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "players/%s.ini", playername);
new iniFile = ini_openFile(string);
ini_setInteger(iniFile, "Money", GetPlayerMoney(playerid));
GetPlayerHealth(playerid,PlayerInfo[playerid][pHeal]);
ini_setFloat(iniFile, "Heal", PlayerInfo[playerid][pHeal]);
GetPlayerArmour(playerid,PlayerInfo[playerid][pArmour]);
ini_setFloat(iniFile, "Armour", PlayerInfo[playerid][pArmour]);
ini_setInteger(iniFile, "Drift",PlayerInfo[playerid][pDrift]);
ini_setFloat(iniFile, "Pos_x", PlayerInfo[playerid][pPos_x]);
ini_setFloat(iniFile, "Pos_y", PlayerInfo[playerid][pPos_y]);
ini_setFloat(iniFile, "Pos_z", PlayerInfo[playerid][pPos_z]);
ini_setInteger(iniFile, "Int", PlayerInfo[playerid][pInt]);
ini_setInteger(iniFile, "World", PlayerInfo[playerid][pWorld]);
ini_setInteger(iniFile,"Banned",PlayerInfo[playerid][pBanned]);
ini_closeFile(iniFile);
return 1;
}
