25.09.2012, 03:16
Bom, simplismente nao estб fazendo nada, nao aparece na textdraw a colocaзгo do player devido a seu Checkpoint e posiзгo atual.
pawn Код:
//Topo
#define ConvertTime(%0,%1,%2,%3,%4) \
new Float: %0 = floatdiv(%1, 60000) ;\
%2 = floatround(%0, floatround_tozero); \
%3 = floatround(floatmul(%0 - %2, 60), floatround_tozero); \
%4 = floatround(floatmul(floatmul(%0 - %2, 60) - %3, 1000), floatround_tozero)
new Colocacao[MAX_PLAYERS];
// public
public OnPlayerEnterRaceCheckpoint(playerid)
{
if(CheckPointSetado > 0)
{
if(QueCP[playerid] == CheckPointSetado)
{
Grid++;
new string[128];
if(Grid == 1)
{
SendClientMessageToAll(VERMELHO_ESCURO, "______________________________________________________________________");
SendClientMessageToAll(VERMELHO_ESCURO, " ");
format(string, sizeof(string), " %s {FFFFFF}venceu o evento em 1є lugar", nome(playerid));
SendClientMessageToAll(VERMELHO_ESCURO, string);
SendClientMessageToAll(VERMELHO_ESCURO, " ");
SendClientMessageToAll(VERMELHO_ESCURO, "______________________________________________________________________");
}
else if(Grid == 2)
{
SendClientMessageToAll(VERMELHO_ESCURO, "______________________________________________________________________");
SendClientMessageToAll(VERMELHO_ESCURO, " ");
format(string, sizeof(string), " %s {FFFFFF}venceu o evento em 2є lugar", nome(playerid));
SendClientMessageToAll(VERMELHO_ESCURO, string);
SendClientMessageToAll(VERMELHO_ESCURO, " ");
SendClientMessageToAll(VERMELHO_ESCURO, "______________________________________________________________________");
}
else if(Grid == 3)
{
SendClientMessageToAll(VERMELHO_ESCURO, "______________________________________________________________________");
SendClientMessageToAll(VERMELHO_ESCURO, " ");
format(string, sizeof(string), " %s {FFFFFF}venceu o evento em 3є lugar", nome(playerid));
SendClientMessageToAll(VERMELHO_ESCURO, string);
SendClientMessageToAll(VERMELHO_ESCURO, " ");
SendClientMessageToAll(VERMELHO_ESCURO, "______________________________________________________________________");
}
else if(Grid == 4)
{
SendClientMessageToAll(VERMELHO_ESCURO, "______________________________________________________________________");
SendClientMessageToAll(VERMELHO_ESCURO, " ");
format(string, sizeof(string), " %s {FFFFFF}venceu o evento em 4є lugar", nome(playerid));
SendClientMessageToAll(VERMELHO_ESCURO, string);
SendClientMessageToAll(VERMELHO_ESCURO, " ");
SendClientMessageToAll(VERMELHO_ESCURO, "______________________________________________________________________");
}
else if(Grid == 5)
{
SendClientMessageToAll(VERMELHO_ESCURO, "______________________________________________________________________");
SendClientMessageToAll(VERMELHO_ESCURO, " ");
format(string, sizeof(string), " %s {FFFFFF}venceu o evento em 5є lugar", nome(playerid));
SendClientMessageToAll(VERMELHO_ESCURO, string);
SendClientMessageToAll(VERMELHO_ESCURO, " ");
SendClientMessageToAll(VERMELHO_ESCURO, "______________________________________________________________________");
}
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
DisablePlayerRaceCheckpoint(playerid);
QueCP[playerid] = 0;
return 1;
}
else if(QueCP[playerid] == CheckPointSetado-1) // Ultimo Checkpoint
{
QueCP[playerid] += 1;
SetPlayerRaceCheckpoint(playerid, 1, CheckpointCoord[0][QueCP[playerid]], CheckpointCoord[1][QueCP[playerid]], CheckpointCoord[2][QueCP[playerid]], 0.0, 0.0, 0.0, TAMANHO_CP);
return 1;
}
// Checkpoints da Corrida
PlayerPlaySound(playerid, 1137, 0.0, 0.0, 0.0);
QueCP[playerid] += 1;
SetPlayerRaceCheckpoint(playerid, cfgRace, CheckpointCoord[0][QueCP[playerid]], CheckpointCoord[1][QueCP[playerid]], CheckpointCoord[2][QueCP[playerid]], CheckpointCoord[0][QueCP[playerid]+1], CheckpointCoord[1][QueCP[playerid]+1], CheckpointCoord[2][QueCP[playerid]+1], TAMANHO_CP);
Colocacao[playerid] = floatround(CheckpointCoord[QueCP[playerid]][3], floatround_floor); // Aqui deveria formatar a posiзгo dele
return 1;
}
return 1;
}
// Public de atualizar as info's
forward AtualizarTextEvento(playerid);
public AtualizarTextEvento(playerid)
{
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
if(TaNoEvento[playerid] == 1)
{
if(Colocacao[playerid] == 1)
{
new string[148];
format(string, sizeof( string ), "~b~1: ~r~%s",aname);
TextDrawHideForPlayer(playerid, Evento1[playerid]);
TextDrawSetString(Evento1[playerid], string);
TextDrawShowForPlayer(playerid, Evento1[playerid]);
}
if(Colocacao[playerid] == 2)
{
new string[148];
format(string, sizeof( string ), "~b~2: ~r~%s", aname);
TextDrawHideForPlayer(playerid, Evento2[playerid]);
TextDrawSetString(Evento2[playerid], string);
TextDrawShowForPlayer(playerid, Evento2[playerid]);
}
if(Colocacao[playerid] == 3)
{
new string[148];
format(string, sizeof( string ), "~b~3: ~r~%s", aname);
TextDrawHideForPlayer(playerid, Evento3[playerid]);
TextDrawSetString(Evento3[playerid], string);
TextDrawShowForPlayer(playerid, Evento3[playerid]);
}
if(Colocacao[playerid] == 4)
{
new string[148];
format(string, sizeof( string ), "~b~4: ~r~%s", aname);
TextDrawHideForPlayer(playerid, Evento4[playerid]);
TextDrawSetString(Evento4[playerid], string);
TextDrawShowForPlayer(playerid, Evento4[playerid]);
}
if(Colocacao[playerid] == 5)
{
new string[148];
format(string, sizeof( string ), "~b~5: ~r~%s", aname);
TextDrawHideForPlayer(playerid, Evento5[playerid]);
TextDrawSetString(Evento5[playerid], string);
TextDrawShowForPlayer(playerid, Evento5[playerid]);
}
if(QueCP[playerid] >= 0)
{
new string[148];
format(string, sizeof( string ), "~r~%d / %d", QueCP[playerid], CheckPointSetado);
TextDrawHideForPlayer(playerid, Evento7[playerid]);
TextDrawSetString(Evento7[playerid], string);
TextDrawShowForPlayer(playerid, Evento6[playerid]);
TextDrawShowForPlayer(playerid, Evento7[playerid]);
}
}
return 1;
}