Question

Варнинг:

 warning 213: tag mismatch

Строки:
 

CMD:changeskin(playerid,params[])
{
	if(!Player[playerid][Leader])
		return SendClientMessage(playerid, COLOR_RED, "[Ошибка] Вы не являетесь лидером!");
  	if(sscanf(params, "id", playerid))
		return SendClientMessage(playerid, COLOR_RED, "[!] Используйте /changeskin [id игрока]");
  	if(!IsPlayerConnected(params[0]))
		return SendClientMessage(playerid, COLOR_RED, "[Ошибка] Неверный ID игрока");
  	if(Player[params[0]][Member] != Player[playerid][Member])
		return SendClientMessage(playerid,COLOR_RED, "Игрок не состоит в вашей организации");
    if(Player[playerid][Leader])
/*ошиб*/return ShowPlayerDialog(playerid, dSkin, DIALOG_STYLE_LIST, "{0A71E6}Выберите скин", "[1] ID 1\n[2]ID 2\n[3] ID 3\n[4] ID 4\n[5] ID 5", "Выбрать", "Отмена");
	return 1;
}

Буду благодарен за помощь

Share this post


Link to post
Share on other sites

6 answers to this question

  • 0

@daltwb, еще один вариант. Правда, думаю, вам в первую очередь с ним будет неудобно:

enum DIALOGS {
	DIALOG_1 = 0,
	DIALOG_2
};

ShowPlayerDialog(playerid, DIALOGS:DIALOG_1, DIALOG_STYLE_MSGBOX, "Название", "Текст", "Кнопка1", "Кнопка2");

 

Share this post


Link to post
Share on other sites
  • 0

@daltwb, поправил аргументы в sscanf, пересмотрите (иначе бы от вас требовался ввод двух параметров, хотя предполагается один). А насчет ошибки, если этот вариант не поможет, то скажите, как объявлено dSkin (если в перечислении, то само перечисление (лишние пункты можно убрать), если макрос, то его):

CMD:changeskin(playerid,params[])
{
	if(!Player[playerid][Leader])
		return SendClientMessage(playerid, COLOR_RED, "[Ошибка] Вы не являетесь лидером!");
  	if(sscanf(params, "u", playerid))
		return SendClientMessage(playerid, COLOR_RED, "[!] Используйте /changeskin [id игрока]");
  	if(params[0] == INVALID_PLAYER_ID)
		return SendClientMessage(playerid, COLOR_RED, "[Ошибка] Неверный ID игрока");
  	if(Player[params[0]][Member] != Player[playerid][Member])
		return SendClientMessage(playerid,COLOR_RED, "Игрок не состоит в вашей организации");

	ShowPlayerDialog(playerid, dSkin, DIALOG_STYLE_LIST, "{0A71E6}Выберите скин", "[1] ID 1\n[2]ID 2\n[3] ID 3\n[4] ID 4\n[5] ID 5", "Выбрать", "Отмена");
	return 1;
}

 

Share this post


Link to post
Share on other sites
  • 0

@odosenok dSkin у меня в енуме, т.е.
 

enum DIALOGS
{
	dSkin
}

 

Share this post


Link to post
Share on other sites
  • 0

@daltwb, чтобы не лезть в стандартные библиотеки SAMP, просто удалите название перечисления:

enum
{
	dSkin
};

P.s. в pawn не обязательна постановка точки с запятой после перечисления (enum) - вероятно, баг. Однако, для эстетического вида все же советую вам ставить эту точку с запятой. Ведь так принято.

Share this post


Link to post
Share on other sites
  • 0

@odosenok Спасибо! Изменил.
Компиляция прошла успешно.

Share this post


Link to post
Share on other sites
  • 0

@odosenok Буду знать что такой вариант тоже есть, еще раз спасибо

Заметка от Cawfee , создано

Если вопрос разрешен, пожалуйста, закройте свою тему (как это сделать?). В любой момент вы можете попросить открыть ее вновь в случае необходимости. Если же вопрос на данный момент еще не разрешен (либо вы не уверены, что все хорошо работает), можете закрыть тему и позже.

Share this post


Link to post
Share on other sites
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

    • zerolora
      By zerolora
      Всем привет, помогите пожалуйста разобраться. Что за беда с командой. Младшие ранги могут банить основателей на раз-два. Хотя в команде вроде как есть защита FD
       
      CMD:ban(playerid, params[]) {     if(PI[playerid][pAdmin] < 3) return SCM(playerid, COLOR_RED, NO_DOSTUP_TEXT);     if(!ADuty{playerid}) return callcmd::apanel(playerid);     static id, days, reason[30];     if(sscanf(params, "uds[30]", id, days, reason)) return SCM(playerid, COLOR_RED, !"Используй: /ban [id] [days 1-30] [Причина]");     if(id == INVALID_PLAYER_ID) return 0;     if(GetString(PN(id), ""FULL_FD"") && !GetString(PN(id), ""FULL_FD2"")) return SCM(playerid, COLOR_RED, "Нельзя забанить создателя");     if(strlen(reason) > 30) return SCM(playerid, COLOR_RED, !"Не больше 30 символов!");     if(IsAIP(reason)) return 1;     if(CheckIsADomen(playerid, reason)) return 1;     if(!(1 <= days <= 30)) return SCM(playerid, COLOR_RED, !"Используй: /ban [id] [days 1-30] [Причина]");     if(id == playerid) return SCM(playerid, COLOR_GREY, !"Вы не можете выдать наказание самому себе!");     ASCMToAllf(COLOR_LIGHTRED, "Администратор %s[%i] забанил игрока %s[%i] на %i дней. Причина: %s", PN(playerid), playerid, PN(id), id, days, reason);     AntiReAction(playerid);     SPDf(id, 0, DIALOG_STYLE_MSGBOX, !"", !"Закрыть", !"", !"Вы получили бан аккаунта, если вы не согласны с решением Администратора, то напишите жалобу на форум, приложив данный скриншот.\n{2D8E35}%s", ServerCFG[server_forum]);     UpdatePlayerDataInt(id, "Warns", 0);     BanName(PN(id), PN(playerid), days, reason);     PI[playerid][pReputation] += 5;     UpdatePlayerDataInt(playerid, "Reputation", PI[playerid][pReputation]);     //  aml(8, playerid, PN(id), reason, days);     str_1[0] = EOS, f(str_1, sizeof(str_1), "%s[%i] забанил игрока %s[%i] на %i дней. Причина: %s", PN(playerid), playerid, PN(id), id, days, reason);     SavePunish(0, str_1, id);     return J_Kick(id); }