Error 017 undefined symbol help

Хмм, не могу понять что не так что компилятор начал орать на данные функции (899) : error 017: undefined symbol "FixHour" (1839) : error 017...


#1

Пользователь офлайн
 

Отправлено 31 декабря 2018 — 01:30

  • Новичок

Хмм, не могу понять что не так что компилятор начал орать на данные функции

(899) : error 017: undefined symbol "FixHour"
(1839) : error 017: undefined symbol "PlayerToPoint"
(1868) : error 017: undefined symbol "PlayerToPoint"
(1887) : error 017: undefined symbol "PlayerToPoint"
(1953) : error 017: undefined symbol "RemoveFromVehicle"
(2491) : error 017: undefined symbol "PlayerToKvadrat"
(2579) : error 017: undefined symbol "SetString"
(2588) : error 017: undefined symbol "LoadStaticTextDraw"
(2593) : error 017: undefined symbol "xaxa"
(2594) : error 017: undefined symbol "Colorsxaxa"
(2604) : error 017: undefined symbol "GetGangZoneColor"
(2952) : error 017: undefined symbol "SetPlayerArmourAC"
(2972) : error 017: undefined symbol "KickEx"
(3006) : error 017: undefined symbol "OnPlayerSuperKey"
(3009) : error 017: undefined symbol "KickEx"
(3011) : error 017: undefined symbol "KickEx"
(3023) : error 017: undefined symbol "ShowPlayerRegister"
(3032) : error 017: undefined symbol "ShowPlayerRegister"
(3037) : error 017: undefined symbol "ShowPlayerRegister"
(3063) : error 017: undefined symbol "ShowPlayerLogin"
(3065) : error 017: undefined symbol "OnPlayerLogin"
(3182) : error 017: undefined symbol "TuneDialog"
(3250) : error 017: undefined symbol "TuneDialog"
(3261) : error 017: undefined symbol "TuneDialog"
(3271) : error 017: undefined symbol "TuneDialog"
(3332) : error 004: function "SaveCarTuning" is not implemented

Строки где эти функции находятся:
1.

public TmphourTimer(playerid)
{
	new tmphour;
	new tmpminute;
	new tmpsecond;
	gettime(tmphour, tmpminute, tmpsecond);
899:	FixHour(tmphour);
	tmphour = shifthour;
	if ((tmphour > ghour) || (tmphour == 0 && ghour == 23))
	ghour = tmphour;
	if (realtime) SetWorldTime(tmphour);
}

2.

return ShowPlayerDialog(playerid,999,DIALOG_STYLE_MSGBOX,"Ошибка","{FF6347}Вы были кикнуты с сервераnПричина: "Не верный ключ безопасности"nВведите "/q", чтобы выйти","Ок",""),KickEx(playerid);

Скину только 2, а теперь и сами функции:
1.

stock FixHour(hour)
{
	hour = timeshift+hour;
	if (hour < 0) { hour = hour+24; }
	else if (hour > 23) { hour = hour-24; }
	shifthour = hour;
	return true;
}

2.

stock KickEx(playerid) return SetTimerEx("PlayerKick",100,false,"d", playerid);

0



#2

Отправлено 31 декабря 2018 — 11:22

  • Прохожий

Ошибка 17- неизвестный символ (неопределённая переменная),у тебя не задефайнены переменные,если они относятся к информации об игроке занеси их в enum по игрокам,если к серверу в enum сервера(меня щас палками бить будут)

0



#3

Отправлено 31 декабря 2018 — 11:25

  • С кем ты?

0



#4

Отправлено 31 декабря 2018 — 11:35

  • Новичок

Просмотр сообщенияSharkwd (31 декабря 2018 — 11:25) писал:

Не уверен, но мог пропустить

0



#5

Отправлено 31 декабря 2018 — 18:01

  • Новичок

0



#6

Отправлено 01 января 2019 — 17:11

  • Новичок

Подниму, я понял что отсутствует скобка. но не знаю как её найти и исправить

0



#7

Отправлено 03 января 2019 — 12:59

  • Новичок

0



#8

Отправлено 04 января 2019 — 10:40

  • Прохожий


Мне кажется… что ты где-то забыл «;»

stock FixHour(hour)
{
        hour = timeshift+hour;
        if (hour < 0) { hour = hour+24; };
        else if (hour > 23) { hour = hour-24 };
        shifthour = hour;
        return true;
}

попробуй так

0


  • ← Предыдущая тема
  • Проблемы с компилированием
  • Следующая тема →

  • Вы не можете создать новую тему
  • Тема закрыта


1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей

From SA-MP Wiki

Jump to: navigation, search

Undefined symbol is a Pawn compiler error message. The Pawn Language Guide formally defines this error as error 017, and explains that the error means «The symbol (variable, constant or function) is not declared«.

The error will look roughly look like this: error 017: undefined symbol «WelcomePlayer»

Cause

The error occurs when a piece of code references a variable, constant or function that the compiler cannot find. Often, this error is encountered by scripters who recklessly copy and paste code from one script to another, not realizing that the code in question depends on other code in the original script. Another, more common mistake made by even the most experienced scripters, is misspelling symbols.

