PDA

Просмотр полной версии : [Вопрос] Помогите найти ошибку



Andrik851
03.10.2018, 14:59
Не могу найти решение этой ошибки [ :warning 213: tag mismatch ]
В pawno новичок


CMD:fstyle(playerid, params[])
{
if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_GREY, "• [ Подсказка ] {ffffff}Введите: /fstyle [стиль от 1 до 3]");
switch(params[0])
{
case 1:
{
if(PI[playerid][pSportExp] >= 1000) ////////// ошибка здесь
{
PI[playerid][pFightStyle] = 5;
SetPlayerFightingStyle(playerid, FIGHT_STYLE_BOXING);
SendClientMessage(playerid, COLOR_GREEN, "Вы изменили свой стиль боя на {FFFFFF}бокс");
}
else SendClientMessage(playerid, COLOR_GREY, "Вы еще не выучили этот стиль боя!");
}
case 2:
{
if(PI[playerid][pSportExp] >= 3000) ////////// ошибка здесь
{
PI[playerid][pFightStyle] = 6;
SetPlayerFightingStyle(playerid, FIGHT_STYLE_KUNGFU);
SendClientMessage(playerid, COLOR_GREEN, "Вы изменили свой стиль боя на {FFFFFF}кунг-фу");
}
else SendClientMessage(playerid, COLOR_GREY, "Вы еще не выучили этот стиль боя!");
}
case 3:
{
if(PI[playerid][pSportExp] >= 6000) ////////// ошибка здесь
{
PI[playerid][pFightStyle] = 7;
SetPlayerFightingStyle(playerid, FIGHT_STYLE_KNEEHEAD);
SendClientMessage(playerid, COLOR_GREEN, "Вы изменили свой стиль боя на {FFFFFF}кикбокс");
}
else SendClientMessage(playerid, COLOR_GREY, "Вы еще не выучили этот стиль боя!");
}

Daniel_Cortez
03.10.2018, 15:49
1. Обязательно было создавать для этого 2 темы?

2. Покажите, как у вас объявлена переменная "pSportExp" внутри enum PlayerInfo (или "pInfo", в разных модах она называется по-разному).

Andrik851
15.10.2018, 18:16
как я понял это наверное вот эта строка?

enum pInfo {
pID,
pPassword[32],
pIpPassword[32],
pMail[64],
pIP[16],
pPlIP[64],
pRoadblock,
pRegData[16],
pLevel,
pCash,
pBank,
pAdmin,
pModel,
pChar,
pSex,
pExp,
pMuted,
pWarn,
pAutoSkill,
pSkills[40],
pAge,
bool:clicked_text,
pLics[16],
pLic[5],
pGuns[40],
pGun[13],
pAmmos[160],
pAmmo[13],
pGunSkill[7],
pLeader,
pRank,
pAdmPass,
pMember,
pPick,
pCheckTime,
pNews,
pPhones[16],
pPhone[3],
pText[3],
pTexts[20],
pWanted,
pAchievement[15],
pWantedTime,
pWantedWho[MAX_PLAYER_NAME],
pWantedReason[32],
Float:pHeal,
pDrugs,
pMats,
pCrimes,
pJob,
pMarried,
pCars,
pWhoMarried[MAX_PLAYER_NAME],
pReferal[MAX_PLAYER_NAME],
pRefMoney,
pPayCheck,
pFish,
pLottery,
pVIP,
pVIPDate,
pTime,
pFightStyle,
pCreditss,
pTotalCredits,
pSkin1,
pSkin2,
pSkin3,
pSpawnChange,
pRPR,
pGlasses,
pSatiety,
pRPRGive,
Float:pHealthS,
pSportEXP,
pOnline,
pZakon,
pBolezn,
ProverkaIP,
pHospital,
pHealTime,
pWatch,
pCiggare,
pSprunk,
pMask,
pPhoneBalance,
pTruckSkill,
pTaxiSkill,
pSpawn,
pSnow,
//////////////////////////////
cModel[3],
cMoney[3],
cKan,
cCarId[3],
Float:cX[3],
Float:cY[3],
Float:cZ[3],
Float:cFa[3],
cClass[3],
cFuel[3],
cNumber1[64],
cNumber2[64],
cNumber3[64],
cColor1[2],
cColor2[2],
cColor3[2],
cLock[3],
cCost[3],
cVehcom1[64],
cVehcom2[64],
cVehcom3[64],
cVehcoms1[14],
cVehcoms2[14],
cVehcoms3[14],
cPaintjob[3],
cCarAr[3],
pMorgan,
pMorganTime,
pVb,
pWorkBook[20],
pWB[6]

Float: pPos_x,
Float: pPos_y,
Float: pPos_z,
pSendername[MAX_PLAYER_NAME],
pTimeSpec,
pTimeRestart,
pTimeDay,
pKickCount,
pLastVisit[64],
pChangeSkin,
pBanCount,
pWarnCount,
pJailCount,
pAnsCount
};


заранее извените я в этом новичок и всего лишь только учусь
Всем огромное спасибо ошибку понял и исправил

Daniel_Cortez
15.10.2018, 19:06
Посмотрите внимательно: внутри enum pInfo свойство называется "pSportEXP", а в коде из 1-го поста вы неправильно записали название как "pSportExp".
Если при этом компилятор не выдаёт ошибку из-за неизвестного названия ("undefined symbol"), а жалуется на несоответствие тегов* ("tag mismatch"), значит, скорее всего, где-то среди глобальных переменных у вас объявлена переменная с названием "pSportExp"; давать переменной такое название - это тоже не нормально, легко запутаться.
Иначе говоря, там где выдаёт варнинги "tag mismatch", следует заменить "pSportExp" на "pSportEXP", а затем найти переменную "pSportExp" - её либо переименовать так, чтобы нельзя было спутать с "pSportEXP" из pInfo, либо вообще удалить (вполне возможно, что вы сами же её и объявили раньше, не вникнув в суть проблемы и пытаясь сделать так, чтобы компилятор не выдавал ошибок).

* теги - аналог типов данных в Pawn (примеры: bool, Float, File)

Также на будущее: при публикации кода используйте тег [pawn]. Ваши посты выше я отредактировал с этим тегом.

Andrik851
15.10.2018, 19:25
Все понял

- - - Добавлено - - -

Сможете мне помочь с еще одной ошибкой? Она указана в новой теме