Portal SAMP
[Ajuda] Ajuda com DynamicObjects - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Ajuda com DynamicObjects (/showthread.php?tid=4884)



Ajuda com DynamicObjects - Clawzkkj - 22/09/2024

Seguinte to a uns 4 meses sem programar e acabei enferrujando...
Estou fazendo um sistema de editar Objetos para o meu servidor, e quando o player salva o objeto editado é deletado e criado dnv, e para ser criado dnv precisa do ID do objeto, porém quero que o sistema seja Universal ( para todos os objetos ), se não irei precidar fazer um sistema para cada objeto.
Acho que precisa criar uma variavel que armazene todos os modelos, ou que salve o modelo que está editando e recrie ele, sla.
Quem puder ajudar agradeço 
Como eu disse... estou enferrujado

Código:
if(EditandoObjeto[playerid] != -1)
            {
                new i = EditandoObjeto[playerid];
                DestroyDynamic3DTextLabel(SistemaObjeto[i][Objeto3d]);
                new str[300];
                format(str,300,"{CD853F}Objeto de {ffffff}%s",NomePlayer(playerid));
                SendClientMessage(playerid, -1, "A posicao do seu objeto foi salva neste Local ! Para mais Informacoes use: /ajuda.");

                SistemaObjeto[i][Objeto3d] = CreateDynamic3DTextLabel(SistemaObjeto[i][ObjetoText], -1, x,y, z, 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID,  0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid), -1, 100.0);
                format(SistemaObjeto[i][ObjetoDono],40, NomePlayer(playerid));
                SistemaObjeto[i][ObjetoX] = x;
                 SistemaObjeto[i][ObjetoY] = y;
                SistemaObjeto[i][ObjetoZ] = z;
                SistemaObjeto[i][ObjetoRX] = rx;
                SistemaObjeto[i][ObjetoRY] = ry;
                SistemaObjeto[i][ObjetoRZ] = rz;
                SistemaObjeto[i][ObjetoInterior] = GetPlayerInterior(playerid);
                SistemaObjeto[i][ObjetoMundo] = GetPlayerVirtualWorld(playerid);
// destroi o objeto                DestroyDynamicObject(SistemaObjeto[i][ObjetoObj]);
// aqui que preciso mudar / recria o objeto                SistemaObjeto[i][ObjetoObj] = CreateDynamicObject(19833, x,y,z,rx,ry,rz,GetPlayerInterior(playerid),GetPlayerVirtualWorld(playerid),-1,200,0);



RE: Ajuda com DynamicObjects - White_Blue - 22/09/2024

Basta pegar o input do jogador onde ele digitará o ID e armazená-lo em uma variável global (ou pvar, caso preferir).

Por exemplo:

Código PHP:
new objeto// Dependendo do seu sistema, essa variável deve ser global para ser acessada na parte da edição do objeto

// Dentro do comando ou ação que ativa a edição (assumindo que seja um comando):
if(sscanf(params"i"objeto)) return SendClientMessage(playerid, -1"Digite o ID do portão");

// ...
SistemaObjeto[i][ObjetoObj] = CreateDynamicObject(objetox,y,z,rx,ry,rz,GetPlayerInterior(playerid),GetPlayerVirtualWorld(playerid),-1,200,0);