| [CM]JV |
Дата: Четверг, 05.05.2016, 17:54 | Сообщение # 1
|
Новичок
Сообщений: 2
Статус: Offline
|
Доброго дня. Я только начал изучать павно и решил написать пробную основу. Столкнулся с проблемой. При регистрации в Базу Данных заносятся верные значения, но при вызове менюхи значения сбиваются. Что делать не знаю
Код stock FinishRegistration(playerid) { new str[2000], strstre[50]; getdate(yearr, monthh, dayy); format(strstre,sizeof(strstre), "%d.%d.%d", dayy, monthh, yearr); strmid(PlayerInfo[playerid][pRegDate], strstre, 0, strlen(strstre), 32); mysql_format(ConnectMySQL, str, MAX_SQL, "UPDATE `accounts` SET `pRegDate` = '%s', `pSkin` = '%d',`pSex` = '%d',`pMail` = '%s',`pRefer` = '%s', `pIfRegYet` = '1' WHERE `pName` = '%s'", PlayerInfo[playerid][pRegDate], PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pSex], PlayerInfo[playerid][pMail], PlayerInfo[playerid][pRefer], PlayerInfo[playerid][pName]); mysql_tquery(ConnectMySQL, str); SCM(playerid, COLOR_BLUE_BRAND, "Вы успешно зарегестрировались на нашем сервере"); Login[playerid] = true; SpawnPlayer(playerid); } stock LoadPlayer(playerid) { Login[playerid] = true; cache_get_field_content(0, "pRegDate", PlayerInfo[playerid][pRegDate], ConnectMySQL, strlen(PlayerInfo[playerid][pRegDate])); PlayerInfo[playerid][pLevel] = cache_get_field_content_int(0, "pLevel"); PlayerInfo[playerid][pSkin] = cache_get_field_content_int(0, "pSkin"); PlayerInfo[playerid][pSex] = cache_get_field_content_int(0, "pSex"); cache_get_field_content(0, "pIPReg", PlayerInfo[playerid][pIPReg], ConnectMySQL, strlen(PlayerInfo[playerid][pIPReg])); SpawnPlayer(playerid); } stock ShowStats(playerid) { new stringer1[250]; new stext[8]; switch(PlayerInfo[playerid][pSex]) { case 1: stext = "Мужской"; case 2: stext = "Женский"; } stringer = ""; format(stringer1,sizeof(stringer1),"{FFFFFF}Имя:\t\t\t\t%s\n",PlayerInfo[playerid][pName]); strcat(stringer,stringer1); format(stringer1,sizeof(stringer1),"{FFFFFF}Имя:\t\t\t\t%s\n",PlayerInfo[playerid][pIPReg]); strcat(stringer,stringer1); format(stringer1,sizeof(stringer1),"{FFFFFF}Уровень:\t\t\t%i\n",PlayerInfo[playerid][pLevel]); strcat(stringer,stringer1); format(stringer1,sizeof(stringer1),"{FFFFFF}Деньги:\t\t\t%i$\n",GetPlayerMoney(playerid)); strcat(stringer,stringer1); format(stringer1,sizeof(stringer1),"{FFFFFF}Дата регистрации:\t\t%s\n\n",PlayerInfo[playerid][pRegDate]); strcat(stringer,stringer1); format(stringer1,sizeof(stringer1),"{FFFFFF}Пол:\t\t\t\t%s\n", stext); strcat(stringer,stringer1); SPD(playerid, 21, DSM, "Статистика персонажа" ,stringer, "Готово", ""); return true; }
P.S. Код ниже - сохранение РегИП в одном из диалогов, просто я разнес внесение информации по частям
Код case 9: { if(response) { PlayerInfo[playerid][pSex] = 1; } else { PlayerInfo[playerid][pSex] = 2; } new str[150], string1[100]; SPD(playerid, 10, DSL, "Выбор Легенды Персонажа", "Приплыл\nПрилетел\nПриехал", "Далее", "Назад"); GetPlayerIp(playerid, playersip, 16); format(string1, sizeof(string1), "%s", playersip); strmid(PlayerInfo[playerid][pIPReg], string1, 0, strlen(string1), 16); mysql_format(ConnectMySQL, str, MAX_SQL, "UPDATE `accounts` SET `pIPReg` = '%s' WHERE `pName` = '%s'", PlayerInfo[playerid][pIPReg], PlayerInfo[playerid][pName]); mysql_tquery(ConnectMySQL, str); return true; }
З.Ы. Насчет гигантских стрингов - знаю, исправлю на static const) просто пока хочется суть этой проблемы найти З.З.Ы. Вмесо нижнего имени на 2-ом скрине должен быть Рег.ИП, не успел поменять
Сообщение отредактировал [CM]JV - Четверг, 05.05.2016, 18:04 |
|
|
|
|
| =) |
Дата: Пятница, 06.05.2016, 06:28 | Сообщение # 2
|
Боец
Сообщений: 271
Статус: Offline
|
Попробуй так:
Код stock LoadPlayer(playerid) { PlayerInfo[playerid][pLevel] = cache_get_field_content_int(0, "pLevel"); PlayerInfo[playerid][pSkin] = cache_get_field_content_int(0, "pSkin"); PlayerInfo[playerid][pSex] = cache_get_field_content_int(0, "pSex"); cache_get_field_content(0, "pRegDate", PlayerInfo[playerid][pRegDate], ConnectMySQL, 20); cache_get_field_content(0, "pIPReg", PlayerInfo[playerid][pIPReg], ConnectMySQL, 16); Login[playerid] = true; SpawnPlayer(playerid); }
|
|
|
|
|
| [CM]JV |
Дата: Пятница, 06.05.2016, 16:57 | Сообщение # 3
|
Новичок
Сообщений: 2
Статус: Offline
|
Не помогает(
|
|
|
|
|
| =) |
Дата: Пятница, 06.05.2016, 18:43 | Сообщение # 4
|
Боец
Сообщений: 271
Статус: Offline
|
В этом коде нет ошибок(на глаз) а значит либо ошибка в другом, либо ты объясняешь неправильно.
|
|
|
|
|
| Artem_Buero |
Дата: Воскресенье, 29.05.2016, 11:15 | Сообщение # 5
|
Сообщений: 4223
Статус: Offline
|
МОЙ ВК - https://vk.com/gospodin_buero
|
|
|
|
|