PDA

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



Andrik851
03.07.2019, 16:26
Помогите пожалуйста решить такие варнинги


D:\ÌÎÉ ÑÅÐÂÅÐ\ëîêàëüíûé ñåðâåð\gamemodes\mrpv1.pwn(19567) : warning 213: tag mismatch: expected tag "pInfo", but found "cInfo"
D:\ÌÎÉ ÑÅÐÂÅÐ\ëîêàëüíûé ñåðâåð\gamemodes\mrpv1.pwn(26762) : warning 213: tag mismatch: expected tag "pInfo", but found "cInfo"
D:\ÌÎÉ ÑÅÐÂÅÐ\ëîêàëüíûé ñåðâåð\gamemodes\mrpv1.pwn(38343) : warning 213: tag mismatch: expected tag "pInfo", but found "cInfo"
D:\ÌÎÉ ÑÅÐÂÅÐ\ëîêàëüíûé ñåðâåð\gamemodes\mrpv1.pwn(38347) : warning 213: tag mismatch: expected tag "pInfo", but found "cInfo"
Pawn compiler 3.10.8 Copyright (c) 1997-2006, ITB CompuPhase

Header size: 19908 bytes
Code size: 7122076 bytes
Data size: 7848344 bytes
Stack/heap size: 16384 bytes; estimated max. usage=7265 cells (29060 bytes)
Total requirements:15006712 bytes

4 Warnings.


вот первый варнинг


if(checkpointid == Pickup[46])// штрафстоянка
{
if(PlayerInfo[playerid][cCarAr] == 1) return ShowPlayerDialog(playerid, D_PODEZD+8, 0, "Штрафстоянка", "{FFFFFF}Ваш автомобиль находиться под арестом.\n\
{FFFFFF}Причина: {FFD700} Отсуствие парковочного места.\n\
{FFFFFF}Залог: {FFD700} 5000 руб.\n\
{CD5C5C}Настоятельно рекомендуем Вам приобрести парковочное место.", "Забрать", "Отмена");// варнинг строка 19567
else
SendClientMessage(playerid, COLOR_GREY, "{BEBEBE}[INFO] Вашего авто нет на ШС!");
}



второй варнинг



case D_CAR+4: //штрафстоянка
{
if(response)
{
new i, v;
v = GetPVarInt(playerid, "ArCars");
i = GetPVarInt(playerid, "PrCars");
DestroyVehicleEx(v);
PlayerInfo[i][cCarAr] = 1;// варнинг строка 26762
SendMes(playerid, CINFO, "Вы успешно отправили автомобиль %s на штрафстоянку", VehicleNameS[GetVehicleModel(v)-400]);
}
else
{
DeletePVar(playerid, "ArCars");
DeletePVar(playerid, "PrCars");
}
}


третий варнинг



CMD:carar(playerid, params[])// штрафстоянка
{
if(PlayerInfo[playerid][pMember] == F_DPS)
{
if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1958.2283,-2609.1709,10.2787)) return SendClientMessage(playerid, COLOR_GREY, "[INFO] Отправлять авто на штрафстоянку можно только возле штрафстоянки");
new Float:x,Float:y, Float:z;
for(new v; v < MAX_VEHICLES; v++)
{
GetVehiclePos(v, x, y, z);
if(!IsPlayerInRangeOfPoint(playerid, 3.0, x,y,z)) continue;
foreach(new i:Player)
{
if(PlayerInfo[i][cCarId] == v)//варнинг строка 38343
{
SetPVarInt(playerid, "ArCars", v);
SetPVarInt(playerid, "PrCars", i);
format(totalstring, 500, "{FFFFFF}Вы хотите отправить на штрафстоянку автомобиль {CD5C5C}%s{FFFFFF} с номерными знаками {1E90FF}%s{FFFFFF}?",VehicleNameS[GetVehicleModel(v)-400], PlayerInfo[i][cNumber]);//варнинг строка 38347
ShowPlayerDialog(playerid, D_CAR+4, 0, "{66CC00}Госавтоинспекция", totalstring, "Да", "Нет");
}
}
return 1;
}
}
return true;
}


Кто знает помогите это исправить с меня + Заранее огромное спасибо

