[ Ajuda ] /comprarcasa
#1

Estou a terminar a versгo de um gamemode.
entгo tou com um probelma nao consegui resolver :/
To a horas tentando resolver esse bug.
oque acontece й quando eu digito: /comprarcasa.
ele compra a casa normal mas dps da
SERVER: Unknow Command
e nenhum comando mas pega
Help-me please.
Command:

pawn Код:
if(strcmp(cmdtext, "/comprarcasa", true) == 0)
{
    for(new c = 0; c < MAX_CASAS; c++)
    {
        format(string, sizeof(string), "Servidor/Casas/casa%d.ini", c);
        if(dini_Exists(string))
        {
            if(dini_Int(string, "TDono") == 0)
            {
                if(GetPlayerMoney(playerid) >= dini_Int(string, "Preco"))
                {
                    if(GetCasas(playerid) < 1)
                    {
                        new pname[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, pname, sizeof(pname));
                        dini_IntSet(string, "TDono", 1);
                        dini_Set(string, "Dono", pname);
                        GivePlayerMoney(playerid, -dini_Int(string, "Preco"));
                        new pickupid;
                        DestroyPickup(dini_Int(string, "Id"));
                        pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
                        dini_IntSet(string, "Id", pickupid);
                        OnPlayerCommandText(playerid, "/nascercasa");
                        new Casa[128];
                        format(Casa, sizeof(Casa),"Casa [ %d ]", proximacasa);
                        Update3DTextLabelText(CasaTxT[c],-1, Casa);
                        format(str, sizeof(str), "[ Casas ] O jogador %s comprou a casa [ %d ].", pname, proximacasa);
                        SendClientMessageToAll(0xC0C0C0AA, str);
                        GameTextForPlayer(playerid,"~w~Casa Comprada!", 2000, 1);
                    }
                    else {
                        SendClientMessage(playerid, Vermelho, "(ERRO) Vocк sу pode ter uma casa!");
                    }
                }
                else {
                    SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem dinheiro!");
                }
            }
            else {
                SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa nгo estб a venda!");
            }
        }
    }
    return 1;
}
Reply
#2

Tente:
pawn Код:
if(strcmp(cmdtext, "/comprarcasa", true) == 0)
{
    for(new c = 0; c < MAX_CASAS; c++)
    {
        format(string, sizeof(string), "Servidor/Casas/casa%d.ini", c);
        if(dini_Exists(string))
        {
       
            if(dini_Int(string, "TDono") != 0) return SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa nгo estб a venda!");
            if(GetPlayerMoney(playerid) <= dini_Int(string, "Preco")) return SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem dinheiro!");
            if(GetCasas(playerid) >= 1) return SendClientMessage(playerid, Vermelho, "(ERRO) Vocк sу pode ter uma casa!");
                       
            new pname[MAX_PLAYER_NAME];
            GetPlayerName(playerid, pname, sizeof(pname));
            dini_IntSet(string, "TDono", 1);
            dini_Set(string, "Dono", pname);
            GivePlayerMoney(playerid, -dini_Int(string, "Preco"));
            new pickupid;
            DestroyPickup(dini_Int(string, "Id"));
            pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
            dini_IntSet(string, "Id", pickupid);
            OnPlayerCommandText(playerid, "/nascercasa");
            new Casa[128];
            format(Casa, sizeof(Casa),"Casa [ %d ]", proximacasa);
            Update3DTextLabelText(CasaTxT[c],-1, Casa);
            format(str, sizeof(str), "[ Casas ] O jogador %s comprou a casa [ %d ].", pname, proximacasa);
            SendClientMessageToAll(0xC0C0C0AA, str);
            GameTextForPlayer(playerid,"~w~Casa Comprada!", 2000, 1);
        }
    }
    return 1;
}
Reply
#3

Mesma coisa

pawn Код:
if(strcmp(cmdtext, "/comprarcasa", true) == 0)
{
    for(new c = 0; c < MAX_CASAS; c++)
    {
        format(string, sizeof(string), "Servidor/Casas/casa%d.ini", c);
        if(dini_Exists(string))
        {
            if(dini_Int(string, "TDono") != 0)
                return SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa nгo estб a venda!");
            if(GetPlayerMoney(playerid) <= dini_Int(string, "Preco"))
                return SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem dinheiro!");
            if(GetCasas(playerid) >= 1)
                return SendClientMessage(playerid, Vermelho, "(ERRO) Vocк sу pode ter uma casa!");
            new pname[MAX_PLAYER_NAME];
            GetPlayerName(playerid, pname, sizeof(pname));
            dini_IntSet(string, "TDono", 1);
            dini_Set(string, "Dono", pname);
            GivePlayerMoney(playerid, -dini_Int(string, "Preco"));
            new pickupid;
            DestroyPickup(dini_Int(string, "Id"));
            pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
            dini_IntSet(string, "Id", pickupid);
            OnPlayerCommandText(playerid, "/nascercasa");
            new Casa[128];
            format(Casa, sizeof(Casa),"Casa [ %d ]", proximacasa);
            Update3DTextLabelText(CasaTxT[c],-1, Casa);
            format(str, sizeof(str), "[ Casas ] O jogador %s comprou a casa [ %d ].", pname, proximacasa);
            SendClientMessageToAll(0xC0C0C0AA, str);
            GameTextForPlayer(playerid,"~w~Casa Comprada!", 2000, 1);
        }
    }
    return 1;
}
Reply
#4

