Вопросы

Всем привет! 

Помогите исправить варнинги, пожалуйста :) 

Варнинги:

(29571) : warning 202: number of arguments does not match definition
(29571) : warning 202: number of arguments does not match definition
(29571) : warning 202: number of arguments does not match definition
(29573) : warning 202: number of arguments does not match definition
(29573) : warning 202: number of arguments does not match definition
(29574) : warning 202: number of arguments does not match definition

 

Код:

        case D_CALL_POLICE:
        {
            if(!response)
                return 1;

            new targetid = strval(inputtext);

            if(!IsPlayerConnected(targetid))
                return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);

            if(PlayerLogged[targetid] == false)
                return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);

            if(!PoliceON[targetid])
                return SendClientMessage(playerid, COLOR_GREY, "Этот игрок не вызывал полицию либо его вызов уже приняли");

            new fraction_rank = PI[playerid][pRank],
				fracrion_id = PI[playerid][pMember];

            foreach(new i: Player)
            {
                if(PlayerLogged[i] == false && !IsACop(i))
                    continue;
				SCM(i, COLOR_YELLOW,"%s %s принял вызов %s",Fraction_Rang[fracrion_id][fraction_rank],GetName(playerid),GetName(targetid));
			}
				SCM(targetid, COLOR_GREEN,"%s %s принял ваш вызов, ждите",Fraction_Rang[fracrion_id][fraction_rank],GetName(playerid));
                SCM(playerid, COLOR_GREEN,"Игрок %s отмечен на карте",GetName(targetid));
                
            new Float:X,
                Float:Y,
                Float:Z;

            GetPlayerPos(targetid, X, Y, Z);
            DisablePlayerRaceCheckpoint(playerid);
            SetPlayerRaceCheckpoint(playerid, 1, X, Y, Z, 0.0, 0.0, 0.0, 5);

            UseGPS[playerid] = true;
            PoliceON[targetid] = false;

            SetPVarInt(targetid, "CallPolice", gettime()+600);
            return 1;
        }
    }
    return 1;
}

 

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


Ссылка на сообщение
Поделиться на другие сайты

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

  • 0

@Nicholson Scaletta  Значит вот:

Спойлер

//Смотри, у нас есть строка - "%s %s принял ваш вызов, ждите" , и нам нужно её отправить, если строка содержит аргументы (%s, %d, %i, %f и тд), то нам нужно форматировать строку.. Для этого исп ф-ии ' format '
//Было 
  SCM(targetid, COLOR_GREEN,"%s %s принял ваш вызов, ждите",Fraction_Rang[fracrion_id][fraction_rank],GetName(playerid));
//Стало
new string[128];
format(string, sizeof(string), "%s %s принял ваш вызов, ждите", Fraction_Rang[fracrion_id][fraction_rank],GetName(playerid) );
SCM(targetid, string);
//Всё очень просто.
//Было
SCM(playerid, COLOR_GREEN,"Игрок %s отмечен на карте",GetName(targetid));
//Стало
new string1[128];
format(string, sizeof(string), "Игрок %s отмечен на карте",GetName(targetid) );
SCM(playerid, string1);
// тобишь format(string,sizeof(string), "текст %s", Name);
string - переменная в которую записываем форма-ую строку
	sizeof(string) - вычисляем, размер переменной, тоесть какой длины можем уместить
  		текст - Это текст, который форматируется
  			Name - это переменная, которая передаётся в ' %s ', то есть вместо %s, будет значение переменной - Name

 

 

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
49 минут назад, Nicholson Scaletta сказал:

SCM(i, COLOR_YELLOW,"%s %s принял вызов %s",Fraction_Rang[fracrion_id][fraction_rank],GetName(playerid),GetName(targetid));

используйте перед этим format для форматированного ввода в строку, а после уже эту строку покажите игроку, т.е. 

new fmt_str[128];

format(fmt_str, sizeof fmt_str, "%s %s принял вызов %s", Fraction_Rang[fracrion_id][fraction_rank],GetName(playerid),GetName(targetid));

SCM(i, COLOR_YELLOW, fmt_str);

 

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

@DEST , 

				SCM(targetid, COLOR_GREEN,"%s %s принял ваш вызов, ждите",Fraction_Rang[fracrion_id][fraction_rank],GetName(playerid));
                SCM(playerid, COLOR_GREEN,"Игрок %s отмечен на карте",GetName(targetid));

С этими строчками тоже самое? На них тоже падает варнинг

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
1 час назад, DEST сказал:

используйте перед этим format для форматированного ввода в строку, а после уже эту строку покажите игроку, т.е. 


new fmt_str[128];

format(fmt_str, sizeof fmt_str, "%s %s принял вызов %s", Fraction_Rang[fracrion_id][fraction_rank],GetName(playerid),GetName(targetid));

SCM(i, COLOR_YELLOW, fmt_str);

				SCM(targetid, COLOR_GREEN,"%s %s принял ваш вызов, ждите",Fraction_Rang[fracrion_id][fraction_rank],GetName(playerid));
                SCM(playerid, COLOR_GREEN,"Игрок %s отмечен на карте",GetName(targetid));

Не могу понять как исправить тут варнинги 

 

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

@Nicholson Scaletta аналогично

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

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

@DEST @Nekit_Krut18 , Спасибо Вам большое :x

Отредактировано пользователем Nicholson Scaletta

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

@Nicholson Scaletta Обращайтесь, всегда рады видеть. Закрывайте тему.

 

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


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

  • Последние посетители   0 пользователей онлайн

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

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

    • Узбек
      От Узбек
      Всем добрый вечер ребят! 
      Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
      Ловите