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

Вопросы

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

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

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

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


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

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

  • 0

@Daniil Roslyakov не рекомендуется добавлять новые данные в таблицу в ее начало, ибо из-за этого придется все остальные сдвигать в низ. Поэтому, пересоздай эту графу но уже в конце таблицы и замени свой паблик этим:

Спойлер

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);
      	cache_get_row(0, 33, adminprefix[playerid], dbHandle, 50); 

        /*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

@DEST все заработало только если префикс не выставлен, то отображается None, как поправить?
 

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;
}

 

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


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

Значит, там где выдается None замени:
adminprefix[playerid] = "\0";

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


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

@Daniil Roslyakov хотя можно просто убрать это и все. 

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


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

@Daniil Roslyakov тебе что нужно сделать? Чтобы если префикса нет ничего не показывалось? Или что? 

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


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

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

Это вроде бы и есть в коде, но не пойму почему не работает

Спойлер

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] = {"Мл.Модератор","Модератор","Ст.Модератор","Мл.Администратор","Администратор","Ст.Администратор","Спец.Администратор","Руководитель"};
	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;
}

 

 

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


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

@Daniil Roslyakov а сейчас если  не выдал префикс что отображается?

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


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

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] = {"Мл.Модератор","Модератор","Ст.Модератор","Мл.Администратор","Администратор","Ст.Администратор","Спец.Администратор","Руководитель"};
	if(strcmp(adminprefix[playerid], "None", true))
	{
		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;
}

 

 

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


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

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] = {"Мл.Модератор","Модератор","Ст.Модератор","Мл.Администратор","Администратор","Ст.Администратор","Спец.Администратор","Руководитель"};
	if(strcmp(adminprefix[playerid], "None", true) != 0)
	{
		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;
}

 

 

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


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

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

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