SA-MP Forums Archive
warning 213: tag mismatch on custom function - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: warning 213: tag mismatch on custom function (/showthread.php?tid=353851)



warning 213: tag mismatch on custom function - Chriham3 - 24.06.2012

Hello, I am creating a anti-hack system, and of course I had to create a new way to set armor.

This is my function:

pawn Код:
stock SetCutArmor(playerid, amount)
{
    PlayerInfo[playerid][pArmor] = amount;
    return 1;
}
In my tazer command, I added this to replenish armor if hit by a tazer:
pawn Код:
SetCutArmor(Target, ArmourLost+Armor);
However, on that line I got this warning:
Код:
warning 213: tag mismatch
Any ideas on how to fix this?


Re: warning 213: tag mismatch on custom function - Grand_Micha - 24.06.2012

Actually, you get armour as a floating point value. In your function, however, you use an integer. You have to floatround that lostarmour to an integer first.


Re: warning 213: tag mismatch on custom function - Chriham3 - 24.06.2012

Quote:
Originally Posted by Grand_Micha
Посмотреть сообщение
Actually, you get armour as a floating point value. In your function, however, you use an integer. You have to floatround that lostarmour to an integer first.
How would I go about doing that?


Re: warning 213: tag mismatch on custom function - Grand_Micha - 24.06.2012

First off, post the code with ArmourLost. What exactly is it?


Re: warning 213: tag mismatch on custom function - Chriham3 - 24.06.2012

pawn Код:
if(IsACop(Shooter))
    {
        if(Tazer[Shooter])
        {
            if(GetPlayerWeapon(Shooter) == 23)
            {
                if(!IsPlayerTazed(Target) && !IsPlayerCuffed(Target) && !IsPlayerTied(Target))
                {
                    new Float:HP, Float:Armor;
                    GetPlayerHealth(Target, HP);
                    GetPlayerArmour(Target, Armor);
                    SetPlayerHealth(Target, HealthLost+HP);
                    SetCutArmor(Target, ArmourLost+Armor);
                    if(!IsPlayerNearPlayer(Shooter, Target, 8)) return SendClientMessage(Shooter, COLOR_GREY, "You are too far away from that player.");
                    if(IsHoldingFirearm(Target)) return SendClientMessage(Shooter, COLOR_GREY, "You can't taze someone with a gun in hand.");
                    // Got Tazed
                    format(string, sizeof(string), "* %s aims their tazer on %s and tazes them.", RPN(Shooter), RPN(Target));
                    SendNearbyMessage(Shooter, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
                    GameTextForPlayer(Target, "~r~Tazed", 3500, 3);
                    // Custom Freeze
                    ApplyAnimation(Target,"CRACK","crckdeth2",4.1,0,1,1,1,1,1);
                    TogglePlayerControllable(Target, 0);
                    // Tazed Detecting
                    TogglePlayerTazed(Target, 1);
                    // Tazer Timeout
                    TazeTimeout[Target] = 11;
                    TazeCountDown[Target] = SetTimerEx("TazeTimer", 1000, true, "d", Target);
                }

            }
        }
    }



Re: warning 213: tag mismatch on custom function - JaTochNietDan - 24.06.2012

Simply use the floatround function on the variable that is causing the issue, as the function will round off the float to an integer, which is what your function requires, I suspect it's the "Armor" variable, so you can fix the warning by simply doing something like this:

pawn Код:
SetCutArmor(Target, ArmourLost + floatround(Armor));
That's assuming ArmourLost is an integer, if it isn't, then you should do this:

pawn Код:
SetCutArmor(Target, floatround(ArmourLost + Armor));
Alternatively, you could just make your function accept float values by adding the Float tag before the parameter.

Hope that helps!


Re: warning 213: tag mismatch on custom function - Grand_Micha - 24.06.2012

stock SetCutArmor(playerid, Float:amount)

Try this first; if it doesn't work, ask.

If you are using the code of the gentleman here, please ignore the float.


Re: warning 213: tag mismatch on custom function - Chriham3 - 24.06.2012

Thanks to both of you for your help, greatly appreciated.