[Ajuda] Dropar objeto e pegar
#1

Fala aн galera, bom, estou tentando criar um sistema que vai dropar um cartгo e poderб pegar ele tambйm, qualquer pessoa pode pegar ele, eu atй fiz o comando, mas acho que nгo estб muto certo kk

PHP код:
CMD:teste(playerid)
{
    new 
Float:XFloat:YFloat:Z;
    
GetPlayerPos(playeridXYZ);
    
CreateDynamicObject(19792XYZ-10.00.00.0, -1, -1, -180.0);
     
Cartao Create3DTextLabel("Item: Cartгo"0xAAAAAAAAXYZ-180.000);
    return 
1;

Bom, se alguйm puder me ajudar nisso, eu agradeзo
Reply
#2

nesse comando vocк estб criando um cartгo proximo ao chao.. й isso que vocк quer mesmo? dai ta certo atй
Reply
#3

utilize ColAndreas, para pegar a coordenada Z, que fica melhor, no caso o objeto fica no chao!
acho q da um charm a mais!
Reply
#4

Quote:
Originally Posted by RazorGuigo
Посмотреть сообщение
utilize ColAndreas, para pegar a coordenada Z, que fica melhor, no caso o objeto fica no chao!
acho q da um charm a mais!
Oo
Nгo precisa tanto.

E sу criar uma array e armazenar tudo dentro, exemplo.

PHP код:
enum enum_Items
{
     
Float:Pos[3]
}
new 
Items[100][enum_Items]; 
Quando vocк dropar o item, vocк seta as coordenadas:

PHP код:
Items[slot][Pos][0] = x;
Items[slot][Pos][1] = y;
Items[slot][Pos][2] = z
Agora em OnPlayerKeyStateChange vocК detecta se o player estб perto de algum item da array, simples nгo?
Reply
#5

Tentei fazer assim:

PHP код:
#define MAX_CARTAO          20
new Text3D:Cartao;
// Drop Cartгo
enum enum_Items
{
     
Float:CartPos[3],
     
CartObject,
};
new 
Items[MAX_CARTAO][enum_Items];
CMD:droparcartao(playerid)
{
    new 
Float:XFloat:YFloat:Z;
    
GetPlayerPos(playeridXYZ);
    
    for(new 
x!= MAX_CARTAOx++)
    {
        
Items[x][CartPos][0] = X;
        
Items[x][CartPos][1] = Y;
        
Items[x][CartPos][2] = Z-1;
        
Items[x][CartObject] = CreateDynamicObject(19792Items[x][CartPos], Items[x][CartPos], Items[x][CartPos], 0.00.00.0, -1, -1, -180.0);
         
Cartao Create3DTextLabel("Item: Cartгo"0xAAAAAAAAXYZ-180.000);
    }
    return 
1;
}
CMD:pegarcartao(playerid)
{
    for(new 
x!= MAX_CARTAOx++)
    {
        if(
IsPlayerInRangeOfPoint(playerid1.8Items[x][CartPos], Items[x][CartPos], Items[x][CartPos]))
        {
            
DestroyDynamicObject(Items[x][CartObject]);
            
DestroyDynamic3DTextLabel(Cartao);
        }
    }
    return 
1;

(Me basiei em um sistema aqui) Mas nгo deu certo, estб aparecendo apenas a 3DTextLabel e o /pegarcartao nгo funciona.
@Edit
Reply
#6

Ajuda ai galera, preciso muito disso
Reply
#7

Items[x][CartObject] = CreateDynamicObject(19792, Items[x][CartPos][0], Items[x][CartPos][1], Items[x][CartPos][2], 0.0, 0.0, 0.0, -1, -1, -1, 80.0);
Reply
#8

if ((newkeys==KEY_SECONDARY_ATTACK))
{
OnPlayerCommandText(playerid,"/entrar"); //mude o "/entrar" pelo comando que vocк escolheu lб no seu comando de entrar. Mantenha as " ".
OnPlayerCommandText(playerid,"/sair"); //Mude o /sair tambйm.
}
Reply
#9

Agora o /droparcartao estб pegando, valeu, mas o /pegarcartao nгo estб.

PHP код:
CMD:pegarcartao(playerid)
{
    for(new 
x!= MAX_CARTAOx++)
    {
        if(
IsPlayerInRangeOfPoint(playerid1.8Items[x][CartPos], Items[x][CartPos], Items[x][CartPos]))
        {
            
DestroyDynamicObject(Items[x][CartObject]);
            
DestroyDynamic3DTextLabel(Cartao);
        }
    }
    return 
1;

Da pra dar uma forзa?
Reply
#10

PHP код:
CMD:pegarcartao(playerid

    for(new 
x!= MAX_CARTAOx++) 
    { 
items--;
        if(
IsPlayerInRangeOfPoint(playerid1.8Items[x][CartPos], Items[x][CartPos], Items[x][CartPos])) 
        { 
            
DestroyDynamicObject(Items[x][CartObject]); 
            
DestroyDynamic3DTextLabel(Cartao); 
        } 
    } 
    return 
1

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)