[Ajuda] Problema para a arvore crescer
#1

Bom, eu estou com um problema ainda, no meu cуdigo de plantar arvores. Eu fiz uma array para essa arvore, mas o problema antes era apenas a ultima arvore planta que crescia, hoje, apenas a primeira arvore plantada cresce. Exemplo: se eu digitar o comando 2 vezes consecutivas, apenas o primeiro comando seria exucutado corretamente, ja o ultimo comando, apenas ficaria no primeiro objeto e assim nгo chamando o timer para crescer a arvore. Siga os cуdigos abaixo:

PHP код:
#define MAX_AL                  1000 
Array:
PHP код:
enum PLaranja
{
        
Proxyarv,
    
Float:ArvX,
    
Float:ArvY,
    
Float:ArvZ,
    
ArvoreObject,
    
ArvoreObject2[32]

PHP код:
new ProxyArv[MAX_AL][PLaranja];
new 
tarvore 0

comando ,publics,stock:
PHP код:
CMD:arvore1(playeridparams[])
{
        new    
FloatX,
        
FloatY,
        
FloatZ,
        
arvorep;
        
GetPlayerPos(playeridXYZ);
        
SendClientMessage(playeridAMARELO"Бrvore de laranja plantada");
        
arvorep CreateObject(728XYZ00050);
        
ProxyArv[playerid][ArvoreObject2][tarvore] = arvorep;
           
tarvore ++;
        
SetTimerEx("PLARANJA"5000,false,"i",playerid);
    return 
1;
}
forward PLARANJA(playerid);
public 
PLARANJA(playerid)
{
    new 
Float:x,Float:y,Float:z,Float:PposA;
    
GetPlayerFacingAngle(playeridPposA);
    
x+= (floatsin(-PposAdegrees));
    
+= (floatcos(-PposAdegrees));
    
GetObjectPos(ProxyArv[playerid][ArvoreObject2] , z);
    
CreatePLaranja(x,y,z);
    
DestroyObject(ProxyArv[playerid][ArvoreObject2]);
    return 
1;
}
stock CreatePLaranja(Float:x,Float:y,Float:z)
{
    for(new 
0sizeof(ProxyArv); i++)
    {
        if(
Proxycords[i][Proxyarv] == 0)
        {
            
ProxyArv[i][Proxyarv]=1;
            
ProxyArv[i][ArvX]=x;
            
ProxyArv[i][ArvY]=y;
            
ProxyArv[i][ArvZ]=z;
            
ProxyArv[i][ArvoreObject] = CreateObject(717xyz-1.0,0,0,0,50);
            return 
1;
        }
    }
    return 
0;

Reply
#2

pawn Код:
forward PLARANJA(playerid);
public PLARANJA(playerid)
{
    new Float:x,Float:y,Float:z,Float:PposA;
    GetPlayerFacingAngle(playerid, PposA);
    x+= (3 * floatsin(-PposA, degrees));
    y += (3 * floatcos(-PposA, degrees));
    GetObjectPos(ProxyArv[playerid][ArvoreObject2] , x , y , z);
    CreatePLaranja(x,y,z);
    DestroyObject(ProxyArv[playerid][ArvoreObject2]);
    return 1;
}
Nгo seria?

pawn Код:
forward PLARANJA(playerid);
public PLARANJA(playerid)
{
    new Float:x,Float:y,Float:z,Float:PposA;
    GetPlayerFacingAngle(playerid, PposA);
    x+= (3 * floatsin(-PposA, degrees));
    y += (3 * floatcos(-PposA, degrees));
    GetObjectPos(ProxyArv[playerid][ArvoreObject2][tarvore] , x , y , z);
    CreatePLaranja(x,y,z);
    DestroyObject(ProxyArv[playerid][ArvoreObject2][tarvore]);
    return 1;
}
Reply
#3

Bom, nгo creio que seja, mas vou testar.
Reply
#4

UP.
O problema ainda persiste, alguem pra ajudar? :S
Reply
#5

pawn Код:
ArvoreObject2[ 32 ];
//й um array, quando vocк usa isso:
ProxyArv[playerid][ArvoreObject2]
//й equivalente a isso:
ProxyArv[playerid][ArvoreObject2][ 0 ]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)