Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

компилятор не видит main и foward-ы

Фев
20
1
Пользователь
Всем привет!

Замучился уже с компиляцией, может кто сталкивался.

Ошибки:
error 017: undefined symbol "main"; did you mean "min"?
error 029: invalid expression, assumed zero
error 017: undefined symbol "LoadVehicles"
error 029: invalid expression, assumed zero
error 017: undefined symbol "SaveVehicle"
error 029: invalid expression, assumed zero
error 017: undefined symbol "SpawnVehicle"
error 029: invalid expression, assumed zero
error 017: undefined symbol "mysql_PromoUseCheck"
error 029: invalid expression, assumed zero
error 017: undefined symbol "mysql_PromoCheck"
error 029: invalid expression, assumed zero
error 017: undefined symbol "mysql_PromoCreate"
error 029: invalid expression, assumed zero
error 017: undefined symbol "mysql_PromoCodeShow"
error 029: invalid expression, assumed zero
error 017: undefined symbol "CheckPromoCode"
error 029: invalid expression, assumed zero
error 017: undefined symbol "CheckPlayerActivation"
error 029: invalid expression, assumed zero
error 017: undefined symbol "CheckAdminPass"
error 017: undefined symbol "playerid"
error 079: inconsistent return types (array & non-array)
error 017: undefined symbol "playerid"
error 017: undefined symbol "playerid"
error 079: inconsistent return types (array & non-array)


Суть проблемы: компилятор тупо не видит main и все forward-ы, хотя в коде они есть.
В начале файла вроде ничего лишнего нет.

Что уже делал:
- Пересохранял в ANSI
- Пересохранял в UTF-8 без BOM
- Создавал новый файл и копировал туда код
- Включал показ скрытых символов - ничего не видно

Прикол в том, что тестовый пустой мод компилируется без проблем.

Pawn 3.10.10, Windows

Первые 30 строк кода:
#include <a_samp>
#include <sscanf2>
#include <a_mysql>
#include <dc_cmd>
#include <time>
#include <streamer>
#include <dini>
#include <mxINI>
#include <foreach>
#include <maps/gov_interior>

//#pragma codepage utf8

// Проверка на пустые параметры
#if !defined isnull
#define isnull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif

main()
{
print("Мод HATER RP загружается...");
}

#define MYSQL_HOST "хост"
#define MYSQL_USER "юзер"
#define MYSQL_PASS "пасс"
#define MYSQL_DB "бд"

#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_APANEL_PASS 100
#define DIALOG_APANEL_MAIN 101
#define DIALOG_APANEL_PLAYERS 102
#define DIALOG_AHELP_LEVELS 2000
#define DIALOG_AHELP_COMMANDS 2001
#define DIALOG_HOUSE_BUY 5000
#define DIALOG_HOUSE_MENU 5001
#define DIALOG_HOUSE_INFO 5002

#pragma warning disable 239

Заранее спасибо, надеюсь на помощь!
 
Фев
20
1
Пользователь
Не совсем понятно что ты накинул, у тебя как функция создана stock loadgovinterior или public?



Это должно быть у тебя внутри стока либо паблика.
// 1. Объявление переменной (где-то в начале)
new gov_pickup[2];

// 2. Сама функция LoadGovInterior (весь её код)
LoadGovInterior(interior_id, world_id)
{
// ... весь код интерьера
}

// 3. Часть OnGameModeInit с вызовом
public OnGameModeInit()
{
// ...
LoadGovInterior(0, 1);

gov_pickup[0] = CreatePickup(1318, 23, 1907.2360, -2229.0991, 12.1824, 0);
gov_pickup[1] = CreatePickup(1318, 23, 1481.745, -1791.490, 2674.513, 1);
// ...
}
 
Фев
20
1
Пользователь
С какой строчки начинают сыпаться ошибки в компиляторе?
Нужны куски кода выше этой строчки и ниже.
error 017: undefined symbol "main"; did you mean "min"? -
#if !defined isnull
#define isnull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif

main()
{

error 029: invalid expression, assumed zero - forward LoadVehicles();
error 017: undefined symbol "LoadVehicles" - forward LoadVehicles();
error 029: invalid expression, assumed zero - forward SaveVehicle(vehicleid);
error 017: undefined symbol "SaveVehicle" - forward SaveVehicle(vehicleid);
error 029: invalid expression, assumed zero - forward SpawnVehicle(vehicleid);
error 017: undefined symbol "SpawnVehicle" - orward SpawnVehicle(vehicleid);
error 029: invalid expression, assumed zero - forward mysql_PromoUseCheck(playerid, code[]);
error 017: undefined symbol "mysql_PromoUseCheck" - forward mysql_PromoUseCheck(playerid, code[]);
error 029: invalid expression, assumed zero - forward mysql_PromoCheck(playerid, code[]);
error 017: undefined symbol "mysql_PromoCheck" - forward mysql_PromoCheck(playerid, code[]);
error 029: invalid expression, assumed zero - forward mysql_PromoCreate(playerid, code[]);
error 017: undefined symbol "mysql_PromoCreate" - forward mysql_PromoCreate(playerid, code[]);
error 029: invalid expression, assumed zero - forward mysql_PromoCodeShow(playerid);
error 029: invalid expression, assumed zero - forward mysql_PromoCodeShow(playerid);
error 017: undefined symbol "CheckPromoCode" - forward CheckPromoCode(playerid, code[]);
error 029: invalid expression, assumed zero - forward CheckPlayerActivation(playerid, code_id, reward_amount, reward_type[], code[]);
error 017: undefined symbol "CheckPlayerActivation" - forward CheckPlayerActivation(playerid, code_id, reward_amount, reward_type[], code[]);
error 029: invalid expression, assumed zero - stock CheckAdminPass(playerid)
error 017: undefined symbol "CheckAdminPass" - stock CheckAdminPass(playerid)
error 017: undefined symbol "playerid" -
if(PlayerInfo[playerid][pAdmin] < 1) return 1;

error 079: inconsistent return types (array & non-array) - if(PlayerInfo[playerid][pAdmin] < 1) return 1;
error 017: undefined symbol "playerid" - if(strlen(PlayerInfo[playerid][pAdminPass]) == 0)
error 017: undefined symbol "playerid" - SendClientMessage(playerid, 0xFFAA00FF, "[!] Установите админ-пароль через /apanel");
error 079: inconsistent return types (array & non-array) - return 0;
 
Фев
20
1
Пользователь
Осуждён за гениальность или проклят за талант?
Окт
238
645
Активный
Когда #include <maps/gov_interior> подключается он не закрывает какой-то блок (скорее всего скобку }), и компилятор думает, что весь твой дальнейший код (включая main, forward-ы и т.д) находится внутри незакрытой функции или блока из этого include-файла
 
Сверху