PDA

Просмотр полной версии : [Урок] Новичкам: Как правильно публиковать вопрос об ошибке на форуме? - Здесь есть ответ!



ORLADOK
20.08.2018, 17:27
Здравствуйте, дорогой читатель форума Pro-Pawn.ru (http://www.pro-pawn.ru).

Прежде, чем отправлять сообщение на форум "Вопросы" (http://pro-pawn.ru/forumdisplay.php?7-%D0%92%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B-%D0%BF%D0%BE-Pawn-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3%D1%83), пожалуйста, ознакомтесь с рекомендациями как это делать. Так у вас появляется намного больше шансов получить ответ.


Итак, рекомендации:

Я бы даже дал "0.": сформулируйте проблему (вопрос). Затем постарайтесь найти ответ на него в поисковике (как это можно сделать можно найти в конце поста).
Ваше сообщение обязательно содержит тег [Вопрос].
Делайте маленькое вступление почему у вас возникает проблема, например:

Здравствуйте. В ходе выполнения функции <ее_имя> у меня возникли ошибки: <опишите_все_ошибки>. Не могли бы вы объяснить что я делаю не так?
Примечание: заметьте, в ответе никто не обязан вам прописывать код! Можно было бы сделать маленькое руководство по частым ошибкам, но только если бы они спрашивались под постом.
Затем нужно приложить ошибки и код:

Если окно компилятора выводи свыше 6 строк текста, то определяйте их в цитату под спойлер, например:

[SPОILER][QUОTE]C:\Users\ORLADOK\Desktop\SAMP\gamemodes\gamemode.pwn(5) : error 010: invalid function or declaration
C:\Users\ORLADOK\Desktop\SAMP\gamemodes\gamemode.pwn(44) : error 017: undefined symbol "etVehicleZAngle"
C:\Users\ORLADOK\Desktop\SAMP\gamemodes\gamemode.pwn(46) : warning 217: loose indentation
C:\Users\ORLADOK\Desktop\SAMP\gamemodes\gamemode.pwn(46) : error 017: undefined symbol "DC"
C:\Users\ORLADOK\Desktop\SAMP\gamemodes\gamemode.pwn(46) : error 029: invalid expression, assumed zero
C:\Users\ORLADOK\Desktop\SAMP\gamemodes\gamemode.pwn(46) : error 029: invalid expression, assumed zero
C:\Users\ORLADOK\Desktop\SAMP\gamemodes\gamemode.pwn(46) : fatal error 107: too many error messages on one line
[/QUОTE][/SPОILER]
Иначе, можно к этому не прибегать, достаточно заключить в цитату.


Если ошибка находится в локальном пространстве, то есть:
<тип_функции> <ИмяФункции>(все, ее, атрибуты)
{
// Некоторый ее код.
}
То так и выкладывайте, только в спойлер, шаблон:

[SPОILER=Моя функция с ошибкой][PАWN]<тип_функции> <ИмяФункции>(все, ее, атрибуты)
{
// Некоторый ее код.
}[/PАWN][/SPОILER]
Примечание: здесь показан пример публикации целой функции. Также не стоит копировать теги из этой темы, они были написаны с кириллицей.
Если ошибка находится в глобальном пространстве, например:
// Код функции А закончился.
}
variable;

<тип_функции> <ИмяФункции>(все, ее, атрибуты)
{
То достаточно писать в тему так:

[PАWN]variable;[/PАWN]

Если ваш код компилируется, то есть в окне компилятора (что это такое я опишу ниже) имеется сообщение из одной строки:

Pawn compiler 3.10.8 Copyright (c) 1997-2006, ITB CompuPhase
Но ошибка остается и проявляется при игре на сервере, то прилагайте также скриншоты вместе с кодом, который вызывается при срабатывании тех функции, что будет содержать скриншот. Важно:

Если тема содержит более, чем один скриншот, то записывайте их под спойлер с примером ниже (тег спойлера выше)!
Иначе, можно записывать и без спойлера, как:

ссылка_на_ваше_изображение
Примечание: каждый тег [IМG][/IМG] может содержать только одно изображение. Для публикации изображений вы можете воспользоваться оф.сервисом (http://ihost.pro-pawn.ru/).



Итак, что такое окно компилятора:

http://ihost.pro-pawn.ru/image.php?di=IMJW
Итак, разбор по пунктам:

Зеленый цвет - содержит путь до файла, что сейчас активен и поддается компилированию.
Красный цвет - содержит строку, в которой сделана ошибка. Обратите внимание, что она присутствует после зеленого блока. Для быстрого перехода к этой строке используйте сочетание клавиш Ctrl + G.
Оранжевый цвет - главный цвет, содержит номер ошибки/предупреждения и описание к ней. Для боле-менее полного понимания ошибки обратитесь по ссылке (клик) (http://pro-pawn.ru/showthread.php?4379-%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-%D0%B8-%D0%BF%D1%80%D0%B5%D0%B4%D1%83%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B2-pawno).
Синий цвет - содержит строку с ошибкой.


Как найти решение ошибки:
Допустим, вам нужно решить ошибку с последней картинки. Сделаем это пошагово:

Перейдем на сайт из пункта с оранжевым цветом.
Прочитаем описание ошибки.
На сайте написано, что это "неправильная функция".
Ищем в поисковике ответ на вопрос: как создать функцию (я открыл первый же сайт с подходящим заголовком) (https://ziggi.org/pawn-funktsii/).
Затем мы должны тщательно ознакомиться с приведенным материалом в статье и проанализировать свою ошибку.
Если вы так и не смогли решить свою ошибку, то прибегаем к руководству свыше.



Здравствуйте, вы не подскажите как решить мою проблему? Искал в интернете решение, но не понимаю что мне нужно делать. Спасибо. Вот ошибки и код:

C:\Users\ORLADOK\Desktop\SAMP\gamemodes\gamemode.pwn(42) : error 017: undefined symbol "r"
C:\Users\ORLADOK\Desktop\SAMP\gamemodes\gamemode.pwn(45) : error 017: undefined symbol "r"
C:\Users\ORLADOK\Desktop\SAMP\gamemodes\gamemode.pwn(52) : error 017: undefined symbol "r"
Pawn compiler 3.10.8 Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.
GetVehicleZAngle(vehicleid, r);
vehicleid = CreateVehicle(params[0], x,y,z, r, params[1],params[2], -1, params[3]);
vehicleid = CreateVehicle(params[0], x,y,z, r, params[1],params[2], -1, params[3]);
CMD:vehicle(playerid, params[]){
new Float:x, Float:y, Float:z, vehicleid = GetPlayerVehicleID(playerid);

GetPlayerPos(playerid, x, y, z);
sscanf(params, !"P< ,>A<i>(0, 0,0, 0)[4]", params);

if(!vehicleid && !(400 <= params[0] <= 611)) return
SendClientMessage(playerid, -1,
!"Используйте: /vehicle <modelid> <color> <color> <siren>");

switch(params[0]){
case -1..1, 400..611:{}
default: return
SendClientMessage(playerid, -1,
!"Ключи <modelid>: -1 - 1, 400 - 611!");
}
if(!(0 <= params[1] <= 255) || !(0 <= params[2] <= 255)) return
SendClientMessage(playerid, -1, !"Ключи <color>: 0-255!");

if(vehicleid){
if(params[0] < 2){
new string[3][] = {
!"Ваш транспорт был удален!",
!"Ваш транспорт был починен!",
!"Ваш транспорт был зареспавнен!"
};
switch(params[0]){
case -1: DestroyVehicle(vehicleid);
case 0:{
RepairVehicle(vehicleid);
SetVehicleHealth(vehicleid, 1000.0);
}
case 1: SetVehicleToRespawn(vehicleid);
}
SendClientMessage(playerid, -1, string[params[0] + 1]);

} else {
GetVehicleZAngle(vehicleid, r);
SetVehicleToRespawn(vehicleid);
// DC, простите за строки свыше 80 символов.
vehicleid = CreateVehicle(params[0], x,y,z, r, params[1],params[2], -1, params[3]);
PutPlayerInVehicle(playerid, vehicleid, 0);

SendClientMessage(playerid, -1,
!"Вы создали транспорт, зареспавнив прежний!");
}
} else {
vehicleid = CreateVehicle(params[0], x,y,z, r, params[1],params[2], -1, params[3]);
PutPlayerInVehicle(playerid, vehicleid, 0);

SendClientMessage(playerid, -1, !"Вы создали транспорт!");
}
return 1;
}

Daniel_Cortez
20.08.2018, 17:40
Спасибо, конечно, что уделили время на написание урока, но только один вопрос: обязательно нужно было всё делать жирным и наклонным шрифтом?

ORLADOK
20.08.2018, 18:00
обязательно нужно было всё делать жирным и наклонным шрифтом?
Эти два тега i и b присутствуют по одному разу в открытии и закрытии.
С дизайном я не особо дружу. Также было сделано обращение к вам, модераторам/администраторам, чтобы была корректировка (если эта тема действительно нужна).

Я сейчас не особо хочу думать о стилистике. Если на момент написания этой темы еще были какие-то идеи по оформлению или примерам, то где-то после 20 минут написания (не в самом написании дело, а в факторе со стороны) мне стало хуже. В следствие чего и стремление что-то сделать ушло. Но нужно было доделать.


Спасибо, конечно, что уделили время на написание урока - честно? Даже уже не понимаю зачем выложил. Был крик души после одного вопроса.

Upd. Думаю, я завтра со свежей головой мог бы подредактировать тему в плане текста, примеров и дизайна.

VVWVV
20.08.2018, 21:43
Эти два тега i и b присутствуют по одному разу в открытии и закрытии.
С дизайном я не особо дружу. Также было сделано обращение к вам, модераторам/администраторам, чтобы была корректировка (если эта тема действительно нужна).

Я сейчас не особо хочу думать о стилистике. Если на момент написания этой темы еще были какие-то идеи по оформлению или примерам, то где-то после 20 минут написания (не в самом написании дело, а в факторе со стороны) мне стало хуже. В следствие чего и стремление что-то сделать ушло. Но нужно было доделать.

- честно? Даже уже не понимаю зачем выложил. Был крик души после одного вопроса.

Upd. Думаю, я завтра со свежей головой мог бы подредактировать тему в плане текста, примеров и дизайна.

Старайтесь писать кратко, особенно для подных тем, поскольку не всегда человек будет читать целую тему только для того, чтобы задать вопрос. Вообще, нужно задавать вопросы, а не просить решить проблему за себя (на этот случай есть великолепный раздел "торговая площадка", в котором находится "стол заказов") Как мне кажется, об этом говорят и правила, и логика. Это все, что нужно было сказать. Хотя для каждого раздела есть свой особенности, к примеру, правильное чтение ошибок компилятора.

ORLADOK
20.08.2018, 23:36
Сегодня я убит спортом :)
Завтра со свежей головой постараюсь переоформить. То есть данная тема может быть хоть немного полезной?

ORLADOK
21.08.2018, 10:48
upd:
Тему обновил, надеюсь, что сейчас она больше не режет ваши глаза по тексту, примерам и оформлению.

whale
22.08.2018, 15:02
Для быстрого перехода к этой строке используйте сочетание клавиш Ctrl + F.

CTRL + G, no?

ORLADOK
22.08.2018, 15:48
А, ну, да. У меня не тот же редактор)

- - - Добавлено - - -

Однако жаль тут темы/сообщения свои удалять нельзя.

Desulaid
24.08.2018, 12:22
На Pro-Pawn не выжить без мануалов :sorry:

ORLADOK
30.08.2018, 22:51
На Pro-Pawn не выжить без мануалов :sorry:

На пп не выжить без оригинальности. Согласись, больше никому такая дурная мысль не пришла :D:sad::sad::sad:

VVWVV
02.09.2018, 01:11
На пп не выжить без оригинальности. Согласись, больше никому такая дурная мысль не пришла :D:sad::sad::sad:

Ценность сейчас не только в оригинальности, но и в контенте.