SA-MP Forums Archive
Problema con loop a travйs de objetos - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Problema con loop a travйs de objetos (/showthread.php?tid=483282)



Problema con loop a travйs de objetos - CrossOv3r - 25.12.2013

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!");
    }
Si pueden ayudarme les agradecerнa mucho, gracias.


Respuesta: Problema con loop a travйs de objetos - Swedky - 25.12.2013

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

Saludos.



Respuesta: Problema con loop a travйs de objetos - CrossOv3r - 25.12.2013

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

Gracias.


Respuesta: Problema con loop a travйs de objetos - Swedky - 25.12.2013

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.


Respuesta: Problema con loop a travйs de objetos - OTACON - 25.12.2013

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;}



Respuesta: Problema con loop a travйs de objetos - CrossOv3r - 25.12.2013

Gracias otacon, funciono perfecto!.

Y gracias enzo por tu ayuda.