new Float:MaratonCP[10][3] = {
{-690.4501, -834.8427, 101.8755},
{-645.7204, -765.9174, 70.9295},
{-607.4532, -717.4679, 55.8301},
{-554.5042, -716.1923, 27.5240},
{-320.0933, -712.6195, 53.3668},
{-296.5722, -708.7374, -0.3947},
{-252.0401, -682.5684, -0.3947},
{-115.9776, -886.7798, -0.3947},
{4.6160, -912.5621, -0.3947},
{99.5679, -911.5334, 0.1937}
};
//Esto en EnterCheckPointRace
MCPProgress[playerid]++; // <- esto esta seteado a 0 en onplayerconnect y disconnect
if(MCPProgress[playerid] == 9) SetPlayerRaceCheckpoint(playerid, 1, MaratonCP[MCPProgress[playerid]][0], MaratonCP[MCPProgress[playerid]][1], MaratonCP[MCPProgress[playerid]][2], MaratonCP[MCPProgress[playerid]+1][0], MaratonCP[MCPProgress[playerid]+1][1], MaratonCP[MCPProgress[playerid]+1][2], CHECKCP_SIZE);
else SetPlayerRaceCheckpoint(playerid, 0, MaratonCP[MCPProgress[playerid]][0], MaratonCP[MCPProgress[playerid]][1], MaratonCP[MCPProgress[playerid]][2], MaratonCP[MCPProgress[playerid]+1][0], MaratonCP[MCPProgress[playerid]+1][1], MaratonCP[MCPProgress[playerid]+1][2], CHECKCP_SIZE);
// esto en la funcion que inicia los checkpoint y destraba el player
SetPlayerRaceCheckpoint(playerid, 0, MaratonCP[MCPProgress[playerid]][0], MaratonCP[MCPProgress[playerid]][1], MaratonCP[MCPProgress[playerid]][2], MaratonCP[MCPProgress[playerid]+1][0], MaratonCP[MCPProgress[playerid]+1][1], MaratonCP[MCPProgress[playerid]+1][2], CHECKCP_SIZE);
new Float:MaratonCP[11][3] = {
{-690.4501, -834.8427, 101.8755},
{-645.7204, -765.9174, 70.9295},
{-607.4532, -717.4679, 55.8301},
{-554.5042, -716.1923, 27.5240},
{-320.0933, -712.6195, 53.3668},
{-296.5722, -708.7374, -0.3947},
{-252.0401, -682.5684, -0.3947},
{-115.9776, -886.7798, -0.3947},
{4.6160, -912.5621, -0.3947},
{99.5679, -911.5334, 0.1937}
};
#include <a_samp>
#define CHECKCP_SIZE 12.5
new bool:ParticipoMaraton[MAX_PLAYERS];
new ProgresoMaraton[MAX_PLAYERS];
static const Float:MaratonCP[10][3] =
{
{-690.4501, -834.8427, 101.8755},
{-645.7204, -765.9174, 70.9295},
{-607.4532, -717.4679, 55.8301},
{-554.5042, -716.1923, 27.5240},
{-320.0933, -712.6195, 53.3668},
{-296.5722, -708.7374, -0.3947},
{-252.0401, -682.5684, -0.3947},
{-115.9776, -886.7798, -0.3947},
{4.6160, -912.5621, -0.3947},
{99.5679, -911.5334, 0.1937}
};
public OnPlayerEnterRaceCheckpoint(playerid)
{
// Comprobamos sн participa en el maraton.
if (ParticipoMaraton[playerid])
{
// Sн participa sumamos progreso(+1).
ProgresoMaraton[playerid] = ProgresoMaraton[playerid] +1;
// Esto es para ahorrar espacio.
new slot = ProgresoMaraton[playerid];
// Sн el checkpoint no es el ante-ъltimo; aсadimos un puesto de control normal(1).
if (ProgresoMaraton[playerid] <= 7)
SetPlayerRaceCheckpoint(playerid, 0, MaratonCP[(slot)][0], MaratonCP[(slot)][1], MaratonCP[(slot)][2], MaratonCP[(slot)+1][0], MaratonCP[(slot)+1][1], MaratonCP[(slot)+1][2], CHECKCP_SIZE);
// Contrarнo a eso sн el checkpoint al que ingreso fue el ante-ъltimo; aсadimos un puesto de control tipo meta(0).
else if (ProgresoMaraton[playerid] == 8)
SetPlayerRaceCheckpoint(playerid, 1, MaratonCP[(slot)][0], MaratonCP[(slot)][1], MaratonCP[(slot)][2], 00.00, 00.00, 00.00, CHECKCP_SIZE);
// Sн el puesto de control al que ingreso fue el ъltimo, sucederб esto.
else if (ProgresoMaraton[playerid] == sizeof(MaratonCP)-1)
{
// Termino el maraton.
}
}
return true;
}
PHP код:
|
Por lo menos deci Gracias y aprende a agradecer a las personas que te intentaron ayudar.
estoy mas que seguro que usaste ese codigo que te dieron y decis que lo hiciste vos bobo |