PDA

Просмотр полной версии : [Вопрос] Проблема с выводом из БД



Jonick
22.05.2016, 19:44
Заметил проблему, что деньги не сохраняются, вроде все убавляется, SaveAccount(playerid) проходит, но не сохраняется
Начал ковыряться и сделал тестовую команду для отображения переменных игрока всякие pName, pMoney, pSkin
И вот что получилось... Делалось все по аналогии с мануалом от Deimos'a
Сама команда:

CMD:test(playerid)
{
SaveAccount(playerid);
SendClientMessage(playerid,-1,"testsaveacc");
SendClientMessage(playerid,-1,pInfo[playerid][pMoney]);
SendClientMessage(playerid,-1,pInfo[playerid][pID]);
SendClientMessage(playerid,-1,pInfo[playerid][pName]);
SendClientMessage(playerid,-1,pInfo[playerid][pSex]);
SendClientMessage(playerid,-1,pInfo[playerid][pSkin]);
SendClientMessage(playerid,-1,pInfo[playerid][pMail]);
SendClientMessage(playerid,-1,pInfo[playerid][pPassword]);
return 1;
}
Что получаем на выходе:

[20:09:25] testsaveacc

[20:09:25] }

[20:09:25] Niccolo_Fabio

[20:09:25] Niccolo_Fabio

[20:09:25] #}

[20:09:25] #}

[20:09:25] 123milo

[20:09:25] 026AD599F3F822BF6D54941D817C0F96A875E1B8715DDC4F585D70EA49F0089D123milo
Есть подозрение что дело с загрузкой аккаунта:

new query_string[49+MAX_PLAYER_NAME];
format(query_string, sizeof(query_string), "SELECT * FROM `accounts` WHERE `player_name` = '%s'", pInfo[playerid][pName]);
mysql_function_query(mysql_connect_id, query_string, true, "UploadPlayerAccount","i", playerid);

public UploadPlayerAccount(playerid)
{
pInfo[playerid][pID] = cache_get_field_content_int(0, "id", mysql_connect_id);
cache_get_field_content(0, "mail", pInfo[playerid][pMail], mysql_connect_id, 32);
pInfo[playerid][pSex] = cache_get_field_content_int(0, "sex", mysql_connect_id);
pInfo[playerid][pSkin] = cache_get_field_content_int(0, "skin", mysql_connect_id);
pInfo[playerid][pMoney] = cache_get_field_content_int(0, "money", mysql_connect_id);
SendClientMessage(playerid, 0xFFFFFF00, "Вы успешно авторизировались!");
SetPlayerAuthorized(playerid, 1);
TogglePlayerSpectating(playerid, false);
SpawnPlayer(playerid);
return 1;
}
Что есть в БД:
http://gluon.rghost.ru/698RcbjzW/image.png

Тема закрыта, пропустил запятые в сохранении аккаунтов и погнал не в ту степь

TheMallard
23.05.2016, 07:41
Нативный (Get/GivePlayerMoney) счетчик сбрасывается при респавне игрока, м.б. в этом проблема. Можно подключить Serversided.inc от Gammix'a и будет вам счастье.