Sign in to follow this  
Followers 0
LilPokemon

Как исправить известные ошибки и варнинги?

5 posts in this topic

Всем доброе времени суток пользователям pawno-rus, сегодня я хочу чуть научить начинающих людей исправлять известные ошибки и варнинги и самые простые, но эти ошибки и варнинги очень часть встречаются. Давайте  начнем. 
warning 219: local variable "string1" shadows a variable at a preceding level
 

Спойлер

new string1[50];
format(string1, sizeof(string1), "Имя: %s", PlayerInfo[playerid][pName]);
SendClientMessage(playerid,-1, string);

На примере у нас варнинг ругается на эту строку. Как же её исправить ? Чтобы его исправить нам достаточно до писать ко всем string1 (_1) или же без разница можно и (_2 и тд...) вот так это будет выгладить:
 

Спойлер

new string1_1[50];
format(string1_1, sizeof(string1_1), "Имя: %s", PlayerInfo[playerid][pName]);
SendClientMessage(playerid,-1, string_1);

Но не забывайте это был пример и ошибки бывают в стоках пабликах и тд... И помните всегда самая первая { -< это начало паблика или же стока} - < а самая последние это конец. 
теперь давайте рассмотрим warning 217: loose indentation. Как же его исправить? Этот варнинг говорит о том что вы не соблюдаете табуляцию в моде примерно вот так выглядит ваш код: 
 

Спойлер

5a09a60f82f54_.png.47e23001438b9ac82c150cef74adf987.png

Как мы видим тут не соблюдена табуляцию. значит нам надо это исправить мы можем выделить весь текс нажать shift + tab и наш текс уедет назад:
 

Спойлер

5a09a688c3286_.png.b6f72169cbc197eb562769d1bd31557a.png

После этого выделить текст и нажать Tab, и вот что у нас получится:

Спойлер

5a09a6e38a389_.png.8d4cd9030dfe1a887c2af85efac04345.png

Мы выравняли полностью строку. Теперь у нас не будет этого варнинга. И всегда старайтесь соблюдать табуляцую!
Давайте рассмотрим такую ошибку как error 017: undefined symbol "PlayerInfo"
Что же означает этот error? Этот error означает что у вас нету переменной или же паблика или сток PlayerInfo, но в моем случаи это переменной так что если вы будете что-то вырезать из другого мода и встретит такой error то вы уже будет значить что из того мода из которого вы вырезали вам нужна искать или же паблик или сток PlayerInfo или же переменную и вставить в свой мод. Но но всегда это бывает успешно по этому вы можете вести в адресную строку названия паблика или же стока или же переменной и вы точно что-то найдете. Если не успешно пишите на форум. 
 fatal error 100: cannot read from file: "mxINI" , что означает эта ошибка? Это ошибка говорит вам о том что в папки pawno\include нету файла mxINI, где найти этот файл? В адресной строке браузера пишите скачать инклуд названия и вы найдете его таким способом. 
Думаю на этом все! Если вы хотите чтобы я по чуть по чуть учил вас исправлять все виды ошибок и варнингов то жмите + тем самым вы скажите мне что вам зашла эта идея. и прошу пользователей форума которые уже знаю как исправлять ошибки скинуть пару ошибок и как их исправлять под этой темой.  


 

Edited by Pikachu

Share this post


Link to post
Share on other sites

А почему только 2 показал и то, изичные. 

Хотя 1 человек пару дней мне написал: "Ты будешь моим репетитором по скриптингу? А то я пока эту табуляцию выучил, 3 дня учил и толком не понял", я так засмеялся, если четно. Так что..

Может и не в тему, но стринга многовато, а потом вылезают превышения. Посоветую просто, поставь стринг не "50", а "30" вполне хватит. Кстати, я не понял, что ты исправляешь? У тебя типа переменная "string1" объявлена дважды, но там все правильно, ты просто дописал ее в показ сообщения, на такое варнинги не лезут, просто текст будет с обычного стринга.

Что-то ты напутал похоже..

Share this post


Link to post
Share on other sites
9 минут назад, SCRIPTMAN сказал:

А почему только 2 показал и то, изичные. 

Хотя 1 человек пару дней мне написал: "Ты будешь моим репетитором по скриптингу? А то я пока эту табуляцию выучил, 3 дня учил и толком не понял", я так засмеялся, если четно. Так что..

Может и не в тему, но стринга многовато, а потом вылезают превышения. Посоветую просто, поставь стринг не "50", а "30" вполне хватит. Кстати, я не понял, что ты исправляешь? У тебя типа переменная "string1" объявлена дважды, но там все правильно, ты просто дописал ее в показ сообщения, на такое варнинги не лезут, просто текст будет с обычного стринга.

Что-то ты напутал похоже..

Какая разница на счёт стринга это был пример я так вообще стринг не использую 

Edited by Pikachu

Share this post


Link to post
Share on other sites

@Pikachu окей, а что ты по ошибкам? Ты вообще не то объяснил..

Share this post


Link to post
Share on other sites

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Готовые решения"

