SA-MP Forums Archive
[Ayuda] GetPlayerObjectPos... - 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: [Ayuda] GetPlayerObjectPos... (/showthread.php?tid=401593)



[Ayuda] GetPlayerObjectPos... - OTACON - 23.12.2012

Buenas a Todos, Tengo problemas con cree un code para chekear la posicion del objeto y si esta cerca el player de da vida cero, pero algo esta mal ke me mata todo el tiempo. :S

si me pueden ayudar se lo agradezco .

Код:
forward Point();
public Point()
{
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
         for(new obj=0; obj<5; obj++)
         {
              new Float:pos[3];
              GetPlayerObjectPos(i, obj, pos[0], pos[1], pos[2]);
			  if(IsPlayerInRangeOfPoint(i,1.0,pos[0], pos[1], pos[2]))
			  {
                   SetPlayerHealth(i, 0);
			  }
         }
    }
	return 1;
}
Desde ya muchas Gracias.


Respuesta: [Ayuda] GetPlayerObjectPos... - Enrique_Henriquez - 23.12.2012

el return 1; estб mal ubicado. deberнa ir debajo del corchete no?


Respuesta: [Ayuda] GetPlayerObjectPos... - adri1 - 23.12.2012

Es porque creas un loop, cual es el valor de obj<5? claro que luego tendrбs que poner dentro del loop algo como if(objectocreado == 1)


No serнa mбs fбcil asн:
pawn Код:
new Float:pos[3];
              GetPlayerObjectPos(objectid, obj, pos[0], pos[1], pos[2]);
              if(IsPlayerInRangeOfPoint(playerid,1.0,pos[0], pos[1], pos[2]))
              {
                   SetPlayerHealth(playerid, 0);
              }
EDIT: de todas formas prueba asн:
pawn Код:
forward Point();
public Point()
{
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i))
    {
         for(new obj=0; obj<5; obj++)
         {
              new Float:pos[3];
              GetPlayerObjectPos(i, obj, pos[0], pos[1], pos[2]);
              if(IsPlayerInRangeOfPoint(i,1.0,pos[0], pos[1], pos[2]))
              {
                   SetPlayerHealth(i, 0);
break;
              }
         }
    }
    return 1;
}



Respuesta: [Ayuda] GetPlayerObjectPos... - TheChaoz - 24.12.2012

Creo que el problema esta en el ID del objeto que estas seleccionando.
Deberia ser algo asi:
pawn Код:
new PlayerObjects[MAX_PLAYERS][5];

public AlgunCallback(..., playerid, ...)
{
    PlayerObjects[playerid][0] = CreatePlayerObject(...);
    PlayerObjects[playerid][1] = CreatePlayerObject(...);
    PlayerObjects[playerid][2] = CreatePlayerObject(...);
    PlayerObjects[playerid][3] = CreatePlayerObject(...);
    PlayerObjects[playerid][4] = CreatePlayerObject(...);
    return 1;
}


forward Point();
public Point()
{
    for(new i; i<MAX_PLAYERS; i++)
        if(IsPlayerConnected(i))
            for(new obj; obj<5; obj++)
            {
                new Float:pos[3];
                GetPlayerObjectPos(PlayerObjects[i][obj], obj, pos[0], pos[1], pos[2]);
                if(IsPlayerInRangeOfPoint(i, 1.0, pos[0], pos[1], pos[2]))
                    SetPlayerHealth(i, 0);
            }
    return 1;
}