PDA

Просмотр полной версии : [Вопрос] Saving in database on MySQL



Elaid
19.11.2014, 20:47
Вопрос такой "Как сохранить кол-во убийств и смертей, а так же скин".

DeimoS
20.11.2014, 00:17
Эмм, сначала сохраняй в массив, а после из массива помещай в бд/файл специальными функциями, которые у файлов/бд разные

Elaid
20.11.2014, 11:44
Эмм, сначала сохраняй в массив, а после из массива помещай в бд/файл специальными функциями, которые у файлов/бд разные

Ты так все просто говоришь, но мне как нубу новичку это все пока сложно. Можно как то по подробней? :blush:

#ball
20.11.2014, 12:58
enum PlayerInfo {
pDeath,
pKill,
pSkin
};
new pInfo[MAX_PLAYERS][PlayerInfo];




public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID)
{
pInfo[killerid][pKill] += 1;
}
pInfo[playerid][pDeath] += 1;
return 1;
}



public OnPlayerDisconnect(playerid, reason)
{
pInfo[playerid][pSkin] = GetPlayerSkin(playerid);
return 1;
}



А сохранение в файл/бд сделаешь сам.

Elaid
20.11.2014, 13:35
Что то у меня с запросом не выходит :с



new query_string[(21)+(16+11)+(19+MAX_PLAYER_NAME)+(16+30)+(10+10)];
format(query_string, sizeof(query_string), "UPDATE `accounts` SET `name`= '%s', `password` = '%s', `email` = '%s', `deaths` = '%d', `kills` = '%d' WHERE `ID` = '%d'", pInfo[playerid][pName], pInfo[playerid][pPassword], pInfo[playerid][pEmail], pInfo[playerid][pDeaths], pInfo[playerid][pKills], pInfo[playerid][pID]);
mysql_function_query(mysql_variable, query_string, false, "", "");

DeimoS
20.11.2014, 13:40
Ячеек точно хватает?

Elaid
20.11.2014, 13:42
Ячеек точно хватает?
Вроде бы да. Но может я что то в БД не так сделал?

https://pp.vk.me/c622620/v622620894/92ea/4AdS3rn-aTo.jpg

DeimoS
20.11.2014, 14:01
new query_string[(21)+(16+11)+(19+MAX_PLAYER_NAME)+(16+30)+(10+10)];
format(query_string, sizeof(query_string), "UPDATE `accounts` SET `name`= '%s', `password` = '%s', `email` = '%s', `deaths` = '%d', `kills` = '%d' WHERE `ID` = '%d'", pInfo[playerid][pName], pInfo[playerid][pPassword], pInfo[playerid][pEmail], pInfo[playerid][pDeaths], pInfo[playerid][pKills], pInfo[playerid][pID]);
mysql_function_query(mysql_variable, query_string, false, "", "");
printf("%s", query_string);
и логи сюда потом

Elaid
20.11.2014, 15:07
new query_string[(21)+(16+11)+(19+MAX_PLAYER_NAME)+(16+30)+(10+10)];
format(query_string, sizeof(query_string), "UPDATE `accounts` SET `name`= '%s', `password` = '%s', `email` = '%s', `deaths` = '%d', `kills` = '%d' WHERE `ID` = '%d'", pInfo[playerid][pName], pInfo[playerid][pPassword], pInfo[playerid][pEmail], pInfo[playerid][pDeaths], pInfo[playerid][pKills], pInfo[playerid][pID]);
mysql_function_query(mysql_variable, query_string, false, "", "");
printf("%s", query_string);
и логи сюда потом

Теперь результат сохраняется, но он перезаписывается. Как можно избежать перезаписи данных? И почта перестала сохранятся :с

DeimoS
20.11.2014, 20:18
эмм, я в твоём запросе ничего не менял. Я лишь логирование добавил

Elaid
20.11.2014, 21:10
эмм, я в твоём запросе ничего не менял. Я лишь логирование добавил

Мой код сам решает что ему и как сохранять :D

DeimoS
20.11.2014, 22:38
Покажи уже логи, блин

Elaid
21.11.2014, 17:47
[13:55:57] Number of vehicle models: 8
[13:56:33] Incoming connection: 127.0.0.1:56462
[13:56:34] [join] Bomj has joined the server (0:127.0.0.1)
[13:56:45] [death] Bomj died 54
[13:57:08] [death] Bomj died 54
[13:57:10] [part] Bomj has left the server (0:1)
[13:57:19] --- Server Shutting Down.

DeimoS
21.11.2014, 19:32
Ты printf вставил в мод-то?

Elaid
21.11.2014, 19:59
Ты printf вставил в мод-то?

Вроде бы да

DeimoS
21.11.2014, 20:07
Ну а, судя по логам, нет