[Ajuda] Com IsPlayerInArea -
cotonete - 15.10.2011
Код:
for(new i = 0; i < MAX_PLAYERS; ++i)
{
if(IsPlayerConnected(i))
{
for(new h =0; h < MAX_GZS; h++)
{
if(IsPlayerInArea(i,checkGzs[h][0],checkGzs[h][1],checkGzs[h][2],checkGzs[h][3]))
{
if(GZ_EXISTE[gzsids[h]][0] == 1)
{
TextDrawSetString(areaGangZona,"Ta dominado");
TextDrawShowForPlayer(i,areaGangZona);
}
else
{
TextDrawSetString(areaGangZona,"Ninguem dominou");
TextDrawShowForPlayer(i,areaGangZona);
}
}
else
{
TextDrawHideForPlayer(i,areaGangZona);
}
}
}
}
oque estб errado no meu cуdigo?
Re: [Ajuda] Com IsPlayerInArea -
iansinho - 15.10.2011
Tб com erro em alguma linha ou й bug?
Se for bug, qual bug й? O TextDraw nгo aparece?
Re: [Ajuda] Com IsPlayerInArea -
cotonete - 15.10.2011
nгo identifica que o player estб na бrea @_@
Re: [Ajuda] Com IsPlayerInArea -
iansinho - 15.10.2011
Ai tem 4 "checkGzs"
E segundo o tutorial da Wiki que eu to vendo nгo funciona assim o IsPlayerInArea.
Aonde esse cуdigo estб?
Re: [Ajuda] Com IsPlayerInArea -
cotonete - 15.10.2011
esses 4 ai, й uma ARRAY onde nela й salva o: X Y X Y
Re: [Ajuda] Com IsPlayerInArea -
iansinho - 15.10.2011
Ah, beleza.
Vocк vai fazer assim.
Segundo o tutorial da Wiki (
https://sampwiki.blast.hk/wiki/Areacheck)
Crie um SetTimer no seu OnGameModeInit:
PHP код:
SetTimer("isPlayerInArea", 1000, 1);
Depois, adicione a public no final do seu GM:
PHP код:
public isPlayerInArea()
{
new Float:X, Float:Y, Float:Z;
for(new i = 0; i < MAX_PLAYERS; ++i)
{
if(IsPlayerConnected(i))
{
for(new h =0; h < MAX_GZS; h++)
{
GetPlayerPos(i, X, Y, Z);
if(X <= checkGzs[h][0] && X >= checkGzs[h][1] && Y <= checkGzs[h][2] && Y >= checkGzs[h][3])
{
if(GZ_EXISTE[gzsids[h]][0] == 1)
{
TextDrawSetString(areaGangZona,"Ta dominado");
TextDrawShowForPlayer(i,areaGangZona);
}
else
{
TextDrawSetString(areaGangZona,"Ninguem dominou");
TextDrawShowForPlayer(i,areaGangZona);
}
}
else
{
TextDrawHideForPlayer(i,areaGangZona);
}
}
}
}
}
Testa isso, se der erro ou ficar bugado me fala.
@edit -
Esqueci, cria a forward pra a public, no topo do GM:
PHP код:
forward isPlayerInArea();
Ah, e tambйm apague o cуdigo atual.
Re: [Ajuda] Com IsPlayerInArea -
cotonete - 15.10.2011
nгo funcionou, que estranho
Re: [Ajuda] Com IsPlayerInArea -
iansinho - 15.10.2011
Voce diz, vocк vai no local e a TextDraw nгo mostra?
Se for isso, eu tenho que saber:
PHP код:
if(X <= checkGzs[h][0] && X >= checkGzs[h][1] && Y <= checkGzs[h][2] && Y >= checkGzs[h][3])
Nessa linha, eu fui no chute. Eu nгo sei se o checkGzs[h][0] й o X. Ele pode ser o Y e eu nгo sei, por isso deve estar bugando.
Vocк sabe quem й quem?
Re: [Ajuda] Com IsPlayerInArea -
cotonete - 15.10.2011
desse modo nem mostra o text entende, mas se eu por um BREAK; no segundo loop, em todas gangzona que eu for ele mostra que nгo estб dominada, mass, se eu comprar qualquer uma que seja, mostra em todas gangzona que estб dominada, atй em uma extra que eu fiz pra outra funзгo que nгo estб no array nem nada
Re: [Ajuda] Com IsPlayerInArea -
iansinho - 15.10.2011
O bug entгo nгo seria nessa linha?
PHP код:
if(GZ_EXISTE[gzsids[h]][0] == 1)