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

Вопросы

Гость
Новичок

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

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

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

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


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

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

  • 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
Гость
Новичок

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

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


Ссылка на сообщение
  • 0
Гость
Новичок

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

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


Ссылка на сообщение
  • 0
DreamHarakiri
React разработчик

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

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

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

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


Ссылка на сообщение
  • 0
Гость
Новичок

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

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


Ссылка на сообщение
  • 0
DreamHarakiri
React разработчик

@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
Гость
Новичок

@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
DreamHarakiri
React разработчик

Добавьте в команду /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 пользователей онлайн

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

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

    • Дебилойд
      От Дебилойд
      Здравствуйте!
      Мы ищем талантливого 3D-моделлера в команду нашего CRMP-проекта!
      Что нужно будет делать:
      Моделировать и адаптировать автомобили.
      Создавать и настраивать скины (модели персонажей).
      Большим плюсом будет:
      Умение создавать качественные и оптимизированные интерьеры.
      Если вы хотите стать частью нашей команды и развивать проект вместе с нами, пишите в ЛС. Ждем ваши портфолио!
    • LORDIKUS
      От LORDIKUS
      Уважаемые участники форума - всех приветствую, кто перешел в беседу моей темы обсуждения. В настоящее время у меня зарождается огромное желание и мысль создать собственный CR:MP проект, но столкнулся с единственной проблемой - с отсутствием команды людей, у которых будет искреннее желание ежедневно вкладывать свой труд на разработку проекта. Особого опыта в скриптинге, маппинге, дизайне или в моделировании у меня не имеется, поэтому такой критерий как опыт в определенной сфере для желающих вступить в команду я не рассматриваю. Так как проект не открыт и находится на начальной стадии создания, мое сотрудничество выстраивается на некоммерческой основе (без выплаты за проделанную работу и труд), однако я не собираюсь отрицать высокую ценность вложенного командой труд — труд, особенно на первой стадии разработки я рассматриваю превыше всего. После открытия проекта в зависимости от коммерции и чистой прибыли каждый участник будет получать настоящую выплату, однако это также может убить еще значительное время. Мне нужна команда, которая проявит искренний интерес в создании общего между командой CR:MP проекта, пожертвует свое время, а также вложит собственный труд благодаря заработанным навыкам. Если вас заинтересовала данная тема обсуждения, пожалуйста, свяжитесь со мной по любым возможным и удобным для вас контактам связи ниже. Спасибо всем, кто зашел в мою беседу!

      🔗 Спец. Связь:
      — DISCORD: https://discord.com/users/1452715348196589691 (перейти по ссылке и добавить в друзья) ИЛИ _shin833_ (ввести никнейм и отправить запрос дружбы)
      — VK: https://vk.com/shin833
      — TG: https://t.me/s_hin833
    • Korochansky
      От Korochansky
      Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

      В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
      Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
       
      Полнофункциональный локальный Git: 
      Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
      Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
       
      Чистый UTF-8 (без BOM): 
      Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
      Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
       
      История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
       
      Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
       
      Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
       
      И многое другое...
       
      И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
      Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
    • KodBi
      От KodBi
      шапка
      по одиночке работают
      нужны оба