Если Вы нашли ответ на вопрос, пожалуйста, пометьте необходимый ответ лучшим (галочка сбоку от сообщения) и поблагодарите автора этого ответа поднятием репутации (плюс в нижней правой части сообщения). Спасибо.
Подробнее:
FAQ по форуму
Как пометить ответ лучшим

Вопросы

Помогите разобраться с данной х...ней
 

format(string, sizeof(string), "SELECT `password` FROM `users` WHERE `username` = '%s'", PI[params[0]][pName], params[1]);

не пойму что за что отвечает

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


Ссылка на сообщение

40 ответов на этот вопрос

  • 0

@Daniil Roslyakov Выделить графу пароль из базы данных пользователей, где имя пользователя равно %s

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


Ссылка на сообщение
  • 0

@Daniil Roslyakov SELECT - выделить, INSERT - добавить, UPDATE - обновить. Подробней, в интернете. 

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


Ссылка на сообщение
  • 0

@Daniil Roslyakov чего прописывать? Точнее выражайтесь

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


Ссылка на сообщение
  • 0

@Daniil Roslyakov чего в столбик прописать? Данные изменить что ли? 

UPDATE `accounts` SET `password` = '%0' WHERE `name` = '%1'
//вместо %0 - новый пароль, вместо %1 - ник

 

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


Ссылка на сообщение
  • 0

@DEST ну да, что бы можно было изменить и использовать при заходе без изменения

 

Спойлер

