Перейти к содержанию
Авторизация  
Zishka

Нет сохранения патрон (mysql)

Рекомендуемые сообщения

Zishka

Такая вот проблема, когда я беру патроны из склада мафии у меня они берутся, но при этом они не сохраняются в mysql.

	case D_MAFIA+5:
	    {
	        if(!response) return 1;
			new till = 0,newslot;
			if(sscanf(inputtext, "i", till)) return ShowPlayerDialog(playerid, D_MAFIA+5, 1, "{"#cSV"}Взять патроны", "{FFFFFF}Введите количество патронов:", "Принять", "Отмена");
			new i = (PI[playerid][pMember] == TEAM_OPG1) ? (0) : (PI[playerid][pMember] == TEAM_RSM) ? (1) : (2);
			if(till < 0 || till > MafiaPatr[i]) return ShowPlayerDialog(playerid, D_MAFIA+5, 1, "{"#cSV"}Взять патроны", "{FFFFFF}Введите количество патронов:", "Принять", "Отмена");
                        if(CheckMaxVes(playerid,42,till,newslot)==1)return SendClientMessage(playerid,COLOR_GREY,"У вас нет свободного места в инвентаре!");
			PlayerItem1[playerid][newslot]=42;
			PlayerItem2[playerid][newslot]+=till;
			MafiaPatr[i] -= till;
			new Query[56];
			format(Query, sizeof(Query), "UPDATE "T_MAFIA" SET lcnpat=%d,yakpat=%d,rmpat=%d", MafiaPatr[0], MafiaPatr[1], MafiaPatr[2]);
			mysql_tquery(dbHandle, Query, "", "");
			new string[90];
			format(string, 90, "Вы взяли со склада мафии патроны (+%i)", till);
			SendClientMessage(playerid, COLOR_GREEN, string);
			if(PI[playerid][pSex] == 1) format(string, 90, "%s[%d] взял со склада мафии %i патрон", GetName(playerid), playerid, till);
			else format(string, 90, "%s[%d] взяла со склада мафии %i патрон", GetName(playerid), playerid, till);
			format(string, sizeof(string), "UPDATE "T_ACCOUNTS" SET gunamount=%d,patron=%d WHERE id=%d", PI[playerid][pGunAmount], PI[playerid][pPatron], PI[playerid][pID]);
	    	        mysql_tquery(dbHandle, string, "", "");
			SendFMes(PI[playerid][pMember], COLOR_YELLOW2, string);
			SaveItem(playerid,newslot);
			return 1;
	    }
Изменено пользователем Zishka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#GOBLIN

Сохранение на " till ", не вижу.

Попробуй в бд записывать till кол-во патронов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

@#GOBLIN, Простите, пожалуйста, но я хоть и давненько с Mysql работаю, но всё еще мало понимаю. Как это сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#GOBLIN

@Zishka,format(string, sizeof(string), "UPDATE "T_ACCOUNTS" SET gunamount=%d,patron=%d WHERE id=%d", PI[playerid][pGunAmount], till, PI[playerid][pID]);

mysql_tquery(dbHandle, string, "", "");

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

@#GOBLIN,Вот теперь какой краш

C:\Users\Данил\Desktop\JRP\gamemodes\JRP.pwn(13989) : error 017: undefined symbol "till"
Изменено пользователем Zishka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

логи MySQL дай.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka
	case D_GANG+5:
	    {
	        if(!response) return 1;
			new till = 0, newslot;
			if(sscanf(inputtext, "i", till)) return ShowPlayerDialog(playerid, D_GANG+5, 1, "{"#cSV"}Взять патроны", "{FFFFFF}Введите количество патронов:", "Принять", "Отмена");
			new i = (PI[playerid][pMember] == TEAM_GROOVE) ? (0) : (PI[playerid][pMember] == TEAM_BALLAS) ? (1) : (PI[playerid][pMember] == TEAM_RIFA) ? (2) : (PI[playerid][pMember] == TEAM_OPGTEST2) ? (3) : (4);
			if(till < 0 || till > GangPatr[i]) return ShowPlayerDialog(playerid, D_GANG+5, 1, "{"#cSV"}Взять патроны", "{FFFFFF}Введите количество патронов:", "Принять", "Отмена");
			if(CheckMaxVes(playerid,42,till,newslot)==1)return SendClientMessage(playerid,COLOR_GREY,"У вас нет свободного места в инвентаре!");
			PlayerItem1[playerid][newslot]=42;
			PlayerItem2[playerid][newslot]+=till;
			GangPatr[i] -= till;
			new Query[91];
			format(Query, sizeof(Query), "UPDATE "T_GANG" SET grovepat=%d,ballaspat=%d,rifapat=%d,aztecpat=%d,vagospat=%d", GangPatr[0], GangPatr[1], GangPatr[2], GangPatr[3], GangPatr[4]);
			mysql_tquery(dbHandle, Query, "", "");
			new string[90];
			format(string, 90, "Вы взяли со склада банды патроны (+%i)", till);
			SendClientMessage(playerid, COLOR_GREEN, string);
			if(PI[playerid][pSex] == 1) format(string, 90, "%s[%d] взял со склада банды %i патрон", GetName(playerid), playerid, till);
			else format(string, 90, "%s[%d] взяла со склада банды %i патрон", GetName(playerid), playerid, till);
			SendFMes(PI[playerid][pMember], COLOR_YELLOW2, string);
			format(string, sizeof(string), "UPDATE "T_ACCOUNTS" SET gunamount=%d,patron=%d WHERE id=%d", PI[playerid][pGunAmount], PI[playerid][pID]);
                        mysql_tquery(dbHandle, string, "", "");
			SaveItem(playerid,newslot);
			return 1;
	    }

Прошу прощения, не тут код кинул в начале. Вот тут у меня не сохраняются патроны в бд

@SCRIPTMAN,

[16:07:14] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
[16:13:23] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Изменено пользователем Zishka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

Сделай так: Player[playerid][pPatron] += число; и под себя подстрой

P.S: Ребят, так просто написал потому что в ВК помог ему :)
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.