[Errors] Tag Mismatch (REP+)
#1

pawn Код:
if(strcmp(cmdtext, "/hospital", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pInhospital] == 1)
            {
                new Float:health;
                GetPlayerHealth(playerid, health);
                if(health >= 100.0) { SendClientMessage(playerid, -1, "Вы не нуждаетесь в медицинской помощи!");}
                if(PlayerInfo[playerid][pHP] >=100)
                {
                    return 1;
                }
                if(IsPlayerInRangeOfPoint(playerid, 1.0, 1997.4663,-1401.9447,-8.4184))
                {
                    if(choseakoyka[playerid] == 1)
                    {
                        SendClientMessage(playerid, -1, "Вы уже заняли 1 койку!");
                    }
                    if(koyka[0] == 1)
                    {
                        SendClientMessage(playerid, -1, "Койка занята!");
                    }
                    SendClientMessage(playerid, TEAM_GROVE_COLOR, "Вы заняли койку 1. В зависимости от состояния здоровия лечение может занять время.");
                    SendClientMessage(playerid, COLOR_WHITE, "Чтобы выписатся, подойдите к врачу или выйдите из больницы.");
                    koyka[0] = 1;
                    choseakoyka[playerid] = 1;
                    Update3DTextLabelText(koyka[0], COLOR_WHITE, "Койка №1\n{ff9900}Занято");
                    return 1;
                }
                else
                {
                    SendClientMessage(playerid, -1, "Подойдите ближе к одной из коек!");
                }
                if(IsPlayerInRangeOfPoint(playerid, 1.0, 1995.2491,-1402.1071,-8.4184))
                {
                    if(choseakoyka[playerid] == 1)
                    {
                        SendClientMessage(playerid, -1, "Вы уже заняли 1 койку!");
                    }
                    if(koyka[1] == 1)
                    {
                        SendClientMessage(playerid, -1, "Койка занята!");
                    }
                    SendClientMessage(playerid, TEAM_GROVE_COLOR, "Вы заняли койку 2. В зависимости от состояния здоровия лечение может занять время.");
                    SendClientMessage(playerid, COLOR_WHITE, "Чтобы выписатся, подойдите к врачу или выйдите из больницы.");
                    koyka[1] = 1;
                    choseakoyka[playerid] = 1;
                    Update3DTextLabelText(koyka[1], COLOR_WHITE, "Койка №2\n{ff9900}Занято");
                    return 1;
                }
                else
                {
                    SendClientMessage(playerid, -1, "Подойдите ближе к одной из коек!");
                }
                if(IsPlayerInRangeOfPoint(playerid, 1.0, 1992.8646,-1401.9443,-8.4184))
                {
                    if(choseakoyka[playerid] == 1)
                    {
                        SendClientMessage(playerid, -1, "Вы уже заняли 1 койку!");
                    }
                    if(koyka[2] == 1)
                    {
                        SendClientMessage(playerid, -1, "Койка занята!");
                    }
                    SendClientMessage(playerid, TEAM_GROVE_COLOR, "Вы заняли койку 3. В зависимости от состояния здоровия лечение может занять время.");
                    SendClientMessage(playerid, COLOR_WHITE, "Чтобы выписатся, подойдите к врачу или выйдите из больницы.");
                    koyka[2] = 1;
                    choseakoyka[playerid] = 1;
                    Update3DTextLabelText(koyka[2], COLOR_WHITE, "Койка №3\n{ff9900}Занято");
                    return 1;
                }
                else
                {
                    SendClientMessage(playerid, -1, "Подойдите ближе к одной из коек!");
                }
                if(IsPlayerInRangeOfPoint(playerid, 1.0, 1990.5455,-1401.9220,-8.4184))
                {
                    if(choseakoyka[playerid] == 1)
                    {
                        SendClientMessage(playerid, -1, "Вы уже заняли 1 койку!");
                    }
                    if(koyka[3] == 1)
                    {
                        SendClientMessage(playerid, -1, "Койка занята!");
                    }
                    SendClientMessage(playerid, TEAM_GROVE_COLOR, "Вы заняли койку 4. В зависимости от состояния здоровия лечение может занять время.");
                    SendClientMessage(playerid, COLOR_WHITE, "Чтобы выписатся, подойдите к врачу или выйдите из больницы.");
                    koyka[3] = 1;
                    choseakoyka[playerid] = 1;
                    Update3DTextLabelText(koyka[3], COLOR_WHITE, "Койка №4\n{ff9900}Занято");
                    return 1;
                }
                else
                {
                    SendClientMessage(playerid, -1, "Подойдите ближе к одной из коек!");
                }
                if(IsPlayerInRangeOfPoint(playerid, 1.0, 1990.5214,-1394.5825,-8.4184))
                {
                    if(choseakoyka[playerid] == 1)
                    {
                        SendClientMessage(playerid, -1, "Вы уже заняли 1 койку!");
                    }
                    if(koyka[4] == 1)
                    {
                        SendClientMessage(playerid, -1, "Койка занята!");
                    }
                    SendClientMessage(playerid, TEAM_GROVE_COLOR, "Вы заняли койку 5. В зависимости от состояния здоровия лечение может занять время.");
                    SendClientMessage(playerid, COLOR_WHITE, "Чтобы выписатся, подойдите к врачу или выйдите из больницы.");
                    koyka[4] = 1;
                    choseakoyka[playerid] = 1;
                    Update3DTextLabelText(koyka[4], COLOR_WHITE, "Койка №5\n{ff9900}Занято");
                    return 1;
                }
                else
                {
                    SendClientMessage(playerid, -1, "Подойдите ближе к одной из коек!");
                }
                if(IsPlayerInRangeOfPoint(playerid, 1.0, 1992.9102,-1394.5913,-8.4184))
                {
                    if(choseakoyka[playerid] == 1)
                    {
                        SendClientMessage(playerid, -1, "Вы уже заняли 1 койку!");
                    }
                    if(koyka[5] == 1)
                    {
                        SendClientMessage(playerid, -1, "Койка занята!");
                    }
                    SendClientMessage(playerid, TEAM_GROVE_COLOR, "Вы заняли койку 6. В зависимости от состояния здоровия лечение может занять время.");
                    SendClientMessage(playerid, COLOR_WHITE, "Чтобы выписатся, подойдите к врачу или выйдите из больницы.");
                    koyka[5] = 1;
                    choseakoyka[playerid] = 1;
                    Update3DTextLabelText(koyka[5], COLOR_WHITE, "Койка №6\n{ff9900}Занято");
                    return 1;
                }
                else
                {
                    SendClientMessage(playerid, -1, "Подойдите ближе к одной из коек!");
                }
                if(IsPlayerInRangeOfPoint(playerid, 1.0, 1995.4852,-1394.8038,-8.4184))
                {
                    if(choseakoyka[playerid] == 1)
                    {
                        SendClientMessage(playerid, -1, "Вы уже заняли 1 койку!");
                    }
                    if(koyka[6] == 1)
                    {
                        SendClientMessage(playerid, -1, "Койка занята!");
                    }
                    SendClientMessage(playerid, TEAM_GROVE_COLOR, "Вы заняли койку 7. В зависимости от состояния здоровия лечение может занять время.");
                    SendClientMessage(playerid, COLOR_WHITE, "Чтобы выписатся, подойдите к врачу или выйдите из больницы.");
                    koyka[6] = 1;
                    choseakoyka[playerid] = 1;
                    Update3DTextLabelText(koyka[6], COLOR_WHITE, "Койка №7\n{ff9900}Занято");
                    return 1;
                }
                else
                {
                    SendClientMessage(playerid, -1, "Подойдите ближе к одной из коек!");
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "Вы не были доставлены в госпиталь!");
            }
        }//not connected
        return 1;
    }
