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

Question

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

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

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

Share this post


Link to post

40 answers to this question

  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

@DEST Простите, как прописать в столбик правильно, где пароль и т.д (accaunts)

Share this post


Link to post
  • 0

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

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

 

Share this post


Link to post
  • 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;

 



 

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

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

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

Share this post


Link to post
  • 0

@Daniil Roslyakov 

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

 

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 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;

 

 

Share this post


Link to post
  • 0

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

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

@Daniil Roslyakov 

Edited by Remmi_Feed

Share this post


Link to post
  • 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 заменить на свою переменную подключения из базы

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

Share this post


Link to post
  • 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;
}

 

 

Share this post


Link to post
  • 0

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

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Danila_Fazz
      By Danila_Fazz
      что делать если место 3д номеров знак вопроса крмп
       
    • MaximumHot
      By MaximumHot
      *Проект в разработке*

      Maximum Russia — онлайн игра про Криминальную Россию (CRMP) в твоём компьютере.
      Нами создан реалистичный мир, где Вы встретите Автомобили со своих улиц, Известных персонажей, Реалистичные работы и группировки, а также многое другое.
       
      Наши преимущества? - Сайт, Форум, лаунчер, FULL RolePlay.

      *Кто хочет в Beta-Test, пишите - ВК*

      Сайт

      ВК
       
      ТГ
    • MaximumHot
      By MaximumHot
      Здравствуйте, я основатель одного проекта(проект). Когда игрок умирает, он спавниться в больнице(Так и должно быть),но после этого его отключает от сервера(Кикает). Помогите пожалуйста решить проблему. 
      Mode.pwn