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;
}
Прежде, чем отправлять сообщение на форум "Вопросы" (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;
}