[Ajuda] DestroyDynamicObject nгo destroi o objeto!
#1

Eae pessoal, eu fiz o comando /porobjeto, cujo a funзгo й criar o objeto 845 perto do player, й sу um teste... Somente ORGs gangs podem usa-lo. O problema й o seguinte, o objeto й criado normalmente, mas na hora de tirar, o objeto some, e 1 segundo depois reaparece, e nгo tem como tirar de novo... Nгo sei o que tem de errado no comando, alguйm pode me ajudar?
Isso acontece somente com o DynamicObject, se for com o CreateObject ou F_CreatObject o objeto some normalmente, mas nгo quero usar essas funзхes porque o GM jб estб cheio delas, e tem limite de objeto nessas funзхes...

PHP код:
//topo
new gpfu[MAX_PLAYERS];
new 
pObjeto[MAX_PLAYERS];
//OnPlayerCommandText
if(strcmp(cmdtext"/porobjeto"true )==0)
{
        new 
org GetPlayerOrg(playerid);
        if(
org == || org == 14 || org == 17 || org == 18 || org == 19 || org == 20 || org == 21 || org == 24 || org == 25 || org == 27)
        {
            if(
PlayerInfo[playerid][pJailed] != 0) { return SendClientMessage(playeridCOLOR_GREY"Vocк nгo pode usar esse comando na cadeia !"); }
            if (
gpfu[playerid] != 0) return SendClientMessage(playeridCOLOR_GREY"Vocк sу pode colocar 1 objeto por vez. (/robjeto para tirar o seu atual.)");
               new 
Float:XFloat:YFloat:ZFloat:A;
        
GetPlayerPos(playeridXYZ);
        
GetPlayerFacingAngle(playeridA);
                
gpfu[playerid] = 1;
                
pObjeto[playerid] = CreateDynamicObject(845XYZ-20.00.0A+90);
            
GameTextForPlayer(playerid"~w~Objeto ~r~Criada"50005);
            
SendClientMessage(playeridCOLOR_GREEN"Objeto Criado! Use /robjeto para apagб-la!");
        }
        return 
1;
}
    if(
strcmp(cmdtext"/robjeto"true )==0)
    {
        new 
org GetPlayerOrg(playerid);
        if(
org == || org == 14 || org == 17 || org == 18 || org == 19 || org == 20 || org == 21 || org == 23 || org == 22 || org == 24 || org == 25 || org == 27)
        {
            if (
gpfu[playerid] == 0) { return SendClientMessage(playeridCOLOR_GREY"Vocк nгo criou nenhum objeto!"); }
            if (
gpfu[playerid] != 0)
            {
                
RemoveObjeto(playerid);
                
SendClientMessage(playeridCOLOR_GREY"    Vocк tirou o objeto!");
            }
        }
        return 
1;
    }
//Fim
forward RemoveObjeto(playerid);
public 
RemoveObjeto(playerid)
{
    
DestroyDynamicObject(pObjeto[playerid]);
    
gpfu[playerid] = 0;

Reply
#2

coloca isso no inicio do gm
pawn Код:
forward RemoveObjeto(playerid);
e adiciona o return true; ficando
pawn Код:
public RemoveObjeto(playerid)
{
    DestroyDynamicObject(pObjeto[playerid]);
    gpfu[playerid] = 0;
    return true;
}
Reply
#3

Tente colocar a forward no topo do gamemode. Pois vocк esta chamando ela antes de declara-la.
Reply
#4

Coloquei no topo como disseram pessoa, nenhum efeito, o objeto continua reaparecendo com 3 segundos depois que й destruнdo... Nгo faзo ideia do que possa ser, quando se usa CreateObject por exemplo, pega normalmente...
Alguйm poderia me ajudar? Vlw
Reply
#5

Se tiverem muitos objetos com Dynamic buga.(digo por experiencia prуpria!)
Reply
#6

Pior que usando o streamer (DynamicObjects) nгo tem muitos... Alguйm poderia ajudar?
Reply
#7

@UP
Alguйm?
Reply
#8

UP '-'
Reply
#9

se vocк tiver criando com:
pawn Код:
CreateObject
tera que ser deletado com:
pawn Код:
DestroyObject
se tiver criando com:
pawn Код:
CreateDynamicObject
tera que ser deletado com:
pawn Код:
DestroyDynamicObject
Reply
#10

/\ Estou fazendo exatamente isso, criando com CreateDynamicObject e destruindo com DestroyDynamicObject, porйm, depois de 2 segundos que o objeto some, ele reaparece. Nгo sei o que pode ser...
Da um help aee?
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)