Example with a function

This is example where a function that does not exists is referenced. A reckless copy-paster is copying a piece for code from the original script (awesomeroleplay.pwn) to his or her own (supercoolrp.pwn). awesomeroleplay.pwn compiles without any warnings or errors.

The reckless copy-paster decides to copy this piece of code from the original script:

awesomeroleplay.pwn

public OnPlayerConnect(playerid)
{
    WelcomePlayer(playerid);
}

The reckless copy-paster replaces supercoolrp.pwn’s OnPlayerConnect callback with the one from awesomeroleplay.pwn and then attemps to compile it. The compiler will, however, throw an error: error 017: undefined symbol «WelcomePlayer». This is because the function WelcomePlayer does not exist the paster’s own script. In other words: the piece of code that the reckless copy-paster pasted, depends on other code in awesomeroleplay.pwn. The paster will need to copy the dependent script as well.

In the original script, the function WelcomePlayer is defined.

awesomeroleplay.pwn

WelcomePlayer(playerid)
{
    SendClientMessage(playerid, "Welcome to Interactive Roleplay!", 0xFF0000AA);
}

The reckless copy-paster will need to copy and paste this function into his own script as well to make the code compile correctly. If this function would also depend on other code, the paster will need to copy and paste that code as well. In fact, the paster would need to repeat this step until all dependencies are resolved.

Tips for resolving this error

  • Use Ctrl + F to find the missing symbol (note that the compiler will tell you what symbol is missing after the words undefined symbol!) in the original script. If the symbol is a variable, you will have to copy all code that is relevant to its «ecosystem», that is to say, all code that modifies the variable. For beginning scripters and reckless copy-pasters, this may be hard, because it requires a deep understanding of the code and code paths.
  • Look into the includes of the original script.
  • Make sure you are adding the right includes.
  • Make sure you are not misspelling the symbol.

17 минут назад, Nekit_Krut18 сказал:

@x_SkYAs_x Покажите код этих строк, на которых ошибки. Используйте для этого, спойлер и тег ‘ Код ‘.

8452: 	SetVehicleData(GetPlayerVehicleID(playerid),V_BAGAGE_AMOUNT_GUN,0);
10475: if GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500 > 3000 *then SendClientMessage(playerid,-1,"Матовоз переполнен!");
10478: SetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN,GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500);
10479: format(l_string,26,"Матовоз загружен: 0/%d",GetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN));
10594: if GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500 > 3000 *then SendClientMessage(playerid,-1,"Матовоз переполнен!");
10597: SetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN,GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500);
10598: format(l_string,26,"Матовоз загружен: 0/%d",GetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN));
new V_BAGAGE_AMOUNT_GUN

Я все правильно сделал с этим?

Ну и в конце » ; » забыл дописать тут

Отредактировано 15 января, 2021 пользователем x_SkYAs_x