CREATE TABLE IF NOT EXISTS `admin` (
  `name` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `prefix` varchar(32) NOT NULL DEFAULT 'None',
  `prefixac` int(2) NOT NULL,
  `level` int(2) NOT NULL,
  `password` varchar(32) NOT NULL DEFAULT 'qwerty',
  `last_connect` varchar(20) NOT NULL,
  `put_admin` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `data` varchar(20) NOT NULL,
  `a_goto` int(1) NOT NULL,
  `a_gethere` int(1) NOT NULL,
  `a_spec` int(1) NOT NULL,
  `online_monday` int(11) NOT NULL,
  `online_tuesday` int(11) NOT NULL,
  `online_wednesday` int(11) NOT NULL,
  `online_thursday` int(11) NOT NULL,
  `online_friday` int(11) NOT NULL,
  `online_saturday` int(11) NOT NULL,
  `online_sunday` int(11) NOT NULL,
  `kicked` int(11) NOT NULL DEFAULT '0',
  `kicked_reason` varchar(32) NOT NULL DEFAULT 'None',
  `skicked` int(11) NOT NULL DEFAULT '0',
  `warned` int(11) NOT NULL DEFAULT '0',
  `warned_reason` varchar(32) NOT NULL DEFAULT 'None',
  `offwarned` int(11) NOT NULL DEFAULT '0',
  `offwarned_reason` varchar(32) NOT NULL DEFAULT 'None',
  `baned` int(11) NOT NULL DEFAULT '0',
  `baned_reason` varchar(32) NOT NULL DEFAULT 'None',
  `offbaned` int(11) NOT NULL DEFAULT '0',
  `offbaned_reason` varchar(32) NOT NULL DEFAULT 'None',
  `muted` int(11) NOT NULL DEFAULT '0',
  `muted_reason` varchar(32) NOT NULL DEFAULT 'None',
  `ansed` int(11) NOT NULL DEFAULT '0',
  `ansed_text` varchar(64) NOT NULL DEFAULT 'None',
  `awarn` int(11) NOT NULL DEFAULT '0',
  `onlineday` int(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 



 

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


Ссылка на сообщение
  • 0

@Daniil Roslyakov скажи конкретно что тебе нужно сделать, простыми словами. Я так ничего не пойму. 

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


Ссылка на сообщение
  • 0

@DEST Надо сделать что бы можно было в админ чате отображался префикс, но после перезахода он исчезает, многие говорят что можно сделать через MYSQL, но не понимаю как это сделать

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


Ссылка на сообщение
  • 0

@Daniil Roslyakov ммм, а загрузка есть? Сохранение?

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


Ссылка на сообщение
  • 0

@Remmi_Feed нету самого то что должно входить в бд и записавать эту фигню, а так в структуре это прописанно 

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


Ссылка на сообщение
  • 0

@Daniil Roslyakov примерно так: 

UPDATE `accounts` SET `prefix` = '%d' WHERE `name` = '%s'

Если столб называется не prefix то изменить на свою, если выдается не цифрой то меняем на %s.

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


Ссылка на сообщение
  • 0

@Daniil Roslyakov 

UPDATE `accounts` SET `admin` = '%d' WHERE `name` = '%s'

 

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


Ссылка на сообщение
  • 0

@Remmi_Feed а как сделать установку саму префикса? и я не конца понимаю куда это так как префикс пока что по сисме только в админ чате

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


Ссылка на сообщение
  • 0

@Daniil Roslyakov если я правильно понял то префикс закреплен за определенным уровнем администрации. То есть в чате администрации будет писать: вместо: 1 уровень админки - Младший администратор.

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


Ссылка на сообщение
  • 0

@Remmi_Feed Надо выдавать префикс и он должен отображаться, но после перезахода он слетает и не понимаю как проделать фишку эту с БД

 

Спойлер

CMD:setprefix(playerid, params[])
{
//	new string[180];
    if(PI[playerid][pAdmin] < 8) return true;
    if(sscanf(params,"ds[100]",params[0],params[1])) return SCM(playerid,COLOR_GREEN,"• {66CC00}[ Подсказка ] {ffffff}Введите: /setprefix [id] [префикс]");
    new fstring[400];
    format(fstring, sizeof(fstring), "Вы выдали администратору %s префикс %s", PI[params[0]][pName], params[1]);
    SCM(playerid, 0xFFCC00FF, fstring);
    adminprefix[params[0]][0] = EOS;
    return true;
}

CMD:a(playerid,params[])
{
	if(PI[playerid][pAdmin] < 1) return 1;
	else if(AdminLogged[playerid] == false) return SCM(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
	else if(isnull(params)) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /a [текст]");
	else if(TextReset[playerid] > gettime() && GetString(OldMessage[playerid], params[0])) return SCM(playerid, COLOR_GREY, "Не флуди");
	new string[128];
	static const Admin_Names[8][32] = {"Мл.Модератор","Модератор","Ст.Модератор","Мл.Администратор","Администратор","Ст.Администратор","Спец.Администратор","Руководитель"};
	//format(string, sizeof(string), "[A] %s %s [%d]: %s", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid, params[0]);
	if(strlen(adminprefix[playerid]))
	{
		format(string, sizeof(string), "[A] [%s] %s[%d]: %s", adminprefix[playerid][0], GetName(playerid), playerid, params[0]); //tyt
		SendAdminMessage(COLOR_LIME, string);
		SetString(OldMessage[playerid], params[0]);
		TextReset[playerid] = gettime()+3;
		SendLog("Adminlog",string);
	}
	else
	{
		format(string, sizeof(string), "[A] %d %s[%d]: %s", Admin_Names[PI[playerid][pAdmin]], GetName(playerid), playerid, params[0]);
		SendAdminMessage(COLOR_LIME, string);
		SetString(OldMessage[playerid], params[0]);
		TextReset[playerid] = gettime()+3;
		SendLog("Adminlog",string);
	}
	return 1;
}

 

wQKeJIU.jpg

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


Ссылка на сообщение
  • 0

@Daniil Roslyakov Понял, значит за это отвечает не admin а другая строка. Покажите саму команду

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


Ссылка на сообщение
  • 0

@Remmi_Feed есть setprefix (кмд и /a где используется)

 

Спойлер

CREATE TABLE IF NOT EXISTS `admin` (
  `name` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `prefix` varchar(32) NOT NULL DEFAULT 'None',
  `level` int(2) NOT NULL,
  `password` varchar(32) NOT NULL DEFAULT 'qwerty',
  `last_connect` varchar(20) NOT NULL,
  `put_admin` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `data` varchar(20) NOT NULL,
  `a_goto` int(1) NOT NULL,
  `a_gethere` int(1) NOT NULL,
  `a_spec` int(1) NOT NULL,
  `online_monday` int(11) NOT NULL,
  `online_tuesday` int(11) NOT NULL,
  `online_wednesday` int(11) NOT NULL,
  `online_thursday` int(11) NOT NULL,
  `online_friday` int(11) NOT NULL,
  `online_saturday` int(11) NOT NULL,
  `online_sunday` int(11) NOT NULL,
  `kicked` int(11) NOT NULL DEFAULT '0',
  `kicked_reason` varchar(32) NOT NULL DEFAULT 'None',
  `skicked` int(11) NOT NULL DEFAULT '0',
  `warned` int(11) NOT NULL DEFAULT '0',
  `warned_reason` varchar(32) NOT NULL DEFAULT 'None',
  `offwarned` int(11) NOT NULL DEFAULT '0',
  `offwarned_reason` varchar(32) NOT NULL DEFAULT 'None',
  `baned` int(11) NOT NULL DEFAULT '0',
  `baned_reason` varchar(32) NOT NULL DEFAULT 'None',
  `offbaned` int(11) NOT NULL DEFAULT '0',
  `offbaned_reason` varchar(32) NOT NULL DEFAULT 'None',
  `muted` int(11) NOT NULL DEFAULT '0',
  `muted_reason` varchar(32) NOT NULL DEFAULT 'None',
  `ansed` int(11) NOT NULL DEFAULT '0',
  `ansed_text` varchar(64) NOT NULL DEFAULT 'None',
  `awarn` int(11) NOT NULL DEFAULT '0',
  `onlineday` int(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

 

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


Ссылка на сообщение
  • 0

Добавьте в команду /setprefix

UPDATE `admin` SET `prefix` = '%s' WHERE `name` = '%s'

@Daniil Roslyakov 

Отредактировано пользователем Remmi_Feed

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


Ссылка на сообщение
  • 0

@Daniil Roslyakov @Remmi_Feed 

new str[50+24+32]; 
format(str, sizeof str, "UPDATE `admin` SET `prefix` = '%s' WHERE `name` = '%s'", params[1], PI[params[0]][pName]); 
/* если mysql r-39:*/ mysql_function_query(dbHandle, str, false, "", "");
/* если mysql r-41:*/ mysql_tquery(dbHandle, str, "", "");
dbHandle заменить на свою переменную подключения из базы

Чтобы при загрузке выдавалось, скидывай паблик, отвечающий за загрузку админ акков. 
 

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


Ссылка на сообщение
  • 0

@DEST 

Спойлер

forward AloginAuth(playerid, inputtext[]);
public AloginAuth(playerid, inputtext[])
{
	new rows, fields;
    cache_get_data(rows, fields);
    if(!rows)
    {
        SCM(playerid, COLOR_GREY, "[Ошибка] Неверный пароль");
        SetPVarInt(playerid, "attempt_pass", GetPVarInt(playerid, "attempt_pass") + 1);
        if(GetPVarInt(playerid, "attempt_pass") > 3)
        {
            DeletePVar(playerid, "attempt_pass");
            return SKick(playerid, 2112);
        }
    }
    else
    {
		if(PI[playerid][pAdmin] < 1) return 1;

        AdminLogged[playerid] = true;
        PI[playerid][pAdmin] = cache_get_row_int(0, 1, dbHandle);
        AdminInfo[playerid][admGoto] = cache_get_row_int(0, 6, dbHandle);
        AdminInfo[playerid][admGethere] = cache_get_row_int(0, 7, dbHandle);
        AdminInfo[playerid][admSpectate] = cache_get_row_int(0, 8, dbHandle);
        AdminInfo[playerid][admKicked] = cache_get_row_int(0, 16, dbHandle);
        cache_get_row(0, 17, AdminInfo[playerid][admKickedReason], dbHandle, 32);
        AdminInfo[playerid][admSKicked] = cache_get_row_int(0, 18, dbHandle);
        AdminInfo[playerid][admWarned] = cache_get_row_int(0, 19, dbHandle);
        cache_get_row(0, 20, AdminInfo[playerid][admWarnedReason], dbHandle, 32);
        AdminInfo[playerid][admOffWarned] = cache_get_row_int(0, 21, dbHandle);
        cache_get_row(0, 22, AdminInfo[playerid][admOffWarnedReason], dbHandle, 32);
        AdminInfo[playerid][admBaned] = cache_get_row_int(0, 23, dbHandle);
        cache_get_row(0, 24, AdminInfo[playerid][admBanedReason], dbHandle, 32);
        AdminInfo[playerid][admOffBaned] = cache_get_row_int(0, 25, dbHandle);
        cache_get_row(0, 26, AdminInfo[playerid][admOffBanedReason], dbHandle, 32);
        AdminInfo[playerid][admMuted] = cache_get_row_int(0, 27, dbHandle);
        cache_get_row(0, 28, AdminInfo[playerid][admMutedReason], dbHandle, 32);
        AdminInfo[playerid][admAnsed] = cache_get_row_int(0, 29, dbHandle);
        cache_get_row(0, 30, AdminInfo[playerid][admAnsedText], dbHandle, 64);
        AdminInfo[playerid][admWarns] = cache_get_row_int(0, 31, dbHandle);
        AdminInfo[playerid][admPlayOnline] = cache_get_row_int(0, 32, dbHandle);

        /*new who_load[64];
         format(who_load, sizeof(who_load), "online_%s", getDay());
           cache_get_field_content(0, who_load, AdminInfo[playerid][admPlayOnline]);*/

		new string[256];
 		static const Admin_Names[8][32] = {"{33FF33}Мл.Модератор","{33FF33}Модератор","{33FF33}Ст.Модератор","{6666CC}Мл.Администратор","{6666CC}Администратор","{6666CC}Ст.Администратор","{FFFF00}Заместитель","{FF0000}Руководитель"};
  		if(PI[playerid][pSex] == 1 && PI[playerid][pAdmin] != 8) format(string, sizeof(string), "[A] %s %s[%i] вошёл в систему администратирования", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid),SendAdminMessage(COLOR_GREY, string);
   		else if(PI[playerid][pSex] == 2 && PI[playerid][pAdmin] != 8)  format(string, sizeof(string), "[A] %s {FFFFFF}%s[%i] вошла в систему администратирования", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid),SendAdminMessage(COLOR_GREY, string);

		new str[33];
		format(str, sizeof(str), "%s", Admin_Names[PI[playerid][pAdmin]-1]);
		AdminRang[playerid] = Create3DTextLabel(str, -1, 0.0, 0.0, 0.0, 30.0, 0, 0);
		Attach3DTextLabelToPlayer(AdminRang[playerid], playerid, 0.0, 0.0, 0.3);

		new Query[156];
		format(Query, sizeof(Query), "UPDATE "T_ADMIN" SET `last_connect` = CURDATE() WHERE `name` = '%s' LIMIT 1",GetName(playerid));
		mysql_tquery(dbHandle, Query, "", "");
		MysqlUpdatePlayerInt(playerid, "admin", PI[playerid][pAdmin]);

	 	if(AdminInfo[playerid][admWarns] >= 3 && PI[playerid][pAdmin] < 8)
        {
          PI[playerid][pAdmin] --,AdminInfo[playerid][admWarns] = 0;
          switch(PI[playerid][pAdmin])
          {
        case 0,1:
        {
          f(string,"[A] Администратор %s[%d] был снят. Причина: 3 выговора");
          SCM(playerid,COLOR_WHITE,"Вы были сняты по причине 3-ёх выговоров.");
		  RemoveAdmin(playerid, GetName(playerid));
  		}
    	default:
      	{
		  f(string,"[A] Администратор %s[%d] был понижен до %d-ого уровня. Причина: 3 выговора",PI[playerid][pName],playerid,PI[playerid][pAdmin]);
		  SCM(playerid,COLOR_WHITE,"Вы были понижены по причине 3-ёх выговоров! Больше не нарушайте админ.правил!");
      	}
  		}
		  SendAdminMessage(COLOR_GREY, string);
		}
    }
    return 1;
}

 

 

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


Ссылка на сообщение
  • 0

@Daniil Roslyakov prefix в структуру таблицы ты сам добавлял или там было изначально? 

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


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

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

  • Похожий контент

    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };