18/04/2024 02:13
(17/04/2024 20:10)Ryzen_ Escreveu:(17/04/2024 13:08)Carlos Victor Escreveu:(17/04/2024 01:49)xbruno1000x Escreveu:(16/04/2024 18:20)Ryzen_ Escreveu: Bruno, você consegue me dar uma breve explicação e algum exemplo de uso da TogglePlayerDynamicCP()? Creio que seja para exibir o CP para um jogador específico. Tentei aqui testar ele, mas não consegui fazer com que o CP já seja criado sem ser visível para os players.
Para exibir para um jogador especifico você precisa alterar o parâmetro playerid.
Código:CreateDynamicCP
(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = STREAMER_CP_SD, areaid = -1, priority = 0)
Aproveitando o gancho, não sei se você já sabe Ryzen_, mas não é preciso definir todos os parâmetros da função até chegar no playerid, quando eu comecei eu não sabia e sempre definia esses parâmetros. Você pode apenas colocar um ponto antes do parâmetros e informar o valor da seguinte forma:
Código PHP:CreateDynamicCP(0.0, 0.0, 0.0, 5.0, .playerid = 50);
Dessa forma, o parâmetro playerid receberá o valor 50, se existir um jogador ID 50, esse DynamicCP irá ser criado para ele, isso obviamente funciona para outros parâmetros e tals...
Muito obrigado. Eu realmente não tinha conhecimento algum sobre isso, vai adiantar muita coisa.
(17/04/2024 16:49)xbruno1000x Escreveu:(17/04/2024 03:29)Ryzen_ Escreveu: Aaaah, entendi. Muito obrigado mais uma vez Bruno.
O que acha que compensa mais (peço que leve em conta a sua opinião própria de acordo com sua experiência de uso), usar o SetPlayerCheckpoint, ou as opções do Streamer mesmo setando o id do player? Eu percebi que se eu coloco o CP para ser criado um pouco distante, ele não aparece nas bordas do radar (creio que seria necessário setar uma StreamDistance muito grande), enquanto no CP nativo ele aparece automaticamente, então o correto seria utilizar o SetPlayerMapIcon em conjunto com o CreateDynamicCP?
Eu não tenho muita ideia de como você está utilizando seus checkpoints. Acredito que para não haver conflitos no sistema de entrega, você poderia tentar usar um SetPlayerRaceCheckpoint. Nunca testei, mas pode ser que funcione.
Eu basicamente crio um comando para o player carregar seu caminhão com mercadorias, quando ele seleciona a mercadoria, coloco para surgir um checkpoint do local de entrega. Não no estilo "race", mas no normal. Mas tava com um problema onde se o player se aproximasse de algum checkpoint que estivesse no mapa durante a rota (tal como um checkpoint que é usado na oficina que tenho no servidor), o local de entrega acabava sumindo do mapa e não tinha mais como entregar. O SetPlayerCheckpoint exibe o local de entrega no mini-mapa, mesmo que distante, já o checkpoint do streamer mostra apenas quando você está próximo ao checkpoint. Então creio ser necessario usar o SetPlayerMapIcon em conjunto com o CP do streamer. Então agora estou sem saber qual a melhor solução, se é a forma nativa de CP, ou o streamer em conjunto com o SetPlayerMapIcon.
Aí vai da implementação, porém eu recomendaria usar com SetPlayerMapIcon em vez de colocar uma streamdistance gigante, já que você mencionou que está tendo conflitos com outros checkpoints.
Não estou disponível para realizar serviços relacionados ao SA-MP e não costumo responder a mensagens privadas, a menos que estejam relacionadas à moderação do fórum.