• 0

Undefined symbol

Вопросы

C:\Users\111\OneDrive\Ðàáî÷èé ñòîë\rrrr\gamemodes\arizona.pwn(78772) : error 017: undefined symbol "GEO_MAX_COUNTRY_NAME_LENGTH"
C:\Users\111\OneDrive\Ðàáî÷èé ñòîë\rrrr\gamemodes\arizona.pwn(78772) : error 009: invalid array size (negative, zero or out of bounds)
C:\Users\111\OneDrive\Ðàáî÷èé ñòîë\rrrr\gamemodes\arizona.pwn(78772) : error 036: empty statement
C:\Users\111\OneDrive\Ðàáî÷èé ñòîë\rrrr\gamemodes\arizona.pwn(78772) : 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.

 

 

cmd:get(playerid, params[])
{
    extract params -> new player; else return SendClientMessage(playerid, -1, !"/get [playerid]");
    new string[GEO_MAX_COUNTRY_NAME_LENGTH+GEO_MAX_REGION_NAME_LENGTH+GEO_MAX_CITY_NAME_LENGTH+GEO_MAX_PROVIDER_NAME_LENGTH+GEO_MAX_MOBILE_STATUS_LENGTH+GEO_MAX_PROXY_LENGTH-6+118];
    format(string, sizeof(string),
    "Страна: %s\n\
    Регион: %s\n\
    Город: %s\n\
    Провайдер: %s\n\
    Использует ли моб.сеть: %s\n\
    Использует ли прокси: %s",
    GetPlayerIpCountry(player),
    GetPlayerIpRegion(player),
    GetPlayerIpCity(player),
    GetPlayerIpProvider(player),
    GetPlayerIpMobileStatus(player),
    GetPlayerIpProxyStatus(player));
    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, !" ", string, !"Закрыть", !"");
    return true;
}

 

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


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

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

  • 0

@xiemoniyaz, вы не сделали то, о чем вы попросили, и до сих пор не удосужились прочитать текст ошибки, в который я вас уже два раза ткнул.

Цитата

user error: Please include <a_http> first.

 

Переводим:

Цитата

Пользовательская ошибка: Пожалуйста, сначала включите файл <a_http>.

 

Так в чем проблема разместить его первым?!

Спойлер

изображение_2022-08-27_184351672.png

 

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


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

В начало мода запихните:

#define GEO_MAX_IP_LENGTH               16
#define GEO_MAX_COUNTRY_NAME_LENGTH     32
#define GEO_MAX_CITY_NAME_LENGTH        32
#define GEO_MAX_LAT_LON_LENGTH          12
#define GEO_MAX_PROVIDER_NAME_LENGTH    32
#define GEO_MAX_PROXY_LENGTH            6

 

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


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

@Sleash`en    Заново ошибка

C:\Users\vblon\OneDrive\Рабочий стол\rrrr\gamemodes\arizona.pwn(78778) : error 017: undefined symbol "GEO_MAX_REGION_NAME_LENGTH"
C:\Users\vblon\OneDrive\Рабочий стол\rrrr\gamemodes\arizona.pwn(78778) : error 009: invalid array size (negative, zero or out of bounds)
C:\Users\vblon\OneDrive\Рабочий стол\rrrr\gamemodes\arizona.pwn(78778) : error 036: empty statement
C:\Users\vblon\OneDrive\Рабочий стол\rrrr\gamemodes\arizona.pwn(78778) : 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.

 

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


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

@xiemoniyaz 

Проблема состоит в том, что у вас нет дефайнов с этими значениями, исправление ошибки выглядит так:

#define  GEO_MAX_REGION_NAME_LENGTH (числовое значение для данного дефайна)

Проверьте пожалуйста все дефайны

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


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

@Sleash`en хз наверно  #define GEO_MAX_REGION_NAME_LENGTH      (17)    и тоже заново ошибка

@Sleash`en это я хочу скачать https://pawno-rus.ru/files/file/597-informaciya-ob-ip-igroka-strana-gorod-i-td/?tab=details

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

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


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

Так вот же инклуд: (скачал с той темы, ссылку который вы скинули)

В общем, сотрите те дефайны с мода, что вы вводили по моему совету, и вместо них введите:

#include <player_geolocation>

А так же закиньте инклуд в папку мод/pawno/include

player_geolocation.inc

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


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

 

 

@Sleash`en 

C:\Users\vblon\OneDrive\Ðàáî÷èé ñòîë\rrrr\pawno\include\player_geolocation.inc(12) : fatal error 111: user error: Please include <a_http> first.


Compilation aborted.

Pawn compiler 3.2.3664          Copyright (c) 1997-2016, ITB CompuPhase


1 Error.

 

@Sleash`en я ставить #include <a_http> и потом ошибка ↓↓↓

C:\Users\vblon\OneDrive\Ðàáî÷èé ñòîë\rrrr\pawno\include\player_geolocation.inc(12) : fatal error 111: user error: Please include <a_http> first.


Compilation aborted.

Pawn compiler 3.2.3664          Copyright (c) 1997-2016, ITB CompuPhase


1 Error.

 

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

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


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

@xiemoniyaz, в тексте ошибки написано, что вам нужно сделать.

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


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

@Cawfee 

C:\Users\vblon\OneDrive\Ðàáî÷èé ñòîë\rrrr\pawno\include\player_geolocation.inc(12) : fatal error 111: user error: Please include <a_http> first.


Compilation aborted.

Pawn compiler 3.2.3664          Copyright (c) 1997-2016, ITB CompuPhase


1 Error.

 

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


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

@xiemoniyaz, я тоже могу продублировать свое сообщение, но это что-то изменит?

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


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

@Cawfee я ничего не сделать изменить, просто скачать и покинул файлы plugins и запуск pawno сделать добавить кмд /get не работает вот ошибка! ты пробуйте проверил скачать  https://pawno-rus.ru/files/file/597-informaciya-ob-ip-igroka-strana-gorod-i-td/?tab=details

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


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

@xiemoniyaz 

строка

#include <player_geolocation>

должна идти после строки

#include <a_http>

У вас так сделано сейчас?

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


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

@DEST Да сделаю! но один ошибка смотрю ↓↓↓

C:\Users\vblon\OneDrive\Рабочий стол\гггг2\pawno\include\player_geolocation.inc(36) : fatal error 111: user error: Please include <a_http> first.


Compilation aborted.

Pawn compiler 3.2.3664          Copyright (c) 1997-2016, ITB CompuPhase


1 Error.

 

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


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

Прикрепите скриншот. 

Мод запускаете через pawno.exe или двойным кликом по файлу .pwn? 

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


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

@DEST Что дальше?

bandicam 2022-08-27 18-20-07-840.jpg

bandicam 2022-08-27 18-20-21-376.jpg

bandicam 2022-08-27 18-21-29-417.jpg

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


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

@Cawfee Ага я слепый xD спасибо работает
 

bandicam 2022-08-27 18-47-01-020.jpg

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


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

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

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

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

    • От Kutuzov
      Автор данного канала снимает уроки по программированию на Pawn, также скоро будет на 20 подписчиков снимать мод с нуля в samp. 
      Приглашаем всех на канал, а также особенно новичков. Даже если вы уже знаете pawn, подпишитесь пожалуйста на его канал и поддержите его.
      Автор канала не требует денег!!! Он обучает всех бесплатно!!!
      Ссылка на канал: https://www.youtube.com/@prog_samp_easy
       
      Также у него есть свой тг канал, но начнет вести его, как только будет не менее 10 подписчиков.
       Ссылка на тг канал: https://t.me/pawndevelop
       
      Всем удачи
    • От SheikhMAN
      Приветствую дорогие коллеги. Намучался, хочу решить одну проблему, делаю проверку на правильность введенной почты,
      и не могу правильно настроить это дело в диалоге. Кто поможет, буду очень рад. Внизу прикрепил скрипт.

      Внутри спойлера код.
       
       
    • От Sleash
      Всем доброго времени суток. Сегодня мне бы хотелось вам рассказать от таких функциях в PAWN-языке, как SetTimer и SetTimerEx.
      Сразу сделаю такое примечание: Для SetTimer и SetTimerEx можно использовать ТОЛЬКО public!!!
      SetTimer
      Итак, для начала приступим к лёгкому и пойдём по нарастающей:
      Первое, это SetTimer. Функция включает в себя 3 параметра:
      native SetTimer(funcname[], interval, repeating); funcname[] - Это название функции, по сути - название вашего pablic в кавычках.
      interval - Интервалы от вызова таймера до срабатывания pablic
                     Так же если стоит повторение таймера, то будет работать как интервал между таймерами.
                     Измеряется в миллисекундах. 1000 миллисекунд равно 1 секунде
      repating - Тут всё просто: будет ли повторяться ваша функция. Может иметь значения: true - будет выполняться повторение ИЛИ false - вызывается 1 раз.
      Давайте разберём пример для наглядности:
      forward Info(); public Info() {     SendClientMessageToAll(0xFFFFFFFF, "Наш сайт: pawno-rus.ru"); } // И теперь давайте вызовем данный таймер при запуске мода public OngameModeInit() {     SetTimer("Info", 1000*60*20, true);     return true } Давайте разберёмся по интервалу: 1000*60*20. Так как я писал ранее, что 1000 млСек = 1 сек, то: 1 сек * 60 = 1 минута; 1 минута * 20 = 20 минут.
      Таким образом данный таймер будет выводить каждые 20 минут для всех игроков на сервере в чат: "pawno-rus.ru".
       
      SetTimerEx
       
      По сути с SetTimer - всё, теперь перейдём к следующей функции: SetTimerEx:
      native SetTimerEx(funcname[], interval, repeating, const format[], {Float,_}:...); Тут добавляются ещё 2 параметра:
      const format[] - формат данных для ввода в функцию. (Такие как: s, d, f);
      {Float,_}:... - переменные или значение для данных из const fromat[]
      Из данных объяснения мало что можно понять незнающему или начинающему скриптеру, поэтому давайте разберём на примере кода, который при входу даёт на авторизацию две минуты игроку:
      forward autorez(playerid); public autorez(playerid) {     if(/*проверка на то залогинился ли игрок*/)     {         SendClientMessage(playerid, 0xFFFFFFFF, "Вы были кикнуты по причине: Время на авторизацию истекло.");         Kick(playerid);         return true;     }     return true; } //Дальше уже добавлям сам таймер public OnPlayerConnect(playerid) {     SetTimerEx("autorez", 1000*60*2, false, "d", playerid);     return true; } Если первые три пункта мы уже разбирали. то начнём сразу с 4-го:
      4. Тут в кавычках надо вставлять тип данных. Наподобие функции format(output[], len, "%s %d %f", string, int, float), только без знака процента (%)
      5. Тут уже указывают сами данные, так же разберём как и предыдущий: format(output[], len, "%s %d %f ", string, int, float)
       
      Я надеюсь что кому-то помог, а если что непонятно, то спрашивайте, всегда помогу.
    • От NoVate
      Доброго времени суток 
       
      Многие новички задавались вопросом: "Как создать свой RP сервер?", "С чего начать разработку?", "Это сложно и я не справлюсь".
      После таких вопросов многие уходили с этой темы и оставляли её на последней полке. Некоторые брались и сталкивались с большими проблемами. И только часть из этих людей доходили до какого-то результата.
       
      Моя цель: сделать создание сервера в SA:MP проще. Чтобы каждый из тех, кто интересовался созданием сервера мог спокойно взять готовую, а что самое главное - базовую сборку и под неё уже создавать различные свои задумки. SA:MP на данный момент не особо актуален, а тем более самый обычный клиент, НО, как мне кажется, если сделать что-то невероятное, то аудитория заметит это и ей будет достаточно интересно "пощупать" данное новшество.
       
      Для тех, кто начнёт писать: "Ты видел свой код?", "Ты сделал не правильно в 777-ой строке" и так далее. Сразу отвечу, цитируя:
       
      Кому стало интересно и кто хотел бы ознакомиться со сборком - прошу в мой Github (не реклама).
      Буду делать коммиты по мере свободного времени и написании кода.
      Если есть какие-то идеи, то пишите в мой Discord сервера (не реклама), который можно будет найти на той же странице.
       
      Спасибо всем за прочтение и хорошего настроения 
    • От xiemoniyaz
      Я начало скачать мод слив, чтобы проблем сохранить ошибка
      C:\Users\111\Desktop\СЛИВ МОДА АРИЗОНА РП VICE CITY + ОБНОВЫ\gamemodes\arizonarp.pwn(26230) : error 001: expected token: "]", but found "." C:\Users\111\Desktop\СЛИВ МОДА АРИЗОНА РП VICE CITY + ОБНОВЫ\gamemodes\arizonarp.pwn(26230) : error 029: invalid expression, assumed zero C:\Users\111\Desktop\СЛИВ МОДА АРИЗОНА РП VICE CITY + ОБНОВЫ\gamemodes\arizonarp.pwn(26230) : warning 215: expression has no effect C:\Users\111\Desktop\СЛИВ МОДА АРИЗОНА РП VICE CITY + ОБНОВЫ\gamemodes\arizonarp.pwn(26230) : error 001: expected token: ";", but found "]" C:\Users\111\Desktop\СЛИВ МОДА АРИЗОНА РП VICE CITY + ОБНОВЫ\gamemodes\arizonarp.pwn(26230) : fatal error 107: too many error messages on one line Compilation aborted. Pawn compiler 3.10.8            Copyright (c) 1997-2006, ITB CompuPhase 4 Errors.
       
      начало чисто
      {         mysql = mysql_connect(ServerCFG[DB_HOST], ServerCFG[DB_USERNAME], ServerCFG[DB_DATABASE], ServerCFG[DB_PASSWORD]);         if(mysql_errno() == 0)         {             mysql_set_charset("cp1251", mysql);         } сейчас сменить
      {         mysql = mysql_connect(ServerCFG[127.0.0.1], ServerCFG[user45821], ServerCFG[user45821], ServerCFG[eeJfbduveR05]);         if(mysql_errno() == 0)         {             mysql_set_charset("cp1251", mysql);         }