Question

Приветствую всех форумчан. Недавно столкнулся с проблемой, а именно...
 

Спойлер

c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(159) : error 003: declaration of a local variable must appear in a compound block
c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(159) : error 017: undefined symbol "string"
c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(159) : warning 215: expression has no effect
c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(159) : error 001: expected token: ";", but found "]"
c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(159) : fatal error 107: too many error messages on one line

Спойлер
stock ShowRegistration(playerid)
{
    if(!IsPlayerConnected(playerid))
    new string[400]; << тут ошибка
    format(string, sizeof(string),
    "Приветствуем тебя, {"COLOR_VERSHINA"}%s! Добро пожаловать на "SERVER_NAME"!\n\
    Ваш аккаунт не зарегистрирован на нашем сервере.\n\
    Для игры на нашем сервере вам необходимо пройти регистрацию.\n\
    Придумайте надёжный пароль для вашего будущего аккаунта.\n\
    {00416a}\t• Пароль должен быть от 6-ми до 16-ти символов.\n\
    \t• Пароль должен состоять только из чисел и латинских символов любого регистра."
    pName(playerid),
    SPD(playerid, D_REG, DIALOG_STYLE_PASSWORD, "{"COLOR_VERSHINA"}Регистрация", string, "Далее","Отмена");
}
Прошу срочной помощи :3

Share this post


Link to post

3 answers to this question

  • 0

@heazych, после условных операторов (и ряда других, но в данный момент это неважно) вы можете либо выполнить одну какую-нибудь команду (операцию), либо поставить фигурные и выполнить несколько команд. Поэтому в вашем случае правильными будут два решения:

 

Спойлер

stock ShowRegistration(playerid)
{
	if(!IsPlayerConnected(playerid)) return 0; // но можно и не писать ноль
	
	new string[400];
	format(string, sizeof(string),
	"Приветствуем тебя, {"COLOR_VERSHINA"}%s! Добро пожаловать на "SERVER_NAME"!\n\
	Ваш аккаунт не зарегистрирован на нашем сервере.\n\
	Для игры на нашем сервере вам необходимо пройти регистрацию.\n\
	Придумайте надёжный пароль для вашего будущего аккаунта.\n\
	{00416a}\t Пароль должен быть от 6-ми до 16-ти символов.\n\
	\t Пароль должен состоять только из чисел и латинских символов любого регистра.", 
	pName(playerid));
	SPD(playerid, D_REG, DIALOG_STYLE_PASSWORD, "{"COLOR_VERSHINA"}Регистрация", string, "Далее","Отмена");
}

 

Спойлер

stock ShowRegistration(playerid)
{
	if(IsPlayerConnected(playerid)) {	
		new string[400];
		format(string, sizeof(string),
		"Приветствуем тебя, {"COLOR_VERSHINA"}%s! Добро пожаловать на "SERVER_NAME"!\n\
		Ваш аккаунт не зарегистрирован на нашем сервере.\n\
		Для игры на нашем сервере вам необходимо пройти регистрацию.\n\
		Придумайте надёжный пароль для вашего будущего аккаунта.\n\
		{00416a}\t Пароль должен быть от 6-ми до 16-ти символов.\n\
		\t Пароль должен состоять только из чисел и латинских символов любого регистра.", 
		pName(playerid));
		SPD(playerid, D_REG, DIALOG_STYLE_PASSWORD, "{"COLOR_VERSHINA"}Регистрация", string, "Далее","Отмена");
	}
}

 

 

Плюс к предыдущему сообщению, обратите внимание, что при использовании функции format у вас было 3 открывающихся скобки и 2 закрывающихся, а также отсутствовала точка с запятой в конце команды вызова функции format. В приложенных мною выше двух вариантах проблема с этим исправлена.

Share this post


Link to post
  • 0

@heazych, у вас после условного оператора нет никаких действий.

 

    if(!IsPlayerConnected(playerid))

Вероятно, должно быть так:

Спойлер

stock ShowRegistration(playerid)
{
	if(!IsPlayerConnected(playerid)) {
		return;
	}
	
	new string[400];
	format(string, sizeof(string),
	"Приветствуем тебя, {"COLOR_VERSHINA"}%s! Добро пожаловать на "SERVER_NAME"!\n\
	Ваш аккаунт не зарегистрирован на нашем сервере.\n\
	Для игры на нашем сервере вам необходимо пройти регистрацию.\n\
	Придумайте надёжный пароль для вашего будущего аккаунта.\n\
	{00416a}\t Пароль должен быть от 6-ми до 16-ти символов.\n\
	\t Пароль должен состоять только из чисел и латинских символов любого регистра.", 
	pName(playerid),
	SPD(playerid, D_REG, DIALOG_STYLE_PASSWORD, "{"COLOR_VERSHINA"}Регистрация", string, "Далее","Отмена");
}

 

 

:3

Share this post


Link to post
  • 0

@Jawn, проблему с string решил. Но появились следующие ошибки...

Спойлер

c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(161 -- 167) : error 001: expected token: "-string end-", but found "-identifier-"
c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(167) : warning 215: expression has no effect
c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(167) : error 001: expected token: ";", but found "-string-"
c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(167) : warning 215: expression has no effect
c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(167 -- 168) : warning 215: expression has no effect
c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(168) : error 001: expected token: ";", but found ")"
c:\Users\heazy\Desktop\Vershina\mod\gamemodes\vrp.pwn(168) : fatal error 107: too many error messages on one line


 

Спойлер
stock ShowRegistration(playerid)
{
    if(!IsPlayerConnected(playerid)) return 1;
    {
        new string[400];
        format(string, sizeof(string), - 161 строка
        "Приветствуем тебя, {"COLOR_VERSHINA"}%s! Добро пожаловать на "SERVER_NAME"!\n\
        Ваш аккаунт не зарегистрирован на нашем сервере.\n\
        Для игры на нашем сервере вам необходимо пройти регистрацию.\n\
        Придумайте надёжный пароль для вашего будущего аккаунта.\n\
        {00416a}\t• Пароль должен быть от 6-ми до 16-ти символов.\n\
        \t• Пароль должен состоять только из чисел и латинских символов любого регистра.", - 167 строка
        pName(playerid)); - 168 строка
        SPD(playerid, D_REG, DIALOG_STYLE_PASSWORD, "{"COLOR_VERSHINA"}Регистрация", string, "Далее","Отмена");
    }
}

 

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

    • Kutuzov
      By Kutuzov
      Всем привет, хотелось бы спросить у тех, кто разбирается в PluginSDK.
      Какие есть источники, руководства, документации о PluginSDK?
      Я пока что ничего нормального не нахожу.
      Заранее спасибо