Problema con loop a travйs de objetos
#1

Bueno resulta que estoy trabajando con objetos creados y guardados en un array

pawn Код:
BauxitaObj[0] = CreateObject(905, 498.3402,779.9998,-21.6000, 0, 0, 0, 0);
    BauxitaObj[1] = CreateObject(1303, 486.9699,787.3400,-21.9700, 0, 0, 0, 0);
    BauxitaObj[2] = CreateObject(1304, 659.8332,738.1844,-10.3000, 0, 0, 0, 0);
//...
Y estoy creando un comando para verificar si se estб cerca de ese objeto o no, usй esta funciуn:
pawn Код:
stock IsPlayerNearObject(Float:radi, playerid, objectid)
{
    new Float:Pos[3];
    GetObjectPos(objectid,Pos[0],Pos[1],Pos[2]);
    if(GetPlayerDistanceFromPoint(playerid,Pos[0],Pos[1],Pos[2]) <= radi)
        return 1;
    return 0;
}
Y lo que quiero es un loop que pasй a travйs de mis 13 objetos y detectй si estб cerca o no de alguno de ellos, intentй asн, pero no detecta si es que estб cerca o no o.o

pawn Код:
for(new id=0; id < 13, id++;)
    {
        if(!IsPlayerNearObject(5.0, playerid, BauxitaObj[id])) return SendClientMessage(playerid, -1, "[ERROR] No estбs cerca de un mineral!");
    }
  • Cuando estoy lejos de alguno de esos objetos, no me sale el error
  • Si estoy cerca, tampoco sale nada( Aunque no tengo funciones establecidas obviamente)
Si pueden ayudarme les agradecerнa mucho, gracias.
Reply
#2

Creo que por que estбs haciendo un loop que verifica si el jugador estб cerca de los 13 objetos.

Saludos.
Reply
#3

Hm igualmente deberнa salirme el error entonces, cosa que no aparece.

Gracias.
Reply
#4

Quote:
Originally Posted by CrossOv3r
Посмотреть сообщение
Hm igualmente deberнa salirme el error entonces, cosa que no aparece.

Gracias.
Mm.., no creo, ya que estбs cerca de un objeto y no de otros.

Lo que te recomiendo es que uses
if.
Reply
#5

pawn Код:
stock DistanceBetweenObjectAndPlayer(playerid, Float:dist, variable[], min, max){
new Float:pos[3];
for(new slots=min,idx=max;slots!=idx;slots++){
    GetObjectPos(variable[slots], pos[0], pos[1], pos[2]);
    if(IsPlayerInRangeOfPoint(playerid, dist, pos[0], pos[1], pos[2]))return true;
}return false;}
Reply
#6

Gracias otacon, funciono perfecto!.

Y gracias enzo por tu ayuda.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)