(06/01/2023 20:30)MarcosBrazz Escreveu: Tente com essas, acredito que sejam mais precisas:
Essas e as outras foram retiradas da internet.Código PHP:static stock IsPlayerInSF(playerid)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid, x, y, z);
if(x >= -2954.502 && y >= -3012.892 && x <= -957.5858 && y <= 1436.379) return 1;
else return 0;
}
static stock IsPlayerInLS(playerid)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid, x, y, z);
if(x >= -922.5522 && y >= -2791.012 && x <= 2954.502 && y <= 385.3699) return 1;
else return 0;
}
static stock IsPlayerInLV(playerid)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid, x, y, z);
if(x >= -1307.922 && y >= 490.4708 && x <= 2977.858 && y <= 3153.026) return 1;
else return 0;
}
Nossa mano, muito obrigado, tá quase lá
Como vc fez isso?
Só teve problemas em: Bayside (SF), El Quebrados (LV) e Montgomery (LS)
O resto tá lindão
Anotações:
Código:
SF:
() bayside não marcou nenhuma cidade (nem LS,LV,SF)
(x) angel pine marcou como SF
as cidades do deserto de LV:
() el quebrados não marcou nenhuma cidade (nem LS,LV,SF)
(x) tierra roubada, fort carson, las payassadas ta marcando como LV
LS Red Contry:
() montgomery ta marcando como LS, mas se vc for muito pro norte, perto do postinho que tem lá ele fica sem marcar nada (nem LS, LV, SF)
(x) palo mino ta marcando como LS
(x) bluy berry ta marcando LS
Sabe como resolver?
(06/01/2023 21:34)k2bi_YT Escreveu: Se eu entendi, você quer que o jogador dar spawn na cidade que estiver mais próxima? Caso seja, vê se essa função pode ser util.
Você pode pegar a posição do local onde queira que o player spawna, e definir na variavel LocalSpawn, Ao usar a função, ele irá detectar qual a distancia menor em relação da posição do player para o local de spawn, e será setado para as coordenadas definida
Código PHP:new Float:LocalSpawn[][] =
{
{1687.2244,1441.6006,10.7686},//LV
{-1984.6943,146.1562,27.6875},//SF
{1540.2509,-1684.9756,13.5502}//LS
};
SpawnPlayerProx(playerid)
{
new distance = 999999, var = -1;
for(new i; i != sizeof(LocalSpawn); ++i)
{
if(GetPlayerDistanceFromPoint(playerid, LocalSpawn[i][0], LocalSpawn[i][1], LocalSpawn[i][2]) < distance)
{
distance = GetPlayerDistanceFromPoint(playerid, LocalSpawn[i][0], LocalSpawn[i][1], LocalSpawn[i][2]);
var = i;
}
}
if(var != -1) SetPlayerPos(playerid, LocalSpawn[var][0], LocalSpawn[var][1], LocalSpawn[var][2]);
return true;
}
Não, é o que o @MarcosBrazz está me quase ajudando a fazer mesmo, detectar qual cidade main (LV,SF,LS) a partir de uma posição