Here's my command. I get always tag mismatch errors on lines:
koyka[6] = 1; (all array numbers)
choseakoyka[playerid] = 1;
koyka[6] == 1 (all array numbers)

What's wrong?
Reply
#2

Show us the code that creates the variable.
Reply
#3

Nevermind, found out that it was
Код:
new koyka[7];
But should be:
pawn Код:
new bool:koyka[7];
Reply
#4

Quote:
Originally Posted by GangsTa_
Посмотреть сообщение
Nevermind, found out that it was
Код:
new koyka[7];
But should be:
pawn Код:
new bool:koyka[7];
It's a bool but you're using it as an integer, use true or false not 1 or 0.
Reply
#5

Yeah I've done that, thanks. (rep+)
Reply
#6

Quote:
Originally Posted by GangsTa_
Посмотреть сообщение
Yeah I've done that, thanks. (rep+)
No problem!

Also a quick tip, if you're only checking if a value is true you don't need
pawn Код:
if(variable == true)
you can just do
pawn Код:
if(variable)
Reply
#7

Okay, now I've got another problem. (Kinda not familiar with the var labels)

pawn Код:
forward hptimer(playerid);
public hptimer(playerid)
{
    new float:health;
    health = GetPlayerHealth(playerid);
    SetPlayerHealthAC(playerid, health+1);
    PlayerInfo[playerid][pHP] = health+1;
    GameTextForPlayer(playerid, "~g~+1 HP", 500, 3);
    PlayerPlaySound(playerid, 1083, 0.0,0.0,0.0);
    SetTimerEx("hptimer", 7000, 0, "d", playerid);
    return 1;
}
Gives me the tag mismatch errors on the lines:
health = GetPlayerHealth(playerid);
SetPlayerHealthAC(playerid, health+1);
PlayerInfo[playerid][pHP] = health+1;
Reply
#8

Quote:
Originally Posted by GangsTa_
Посмотреть сообщение
Okay, now I've got another problem. (Kinda not familiar with the var labels)

pawn Код:
forward hptimer(playerid);
public hptimer(playerid)
{
    new float:health;
    health = GetPlayerHealth(playerid);
    SetPlayerHealthAC(playerid, health+1);
    PlayerInfo[playerid][pHP] = health+1;
    GameTextForPlayer(playerid, "~g~+1 HP", 500, 3);
    PlayerPlaySound(playerid, 1083, 0.0,0.0,0.0);
    SetTimerEx("hptimer", 7000, 0, "d", playerid);
    return 1;
}
Gives me the tag mismatch errors on the lines:
health = GetPlayerHealth(playerid);
SetPlayerHealthAC(playerid, health+1);
PlayerInfo[playerid][pHP] = health+1;
Use
pawn Код:
Float:
not
pawn Код:
float:
Reply
#9

Код:
D:\PROG\gta_nst\sampsrv\SA-RPG\gamemodes\rls.pwn(45372) : warning 202: number of arguments does not match definition
D:\PROG\gta_nst\sampsrv\SA-RPG\gamemodes\rls.pwn(45374) : warning 213: tag mismatch
Lines:
health = GetPlayerHealth(playerid);
PlayerInfo[playerid][pHP] = health+1;
Reply
#10

Quote:
Originally Posted by GangsTa_
Посмотреть сообщение
Код:
D:\PROG\gta_nst\sampsrv\SA-RPG\gamemodes\rls.pwn(45372) : warning 202: number of arguments does not match definition
D:\PROG\gta_nst\sampsrv\SA-RPG\gamemodes\rls.pwn(45374) : warning 213: tag mismatch
Lines:
health = GetPlayerHealth(playerid);
PlayerInfo[playerid][pHP] = health+1;
Oh my bad, first thing I noticed was the float, GetPlayerHealth has two parameters, correct usage would be:

pawn Код:
GetPlayerHealth(playerid, health);
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)