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