[Ajuda] Casas
#1

Bem Galera to Pedindo a Ajuda de Vocкs porque nгo consigo resolver um tipo de bug ele funciona assim. eu ponho a casa a venda ai o player compra ate ai tudo bem mais quamdo ele sai e entra denovo ou eu desbugo ele quamdo ele fica no icone da casa ele seta em um interior de um banco em varios servers e quero a ajuda de voces

/criarcasa :

pawn Код:
if(strcmp(cmd, "/criarcasa", true) == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
if(pAdmin[playerid] == 5 || IsPlayerAdmin(playerid))
{
new tmp[256];
new preco, int;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, Vermelho, "/criarcasa [preзo] [interiorID]");
return 1;
}
preco = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, Vermelho, "/criarcasa [preзo] [interiorID]");
return 1;
}
int = strval(tmp);
format(string, sizeof(string), "/Casas/casa%d.ini", proximacasa);
if(!dini_Exists(string))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
dini_Create(string);
dini_FloatSet(string, "PosX", X);
dini_FloatSet(string, "PosY", Y);
dini_FloatSet(string, "PosZ", Z);
dini_IntSet(string, "Int", int);
dini_IntSet(string, "Mundo", proximacasa);
dini_IntSet(string, "TDono", 0);
dini_Set(string, "Dono", "Ninguem");
dini_IntSet(string, "Preco", preco);
dini_IntSet(string, "Trancada", 0);
dini_IntSet(string, "TMorador", 0);
dini_Set(string, "Morador", "Ninguem");
new pickupid;
pickupid = CreatePickup(1273, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
dini_IntSet(string, "Id", pickupid);
proximacasa++;
}
}
/comprarcasa :

pawn Код:
if(strcmp(cmdtext, "/comprarcasa", true) == 0)
{
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/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") == 0)
{
if(GetPlayerGrana(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);
GivePlayerGrana(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");
}
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!");
}
}
else
{
}
}
}
return 1;
}
E eu acho que tem algo aver com esse comando

pawn Код:
if(strcmp(cmdtext, "/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))
        {
        new strx[256];
        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, "(INFO) Vocк entrou na casa, para sair pressione <ENTER>.");
        }
        }
        }
        else
        {
        new strx[256];
        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, "(INFO) Vocк entrou na casa, para sair pressione <ENTER>.");
        }
        }
        }
        }
    return 1;
    }
Na Keys como de todo server

pawn Код:
if (newkeys==KEY_SECONDARY_ATTACK && emcasa[playerid] == 0)
{
OnPlayerCommandText(playerid, "/entrarcasa");
return 1;
}
Entao Galera espero que voces me ajudem e e isso ai
Reply
#2

Quote:
Originally Posted by .:LucasxD:.
Посмотреть сообщение
Bem Galera to Pedindo a Ajuda de Vocкs porque nгo consigo resolver o erro ele funciona assim eu ponho a casa a venda ai o player compra ate ai tudo bem mais quamdo ele sai e entra denovo ou eu o desbugo ele quamdo ele fica no icone da casa ele seta em um interior de um banco em varios servers e quero a ajuda de voces
Hг?!
Reply
#3

Mais algem?
Reply
#4

Eu -q
Reply
#5

Quote:
Originally Posted by bielzera[:
Посмотреть сообщение
Eu -q
Responda '-'
Reply
#6

poderia explicar com melhores palavras e um portugues um pouco mais claro seu problema ?


caso tenha dificuldade poderia fazer um desenho ? kk zoa
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)