[Ajuda] Meu Sistema de Casas
#1

Galera tou com meu sistema de casas so que ele ta criando todas as 500 casas sem eu usar o comando /criarcasa
.-.
Print:

/imageshack/img855/8043/casas.png
se eu deletar as casas pelos script files assim q eu acabo de deletar elas voltam '-'

@Qualquer Postagen de codigos peзa no topico por favor '-'
Reply
#2

Pode Ser Erro na Hora de dar Load No Arquivo. Passa o Cуdigo que ajudamos vocк. Talvez o erro tambem pode ser que na hora de Salvar tenha bugado e nгo salvou corretamente.

This forum requires that you wait 120 seconds between posts. Please try again in 5 seconds.
Reply
#3

Meu sistema de casas e bem simples eu nao sei como funciona mas ve se isso ajuda '-'

pawn Код:
for(new c = 0; c < MAX_CASAS; c++)
    {
    new string[128];
    format(string, sizeof(string), "/Casas/casa%d.ini", c);
    if(DOF2_FileExists(string))
    {
        new pickupid;
        if(DOF2_GetInt(string, "TDonoC") == 0)
        {
            pickupid = CreatePickup(1273, 1, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ"), -1);
            DOF2_SetInt(string, "Id", pickupid);
            new meguste[128];
            /*new pp[30];
            if(DOF2_GetInt(string,"CTrancada") == 1) format(pp, sizeof(pp), "Trancada");
            if(DOF2_GetInt(string,"CTrancada") == 0) format(pp, sizeof(pp), "Destrancada");*/

            format(meguste, sizeof(meguste), "Casa Nъmero [ %d ]", c);
            Create3DTextLabel(meguste,0xFFFFFFAA, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ")+0.75,20.0,0,1);
            proximacasa++;
        }
        else {
            if(DOF2_GetInt(string, "TDonoC") == 1)
            {
                pickupid = CreatePickup(1272, 1, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ"), -1);
                DOF2_SetInt(string, "Id", pickupid);
                proximacasa++;
                new meguste[128];
                /*new pp[30];
                if(DOF2_GetInt(string,"CTrancada") == 1) format(pp, sizeof(pp), "Trancada");
                if(DOF2_GetInt(string,"CTrancada") == 0) format(pp, sizeof(pp), "Destrancada");*/

                format(meguste, sizeof(meguste), "Casa Nъmero [ %d ]", c);
                Create3DTextLabel(meguste,0xFFFFFFAA, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ")+0.75,20.0,0,1);
            }
            else {
                proximacasa++;
            }
        }
    }
}
pawn Код:
if(newkeys==KEY_SECONDARY_ATTACK && nacasa[playerid] == 1)
{
for(new c = 0; c < MAX_CASAS; c++)
{
    new string[24];
    new str[128];
    format(string, sizeof(string), "/Casas/casa%d.ini", c);
    nacasa[playerid] = 0;
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, CasaX[playerid], CasaY[playerid], CasaZ[playerid]);
    format(str, sizeof(str), "(INFO) Vocк saiu da Casa Nъmero: [ %d ]", c);
    SendClientMessage(playerid, VerdeFraco, str);
    return 1;
    }
}
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
new string[128];
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, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ")))
    {
        if(strcmp(DOF2_GetString(string, "Dono"), pname, true) == 0 || IsPlayerAdmin(playerid) || vAdmin[playerid] >= 2 && vAdmin[playerid] <= 7)
        {
            if(DOF2_GetInt(string, "CTrancada") == 1)
            {
                DOF2_SetInt(string, "CTrancada", 0);
                SendClientMessage(playerid, Verde, "(x) Esta Casa estб Destrancada");
            }
            else {
                DOF2_SetInt(string, "CTrancada", 1);
                SendClientMessage(playerid, Verde, "(x) Esta Casa estб Trancada");
            }
        }
    }
    if(newkeys == KEY_SECONDARY_ATTACK && IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ")))
    {
        if(DOF2_GetInt(string, "CTrancada") == 1)
        {
            if(strcmp(DOF2_GetString(string, "Dono"), pname, true) == 0 || IsPlayerAdmin(playerid) || vAdmin[playerid] >= 2 && vAdmin[playerid] <= 7)
            {
                new strx[128];
                new str[128];
                format(strx, sizeof(strx), "/Interiores/int%d.ini", DOF2_GetInt(string, "Int"));
                if(DOF2_FileExists(strx))
                {
                    nacasa[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, DOF2_GetInt(strx, "Int"));
                    SetPlayerPos(playerid, DOF2_GetFloat(strx, "EX"), DOF2_GetFloat(strx, "EY"), DOF2_GetFloat(strx, "EZ"));
                    format(str, sizeof(str), "(INFO) Vocк entrou na Casa Nъmero: [ %d ] - Para Sair Aperte a Tecla 'F' ou Pressione <ENTER>", c);
                    SendClientMessage(playerid, VerdeFraco, str);
                   }
                 }
               }
        else {
            new strx[128];
            new str[128];
            format(strx, sizeof(strx), "/Interiores/int%d.ini", DOF2_GetInt(string, "Int"));
            if(DOF2_FileExists(strx))
            {
                nacasa[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, DOF2_GetInt(strx, "Int"));
                SetPlayerPos(playerid, DOF2_GetFloat(strx, "EX"), DOF2_GetFloat(strx, "EY"), DOF2_GetFloat(strx, "EZ"));
                format(str, sizeof(str), "(INFO) Vocк entrou na Casa Nъmero: [ %d ] - Para Sair Aperte a Tecla 'F' ou Pressione <ENTER>", c);
                SendClientMessage(playerid, VerdeFraco, str);
            }
        }
    }
    return 1;
}
This forum requires that you wait 120 seconds between posts. Please try again in 65 seconds.
.-.
Reply
#4

pawn Код:
new c = 0;
    new pickupid,
        string[128],
        meguste[128],
        Float:cCoords[3];

    while(c < MAX_CASAS)
    {
        format(string, sizeof(string), "/Casas/casa%d.ini", c);
        if(DOF2_FileExists(string))
        {
            cCoords[0] = DOF2_GetFloat(string, "PosX");
            cCoords[1] = DOF2_GetFloat(string, "PosY");
            cCoords[2] = DOF2_GetFloat(string, "PosZ");

            if(!DOF2_GetInt(string, "TDonoC"))
            {
                pickupid = CreatePickup(1273, 1, cCoords[0], cCoords[1], cCoords[2], -1);
                DOF2_SetInt(string, "Id", pickupid);
                /*new pp[30];
                if(DOF2_GetInt(string,"CTrancada") == 1) format(pp, sizeof(pp), "Trancada");
                if(DOF2_GetInt(string,"CTrancada") == 0) format(pp, sizeof(pp), "Destrancada");*/

                format(meguste, sizeof(meguste), "Casa Nъmero [ %i ]", c);
                Create3DTextLabel(meguste, 0xFFFFFFAA, cCoords[0], cCoords[1], cCoords[2]+0.75, 20.0, 0, 1);
            }
            else
            {
                if(DOF2_GetInt(string, "TDonoC") == 1)
                {
                    pickupid = CreatePickup(1272, 1, cCoords[0], cCoords[1], cCoords[2], -1);
                    DOF2_SetInt(string, "Id", pickupid);
                    /*new pp[30];
                    if(DOF2_GetInt(string,"CTrancada") == 1) format(pp, sizeof(pp), "Trancada");
                    if(DOF2_GetInt(string,"CTrancada") == 0) format(pp, sizeof(pp), "Destrancada");*/

                    format(meguste, sizeof(meguste), "Casa Nъmero [ %i ]", c);
                    Create3DTextLabel(meguste, 0xFFFFFFAA, cCoords[0], cCoords[1], cCoords[2]+0.75, 20.0, 0, 1);
                }
            }
            proximacasa++;
        }
    }
Modifiquei umas paradas ae, nao sei se vai dar certo :P
Reply
#5

Compilou vou testar
@
ele ta demorando muiito. para abrir o samp server..
pra aparecer o:

Number of vehicles : 0
algo assim '-'
Reply
#6

:P malz, esqueci de colocar 1 linha .-.

pawn Код:
new c = 0;
    new pickupid,
        string[128],
        meguste[128],
        Float:cCoords[3];

    while(c < MAX_CASAS)
    {
        format(string, sizeof(string), "/Casas/casa%d.ini", c);
        if(DOF2_FileExists(string))
        {
            cCoords[0] = DOF2_GetFloat(string, "PosX");
            cCoords[1] = DOF2_GetFloat(string, "PosY");
            cCoords[2] = DOF2_GetFloat(string, "PosZ");

            if(!DOF2_GetInt(string, "TDonoC"))
            {
                pickupid = CreatePickup(1273, 1, cCoords[0], cCoords[1], cCoords[2], -1);
                DOF2_SetInt(string, "Id", pickupid);
                /*new pp[30];
                if(DOF2_GetInt(string,"CTrancada") == 1) format(pp, sizeof(pp), "Trancada");
                if(DOF2_GetInt(string,"CTrancada") == 0) format(pp, sizeof(pp), "Destrancada");*/

                format(meguste, sizeof(meguste), "Casa Nъmero [ %i ]", c);
                Create3DTextLabel(meguste, 0xFFFFFFAA, cCoords[0], cCoords[1], cCoords[2]+0.75, 20.0, 0, 1);
            }
            else
            {
                if(DOF2_GetInt(string, "TDonoC") == 1)
                {
                    pickupid = CreatePickup(1272, 1, cCoords[0], cCoords[1], cCoords[2], -1);
                    DOF2_SetInt(string, "Id", pickupid);
                    /*new pp[30];
                    if(DOF2_GetInt(string,"CTrancada") == 1) format(pp, sizeof(pp), "Trancada");
                    if(DOF2_GetInt(string,"CTrancada") == 0) format(pp, sizeof(pp), "Destrancada");*/

                    format(meguste, sizeof(meguste), "Casa Nъmero [ %i ]", c);
                    Create3DTextLabel(meguste, 0xFFFFFFAA, cCoords[0], cCoords[1], cCoords[2]+0.75, 20.0, 0, 1);
                }
            }
            proximacasa++;
        }
        c++;
    }
Reply
#7

Mano deixa pra la eu ja to cansado dessa porra de gm '-' q so traz bugs q se fda .-.
adios esse gm vo partir pra outra '-'
Reply
#8

desistir й para fracos...
nunca desista =)
Reply
#9

tem sistemas que criam todas as casas para 'reservar' sua pickup e sua textdraws etc, dai quando vc digita /criarcasa ele somente irб mudar a posicao de tal casa para mostra-lб aos jogadores.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)