Просмотр полной версии : [Вопрос] Варнинги в команде
Andrik851
05.05.2019, 01:06
Доброй ночи помогите решить варнинги в кманде
варнинги
C:\Users\Генерал\Desktop\локальный сервер\gamemodes\mrpv1.pwn(36635) : warning 213: tag mismatch: expected tag "pInfo", but found "cInfo"
C:\Users\Генерал\Desktop\локальный сервер\gamemodes\mrpv1.pwn(36639) : warning 213: tag mismatch: expected tag "pInfo", but found "cInfo"
Pawn compiler 3.10.8 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 19836 bytes
Code size: 6277176 bytes
Data size: 7670100 bytes
Stack/heap size: 16384 bytes; estimated max. usage=7264 cells (29056 bytes)
Total requirements:13983496 bytes
2 Warnings.
вот сама команда
CMD:carar(playerid, params[])// штрафстоянка
{
if(PlayerInfo[playerid][pMember] == F_DPS)
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, 2394.0767,-1790.1770,21.8604)) 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)// варнинг 1
{
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]);// варнинг 2
ShowPlayerDialog(playerid, D_CAR+4, 0, "{66CC00}Госавтоинспекция", totalstring, "Да", "Нет");
}
}
return 1;
}
}
return true;
}
Посмотри, cCarId, cNumber в каком enum'e находятся?
И замени на верный.
Andrik851
05.05.2019, 08:33
Посмотри, cCarId, cNumber в каком enum'e находятся?
И замени на верный.
У меня вот такой enum но куда его писать то
enum cInfo
{
cId,
cModel,
Float:cX,
Float:cY,
Float:cZ,
Float:cFa,
cFuel,
cNumber[40],
cCarAr,
cClass,
cColor1,
cColor2,
cLock,
cCost,
cVehcom[64],
cVehcoms[14],
cPaintjob,
cMoney,
cKan,
cDeer,
Text3D:cText,
cCarId,
Float:cHealth
}
verteich
05.05.2019, 12:32
У тебя массив привязан к pInfo, но вводишь ты cInfo, скорее всего массив у тебя CarInfo
Andrik851
05.05.2019, 13:52
У тебя массив привязан к pInfo, но вводишь ты cInfo, скорее всего массив у тебя CarInfo
я прописывал CarInfo но тогда вообще ошибка в этой строке
Andrik851
05.05.2019, 14:46
А вот когда прописал таким образом варнинг пропал
if(CarInfo[playerid][i][cCarId] == v)
но а вот здесь такое не катит и выдает ошибку
if(checkpointid == Pickup[36])// штрафстоянка
{
if(PlayerInfo[playerid][cCarAr] == 1) return ShowPlayerDialog(playerid, D_PODEZD+8, 0, "Штрафстоянка", "{FFFFFF}Ваш автомобиль находиться под арестом.\n\
{FFFFFF}Причина: {FFD700} Отсуствие парковочного места.\n\
{FFFFFF}Залог: {FFD700} 5000 руб.\n\
{CD5C5C}Настоятельно рекомендуем Вам приобрести парковочное место.", "Забрать", "Отмена");
else
SendClientMessage(playerid, COLOR_GREY, "{BEBEBE}[INFO] Вашего авто нет на ШС!");
}
Замени:
if(PlayerInfo[playerid][cCarAr] == 1)
if(CarInfo[и здесь не playerid а ид машины должен быть!][cCarAr] == 1)
Andrik851
05.05.2019, 15:10
Замени:
if(PlayerInfo[playerid][cCarAr] == 1)
if(CarInfo[и здесь не playerid а ид машины должен быть!][cCarAr] == 1)
ну а как если я поставлю какой нибудь id машины то оно будет работать только для этой машины
verteich
05.05.2019, 16:51
GetPlayerVehicleID
GetPlayerVehicleID
Именно, И тут ошибка тоже)
if(CarInfo[playerid][i][cCarId] == v)
Должно быть примерно так:
if(CarInfo[Ид машины][cCarId] == v)
P.S enum с cInfo, должен обрабатываться полностью по иду машины, и к игроку не должен иметь не какого отношения.
Andrik851
05.05.2019, 17:12
Именно, И тут ошибка тоже)
if(CarInfo[playerid][i][cCarId] == v)
Должно быть примерно так:
if(CarInfo[Ид машины][cCarId] == v)
P.S enum с cInfo, должен обрабатываться полностью по иду машины, и к игроку не должен иметь не какого отношения.
вообще тогда ошибку вызает
C:\Users\Генерал\Desktop\локальный сервер\gamemodes\mrpv1.pwn(36575) : error 076: syntax error in the expression, or invalid function call
Pawn compiler 3.10.8 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
- - - Добавлено - - -
рописал так как и сказали
if(CarInfo[GetPlayerVehicleID][cCarId] == v)
вообще тогда ошибку вызает
C:\Users\Генерал\Desktop\локальный сервер\gamemodes\mrpv1.pwn(36575) : error 076: syntax error in the expression, or invalid function call
Pawn compiler 3.10.8 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
- - - Добавлено - - -
рописал так как и сказали
if(CarInfo[GetPlayerVehicleID][cCarId] == v)
Ты функцию читал?
GetPlayerVehicleID PLAYER, то есть должно быть так GetPlayerVehicleID(playerid)
Andrik851
06.05.2019, 09:18
Ты функцию читал?
GetPlayerVehicleID PLAYER, то есть должно быть так GetPlayerVehicleID(playerid)
короче не фига я ничего не понял я в этомновичек и только учусь
Один не пойму зачем там перебор игроков?
Мне одному кажется, что там сплошная каша?
CMD:carar(playerid)
{
if(!PlayerInfo[playerid][pMember] == F_DPS)
return SendClientMessage(playerid,COLOR_GREY,"Вы не сотрудник ДПС.");
else if(!IsPlayerInRangeOfPoint(playerid, 5.0, 2394.0767,-1790.1770,21.8604))
return SendClientMessage(playerid,COLOR_GREY,"[Ошибка] Вы не находитесь у штрафстоянки.");
for(new veh; veh < MAX_VEHICLES; veh++) {
new Float:x, Float:y, Float:z;
GetVehiclePos(veh, x,y,z);
if(!IsPlayerInRangeOfPoint(playerid, 3.0, x,y,z)) continue;
if(CarInfo[GetVehicleID(veh)][cCarId] == veh) {
format(
totalstring,
500,
"{FFFFFF}Вы хотите отправить на штрафстоянку автомобиль {CD5C5C}%s{FFFFFF} с номерными знаками {1E90FF}%s{FFFFFF}?",VehicleNameS[GetVehicleModel(veh)-400], CarInfo[GetVehicleID(veh)][cNumber]);
ShowPlayerDialog(playerid,D_CAR+4,0,"{66CC00}Госавтоинспекция",totalstring,"Да","Нет");
SetPVarInt(playerid, "ArCars", veh);
//SetPVarInt(playerid, "PrCars", i); Так и не понял для чего тебе это PVar и как ты его использовал.
}
}
return true;
}
Andrik851
07.05.2019, 01:30
Один не пойму зачем там перебор игроков?
Мне одному кажется, что там сплошная каша?
CMD:carar(playerid)
{
if(!PlayerInfo[playerid][pMember] == F_DPS)
return SendClientMessage(playerid,COLOR_GREY,"Вы не сотрудник ДПС.");
else if(!IsPlayerInRangeOfPoint(playerid, 5.0, 2394.0767,-1790.1770,21.8604))
return SendClientMessage(playerid,COLOR_GREY,"[Ошибка] Вы не находитесь у штрафстоянки.");
for(new veh; veh < MAX_VEHICLES; veh++) {
new Float:x, Float:y, Float:z;
GetVehiclePos(veh, x,y,z);
if(!IsPlayerInRangeOfPoint(playerid, 3.0, x,y,z)) continue;
if(CarInfo[GetVehicleID(veh)][cCarId] == veh) {
format(
totalstring,
500,
"{FFFFFF}Вы хотите отправить на штрафстоянку автомобиль {CD5C5C}%s{FFFFFF} с номерными знаками {1E90FF}%s{FFFFFF}?",VehicleNameS[GetVehicleModel(veh)-400], CarInfo[GetVehicleID(veh)][cNumber]);
ShowPlayerDialog(playerid,D_CAR+4,0,"{66CC00}Госавтоинспекция",totalstring,"Да","Нет");
SetPVarInt(playerid, "ArCars", veh);
//SetPVarInt(playerid, "PrCars", i); Так и не понял для чего тебе это PVar и как ты его использовал.
}
}
return true;
}
после вшивания этой команды образовались ошибки
C:\Users\Ãåíåðàë\Desktop\ëîêàëüíûé ñåðâåð\gamemodes\mrpv1.pwn(36655) : warning 213: tag mismatch: expected tag none ("_"), but found "bool"
C:\Users\Ãåíåðàë\Desktop\ëîêàëüíûé ñåðâåð\gamemodes\mrpv1.pwn(36665) : error 017: undefined symbol "GetVehicleID"
C:\Users\Ãåíåðàë\Desktop\ëîêàëüíûé ñåðâåð\gamemodes\mrpv1.pwn(36667 -- 36670) : error 017: undefined symbol "GetVehicleID"
Pawn compiler 3.10.8 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
после вшивания этой команды образовались ошибки
C:\Users\Ãåíåðàë\Desktop\ëîêàëüíûé ñåðâåð\gamemodes\mrpv1.pwn(36655) : warning 213: tag mismatch: expected tag none ("_"), but found "bool"
C:\Users\Ãåíåðàë\Desktop\ëîêàëüíûé ñåðâåð\gamemodes\mrpv1.pwn(36665) : error 017: undefined symbol "GetVehicleID"
C:\Users\Ãåíåðàë\Desktop\ëîêàëüíûé ñåðâåð\gamemodes\mrpv1.pwn(36667 -- 36670) : error 017: undefined symbol "GetVehicleID"
Pawn compiler 3.10.8 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
if(!PlayerInfo[playerid][pMember] == F_DPS)
Замени на:
if(PlayerInfo[playerid][pMember] != F_DPS)
Касаемо "GetVehicleID", думал у тебя уже прописана в моде так или как-то аналогично данная функция.
Она обозначает id загруженных тобой личных авто игроков, ведь не все же серверные т/c, можно будет ставить на штрафстоянку. Верно?
Напишешь данную функцию все будет работать и разберись с PVar'ми.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot