[Duvida] Se o codigo estб certo.
#1

Sу queria saber se esse cуdigo estб correto,
obrigado pela atenзгo!
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if (newkeys == KEY_SECONDARY_ATTACK && emcasa[playerid] == 0)
    {
        new pname[MAX_PLAYER_NAME];
        new string[64];
        GetPlayerName(playerid, pname, sizeof(pname));
        for (new c = 0; c < MAX_CASAS; c++)
        {
            format(string, sizeof(string), "/Casas/casa%d.ini", c);
            if (IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
            {
                if (dini_Int(string, "Trancada") == 1)
                {
                    if (strcmp(dini_Get(string, "Dono"), pname, true) == 0 || IsPlayerAdmin(playerid))
                    {
                        format(STRX, sizeof(STRX), "/Interiores/int%d.ini", dini_Int(string, "Int"));
                        if (dini_Exists(STRX))
                        {
                            emcasa[playerid] = 1;
                            new Float: X,
                            Float: Y,
                            Float: Z;
                            GetPlayerPos(playerid, X, Y, Z);
                            CasaX[playerid] = X;
                            CasaY[playerid] = Y;
                            CasaZ[playerid] = Z;
                            SetPlayerVirtualWorld(playerid, c);
                            SetPlayerInterior(playerid, dini_Int(STRX, "Int"));
                            SetPlayerPos(playerid, dini_Float(STRX, "EX"), dini_Float(STRX, "EY"), dini_Float(STRX, "EZ"));
                            SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
                        }
                    }
                }
                else
                {
                    format(STRX, sizeof(STRX), "/Interiores/int%d.ini", dini_Int(string, "Int"));
                    if (dini_Exists(STRX))
                    {
                        emcasa[playerid] = 1;
                        new Float: X,
                        Float: Y,
                        Float: Z;
                        GetPlayerPos(playerid, X, Y, Z);
                        CasaX[playerid] = X;
                        CasaY[playerid] = Y;
                        CasaZ[playerid] = Z;
                        SetPlayerVirtualWorld(playerid, c);
                        SetPlayerInterior(playerid, dini_Int(STRX, "Int"));
                        SetPlayerPos(playerid, dini_Float(STRX, "EX"), dini_Float(STRX, "EY"), dini_Float(STRX, "EZ"));
                        SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
                    }
                }
            }
        }
        return 1;
    }
    if (newkeys == KEY_SECONDARY_ATTACK && emcasa[playerid] == 1)
    {
        emcasa[playerid] = 0;
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerInterior(playerid, 0);
        SetPlayerPos(playerid, CasaX[playerid], CasaY[playerid], CasaZ[playerid]);
        SendClientMessage(playerid, Vermelho, "| INFO | Vocк saiu da casa.");
        return 1;
    }
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
    new string[256];
    for (new c = 0; c < MAX_CASAS; c++)
    {
        format(string, sizeof(string), "/Casas/casa%d.ini", c);

        if (newkeys == KEY_WALK && IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
        {
            if (strcmp(dini_Get(string, "Dono"), pname, true) == 0 || IsPlayerAdmin(playerid))
            {
                if (dini_Int(string, "Trancada") == 1)
                {
                    SendClientMessage(playerid, Verde, "| CASAS | Esta casa estб trancada.");
                }
                else
                {
                    //SendClientMessage(playerid, Verde, "| INFO | Esta casa estб trancada.");
                }
            }
        }

        if (newkeys == KEY_SECONDARY_ATTACK && IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
        {
            if (dini_Int(string, "Trancada") == 1)
            {
                if (strcmp(dini_Get(string, "Dono"), pname, true) == 0 || IsPlayerAdmin(playerid))
                {
                    format(STRX, sizeof(STRX), "/Interiores/int%d.ini", dini_Int(string, "Int"));
                    if (dini_Exists(STRX))
                    {
                        emcasa[playerid] = 1;
                        new Float: X,
                        Float: Y,
                        Float: Z;
                        GetPlayerPos(playerid, X, Y, Z);
                        CasaX[playerid] = X;
                        CasaY[playerid] = Y;
                        CasaZ[playerid] = Z;
                        SetPlayerVirtualWorld(playerid, c);
                        SetPlayerInterior(playerid, dini_Int(STRX, "Int"));
                        SetPlayerPos(playerid, dini_Float(STRX, "EX"), dini_Float(STRX, "EY"), dini_Float(STRX, "EZ"));
                        SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
                    }
                }
            }
            else
            {
                format(STRX, sizeof(STRX), "/Interiores/int%d.ini", dini_Int(string, "Int"));
                if (dini_Exists(STRX))
                {
                    emcasa[playerid] = 1;
                    new Float: X,
                    Float: Y,
                    Float: Z;
                    GetPlayerPos(playerid, X, Y, Z);
                    CasaX[playerid] = X;
                    CasaY[playerid] = Y;
                    CasaZ[playerid] = Z;
                    SetPlayerVirtualWorld(playerid, c);
                    SetPlayerInterior(playerid, dini_Int(STRX, "Int"));
                    SetPlayerPos(playerid, dini_Float(STRX, "EX"), dini_Float(STRX, "EY"), dini_Float(STRX, "EZ"));
                    SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
                }
            }
        }
        return 1;
    }
    return 1;
}

    if (strcmp(cmd, "/entrarcasa", true) == 0)
    {
        new pname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pname, sizeof(pname));
        for (new c = 0; c < MAX_CASAS; c++)
        {
            format(string, sizeof(string), "/Casas/casa%d.ini", c);
            if (IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
            {
                if (dini_Int(string, "Trancada") == 1)
                {
                    if (strcmp(dini_Get(string, "Dono"), pname, true) == 0 || IsPlayerAdmin(playerid))
                    {
                        format(string, sizeof(string), "/Interiores/int%d.ini", dini_Int(string, "Int"));
                        if (dini_Exists(string))
                        {
                            emcasa[playerid] = 1;
                            new Float: X,
                            Float: Y,
                            Float: Z;
                            GetPlayerPos(playerid, X, Y, Z);
                            CasaX[playerid] = X;
                            CasaY[playerid] = Y;
                            CasaZ[playerid] = Z;
                            SetPlayerVirtualWorld(playerid, c);
                            SetPlayerInterior(playerid, dini_Int(string, "Int"));
                            SetPlayerPos(playerid, dini_Float(string, "EX"), dini_Float(string, "EY"), dini_Float(string, "EZ"));
                            SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
                        }
                    }
                }
                else
                {
                    format(string, sizeof(string), "/Interiores/int%d.ini", dini_Int(string, "Int"));
                    if (dini_Exists(string))
                    {
                        emcasa[playerid] = 1;
                        new Float: X,
                        Float: Y,
                        Float: Z;
                        GetPlayerPos(playerid, X, Y, Z);
                        CasaX[playerid] = X;
                        CasaY[playerid] = Y;
                        CasaZ[playerid] = Z;
                        SetPlayerVirtualWorld(playerid, c);
                        SetPlayerInterior(playerid, dini_Int(string, "Int"));
                        SetPlayerPos(playerid, dini_Float(string, "EX"), dini_Float(string, "EY"), dini_Float(string, "EZ"));
                        SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
                    }
                }
            }
        }
        return 1;
    }
Reply
#2

acho que esta sim
Reply
#3

Lembrando , nгo da erros mas eu acho que tem alguma coisa errada ai . porque eu repeti o cуdigo e funciona normalmente ( no caso da } else { )
Reply
#4

Aparentemente sim, mas nгo olhei a fundo.
Tб tendo algum problema?
Reply
#5

Nгo ... Sу queria saber porque reparei e vi isto:
pawn Код:
if (newkeys == KEY_SECONDARY_ATTACK && IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
        {
            if (dini_Int(string, "Trancada") == 1)
            {
                if (strcmp(dini_Get(string, "Dono"), pname, true) == 0 || IsPlayerAdmin(playerid))
                {
                    format(STRX, sizeof(STRX), "/Interiores/int%d.ini", dini_Int(string, "Int"));
                    if (dini_Exists(STRX))
                    {
                        emcasa[playerid] = 1;
                        new Float: X,
                        Float: Y,
                        Float: Z;
                        GetPlayerPos(playerid, X, Y, Z);
                        CasaX[playerid] = X;
                        CasaY[playerid] = Y;
                        CasaZ[playerid] = Z;
                        SetPlayerVirtualWorld(playerid, c);
                        SetPlayerInterior(playerid, dini_Int(STRX, "Int"));
                        SetPlayerPos(playerid, dini_Float(STRX, "EX"), dini_Float(STRX, "EY"), dini_Float(STRX, "EZ"));
                        SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
                    }
                }
            }
            else
            {
                format(STRX, sizeof(STRX), "/Interiores/int%d.ini", dini_Int(string, "Int"));
                if (dini_Exists(STRX))
                {
                    emcasa[playerid] = 1;
                    new Float: X,
                    Float: Y,
                    Float: Z;
                    GetPlayerPos(playerid, X, Y, Z);
                    CasaX[playerid] = X;
                    CasaY[playerid] = Y;
                    CasaZ[playerid] = Z;
                    SetPlayerVirtualWorld(playerid, c);
                    SetPlayerInterior(playerid, dini_Int(STRX, "Int"));
                    SetPlayerPos(playerid, dini_Float(STRX, "EX"), dini_Float(STRX, "EY"), dini_Float(STRX, "EZ"));
                    SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
                }
            }
        }
        return 1;
    }
Dois cуdigos repetidos..




@Ops
Obrigado pela atenзгo
nгo reparei o
Trancado == 1
pois a 2є else vai ser == 0
Reply
#6

Й, nгo tinha reparado essa redundвncia...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)