Detectar ъltimo jugador vivo.
#7

Quote:
Originally Posted by Ygzeb
Посмотреть сообщение
Bueno, hay una forma simple:

Colocas a todos los jugadores que van a participar en el DM en un mismo mundo virtual (Por ejemplo: 10), luego a cada uno aplicas un Timer de unos 3 segundos, aсades estas funciones:

pawn Код:
forward Float:GetDistanceBetweenPlayers(P1, P2); // Detectar la distancia entre los jugadores.
forward GetClosestPlayer(P1); // Detectar al jugador mбs cercano.
pawn Код:
public GetClosestPlayer(P1)
{
new X, Float:Dis, Float:Dis2, Player;
Player = -1;
Dis = 99999.99;
for(X = 0; X < MAX_PLAYERS; X++)
{
if(IsPlayerConnected(X))
{
if(X != P1)
{
Dis2 = GetDistanceBetweenPlayers(X, P1);
if(Dis2 < Dis && Dis2 != -1.00)
{
Dis = Dis2;
Player = X;
}
}
}
}
return Player;
}
pawn Код:
public Float:GetDistanceBetweenPlayers(P1, P2)
{
new Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2;
if(!IsPlayerConnected(P1) || !IsPlayerConnected(P2))
{
return -1.00;
}
GetPlayerPos(P1, X1, Y1, Z1);
GetPlayerPos(P2, X2, Y2, Z2);
return floatsqroot(floatpower(floatabs(floatsub(X2, X1)), 2) + floatpower(floatabs(floatsub(Y2, Y1)), 2) + floatpower(floatabs(floatsub(Z2, Z1)), 2));
}
Y en el timer pones algo como:

pawn Код:
new Target = GetClosestPlayer(playerid);
if(IsPlayerConnected(Target))
if((GetDistanceBetweenPlayers(playerid, Target) > 2000 && (GetPlayerVirtualWorld(Target) == GetPlayerVirtualWorld(playerid))) // El valor 2000 es la distancia, lo puedes cambiar a otro si quieres.
{
SendClientMessage(playerid, -1, "Ningъn jugador cerca."); // Acб la funciуn para ganar.
}
Suerte amigo
Tengo el problema de que al parecer no detecta nada, mato al otro y no salta el mensaje.

Si me pudieras hacer el timer te lo agradeceria.

PD: El ъltimo es la variable target o se usa playerid?
Reply


Messages In This Thread
Detectar ъltimo jugador vivo. - by xSeveNx - 15.11.2014, 16:05
Respuesta - by Ygzeb - 15.11.2014, 16:36
Respuesta: Respuesta - by jotajeda - 15.11.2014, 16:50
Respuesta: Detectar ъltimo jugador vivo. - by jotajeda - 15.11.2014, 17:11
Re: Detectar ъltimo jugador vivo. - by Mr.GeEk - 15.11.2014, 17:55
Respuesta - by Ygzeb - 15.11.2014, 18:04
Respuesta: Respuesta - by xSeveNx - 15.11.2014, 19:50
Respuesta: Respuesta - by jotajeda - 15.11.2014, 19:54
Respuesta: Respuesta - by xSeveNx - 15.11.2014, 19:58
Respuesta: Respuesta - by jotajeda - 15.11.2014, 20:01

Forum Jump:


Users browsing this thread: 1 Guest(s)