Если Вы нашли ответ на вопрос, пожалуйста, пометьте необходимый ответ лучшим (галочка сбоку от сообщения) и поблагодарите автора этого ответа поднятием репутации (плюс в нижней правой части сообщения). Спасибо.
Подробнее:
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 пользователей онлайн

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

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

    • Talex
      От Talex
      Всем привет, сливаю первый мод!
      Информация о моде:

      — Основа Gamenix.
      — Мод переведен на Mysql R39, теперь ни каких слётов нет, мод работает стабильно с онлайном 160+.
      — Новый автосалон на TextDraw.
      — Система 3-х автомобилей (1 можно купить по дефолту, 2 и 3 за донат).
      — Автомобили у игроков теперь не пропадают (Id'ы авто сбивались, с номерами теперь тоже всё в порядке).
      — Оформление сервера полностью переработано, теперь оно более красивое.
      — Защита от копирования карты.
      — в меню сервера добавлен пункт визуальных настроек.
      — Номера на транспорт теперь можно приобрести в /donate.
      — Сделан новый красивый спидометр.
      — При получении номера, добавлен выбор региона.
      — Сделана система радаров и промокодов, создание прямо из игры.
      — Новый интерьер казино.
      — Магазин скинов теперь на TextDraw.
      — Автошкола полностью функционирует.
      — Добавлена информация после коннекта о последнем входе в собственный аккаунт.
      — Приватная защита от всех видов DDoS атак и DoS атак.                                                                                                                                    
      — пароль от АП (/alog) теперь у каждого администратора индивидуальный.
      — Изменено оформление самого мода
      Это не все изменения мода, их ещё очень много. все не упомнишь. 
      Автор мода: Неизвестен
      CUNBERS RP 8.4.3.rar