Daniel_Cortez
04.07.2019, 19:13
При обращении к массиву PlayerInfo нужно указывать поле из перечисления (enum) pInfo, а вы указываете из cInfo (cCarAr, cCarId). Вполне возможно, что вы банально перепутали одну букву и нужно исправить "c" на "p", т.е. "pCarAr", "pCarId". Если же в pInfo нет полей с такими названиями - выкладывайте всё перечисление pInfo, будем разбираться.

Andrik851
07.07.2019, 19:23
При обращении к массиву PlayerInfo нужно указывать поле из перечисления (enum) pInfo, а вы указываете из cInfo (cCarAr, cCarId). Вполне возможно, что вы банально перепутали одну букву и нужно исправить "c" на "p", т.е. "pCarAr", "pCarId". Если же в pInfo нет полей с такими названиями - выкладывайте всё перечисление pInfo, будем разбираться.

вот оба эти enum


//============================================================================*/
enum pInfo {
pName,
pID,
pPassword[32],
pIpPassword[32],
pMail[64],
pIP[16],
pPlIP[64],
pRoadblock,
pRegData[16],
pLevel,
pCash,
pBank,
pAdmin,
pModel,
pChar,
pSex,
pExp,
pMuted,
pWarn,
pWarnTime,
pAutoSkill,
pSkills[40],
pAge,
pLics[16],
pLic[5],
pGuns[40],
pGun[13],
pAmmos[160],
pAmmo[13],
pGunSkill[7],
pLeader,
pRank,
pMember,
pPick,
pCheckTime,
pNews,
pPhones[16],
pPhone[3],
pText[3],
pTexts[20],
pWanted,
pWantedTime,
pWantedWho[MAX_PLAYER_NAME],
pWantedReason[32],
Float:pHeal,
pDrugs,
pMats,
pCrimes,
pJob,
pMarried,
pWhoMarried[MAX_PLAYER_NAME],
pReferal[MAX_PLAYER_NAME],
pRefMoney,
pPayCheck,
pFish,
pLottery,
pVIP,
pVIPDate,
pTime,
pFightStyle,
pCredits,
pTotalCredits,
pSkin1,
pSkin2,
pSkin3,
pSpawnChange,
pRPR,
pGlasses,
pSatiety,
pRPRGive,
Float:pHealthS,
pSportEXP,
pOnline,
pZakon,
pBolezn,
ProverkaIP,
pHospital,
pHealTime,
pGigienaTime,
pWatch,
pCiggare,
pSprunk,
pMask,
pPhoneBalance,
pTruckSkill,
pTaxiSkill,
pSpawn,
pSnow,
//////////////////////////////
pMorgan,
pMorganTime,
pVBloose,
pWorkBook[20],
pWB[6],
pVb,
/////////////////////////////
Float: pPos_x,
Float: pPos_y,
Float: pPos_z,
pSendername[MAX_PLAYER_NAME],
pMarafon,
pPutlist,
pPiss,
pZhazhda,
pGigiena,
pBanya
};
new PlayerInfo[MAX_PLAYERS][pInfo];
//==============================================================================*/
enum cInfo
{
cId,
cModel,
Float:cX,
Float:cY,
Float:cZ,
Float:cFa,
cProbeg,
cFuel,
cNumber[40],
cCarAr,
cClass,
cColor1,
cColor2,
cLock,
cCost,
cVehcom[64],
cVehcoms[14],
cPaintjob,
cMoney,
cKan,
cDeer,
Text3D:cText,
cCarId,
Float:cHealth

}
new CarInfo[MAX_PLAYERS][MAX_CARS][cInfo];

punkochel
08.07.2019, 11:15
Daniel подметил все верно, проблема в перепутанных переменных.


if(checkpointid == Pickup[46])// штрафстоянка
{
if(PlayerInfo[playerid][cCarAr] == 1) return ShowPlayerDialog(playerid, D_PODEZD+8, 0, "Штрафстоянка", "{FFFFFF}Ваш автомобиль находиться под арестом.\n\
{FFFFFF}Причина: {FFD700} Отсуствие парковочного места.\n\
{FFFFFF}Залог: {FFD700} 5000 руб.\n\
{CD5C5C}Настоятельно рекомендуем Вам приобрести парковочное место.", "Забрать", "Отмена");// варнинг строка 19567
else
SendClientMessage(playerid, COLOR_GREY, "{BEBEBE}[INFO] Вашего авто нет на ШС!");
}

Переменная cCarAr у тебя объявлена в enum CarInfo, а ты ее используешь в enum PlayerInfo, и так-же с другими.