CALLBACK: OnPlayerLogin(playerid,password[])
{
	//SetPVarInt(playerid, "LOGGED",1);//Кик за долгую авторизацию
	if(PlayerInfo[playerid][pFst] == 1)
	{
		SetPlayerFightingStyle(playerid, 5);
	}
	else if(PlayerInfo[playerid][pFst] == 2)
	{
		SetPlayerFightingStyle(playerid, 6);
	}
	else if(PlayerInfo[playerid][pFst] == 3)
	{
		SetPlayerFightingStyle(playerid, 7);
	}
	new string2[64];
	new playername2[MAX_PLAYER_NAME];
	GetPlayerName(playerid, playername2, sizeof(playername2));
	format(string2, sizeof(string2), "accounts/%s.ini", playername2);
	new File: UserFile = fopen(string2, io_read);
	if ( UserFile )
	{
		new PassData[256];
		new keytmp[256], valtmp[256];
		fread( UserFile , PassData , sizeof( PassData ) );
		keytmp = ini_GetKey( PassData );
		if( strcmp( keytmp , "Key" , true ) == 0 )
		{
			valtmp = ini_GetValue( PassData );
			strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
		}
		if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
		{
			new key[ 256 ] , val[ 256 ];
			new Data[ 256 ];
			while ( fread( UserFile , Data , sizeof( Data ) ) )
			{
				key = ini_GetKey( Data );
				if( strcmp( key , "pFWarns" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pFWarns] = strval( val ); }
				if( strcmp( key , "RpTest" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pRpTest] = strval( val ); }//РП тест
				if( strcmp( key , "Pin" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPin] = strval( val ); }
				if( strcmp( key , "AdminPass" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAdminPass] = strval( val ); }
				if( strcmp( key , "MedCard" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMedCard] = strval( val ); }
				if( strcmp( key , "ArmBil" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pArmBil] = strval( val ); }
				if( strcmp( key , "Stil1" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pStil1] = strval( val ); }
				if( strcmp( key , "Stil2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pStil2] = strval( val ); }
				if( strcmp( key , "Stil3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pStil3] = strval( val ); }
				if( strcmp( key , "Garagekey" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPgaragekey] = strval( val ); }
				if( strcmp( key , "HouseKey" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPhousekey] = strval( val ); }
				if( strcmp( key , "Level" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLevel] = strval( val ); }
				if( strcmp( key , "Spawn" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pSpawn] = strval( val ); }
				if( strcmp( key , "Fish" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pFish] = strval( val ); }
				if( strcmp( key , "Fishing" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pFishing] = strval( val ); }
				if( strcmp( key , "AdminLevel" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAdministrator] = strval( val ); }
				if( strcmp( key , "DonateRank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDonateRank] = strval( val ); }
				if( strcmp( key , "HelperLevel", true ) == 0 ) { val = ini_GetValue( Data );PlayerInfo[playerid][pModerators] = strval( val ); }
				if( strcmp( key , "MuteTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMuteTime] = strval( val ); }
				if( strcmp( key , "ConnectedTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pConnectTime] = strval( val ); }
				if( strcmp( key , "Registered" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pReg] = strval( val ); }
				if( strcmp( key , "Sex" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pSex] = strval( val ); }
				if( strcmp( key , "Age" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAge] = strval( val ); }
				if( strcmp( key , "Origin" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pOrigin] = strval( val ); }
				if( strcmp( key , "Respect" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pExp] = strval( val ); }
				if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMoney] = strval( val ); }
				if( strcmp( key , "Bank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAccount] = strval( val ); }
				if( strcmp( key , "Phonebook" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPhoneBook] = strval( val ); }
				if( strcmp( key , "PhoneMoney" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPhoneMoney] = strval( val ); }
				if( strcmp( key , "Job" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pJob] = strval( val ); }
				if( strcmp( key , "Paycheck" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPayCheck] = strval( val ); }
				if( strcmp( key , "HeadValue" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pHeadValue] = strval( val ); }
				if( strcmp( key , "Jailed" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pJailed] = strval( val ); }
				if( strcmp( key , "JailTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pJailTime] = strval( val ); }
				if( strcmp( key , "Materials" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMats] = strval( val ); }
				if( strcmp( key , "Mask" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMask] = strval( val ); }
				if( strcmp( key , "Matsss" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMatsss] = strval( val ); }
				if( strcmp( key , "Leader" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLeader] = strval( val ); }
				if( strcmp( key , "Member" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMember] = strval( val ); }
				if( strcmp( key , "Rank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pRank] = strval( val ); }
				if( strcmp( key , "Char" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pChar] = strval( val ); }
				if( strcmp( key , "Int" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pInt] = strval( val ); }
				if( strcmp( key , "Model" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pModel] = strval( val ); }
				if( strcmp( key , "PhoneNr" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPnumber] = strval( val ); }
				if( strcmp( key , "Pos_x" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPos_x] = floatstr( val ); }
				if( strcmp( key , "Pos_y" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPos_y] = floatstr( val ); }
				if( strcmp( key , "Pos_z" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPos_z] = floatstr( val ); }
				if( strcmp( key , "CarLicA" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCarLicA] = strval( val ); }
				if( strcmp( key , "CarLicB" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCarLicB] = strval( val ); }
				if( strcmp( key , "CarLicC" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCarLicC] = strval( val ); }
				if( strcmp( key , "CarLicD" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCarLicD] = strval( val ); }
				if( strcmp( key , "FlyLic" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pFlyLic] = strval( val ); }
				if( strcmp( key , "BoatLic" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pBoatLic] = strval( val ); }
				if( strcmp( key , "FishLic" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pFishLic] = strval( val ); }
				if( strcmp( key , "GunLic" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGunLic] = strval( val ); }
				if( strcmp( key , "PayDay" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPayDay] = strval( val ); }
				if( strcmp( key , "PayDayHad" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPayDayHad] = strval( val ); }
				if( strcmp( key , "Tutorial" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pTut] = strval( val ); }
				if( strcmp( key , "Warnings" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pWarns] = strval( val ); }
				if( strcmp( key , "Wanted" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pWanted] = strval( val ); }
				if( strcmp( key , "Clock" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pClock] = strval( val ); }//покупка часов в 24/7
				if( strcmp( key , "Kpk" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKpk] = strval( val ); }///kpk покупка в 24/7
				if( strcmp( key , "Pasport" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPasport] = strval( val ); }
				if( strcmp( key , "Tros" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pTros] = strval( val ); }//Трос для авто
				if( strcmp( key , "Sleep" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pSleep] = strval( val ); }
				if( strcmp( key , "Toilet" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pToilet] = strval( val ); }
				if( strcmp( key , "Hunger" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pHunger] = strval( val ); }
				if( strcmp( key , "Rington" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pRington] = strval( val ); }
			}//end while
			fclose(UserFile);//close the file after everything has been read in the while
		}
		else
		{
			fclose(UserFile);
			gPlayerLogTries[playerid] += 1;
			new loginmsg[256+1];
			format(loginmsg,256,"{FF0000}Вы ввели не верный пароль от акаунта.
			n{33AAFF}Введите пароль ещё раз.");
			ShowPlayerDialog(playerid,1,3,"Пароль:",loginmsg,"Войти","Отмена");
			if(gPlayerLogTries[playerid] == 555541) { BanEx(playerid,"Сервер: Ввел Неверный Пароль"); }
			return true;
		}
		ResetPlayerMoney(playerid);
		//PlayerInfo[playerid][pMoney] = PlayerInfo[playerid][pMoney];
		//CurrentMoney[playerid] = PlayerInfo[playerid][pMoney];
		if(PlayerInfo[playerid][pReg] == 0)
		{
			PlayerInfo[playerid][pLevel] = 1;
			PlayerInfo[playerid][pPos_x] = 2089.4;
			PlayerInfo[playerid][pPos_y] = -1923.3;
			PlayerInfo[playerid][pPos_z] = 19.4;
			PlayerInfo[playerid][pInt] = 15;
			PlayerInfo[playerid][pModel] = 0;
			new randphone = 100000 + random(899900);//minimum 1000  max 9999 //giving one at the start
			PlayerInfo[playerid][pPnumber] = randphone;
			PlayerInfo[playerid][pPgaragekey] = 255;
			PlayerInfo[playerid][pPhousekey] = 255;
			PlayerInfo[playerid][pAccount] = 0;
			PlayerInfo[playerid][pReg] = 1;
			GiveMoney(playerid, 2000);
			SetPlayerHealth(playerid, 100);
		}
		new playername[32]; // Объявим переменную для записи ника
		GetPlayerName(playerid, playername, sizeof(playername)); // узнаем ник подключившегося игрока
		if(CheckTimeBanList(playername) &gt; 0)
		{
			SendClientMessage(playerid,COLOR_ORANGE,"Вы забанены. Ваш Акаунт был блокирован на время администратором"); // отправим текст
			SendClientMessage(playerid,COLOR_ORANGE,"Подробную Информацию связаную с блокировкой вашего акаунта вы");
			SendClientMessage(playerid,COLOR_ORANGE,"можете узнать после подачи заявления на разбан");
			SendClientMessage(playerid,COLOR_ORANGE,"Оставить свое заявление на разбан можно здесь OneTech");
			Kick(playerid); // кикнем
			return true;
		}
		SendClientMessage(playerid, COLOR_GREEN, "========== Добро пожаловать на OneTechRolePlay =======");
		format(string2, sizeof(string2), "Привет, %s!",playername2);
		SendClientMessage(playerid, COLOR_AMDRED,string2);
		SendClientMessage(playerid, COLOR_AMDRED,"Мы рады видеть вас на нашем сервере!");
		SendClientMessage(playerid, COLOR_AMDRED,"Наберите: /FAQ - чтобы узнать как начать играть.");
		SendClientMessage(playerid, COLOR_AMDRED,"Наберите: /help - чтобы узнать доступные команды.");
		SendClientMessage(playerid, COLOR_GREEN, "======================================================");
		printf("[Сервер]:%s авторизировался.",playername2);
		if (PlayerInfo[playerid][pDonateRank] &gt; 0)
		{
			format(string2, sizeof(string2), "[Сервер]: Вы V.I.P %d уровня!",PlayerInfo[playerid][pDonateRank]);
			SendClientMessage(playerid, COLOR_LIGHTGREEN,string2);
		}
		if (PlayerInfo[playerid][pModerators] &gt; 0)
		{
			format(string2, sizeof(string2), "[Сервер]: Вы Модератор %d уровня!",PlayerInfo[playerid][pModerators]);
			SendClientMessage(playerid, COLOR_GREEN,string2);
		}
		if (PlayerInfo[playerid][pAdministrator] &gt; 1)
		{
			format(string2, sizeof(string2), "[Сервер]: Вы Администратор %d уровня!",PlayerInfo[playerid][pAdministrator]);
			SendClientMessage(playerid, COLOR_WHITE,string2);
		}
		SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pModel], PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z], 1.0, -1, -1, -1, -1, -1, -1);
		gPlayerLogged[playerid] = 1;
		SpawnPlayer(playerid);
		TextDrawShowForPlayer(playerid, Hunger[playerid]); TextDrawShowForPlayer(playerid, HungerLine[playerid]);
		TextDrawShowForPlayer(playerid, Toilet[playerid]); TextDrawShowForPlayer(playerid, ToiletLine[playerid]);
		TextDrawShowForPlayer(playerid, Sleep[playerid]); TextDrawShowForPlayer(playerid, SleepLine[playerid]);
		UpdateNO(playerid); // Мгновенное обновление полосы нужд (Использовать каждый раз после подключения либо вновь показывающего тексдрава)

Содержание

  1. Форум Pawn.Wiki — Воплоти мечту в реальность!: error 017: undefined symbol «to_player» — Форум Pawn.Wiki — Воплоти мечту в реальность!
  2. Форум Pawn.Wiki — Воплоти мечту в реальность!: error 017: undefined symbol «playerid» — Форум Pawn.Wiki — Воплоти мечту в реальность!
  3. Pawno error 017 что это
  4. Маппинг для сервера
  5. Моды для сервера
  6. Программы для скриптера
  7. sakipovich
  8. Статистика форума
  9. Pawno error 017 что это
  10. Маппинг для сервера
  11. Моды для сервера
  12. Программы для скриптера
  13. Engels
  14. Pawno error 017 что это
  15. Вопросы

Форум Pawn.Wiki — Воплоти мечту в реальность!: error 017: undefined symbol «to_player» — Форум Pawn.Wiki — Воплоти мечту в реальность!

  • Pawn скриптинг
  • Первая помощь
  • Проблемы с компилированием
  • Правила форума
  • Просмотр новых публикаций

  • Группа: Активные пользователи
  • Сообщений: 76
  • Регистрация: 15 февраля 22

суть такая, хотел усовершенствовать свой код, в итоге ничего не получилось, так как опыта мало.
Ошибка:

Сам код, на который ругается павно:

поправте, если в коде есть ошибка.

Сообщение отредактировал Kirill_Babkin: 06 июня 2022 — 17:31

  • Группа: Активные пользователи
  • Сообщений: 1 041
  • Регистрация: 07 июня 21

Сообщение отредактировал Perdolinka: 06 июня 2022 — 17:55

Источник

Форум Pawn.Wiki — Воплоти мечту в реальность!: error 017: undefined symbol «playerid» — Форум Pawn.Wiki — Воплоти мечту в реальность!

  • Pawn скриптинг
  • Первая помощь
  • Проблемы с компилированием
  • Правила форума
  • Просмотр новых публикаций

  • Группа: Активные пользователи
  • Сообщений: 46
  • Регистрация: 21 января 21

Перенёс текстдравы в инклюд, теперь много варнингов на подобии этого.
error 017: undefined symbol «playerid»

Сообщение отредактировал skankhunt42: 08 марта 2021 — 06:23

  • Группа: Vip
  • Сообщений: 4 729
  • Регистрация: 14 марта 12

  • Группа: Активные пользователи
  • Сообщений: 46
  • Регистрация: 21 января 21

DeimoS (08 марта 2021 — 07:37) писал:

Спасибо, можешь ещё помочь, мне в этой строке пишет несоответствие тегов.

  • Группа: Vip
  • Сообщений: 4 729
  • Регистрация: 14 марта 12

Ну так ты создаёшь текстдрав для игрока, а функцию используешь, предназначенную для глобальных текстдравов.

Источник

Pawno error 017 что это

Быстрый переход в группу «Пользователи», без надобности написания постов и ожидания.

Покупка дает возможность:

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками — то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. Пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Программы для скриптера

Подборка удобных программ для скриптера

sakipovich

Изучающий

И мне выдаёт ошибку error 017: undefined symbol «playerid»!
Что делать?!

———- Post added at 19:12 ———- Previous post was at 19:02 ———-

Статистика форума

Created by Giness

Уважаемый Гость.
Пожалуйста — воздержитесь от любых комментариев на форуме относительно ситуации в мире.
В личных сообщениях, в темах и где бы то не было.
Помните — это закончится в любом случае, а слова, сказанные (или написанные) Вами — не забудутся никогда.
МЫ ЗА МИР.
(Любые сообщения относительно ситуации в мире(не важно с каким смыслом) буду удаляться. А пользователи — блокироваться безвозвратно. )

Источник

Pawno error 017 что это

Быстрый переход в группу «Пользователи», без надобности написания постов и ожидания.

Покупка дает возможность:

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками — то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. Пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Программы для скриптера

Подборка удобных программ для скриптера

Engels

Я весь форум перерыл, вроде и отвечают людям, но мне это не помогает никак. Вообщем проблема — вылезает ошибка и все. Незнаю уже куда писать и к кому обращаться. Вроде по логике делаю все как надо

C:UsersadminDesktopservergamemodesnew.pwn(10 3) : error 017: undefined symbol «pInfo»
C:UsersadminDesktopservergamemodesnew.pwn(10 3) : warning 215: expression has no effect
C:UsersadminDesktopservergamemodesnew.pwn(10 3) : error 001: expected token: «;», but found «]»
C:UsersadminDesktopservergamemodesnew.pwn(10 3) : error 029: invalid expression, assumed zero
C:UsersadminDesktopservergamemodesnew.pwn(10 3) : fatal error 107: too many error messages on one line

enum pInfo
<
pPass,
pCash,
pAdmin,
pKills,
pDeaths,
>
new PlayerInfo[MAX_PLAYERS][pInfo]

public OnPlayerDisconnect(playerid, reason)
<
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,»data»);
INI_WriteInt(File,»Cash»,GetPlayerMoney(playerid)) ;
INI_WriteInt(File,»Admin», pInfo[playerid][pAdmin]); — строка, в которой ошибка
INI_WriteInt(File,»Kills», pInfo[playerid][pKills]);
INI_WriteInt(File,»Deaths», pInfo[playerid][pDeaths]);
INI_Close(File);
return 1;
>

Прошу прощения, что тема уже есть, просто ответа для себя так и не могу найти.

Источник

Pawno error 017 что это

Вопрос от fulword , 2 ноября, 2017

Вопросы

    • Пользователь Сообщений: 76
      Регистрация: 02.09.2017
      КПД: 0%

    C:UsersDesktopgamemodesnew.pwn(11215) : error 017: undefined symbol «COLOR_GRAY»
    C:UsersDesktopgamemodesnew.pwn(11226) : error 017: undefined symbol «COLOR_GRAY»
    C:UsersDesktopgamemodesnew.pwn(11230) : error 017: undefined symbol «CGRAY»

    case D_RENTROOM:
    <
    if(response)
    <
    if(PI[playerid][pCash] >= 500 && PI[playerid][pLevel] != 0 && PI[playerid][pHotelKey] == -1)
    <
    new «ROOMTORENT»);
    PI[playerid][pHotelKey] = id;
    MotelInfo[id][mOwned] = 1;
    SetPlayerPos(playerid, 2350.339843, -1181.649902, 1027.976562);
    SetPlayerInterior(playerid, 5);
    SetPlayerVirtualWorld(playerid, id + 10);
    GiveMoney(playerid, -500);
    SCM(playerid, COLOR_YELLOW, «Âû óñïåøíî ñíÿëè êîìíàòó.»);
    SCM(playerid, COLOR_GRAY, «Äëÿ ñäà÷è êëþ÷åé — íàæìèòå ‘N’ â íîìåðå.»);
    >
    else if(PI[playerid][pLevel] == 1 && PI[playerid][pHotelKey] == -1)
    <
    new «ROOMTORENT»);
    PI[playerid][pHotelKey] = id;
    MotelInfo[id][mOwned] = 1;
    SetPlayerPos(playerid, 2350.339843, -1181.649902, 1027.976562);
    SetPlayerInterior(playerid, 5);
    SetPlayerVirtualWorld(playerid, id + 10);
    SCM(playerid, COLOR_YELLOW, «Âû óñïåøíî ñíÿëè êîìíàòó.»);
    SCM(playerid, COLOR_GRAY, «Äëÿ ñäà÷è êëþ÷åé — íàæìèòå ‘N’ â íîìåðå.»);
    >
    else if(PI[playerid][pHotelKey] != -1)
    <
    SCM(playerid, CGRAY, «[!] Âû óæå ñíèìàåòå êîìíàòó. Äëÿ ñäà÷è êëþ÷åé — íàæìèòå ‘N’ â íîìåðå.»);
    return true;
    >
    >
    >

    Источник

  • @Daniel-Cortez

    I’ll look into it, but I’m unsure of what is supposed to be the correct output in such situations.
    Should we suggest «var<state_a>» for the above example (which, IMHO, would be kind of misleading, because if the user types that instead of just «var», it will only cause a bunch of new errors), or rather don’t suggest anything?
    @Y-Less @YashasSamaga ?

    @Y-Less

    Maybe something like undefined symbol "var"; state symbol not in scope?

    @Daniel-Cortez

    Is the code in the example even valid? As far as I can recall, in Pawn only functions may have states, not variables.
    Even if we do something similar with a function instead of a variable

    func() <automaton_1:STATE_1> {}
    
    main()
    {
    	func();
    }

    the compiler doesn’t print any warnings/errors (though the generated code raises AMX_ERR_INVSTATE as function func() isn’t implemented for the default state).

    Maybe we should close this issue as invalid?

    @Y-Less

    Yes, variables can have states as well. And two variables in different states may share a memory location, which is quite nice.

    @Daniel-Cortez

    Yes, you’re right, I just haven’t seen this feature used in the wild. I’ll see what I can do about incorrect suggestions for state variables.

    @stale

    This issue has been automatically marked as stale because it has not had recent activity.

    @Daniel-Cortez

    #1

    azik215

      Новичок

    • Пользователь
    • Pip

    • 32 сообщений

    Отправлено 12 Сентябрь 2014 — 18:29

    Помогите , что за ошибка??

    Упс. Компилирование

    • Наверх


    #2


    The

    Отправлено 12 Сентябрь 2014 — 18:56

    • Помогите , что за ошибка??

      Упс. Компилирование

      error 017: undefined symbol «%s» — неизвестный символ «%s»;
      warning 217: loose indentation — не выровненная строка

    Сообщение отредактировал The: 12 Сентябрь 2014 — 18:56

    • Наверх


    #3


    azik215

    azik215

      Новичок

    • Пользователь
    • Pip

    • 32 сообщений

    Отправлено 20 Сентябрь 2014 — 18:46

    • error 017: undefined symbol «%s» — неизвестный символ «%s»;
      с ним то , что делать с 2 я разобрался

    • Наверх


    #4


    FasT of boni

    Отправлено 20 Сентябрь 2014 — 18:58

    warning 217: loose indentation 
    Проблема с отступами. Внутри функции отступы должны быть сделаны или с помощью TAB, или с помощью пробелов — нельзя их смешивать, выберите что-то одно. 

    • Наверх


    #5


    azik215

    azik215

      Новичок

    • Пользователь
    • Pip

    • 32 сообщений

    Отправлено 20 Сентябрь 2014 — 19:03

    warning 217: loose indentation 
    Проблема с отступами. Внутри функции отступы должны быть сделаны или с помощью TAB, или с помощью пробелов — нельзя их смешивать, выберите что-то одно

    Я с этим разобрался мне нужно 

    error 017: undefined symbol «%s» — неизвестный символ «%s»;

    Что с ним делать?

    Вот 93 строчка

    LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

    • Наверх


    #6


    FasT of boni

    Отправлено 20 Сентябрь 2014 — 19:08

    Я с этим разобрался мне нужно 

    error 017: undefined symbol «%s» — неизвестный символ «%s»;

    Что с ним делать?

    Вот 93 строчка

    LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

    error 017: undefined symbol «x» 
    Используемый символ не найден. Или забыли переменную объявить, или не подключили модуль. Если это какая-то SourceMod команда, например, CS_RespawnPlayer, то зайдите в API и введите её в поле «Search:». Выше над командой жирным шрифтом будет указано имя модуля, например, «cstrike», и чтобы его подключить, добавьте в самый верх кода #include <cstrike> 

    • Наверх


    #7


    azik215

    azik215

      Новичок

    • Пользователь
    • Pip

    • 32 сообщений

    Отправлено 20 Сентябрь 2014 — 19:24

    Я с этим разобрался мне нужно 

    error 017: undefined symbol «%s» — неизвестный символ «%s»;

    Что с ним делать?

    Вот 93 строчка

    LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

    error 017: undefined symbol «x» 
    Используемый символ не найден. Или забыли переменную объявить, или не подключили модуль. Если это какая-то SourceMod команда, например, CS_RespawnPlayer, то зайдите в API и введите её в поле «Search:». Выше над командой жирным шрифтом будет указано имя модуля, например, «cstrike», и чтобы его подключить, добавьте в самый верх кода #include <cstrike> 

    Можно я в лс файл кину. Ты сделаешь??

    • Наверх


    #8


    FasT of boni

    Отправлено 20 Сентябрь 2014 — 19:25

    Можно я в лс файл кину. Ты сделаешь??

    попробуй

    • Наверх


    #9


    azik215

    azik215

      Новичок

    • Пользователь
    • Pip

    • 32 сообщений

    Отправлено 20 Сентябрь 2014 — 19:28

    • Наверх


    #10


    FasT of boni

    Отправлено 20 Сентябрь 2014 — 20:26

    Это инклюд.

    Кидай все инклюды и исходник.

    • Наверх


    #11


    Mattko

    Отправлено 21 Сентябрь 2014 — 13:29

    Нету переменной «name», объявите о ней в начале кода.
    Используя вот-так: new name;
     

    warning 217: loose indentation 
    Проблема с отступами. Внутри функции отступы должны быть сделаны или с помощью TAB, или с помощью пробелов — нельзя их смешивать, выберите что-то одно. 

    Не отступами, а с табуляции… Можно объявить #table, но проще соблюдать табуляцию, чтобы работа плагина была стабильна.

    PS: Автору темы, кидай исходник мне в ЛС, или тут. Исправлю.

    • Mr.Credo это нравится
    • Наверх


    Как исправить Error
    Автор: neka

    Значение Error можно посмотреть здесь.

    error 040: duplicate «case» label (value 28)

    Это означает что case стаким значением повторяется. Решение этой проблемы простое — нам нужно цифру 28 изменит на другую (в той строчке на которую жалуется )

    error 032: array index out of bounds (variable «JoinPed»)

    Это означает что индекс массива превышен (но не всегда, смотрим дальше) Пример:

    131 — массив поигравшись с ним я понял что дело не в нем, а в чём же спросите вы? Пример данной ошибки:

    Код: Выделить всё

    else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[123][0]); SelectCharPlace[playerid] = 3; InviteSkin[playerid] = JoinPed[98][0]; 

    как видим — JoinPed[123] сначало с таким значением, а потом JoinPed[98]. Решение простое: JoinPed[123] число в данных скобках должно быть одинаковым. Пример:

    Код: Выделить всё

    else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[123][0]); SelectCharPlace[playerid] = 3; InviteSkin[playerid] = JoinPed[123][0]; 

    error 037: invalid string (possibly non-terminated string)

    Это означает что строка неправильная, а точнее где то допущена ошибка:

    Код: Выделить всё

    else if(PlayerInfo[targetid][pRank] == 4) { rangz = "Зам.модера; }

    как видим нам после слова «модера» не хватает «. Правим:

    Код: Выделить всё

    else if(PlayerInfo[targetid][pRank] == 4) { rangz = "Зам.модера"; }

    error 001: expected token: «,», but found «;»

    Это значит что мы пропустили знак или скобку (в данном примере скобку) Пример:

    Код: Выделить всё

    public SaveProdykts()
    {
        new idx;
        new File: file2;
        while (idx < sizeof(ProdyktsInfo))
        {
            new coordsstring[256];
            format(coordsstring, sizeof(coordsstring), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%dn",
            ProdyktsInfo[idx][prSous],
            ProdyktsInfo[idx][prPizza],
            ProdyktsInfo[idx][prMilk],
            ProdyktsInfo[idx][prJuice],
            ProdyktsInfo[idx][prSpirt],
            ProdyktsInfo[idx][prChicken],
            ProdyktsInfo[idx][prKolbasa],
            ProdyktsInfo[idx][prFish],
            ProdyktsInfo[idx][prIceCream],
            ProdyktsInfo[idx][prChips],
            ProdyktsInfo[idx][prZamProd];
            if(idx == 0)
            {
                file2 = fopen("[prodykts]/prodykts.cfg", io_write);
            }
            else
            
    {
                file2 = fopen("[prodykts]/prodykts.cfg", io_append);
            }
            fwrite(file2, coordsstring);
            idx++;
            fclose(file2);
        }
        return 1;
    }

    смотрим на:

    и вим что мы ппропустили )

    Правим:

    И в итоге:

    Код: Выделить всё

    public SaveProdykts()
    {
        new idx;
        new File: file2;
        while (idx < sizeof(ProdyktsInfo))
        {
            new coordsstring[256];
            format(coordsstring, sizeof(coordsstring), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%dn",
            ProdyktsInfo[idx][prSous],
            ProdyktsInfo[idx][prPizza],
            ProdyktsInfo[idx][prMilk],
            ProdyktsInfo[idx][prJuice],
            ProdyktsInfo[idx][prSpirt],
            ProdyktsInfo[idx][prChicken],
            ProdyktsInfo[idx][prKolbasa],
            ProdyktsInfo[idx][prFish],
            ProdyktsInfo[idx][prIceCream],
            ProdyktsInfo[idx][prChips],
            ProdyktsInfo[idx][prZamProd]);< ----------- И вот наша скобка 
            if
    (idx == 0)
            {
                file2 = fopen("[prodykts]/prodykts.cfg", io_write);
            }
            else
            
    {
                file2 = fopen("[prodykts]/prodykts.cfg", io_append);
            }
            fwrite(file2, coordsstring);
            idx++;
            fclose(file2);
        }
        return 1;

    error 002: only a single statement (or expression) can follow each «case»

    Это означает что у вас после «case» идет if(dialogid == ). Пример:

    Код: Выделить всё

      case 7507: 
        
    { 
            if
    (response) ClothesSex[playerid] = 1; 
            else ClothesSex
    [playerid] = 2; 
            ShowPlayerDialog
    (playerid,7504,2,"??????? ??????","{A0B0D0}?????????? ?????? {7CC000}300$n{A0B0D0}??????? ?????? {7CC000}300$n{A0B0D0}???????????? ?????? {7CC000}300$n{A0B0D0}?????","???????","?????"); 
            return 1
    ; 
        
    } 
    if(dialogid == 7504)  <------------------- вот наша и ошибка 
        
    { 
            if
    (response) 
            
    { 
                  SetCameraBehindPlayer
    (playerid); TogglePlayerControllable(playerid, 1); 
                  SetPlayerSkin
    (playerid, PlayerInfo[playerid][pModel]); 
                  ClothesRun
    [playerid] = 0; 
                return 1
    ; 
            
    }

    Решение простое: if(dialogid == 7504) это нам нужно заменить на case как и последующий диалог !

    Код: Выделить всё

    case 7504:  <------------------- вот так это выглядит
        

            if(
    response
            { 
                  
    SetCameraBehindPlayer(playerid); TogglePlayerControllable(playerid1); 
                  
    SetPlayerSkin(playeridPlayerInfo[playerid][pModel]); 
                  
    ClothesRun[playerid] = 0
                return 
    1
            }  

    error 004: function «%s» is not implemented

    Это означает что мы пропустили скобку. Мой совет:

    • проверить весь код в ручную
    • на форуме был урок как найти не по ставленую скобку
    • Можно воспользоватся notepad++ там показы линии открытых скобок и тогда можно найти эту скобку

    error 017: undefined symbol %s

    Это означает что мы не поставили переменную new. Пример:

    Решение — ко всем new добавим:

    Leeky Rave

    Нуль

    Регистрация
    16 Авг 2019
    Сообщения
    1
    Лучшие ответы
    0
    Репутация
    0

    • #1

    Привет,Павн-еры,делал свой мод по урокам и столкнулся с такой ошибкой

    PHP:

    error 017: undefined symbol "mysql_tquery"
    error 017: undefined symbol "cache_get_row_count"
    error 017: undefined symbol "show_login"
    error 017: undefined symbol "show_register"
    warning 204: symbol is assigned a value that is never used: "mysql"

    show_login and show_register — понятно,не задефайнил,а почему на функции ругается,не знаю :bw:
    Код:

    PHP:

    forward player_connect(playerid);
    public player_connect(playerid)
    {
      new query[48+24];
      format(query, sizeof(query), "SELECT `id` FFROM `accounts` WHERE `login` = '%s'", sendername(playerid));
      mysql_tquery(mysql,query, "player_check","ii",playerid,0);
      return 1;
    }
    forward player_check(playerid);
    public player_check(playerid)
    {
      new rows[2];
      cache_get_row_count(rows[0], rows[1]);
      if(rows[0]) show_login(playerid);
      else show_register(playerid);
      return 1;
    }

    UPD 23:34
    Обновил до R41-4
    Результата нет.

    Последнее редактирование: 18 Авг 2019

    Понравилась статья? Поделить с друзьями:

    Читайте также:

  • Error 017 undefined symbol getplayerpoolsize
  • Error 017 undefined symbol engine
  • Error 017 undefined symbol dialog
  • Error 017 undefined symbol creplytocommand
  • Error 017 undefined symbol createvehicleex

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии