• 0
Sign in to follow this  
Followers 0

Undefined symbol

Question

xiemoniyaz
Освоившийся
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;
}

 

Share this post


Link to post
Share on other sites

16 answers to this question

  • 0
Cawfee
Великий Гуру

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

Цитата

user error: Please include <a_http> first.

 

Переводим:

Цитата

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

 

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

Спойлер

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

 

Share this post


Link to post
Share on other sites
  • 0
Sleash
Завсегдатый

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

#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

 

Share this post


Link to post
Share on other sites
  • 0
xiemoniyaz
Освоившийся

@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.

 

Share this post


Link to post
Share on other sites
  • 0
Sleash
Завсегдатый

@xiemoniyaz 

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

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

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

Share this post


Link to post
Share on other sites
  • 0
Sleash
Завсегдатый

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

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

#include <player_geolocation>

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

player_geolocation.inc

Share this post


Link to post
Share on other sites
  • 0
xiemoniyaz
Освоившийся

 

 

@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.

 

Edited by xiemoniyaz

Share this post


Link to post
Share on other sites
  • 0
xiemoniyaz
Освоившийся

@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.

 

Share this post


Link to post
Share on other sites
  • 0
xiemoniyaz
Освоившийся

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

Share this post


Link to post
Share on other sites
  • 0
xiemoniyaz
Освоившийся

@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.

 

Share this post


Link to post
Share on other sites
  • 0
DEST
Maintainer

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

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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

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

      Внутри спойлера код.
       
       
    • Sleash
      By 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
      By NoVate
      Доброго времени суток 
       
      Многие новички задавались вопросом: "Как создать свой RP сервер?", "С чего начать разработку?", "Это сложно и я не справлюсь".
      После таких вопросов многие уходили с этой темы и оставляли её на последней полке. Некоторые брались и сталкивались с большими проблемами. И только часть из этих людей доходили до какого-то результата.
       
      Моя цель: сделать создание сервера в SA:MP проще. Чтобы каждый из тех, кто интересовался созданием сервера мог спокойно взять готовую, а что самое главное - базовую сборку и под неё уже создавать различные свои задумки. SA:MP на данный момент не особо актуален, а тем более самый обычный клиент, НО, как мне кажется, если сделать что-то невероятное, то аудитория заметит это и ей будет достаточно интересно "пощупать" данное новшество.
       
      Для тех, кто начнёт писать: "Ты видел свой код?", "Ты сделал не правильно в 777-ой строке" и так далее. Сразу отвечу, цитируя:
       
      Кому стало интересно и кто хотел бы ознакомиться со сборком - прошу в мой Github (не реклама).
      Буду делать коммиты по мере свободного времени и написании кода.
      Если есть какие-то идеи, то пишите в мой Discord сервера (не реклама), который можно будет найти на той же странице.
       
      Спасибо всем за прочтение и хорошего настроения 
    • xiemoniyaz
      By 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);         }