Quote:
Originally Posted by [LF]PlaYer
Посмотреть сообщение
Mesma coisa

pawn Код:
if(strcmp(cmdtext, "/comprarcasa", true) == 0)
{
    for(new c = 0; c < MAX_CASAS; c++)
    {
        format(string, sizeof(string), "Servidor/Casas/casa%d.ini", c);
        if(dini_Exists(string))
        {
            if(dini_Int(string, "TDono") != 0)
                return SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa nгo estб a venda!");
            if(GetPlayerMoney(playerid) <= dini_Int(string, "Preco"))
                return SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem dinheiro!");
            if(GetCasas(playerid) >= 1)
                return SendClientMessage(playerid, Vermelho, "(ERRO) Vocк sу pode ter uma casa!");
            new pname[MAX_PLAYER_NAME];
            GetPlayerName(playerid, pname, sizeof(pname));
            dini_IntSet(string, "TDono", 1);
            dini_Set(string, "Dono", pname);
            GivePlayerMoney(playerid, -dini_Int(string, "Preco"));
            new pickupid;
            DestroyPickup(dini_Int(string, "Id"));
            pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
            dini_IntSet(string, "Id", pickupid);
            OnPlayerCommandText(playerid, "/nascercasa");
            new Casa[128];
            format(Casa, sizeof(Casa),"Casa [ %d ]", proximacasa);
            Update3DTextLabelText(CasaTxT[c],-1, Casa);
            format(str, sizeof(str), "[ Casas ] O jogador %s comprou a casa [ %d ].", pname, proximacasa);
            SendClientMessageToAll(0xC0C0C0AA, str);
            GameTextForPlayer(playerid,"~w~Casa Comprada!", 2000, 1);
        }
    }
    return 1;
}
Poste o /nascercasa, o problema so pode estar ai
Reply
#5

pawn Код:
if(strcmp(cmdtext, "/nascercasa", true) == 0)
{
    for(new c = 0; c < MAX_CASAS; c++) {
        format(string, sizeof(string), "Servidor/Casas/casa%d.ini", c);
        if(dini_Exists(string)) {
            if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))) {
                if(dini_Int(string, "TDono") == 1)
                {
                    if(strcmp(dini_Get(string, "Dono"), pname, true) == 0)
                    {
                        new Float:X, Float:Y, Float:Z;
                        GetPlayerPos(playerid, X, Y, Z);
                        dini_FloatSet(file,"CasaX",Float:X);
                        dini_FloatSet(file,"CasaY",Float:Y);
                        dini_FloatSet(file,"CasaZ",Float:Z);
                        SetSpawnInfo(playerid, 1, dini_Int(file, "Skin"), dini_Int(file, "CasaX"), dini_Int(file, "CasaY"), dini_Int(file, "CasaZ"), 354.1657, 0, 0, 0, 0, 0, 0);
                        SendClientMessage(playerid, -1, "[ INFO ] Feito, agora vocк spawna nessa casa!");
                    }
                    else {
                        SendClientMessage(playerid, Vermelho, "[ ERRO ] Vocк nгo й dono dessa casa!");
                    }
                }
                else {
                    SendClientMessage(playerid, Vermelho, "[ ERRO ] Vocк nгo й dono dessa casa!");
                }
            }
        }
    }
    return 1;
}
Reply
#6

Leia o comentбrio :
pawn Код:
if(strcmp(cmdtext, "/comprarcasa", true) == 0)
{
    for(new c = 0; c < MAX_CASAS; c++)
    {
        format(string, sizeof(string), "Servidor/Casas/casa%d.ini", c);
        if(dini_Exists(string))
        {
            if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
            { // VERIFICAR SE ESTБ NO LOCAL DA COMPRA DA CASA... SEM ISSO IRБ EXECUTAR O CODE A BAIXO O TANTO DE VESES QUE EXISTIR A CASA
                if(dini_Int(string, "TDono") != 0) return SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa nгo estб a venda!");
                if(GetPlayerMoney(playerid) <= dini_Int(string, "Preco")) return SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem dinheiro!");
                if(GetCasas(playerid) >= 1) return SendClientMessage(playerid, Vermelho, "(ERRO) Vocк sу pode ter uma casa!");

                new pname[MAX_PLAYER_NAME];
                GetPlayerName(playerid, pname, sizeof(pname));
                dini_IntSet(string, "TDono", 1);
                dini_Set(string, "Dono", pname);
                GivePlayerMoney(playerid, -dini_Int(string, "Preco"));
                new pickupid;
                DestroyPickup(dini_Int(string, "Id"));
                pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
                dini_IntSet(string, "Id", pickupid);
                OnPlayerCommandText(playerid, "/nascercasa");
                new Casa[128];
                format(Casa, sizeof(Casa),"Casa [ %d ]", proximacasa);
                Update3DTextLabelText(CasaTxT[c],-1, Casa);
                format(str, sizeof(str), "[ Casas ] O jogador %s comprou a casa [ %d ].", pname, proximacasa);
                SendClientMessageToAll(0xC0C0C0AA, str);
                GameTextForPlayer(playerid,"~w~Casa Comprada!", 2000, 1);
            }
        }
    }
    return 1;
}
Reply
#7

Jб fez debug no cуdigo?
Reply
#8

n vini
@vo testar cidade.
Reply
#9

Faзa-o.
Pode ser que o problema esteja em uma das funзхes usadas durante o comando...
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)