
(29306) : warning 206: redundant test: constant expression is non-zero (98201) : warning 203: symbol is never used: "params" (98238) : warning 203: symbol is never used: "params" (98258) : warning 203: symbol is never used: "params" (99297) : warning 203: symbol is never used: "params"
if(USE_TEXTDRAW_SET == 2)
dcmd_placeboombox(playerid, params[])
dcmd_turnon(playerid, params[])
dcmd_pickupboombox(playerid, params[])
dcmd_stopamusic(playerid, params[])
#pragma unused params
if(10 > 2)
#if USE_TEXTDRAW_SET == 2 // Your "if"
// Your if code
#elseif SOMETHING > 0 // alternative "else" and "if" (an example, if you are going to use something like this)
// ...
#else // alternative else (an example, if you are going to use something like this)
// ...
#endif // End of your "if"
|
To the command shows symbol is never used: "params", use:
pawn Код:
pawn Код:
|
error 017: undefined symbol "params"
|
The first problem can be solved using
pawn Код:
|
error 001: expected token: "#endif", but found "-end of file-"
(29312) : error 029: invalid expression, assumed zero
else
#if USE_TEXTDRAW_SET == 2
{
format(string,sizeof(string),"Listening to: ~n~~w~%s",r_RadioInfo[playingid][r_Name]);
TextDrawSetString(v_VehicleInfo[vehicleid][r_Draw],string);
}
else // the error says this invalid expression, assumed zero
{
TextDrawSetString(v_VehicleInfo[vehicleid][r_Draw],r_RadioInfo[playingid][r_Name]);
}
TextDrawShowForPlayer(playerid,v_VehicleInfo[vehicleid][r_Draw]);
SetPVarInt(playerid,"ID_HideRadioTextdraw",SetTimerEx("HideRadioTextdraw",TEXTDRAW_DISAPPEAR_TIME,false,"ii",playerid,vehicleid));
PlayAudioStreamForPlayer(playerid,r_RadioInfo[playingid][r_Link]);
SetPVarInt(playerid,"ID_OldVehicle",vehicleid);
}
#endif
|
Is it like this?
pawn Код:
I believe he was typing more than 2 minutes and he didn't see your post until he posted a reply. |
(266) : error 017: undefined symbol "params"
#pragma unused params
dcmd_placeboombox(playerid, params[])
{
if(PlayerInfo[playerid][pBoomBox] == 0) return SendClientMessage(playerid, COLOR_WHITE, "You don't have a BoomBox");
if(GetPVarType(playerid, "pDynamicBB")) return SendClientMessage(playerid, COLOR_WHITE, "You already have a boombox out, use /pickupboombox.");
foreach(Player, i)
{
if(GetPVarType(i, "pDynamicBB"))
{
if(IsPlayerInRangeOfPoint(playerid, 30.0, GetPVarFloat(i, "pDynamicBBX"), GetPVarFloat(i, "pDynamicBBY"), GetPVarFloat(i, "pDynamicBBZ")))
{
SendClientMessage(playerid, COLOR_WHITE, "You cannot put your boombox in this Radius");
return 1;
}
}
new string[128];
format(string, sizeof(string), "%s has placed a boombox on the floor!", SenderName(playerid));
SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
new Float:x, Float:y, Float:z, Float:a;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
ApplyAnimation(playerid,"BOMBER","BOM_Plant_Crouch_In", 4.0, 0, 0, 0, 0, 0, 1);
x += (2 * floatsin(-a, degrees));
y += (2 * floatcos(-a, degrees));
z -= 1.0;
SetPVarInt(playerid, "pDynamicBB", CreateDynamicObject(2226, x, y, z, 0.0, 0.0, 0.0, .worldid = GetPlayerVirtualWorld(playerid), .interiorid = GetPlayerInterior(playerid)));
SetPVarFloat(playerid, "pDynamicBBX", x); SetPVarFloat(playerid, "pDynamicBBY", y); SetPVarFloat(playerid, "pDynamicBBZ", z);
format(string, sizeof(string), "{00FF00}Boombox Owner:{FFFFFF}%s\n{FF0000}/turnon{FFFFFF} to set your boombox \n{FFFF00}or\n{FF0000}/pickupboombox", SenderName(playerid));
SetPVarInt(playerid, "pDynamicBBLabel", _:CreateDynamic3DTextLabel(string, COLOR_WHITE, x, y, z+0.6, 5.0, .worldid = GetPlayerVirtualWorld(playerid), .interiorid = GetPlayerInterior(playerid)));
SetPVarInt(playerid, "pDynamicBBArea", CreateDynamicSphere(x, y, z, 30.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid)));
SetPVarInt(playerid, "pDynamicBBInt", GetPlayerInterior(playerid));
SetPVarInt(playerid, "pDynamicBBVW", GetPlayerVirtualWorld(playerid));
}
return 1;
}
|
It will give the warning AND true - warnings still compile. The reason it comes up is that "if" is evaluated at run-time, so takes time while your code is executing. That check "10 > 2" is ALWAYS true, so you are wasting time testing something that can never fail! That's why the warning exists.
|
#if USE_TEXTDRAW_SET == 2
format(string,sizeof(string),"Listening to: ~n~~w~%s",r_RadioInfo[playingid][r_Name]);
TextDrawSetString(v_VehicleInfo[vehicleid][r_Draw],string);
#else
TextDrawSetString(v_VehicleInfo[vehicleid][r_Draw],r_RadioInfo[playingid][r_Name]);
#endif
TextDrawShowForPlayer(playerid,v_VehicleInfo[vehicleid][r_Draw]);
SetPVarInt(playerid,"ID_HideRadioTextdraw",SetTimerEx("HideRadioTextdraw",TEXTDRAW_DISAPPEAR_TIME,false,"ii",playerid,vehicleid));
PlayAudioStreamForPlayer(playerid,r_RadioInfo[playingid][r_Link]);
SetPVarInt(playerid,"ID_OldVehicle",vehicleid);
#pragma unused params
(266) : error 017: undefined symbol "params"
warning 203: symbol is never used: "params" warning 203: symbol is never used: "params" warning 203: symbol is never used: "params" warning 203: symbol is never used: "params"
|
Is it like this?
pawn Код:
|
|
Eample of the one of the dcmd params that gives me an warning:
Код:
dcmd_placeboombox(playerid, params[])
{
if(PlayerInfo[playerid][pBoomBox] == 0) return SendClientMessage(playerid, COLOR_WHITE, "You don't have a BoomBox");
if(GetPVarType(playerid, "pDynamicBB")) return SendClientMessage(playerid, COLOR_WHITE, "You already have a boombox out, use /pickupboombox.");
foreach(Player, i)
{
if(GetPVarType(i, "pDynamicBB"))
{
if(IsPlayerInRangeOfPoint(playerid, 30.0, GetPVarFloat(i, "pDynamicBBX"), GetPVarFloat(i, "pDynamicBBY"), GetPVarFloat(i, "pDynamicBBZ")))
{
SendClientMessage(playerid, COLOR_WHITE, "You cannot put your boombox in this Radius");
return 1;
}
}
new string[128];
format(string, sizeof(string), "%s has placed a boombox on the floor!", SenderName(playerid));
SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
new Float:x, Float:y, Float:z, Float:a;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
ApplyAnimation(playerid,"BOMBER","BOM_Plant_Crouch_In", 4.0, 0, 0, 0, 0, 0, 1);
x += (2 * floatsin(-a, degrees));
y += (2 * floatcos(-a, degrees));
z -= 1.0;
SetPVarInt(playerid, "pDynamicBB", CreateDynamicObject(2226, x, y, z, 0.0, 0.0, 0.0, .worldid = GetPlayerVirtualWorld(playerid), .interiorid = GetPlayerInterior(playerid)));
SetPVarFloat(playerid, "pDynamicBBX", x); SetPVarFloat(playerid, "pDynamicBBY", y); SetPVarFloat(playerid, "pDynamicBBZ", z);
format(string, sizeof(string), "{00FF00}Boombox Owner:{FFFFFF}%s\n{FF0000}/turnon{FFFFFF} to set your boombox \n{FFFF00}or\n{FF0000}/pickupboombox", SenderName(playerid));
SetPVarInt(playerid, "pDynamicBBLabel", _:CreateDynamic3DTextLabel(string, COLOR_WHITE, x, y, z+0.6, 5.0, .worldid = GetPlayerVirtualWorld(playerid), .interiorid = GetPlayerInterior(playerid)));
SetPVarInt(playerid, "pDynamicBBArea", CreateDynamicSphere(x, y, z, 30.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid)));
SetPVarInt(playerid, "pDynamicBBInt", GetPlayerInterior(playerid));
SetPVarInt(playerid, "pDynamicBBVW", GetPlayerVirtualWorld(playerid));
}
return 1;
}
|
|
No, i added the #pragma unused params at the top of the script. [Line 266]
|
|
It will give the warning AND true - warnings still compile. The reason it comes up is that "if" is evaluated at run-time, so takes time while your code is executing. That check "10 > 2" is ALWAYS true, so you are wasting time testing something that can never fail! That's why the warning exists.
|