01/12/2024 15:55
(Esta mensagem foi modificada pela última vez a: 03/12/2024 11:41 por xbruno1000x.)
fiz esse comando que ao usar ele procura a lista de objetos que fiz na scriptfiles objects.txt entao o problema e que nao esta attachando o objeto ao jogador acho q fiz algo errado e nao sei resolver a outra coisa e que ao editar o objeto coloco na coordenada em que quero mas nao salva o objeto fica como se tivesse um ponto fixo acho que deve ser o problema aqui nisso if (response == EDIT_RESPONSE_FINAL)
{
// Atualiza a posição e rotação do objeto após edição
AttachObjectToPlayer(playerid, objetos[playerid], fX, fY, fZ, fRotX, fRotY, fRotZ); nao sei como fazer para o objeto ser salvo no corpo do jogador na maneira em que eu editei e usei o if (response == EDIT_RESPONSE_FINAL) talvez fiz algo errado e nao sei onde resolver
{
// Atualiza a posição e rotação do objeto após edição
AttachObjectToPlayer(playerid, objetos[playerid], fX, fY, fZ, fRotX, fRotY, fRotZ); nao sei como fazer para o objeto ser salvo no corpo do jogador na maneira em que eu editei e usei o if (response == EDIT_RESPONSE_FINAL) talvez fiz algo errado e nao sei onde resolver
Código:
#include <a_samp>
#include <mSelection>
#include <zcmd>
new objectList = mS_INVALID_LISTID; // ID da lista de seleção de objetos
new objetos[MAX_PLAYERS]; // Objeto temporário exibido para cada jogador
public OnFilterScriptInit()
{
// Carrega a lista de objetos a partir de um arquivo "objects.txt"
objectList = LoadModelSelectionMenu("objects.txt");
return 1;
}
CMD:objetos(playerid, params[])
{
// Mostra o menu para selecionar um objeto
ShowModelSelectionMenu(playerid, objectList, "Selecionar Objeto");
return 1;
}
public OnPlayerModelSelection(playerid, response, listid, modelid)
{
if (response)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
// Cria o objeto e salva a referência no array
objetos[playerid] = CreateObject(modelid, x, y, z, 0.0, 0.0, 0.0);
// Edita o objeto (isso pode ser opcional dependendo do que você deseja fazer)
EditObject(playerid, objetos[playerid]);
// Anexa o objeto ao jogador com a rotação inicial
AttachObjectToPlayer(playerid, objetos[playerid], x, y, z, 0.0, 0.0, 0.0);
}
return 1;
}
public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
if (response == EDIT_RESPONSE_FINAL)
{
// Atualiza a posição e rotação do objeto após edição
AttachObjectToPlayer(playerid, objetos[playerid], fX, fY, fZ, fRotX, fRotY, fRotZ);
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
// Remove o objeto temporário do jogador ao sair
if (IsValidObject(objetos[playerid]))
{
DestroyObject(objetos[playerid]);
}
return 1;
}