28/11/2024 22:03
(Esta mensagem foi modificada pela última vez a: 30/11/2024 01:46 por xbruno1000x.)
boa noite pessoal estou perdido criei um comando para attachar o objeto no player estou usando a include mselection para facilitar entao fiz esse comando mas o problema e que nao esta attachando o objeto no player nao sei oq esta errado dentro da pasta scriptfiles criei tambem objects.txt e coloque os id de alguns objetos para escolher o objeto os ids dos objetos
resumindo meu codigo ta todo funcional menos oq eu queria que e anexar o objeto ao player so isso
resumindo meu codigo ta todo funcional menos oq eu queria que e anexar o objeto ao player so isso
Código:
#include <a_samp>
#include <mSelection>
#include <zcmd>
new objectList = mS_INVALID_LISTID; // ID da lista de seleção de objetos
new playerObjects[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:objeto(playerid, params[])
{
// Mostra o menu para selecionar um objeto
ShowModelSelectionMenu(playerid, objectList, "Selecionar Objeto");
return 1;
}
public OnPlayerModelSelection(playerid, response, listid, modelid)
{
if (listid == objectList)
{
// Remove o objeto temporário anterior, se existir
if (IsValidObject(playerObjects[playerid]))
{
DestroyObject(playerObjects[playerid]);
}
if (response)
{
// Obtém a posição do jogador
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
// Cria o objeto diretamente no jogador (posição ajustada pelo offset)
playerObjects[playerid] = CreatePlayerObject(playerid, modelid, x, y, z, 0.0, 0.0, 0.0);
// Anexa o objeto ao jogador (com o offset de posição)
AttachObjectToPlayer(playerid, playerObjects[playerid], 0.0, 0.0, 0.5, 0.0, 0.0, 0.0);
EditPlayerObject(playerid, playerObjects[playerid]);
// Mensagem confirmando que o objeto foi anexado
SendClientMessage(playerid, -1, "Objeto selecionado e fixado ao jogador!");
}
else
{
SendClientMessage(playerid, -1, "Você cancelou a seleção de objeto.");
}
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
// Remove o objeto temporário do jogador ao sair
if (IsValidObject(playerObjects[playerid]))
{
DestroyObject(playerObjects[playerid]);
}
return 1;
}