Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Подробно как исправить некоторые Warning и Error Урок 2

Статус
В этой теме нельзя размещать новые ответы.

Founder

Умник
Уверен вам пригодится.
[Waring]
%s- переменная

Переменная - это хранилище данных, куда мы можем записывать
различные данные для их последующего вызова. Тоесть действия с переменными предельно просты: запись информации,вывод и
использование информации. Если присмотрется ближе, то список можно пополнить еще одним пунктом - объявление переменной.
Каждая переменная имеет свое название, чтобы компилятор мог отличить друг от друга переменные, название мы задаем при
объявлении. Оператор объявления переменной - new
​
1)
код:
Код:
warning 219: local variable "%s" shadows a variable at a preceding level
Это значит что переменная дважды объявлена.
Пример:
код:
Код:
new neka;
new neka
Что же нам делать, а вот что:
1) мы можем одну из них удалить;
2) можем изменить;

Но не стоит забывать что при изменении переменной нам нужно заменить все что её касается
вот пример правильного изменения:
код:
Код:
new neka1;
    neka1 = CreatePickup(1239, 2, 1380.3220,-1771.3235,13.5469);
2)
код:
Код:
warning 217: loose indentation
Это значит что код не табулирован(код не построен лесенкой)
Пример:

код:
Код:
stock LSNews(color,const string[])
{
for(new i = 0; i < MAX_PLAYERS; i++){
if(IsPlayerConnected(i)){
if(!lNews[i]){
SendClientMessage(i, color, string);}}}
пример правильного табулирования

код:
Код:
stock LSNews(color,const string[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(!lNews[i])
            {
                SendClientMessage(i, color, string);
            }
        }
    }
}
Что же делать? ответ прост
1) мы можем делать все вручную
2) можем поставить
Код:
#pragma tabsize 0
3) можем с помощи notepad++ все исправить (на форуме есть урок)

pragma tabsize - Он просто маскирует эти warning и не более

3)
код:
Код:
warning 235: public function lacks forward declaration %s
Это означает что у функции нету forward
Пример:
Вы создали паблик
код:
Код:
public lol()
И увас появляется этот варинг что же делать?
ответ прост
добавляем forward
код:
Код:
forward lol();
public lol()
если вы не хотите каждый раз писать forward то можно сделать так:
PHP код:
Код:
#define public:%1(%2) forward %1(%2);
public %1(%2)
и тогда новые паблики мы пишем так
код:
Код:
public:lol()
4)
PHP код:
Код:
warning 216: nested comment ;
Вот так это выглядит
код:
Код:
/*case 458: //Fire&lvl  
исправление 
 код:
case 458: //Fire&lvl
5)
PHP код:
Код:
warning 213: tag mismatch
Это означает не совпадения аргументов
вот допустим самый простой случай:

код:
Код:
#define CreateObject CreateDynamicObject
#define MoveObject MoveDynamicObject
решение простое
PHP код:
Код:
#define CreateObject, CreateDynamicObject
#define MoveObject,  MoveDynamicObject
6)
код:
Код:
warning 201: redefinition of constant/macro
Это означает что в дефайнах(define)
Пример:
PHP код:
Код:
#define OnPlayerEnterRaceCheckpoint
#define OnPlayerEnterRaceCheckpoint
Решение одну из двух удалить!
7)

PHP код:
Код:
warning 200: symbol "%s" is truncated to 31 characters
Это обозначает что мы при создании переменной ввели больше 31 символа
Пример:
код:
Код:
new sssssssssssssssssssssssssssssss;
Решение:
Просто сменить название или укоротить !
8)

код:
Код:
warning 202: number of arguments does not match definition
Это значит что у нас не совпадают аргументы
Возьмем самый простой пример:
PHP код:
Код:
Create3DTextLabel(" ТУт типо текст .",0xFFA500FF,.0120,456.2717,35.1719,20.0);
Наша ошибка содержится здесь:
PHP код:
Код:
-2041.0120,456.2717,35.1719,20.0  
-2041.0120,456.2717,35.1719--------- это на ша координата (она нас не интересует)
20.0--------вот наша ошибка (20----это расстояние с которого наш текст будет виден)
а вот 0 это у нас testLOS- линия видимости
решение простое:
Нам 0 нужно заменить на 1
PHP код:
Код:
Create3DTextLabel(" ТУт типо текст .",0xFFA500FF,1111.1111,111.1111,11.1111,20.1);
9)

код:
Код:
warning 203: symbol is never used: %s
Это означает что данный символ нигде не используется
Пример :
Создадим допустим переменную
Код:
new respon;
И тут у нас возникает вопрос?
код:
Код:
(1578) warning 203: symbol is never used: "respon"
Что же делать?
Ответ прост:
найти эту переменную и удалить
10)
код:
Код:
warning 204: symbol is assigned a value that is never used %s
Это значит что создали переменную и массив а он негде не используется
Пример:
PHP код:
Код:
new blabal[15];
Решения: просто удалить

11)
код:
Код:
warning 209: function "%s" should return a value
Это значит что наша функция не возвращается(простыми словами нету return 1; или return 0
пример:
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) 
{ 
   if (newkeys == 1024) 
   { 
   OnPlayerCommandText(playerid,"/Blablabal"); 
   return 1; <========Вот наш return  ДО
   } 
}
Решения:
код:
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   if (newkeys == 1024)
   {
   OnPlayerCommandText(playerid,"/Blablabal");
   }
   return 1; <========Вот наш return ПОСЛЕ
}
В 3 уроке я расскажу как исправить [Error]​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу