- Регистрация
- 23 Ноя 2014
- Сообщения
- 127
- Лучшие ответы
- 0
- Репутация
- 3
Здравствуйте. Я создаю систему подразделений как на дрп( не реклама), но у меня возникла проблема. Когда я выбираю определенное подразделение, оно неправильно передается в переменную, а позже, неправильно выгружает из базы данных.
Вот скриншот действия команды:
На первом скриншоте сама команда, на втором я пытался выдать подразделение DD и результат выдало не тот, на третьем и четвертом история такая же.
Вот код команды:
Вот код диалога:
Вот скриншот таблицы подразделений:
Вот скриншот действия команды:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
На первом скриншоте сама команда, на втором я пытался выдать подразделение DD и результат выдало не тот, на третьем и четвертом история такая же.
Вот код команды:
PHP:
CMD:division(playerid,params[])
{
new
id,
DA[7],
DO[32],
string[680],
stringM[90],
organizacia = 1;
if(sscanf(params,"u",id)) return SendClientMessage(playerid, -1,"[Информация] Используйте: /division (ID - игрока/Ник)");
if(!IsPlayerLogged[id]) return false;
SetPVarInt(playerid,"divID",id);
#define orgN PlayerInfo[playerid][pMember]
if(orgN == 1) organizacia = 1;
format(stringM, sizeof(stringM), "SELECT * FROM `divisions` WHERE `IDorg` = '%d' ORDER BY `ID`", organizacia);
new Cache:result = mysql_query(mysql, stringM);
new DN = cache_get_row_count(mysql);
if(DN == 0) return SendClientMessage(playerid, -1,"Подразделений нет");
format(string, sizeof(string), "{FF6347}1.{ffffff} Отсутствие подразделения\n");
for(new i,count; i < DN; i ++)
{
dialog_listitem_values[playerid][count] = cache_get_row_int(i, 0, mysql);
cache_get_row(i, 2, DA, mysql);
cache_get_row(i, 3, DO, mysql);
//dialog_listitem_values[playerid][count] = division_id;
count++;
format(string, sizeof(string), "%s{FF6347}%d. {ffffff}%s %s\n", string,i+2, DO,DA);
}
cache_delete(result, mysql);
if(!ShowPlayerDialogEx(playerid, 9668, 2, "{F2C934}Смена подразделения", string, "Выбор", "Назад"))SendClientMessage(playerid, COLOR_GREY, "Недоступно в данный момент.");
return 1;
}
PHP:
case 9668:
{
if(response)
{
new idDiv[MAX_PLAYERS];
new divIDs = GetPVarInt(playerid,"divID"),
DA[7];
if(listitem == 0) {
SendClientMessage(playerid,-1,"подразделение убрано");
SetString(PlayerInfo[divIDs][Division],"");
}
else
{
idDiv[playerid] = dialog_listitem_values[playerid][listitem];
//new stringM[90];
//format(stringM, sizeof(stringM), "SELECT `DA` FROM `divisions` ORDER BY `ID`");
new Cache:result = mysql_query(mysql, "SELECT `DA` FROM `divisions` ORDER BY `ID`");
cache_get_row(idDiv[playerid],0,DA,mysql);
SetString(PlayerInfo[divIDs][Division],DA);
format(string,sizeof(string),"Вы выдали подразделение %s, ID - %d",DA,idDiv[playerid]);
SendClientMessage(playerid,COLOR_RED,string);
cache_delete(result, mysql);
//format(string,sizeof(string),"дорабатывается. ид выбранного подразделения %d",dialog_listitem_values[playerid][listitem-1]);
//SendClientMessage(playerid,COLOR_RED,string);
}
DeletePVar(playerid,"divID");
}
}
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!