[Ayuda] GetPlayerObjectPos...
#1

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.
Reply
#2

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

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;
}
Reply
#4

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


Forum Jump:


Users browsing this thread: 1 Guest(s)