[Ajuda] Problema ainda persistindo...
#2

Isso acontece porque vocк usa apenas 1 variбvel(Proxycords[playerid][MineObject2]), quando uma arvore й criado ela й redefinida ou seja, as outras criados anteriormente que nгo cresceram sгo "apagadas" de sua variбvel e apenas a ultima continua ativa, minha sugestгo seria limitar o nъmero de бrvores, ex 10:
pawn Код:
#define ArvoreID 10
enum PLaranja
{
    ArvoreCriada,
    Proxymine,
    Float:MineX,
    Float:MineY,
    Float:MineZ,
    MineObject,
    MineObject2[32]
}
new Proxycords[MAX_AL][ArvoreID][PLaranja];  

CMD:arvore1(playerid, params[])
{
        new Float: X,
        Float: Y,
        Float: Z,
        disponivel;  disponivel = 0;
        GetPlayerPos(playerid, X, Y, Z);
       
        for(new i = 0; i < ArvoreID; i++)
        {
            if(Proxycords[playerid][i][ArvoreCriada] == 0 && disponivel == 0)
            {
                disponivel = 1;
                Proxycords[playerid][i][ArvoreCriada] = 1;
                Proxycords[playerid][i][MineObject2] = CreateObject(728, X, Y, Z, 0, 0, 0, 50);
            }
        }
        if(disponivel == 1)
        {
            SendClientMessage(playerid, AMARELO, "Бrvore de laranja plantada");
        }
        SetTimerEx("PLARANJA", 5000,false,"i",playerid);
    return 1;
}
forward PLARANJA(playerid);
public PLARANJA(playerid)
{
    for(new i = 0; i < ArvoreID; i++)
    {
        new Float:x,Float:y,Float:z,Float:PposA;
        GetPlayerFacingAngle(playerid, PposA);
        x+= (3 * floatsin(-PposA, degrees));
        y += (3 * floatcos(-PposA, degrees));
         

        GetObjectPos(Proxycords[playerid][i][MineObject2] , x , y , z);
        CreatePLaranja(x,y,z);
        DestroyObject(Proxycords[playerid][i][MineObject2]);

        return 1;
    }
}
stock CreatePLaranja(Float:x,Float:y,Float:z)
{
    for(new i = 0; i < sizeof(Proxycords); i++)
    {
        for(new is = 0; is < ArvoreID; is++)
        {
            if(Proxycords[i][is][Proxymine] == 0)
            {
                Proxycords[i][is][Proxymine] =1;
                Proxycords[i][is][MineX] = x;
                Proxycords[i][is][MineY] = y;
                Proxycords[i][is][MineZ] = z;
                Proxycords[i][is][MineObject] = CreateObject(717, x, y, z-1.0,0,0,0,50);
                return 1;
            }
        }
    }
    return 0;
}
Ou limitar para apenas 1 бrvore
pawn Код:
enum PLaranja
{
    ArvoreCriada,
    Proxymine,
    Float:MineX,
    Float:MineY,
    Float:MineZ,
    MineObject,
    MineObject2[32]
}
new Proxycords[MAX_AL][PLaranja];  

CMD:arvore1(playerid, params[])
{
        new Float: X,
        Float: Y,
        Float: Z;
        GetPlayerPos(playerid, X, Y, Z);
       
        if(Proxycords[playerid][ArvoreCriada] == 0)
        {
            Proxycords[playerid][ArvoreCriada] = 1;
            Proxycords[playerid][MineObject2] = CreateObject(728, X, Y, Z, 0, 0, 0, 50);
            SendClientMessage(playerid, AMARELO, "Бrvore de laranja plantada");
            SetTimerEx("PLARANJA", 5000,false,"i",playerid);
        }
        else
        {
            SendClientMessage(playerid, AMARELO, "Vocк jб plantou uma бrvore");
        }
    return 1;
}
forward PLARANJA(playerid);
public PLARANJA(playerid)
{
    if(Proxycords[playerid][ArvoreCriada] == 1)
    {
        new Float:x,Float:y,Float:z,Float:PposA;
        GetPlayerFacingAngle(playerid, PposA);
        x+= (3 * floatsin(-PposA, degrees));
        y += (3 * floatcos(-PposA, degrees));
         
        GetObjectPos(Proxycords[playerid][MineObject2] , x , y , z);
        CreatePLaranja(x,y,z);
        DestroyObject(Proxycords[playerid][MineObject2]);
        return 1;
    }
}
stock CreatePLaranja(Float:x,Float:y,Float:z)
{
    for(new i = 0; i < sizeof(Proxycords); i++)
    {
        if(Proxycords[i][Proxymine] == 0 && Proxycords[i][ArvoreCriada] == 1)
        {
            Proxycords[i][Proxymine] =1;
            Proxycords[i][MineX] = x;
            Proxycords[i][MineY] = y;
            Proxycords[i][MineZ] = z;
            Proxycords[i][MineObject] = CreateObject(717, x, y, z-1.0,0,0,0,50);
            return 1;        
        }
    }
    return 0;
}
Reply


Messages In This Thread
Problema ainda persistindo... - by SkullFire - 12.06.2014, 00:08
Re: Problema ainda persistindo... - by Stronda xD - 12.06.2014, 13:32

Forum Jump:


Users browsing this thread: 1 Guest(s)