PDA

Просмотр полной версии : [Вопрос] Сохранение и изменение



Skyline
29.07.2016, 19:16
Здравствуйте. Столкнулся с проблемой, которую не могу решить уже 2 дня. Есть команда для выдачи|снятия модерки.
Первоначально модерку выдаю через БД. После этого проверяю на себе и снимаю ее или даю другой уровень, то в БД ничего не меняется, при перезаходе на сервер, я так же Гл. Администратор. Помогите пожалуйста.

CMD:makeadmin(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] != 6) return SendClientMessage(playerid, COLOR_WHITE, "Неизвестная команда.");
if(sscanf(params, "id", params[0], params[1])) return SendClientMessage(playerid, COLOR_WHITE, "Используй: /makeadmin [ID/Ник] [Уровень].");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid,COLOR_GREY,"Игрок не найден.");
if(params[1] > 6 || params[1] < 0) return SendClientMessage(playerid, COLOR_WHITE, "От 0 до 6.");
PlayerInfo[params[0]][pAdmin] = params[1];
if(params[1] != 0)
{
SFM(params[0], COLOR_LBLUE, "%s дал тебе %d уровень модерки.", PlayerInfo[playerid][pName], params[1]);
SFM(playerid, COLOR_LBLUE, "Вы дали %d уровень модерки игроку %s.", params[1], PlayerInfo[params[0]][pName]);
}
else
{
SFM(params[0], COLOR_LBLUE, "%s снял тебя с модерки.", PlayerInfo[playerid][pName]);
SFM(playerid, COLOR_LBLUE, "Ты снял с модерки игрока %s.", PlayerInfo[params[0]][pName]);
}
return 1;
}


public UploadPlayerAccount(playerid)
{
PlayerInfo[playerid][pID] = cache_get_field_content_int(0, "ID", mysql_connect_id);
PlayerInfo[playerid][pSex] = cache_get_field_content_int(0, "pol", mysql_connect_id);
PlayerInfo[playerid][pSkin] = cache_get_field_content_int(0, "skin", mysql_connect_id);
PlayerInfo[playerid][pSpawn] = cache_get_field_content_int(0, "spawn", mysql_connect_id);
PlayerInfo[playerid][pHealth] = cache_get_field_content_int(0, "health", mysql_connect_id);
PlayerInfo[playerid][pMoney] = cache_get_field_content_int(0, "money", mysql_connect_id);
PlayerInfo[playerid][pBank] = cache_get_field_content_int(0, "bank", mysql_connect_id);
PlayerInfo[playerid][pAdmin] = cache_get_field_content_int(0, "admin", mysql_connect_id);
SendClientMessage(playerid, COLOR_WHITE,"Добро пожаловать на сервер - {FFDEAD}Cold SkY.");
if(PlayerInfo[playerid][pAdmin] > 0)
{
new arank[64];
if(PlayerInfo[playerid][pAdmin] == 6) { arank = "Гл.Администратор"; }
else if(PlayerInfo[playerid][pAdmin] == 5) { arank = "Гл.Модератор"; }
else if(PlayerInfo[playerid][pAdmin] == 4) { arank = "Модератор"; }
else if(PlayerInfo[playerid][pAdmin] == 3) { arank = "Модератор"; }
else if(PlayerInfo[playerid][pAdmin] == 2) { arank = "Модератор"; }
else if(PlayerInfo[playerid][pAdmin] == 1) { arank = "Модератор"; }
new string2[100];
format(string2, sizeof(string2), "Ты зашёл как {FFDEAD}%s",arank);
SendClientMessage(playerid, COLOR_WHITE,string2);
}
SpawnPlayer(playerid);
return 1;
}


stock SaveAccount(playerid)
{
new query_string[(21)+(15+11)+(19+MAX_PLAYER_NAME)+(16+25)+(12+1)+(13+4)+(15+3)+(16+4)+(15+15)+(14+15)+(13+4)] = "UPDATE `accounts` SET";

format(query_string, sizeof(query_string), "%s `player_name` = '%s',", query_string, PlayerInfo[playerid][pName]);
format(query_string, sizeof(query_string), "%s `password` = '%s',", query_string, PlayerInfo[playerid][pPassword]);
format(query_string, sizeof(query_string), "%s `pol` = '%d',", query_string, PlayerInfo[playerid][pSex]);
format(query_string, sizeof(query_string), "%s `skin` = '%d',", query_string, PlayerInfo[playerid][pSkin]);
format(query_string, sizeof(query_string), "%s `spawn` = '%d',", query_string, PlayerInfo[playerid][pSpawn]);
format(query_string, sizeof(query_string), "%s `health` = '%d',", query_string, PlayerInfo[playerid][pHealth]);
format(query_string, sizeof(query_string), "%s `money` = '%d',", query_string, PlayerInfo[playerid][pMoney]);
format(query_string, sizeof(query_string), "%s `bank` = '%d',", query_string, PlayerInfo[playerid][pBank]);
format(query_string, sizeof(query_string), "%s `admin` = '%d'", query_string, PlayerInfo[playerid][pAdmin]);

format(query_string, sizeof(query_string), "%s WHERE `ID` = '%d'", query_string, PlayerInfo[playerid][pID]);
mysql_function_query(mysql_connect_id, query_string, false, "", "");
return 1;
}

DeimoS
29.07.2016, 19:39
В mysql_log ошибок нет?

Skyline
29.07.2016, 23:26
Ммм.. Сейчас посмотрел, есть.
При заходе на сервер.

[22:25:57] [WARNING] CMySQLResult::GetRowDataByName - field not found ("ID")
[22:25:57] [ERROR] cache_get_field_content_int - invalid datatype

DeimoS
29.07.2016, 23:31
Скрин структуры таблицы аккаунтов в студию

Skyline
30.07.2016, 00:09
Скриншот (http://i11.pixs.ru/storage/3/8/1/Bezimyanni_9960397_22761381.png)

- - - Добавлено - - -

А все, нашел ошибку. id заменить на ID, Верно?

DeimoS
30.07.2016, 06:51
Скриншот (http://i11.pixs.ru/storage/3/8/1/Bezimyanni_9960397_22761381.png)

- - - Добавлено - - -

А все, нашел ошибку. id заменить на ID, Верно?

Yep. MySQL регистрозависимый.

Skyline
30.07.2016, 07:36
Yep. MySQL регистрозависимый.

Не понял что вы имели ввиду

vovandolg
30.07.2016, 10:22
То что любить читать с табуляцией одно и без неё другое))

- - - Добавлено - - -

id != ID
a != A
Так понятнее наверное)


DeimoS:


Не понял что вы имели ввиду

http://i.imgur.com/v99TtHC.png

А "yep" - это "да"/"ага"