(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.
|