Перемещена в: "Скриптинг PAWN > Уроки"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Скриптинг PAWN > Уроки", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • kekkomomek1941
      By kekkomomek1941
      Всем привет, вот ошибки, понятия не имею как их исправить, кто может - помогите пожалуйста
      arizona.pwn(92829) : error 001: expected token: ";", but found ":"
      arizona.pwn(92829) : error 029: invalid expression, assumed zero
      arizona.pwn(92799) : error 002: only a single statement (or expression) can follow each "case"
      arizona.pwn(92829) : error 014: invalid statement; not in switch
      arizona.pwn(92829) : fatal error 107: too many error messages on one line
      Вот все строчки с ошибками
       
       
    • KenzoSam
      By KenzoSam
      Всем привет,писал код на инвентарь,появились ошибки которые я незнаю как убрать.
      Компилятор:
      C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(39) : warning 201: redefinition of constant/macro (symbol "FOREACH_I_Bot") C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(40) : warning 201: redefinition of constant/macro (symbol "FOREACH_I_Character") C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\brnotification.inc(24) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customhud.inc(83) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customhud.inc(327) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customhud.inc(342) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customhud.inc(398) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customtune.inc(211) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customtune.inc(272) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customtune.inc(721) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(119) : warning 201: redefinition of constant/macro (symbol "M_DIALOG_DialogForPlayer") C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(8763) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(8773) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(9869) : symbol is assigned a value that is never used: "carid" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(10671) : symbol is assigned a value that is never used: "color2" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(10670) : symbol is assigned a value that is never used: "color1" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(10818) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(10816) : symbol is assigned a value that is never used: "job_car" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(13444) : symbol is assigned a value that is never used: "carid" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(13461) : symbol is assigned a value that is never used: "s" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(13946) : symbol is assigned a value that is never used: "randomize" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(14713) : warning 216: nested comment C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25414) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25410) : symbol is assigned a value that is never used: "action_id" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25409) : symbol is assigned a value that is never used: "action_type" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25597) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25595) : symbol is assigned a value that is never used: "action_id" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25594) : symbol is assigned a value that is never used: "action_type" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30735) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30755) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30768) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30824) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30822) : symbol is assigned a value that is never used: "fmt_text" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30850) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30848) : symbol is assigned a value that is never used: "fmt_text" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(34053) : error 017: undefined symbol "playertextid" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(34053) : warning 215: expression has no effect C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(34053) : error 001: expected token: ";", but found "]" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(34053) : error 029: invalid expression, assumed zero C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(34053) : fatal error 107: too many error messages on one line Compilation aborted. Pawn compiler 3.2.3664          Copyright (c) 1997-2016, ITB CompuPhase 4 Errors. Код(только ошибок):
      public OnPlayerClickTextDraw(playerid, Text:clickedid) {     for(new i=0; i < 97; i++)     {         if(playertextid == inv_TD[playerid][i])//34053 на эту стройку пищит         {             if(PlayerInfo[playerid][Inv][i] == 1649)             {                 if(GetPVarInt(playerid, "ClickInv") == -1)                 {                     new id_inv = GetPVarInt(playerid, "ClickInv");                     PlayerTextDrawSetPriviewModel(playerid, inv_TD[playerid][id_inv], 1649);                     PlayerTextDrawSetPriviewModel(playerid, inv_TD[playerid][i], PlayerInfo[playerid][Inv][i]);                     PlayerInfo[playerid][Inv][i] = PlayerInfo[playerid][Inv][id_inv];                     PlayerInfo[playerid][Inv][id_inv] = 1649;                     SetRotInv(playerid, i, PlayerInfo[playerid][Inv][i];                     SetRotInv(playerid, id_td, PlayerInfo[playerid][Inv][id_inv];                     UpdateInv(playerid, id_inv, 1);                     UpdateInv(playerid, i, 1);                     SetPVarInt(playerid, "ClickInv", -1);                 }             }             else             {                 if(GetPVarInt(playerid, "ClickInv") == -1)                 {                     SetPVarInt(playerid, "ClickInv", i);                     UpdateInv(playerid, i, 2);                 }             }                 else                 {                     if(GetPVarInt(playerid, "ClickInv") == i)                     {                         SetPVarInt(playerid, "ClickInv", -1);                         UpdateInv(playerid, i, 1);                     }                 }         }     }     if(playertextid == InvText[playerid[4])     {         if(GetPVarInt(playerid, "ClickInv") != -1)         {         new id_inv = GetPVarInt(playerid, "ClickInv");         PlayerInfo[playerid][Inv][id_inv] = 1649;         PlayerTextDrawSetPriviewModel(playerid, inv_TD[playerid][id_inv], PlayerInfo[playerid][Inv][id_inv];         SetRotInv(playerid, id_inv, PlayerInfo[playerid][Inv][id_inv]);         UpdateInv(playerid, id_inv, 1);         SetPVarInt(playerid, "ClickInv", -1);         SendClientMessage(playerid, 0xFFFFFFF, "[Èíâåíòàðü]: Äàííûé ïðåäìåò áûë óñïåøíî óäàëåí!");     }     }      Помогите плиз,буду благодарен