case 25:
{
if (PlayerData[playerid][pBeanBag]) damage = 0;
else
{
if (GetPlayerDistanceFromPlayer(playerid, damagedid) < 10)
{
if (bodypart == 9) damage = 85;
else damage = 70;
}
if (GetPlayerDistanceFromPlayer(playerid, damagedid) == 10.1..20) //line 15974
{
if (bodypart == 9) damage = 60;
else damage = 45;
}
if (GetPlayerDistanceFromPlayer(playerid, damagedid) == 20.1..30)
{
if (bodypart == 9) damage = 45;
else damage = 30;
}
if (GetPlayerDistanceFromPlayer(playerid, damagedid) > 30.1)
{
if (bodypart == 9) damage = 35;
else damage = 25;
}
}
}
(15974) : error 001: expected token: ")", but found ".." (15974) : error 029: invalid expression, assumed zero (15974) : warning 215: expression has no effect (15974) : error 001: expected token: ";", but found ")" (15974) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Errors.
|
Using ".." is invalid and you can't check if something is equal to more than 1 value. ".." is used in switch for integers only. Also you keep calling GetPlayerDistanceFromPlayer function. Store what distance returned to a local variable and then check if for example "distance >= 10.1 && distance <= 20.0".
|
new distance;
case 25:
{
if (PlayerData[playerid][pBeanBag]) damage = 0;
else
{
distance = GetPlayerDistanceFromPlayer(playerid, damagedid); //line 15970
if (distance <= 10)
{
if (bodypart == 9) damage = 85;
else damage = 70;
}
if (distance >= 10.1 && distance <= 20.0)
{
if (bodypart == 9) damage = 65;
else damage = 45;
}
if (distance == 20.1 && distance <= 30.0)
{
if (bodypart == 9) damage = 45;
else damage = 30;
}
if (distance >= 30.1)
{
if (bodypart == 9) damage = 35;
else damage = 25;
}
}
}
(15970) : warning 213: tag mismatch
|
Add Float: tag to "distance" when you declare it.
Better declare it inside the else statement by the way. |

|
The variable should be a Float and not an integer since GetPlayerDistanceFromPlayer returns a Float value.
Edit: Too late :v |