12.08.2010, 03:30
(
Последний раз редактировалось ipsBruno; 12.08.2010 в 15:23.
)
[TUT] Criando Race-ChecksPoints
Primeiramente Criamos uma 2 Arrays onde uma armazenarб todas coordenadas e a outra armazenara o nъmero do check do Player.Topo GameMode:
pawn Код:
new ValorCheck[MAX_PLAYERS];
new Float:Check[3][3] =
{
{1812.910522, -2072.539551, 14.226851},//Vнrgula atй o Penъltimo indicando mais Coordenadas
{1679.7358,-2279.6406,13.5262}//Ъltima Coordenada sem Virgula
};
[3][3]
3 = Numero de Valores na Coordenadas (Separados por '.')
3 = Nъmeros de Coordenadas Totais (Adicionando uma a Mais Se for 2 Fica 3)
new Float: = Colocamos Float: pois dentro da Array Abrigamos nъmeros
new ValorCheck[MAX_PLAYERS] Criamos essa Array para armazenar o Check Point do Player que futuramente usaremos juntamente com 'Case', a constante MAX_PLAYERS que representa o valor 500 й para podermos usar com todos players,sendo ValorCheck[id_do_player]
Logo ao Final do Game Mode usaremos a public abaixo,claro que se ela ja estiver definida em seu Game Mode por favor exclua ou coloque a respectiva funзгo abrigada nesta abaixo:
pawn Код:
public OnPlayerEnterRaceCheckpoint(playerid)
{
ValorCheck[playerid]++;
switch(ValorCheck[playerid])
{
case 1:
{
DisablePlayerRaceCheckpoint(playerid);//Desabilita Check
SetPlayerRaceCheckpoint(playerid,1,Check[1][0], Check[1][1], Check[1][2], Checkpoints[2][0], Check[2][1], Check[2][2], 10);//Mostra Check
return 1;
}
case 2:
{
DisablePlayerRaceCheckpoint(playerid);
SendClientMessage(playerid,0xDEEE20FF, "Vocк Venceu a Corrida");
ValorCheck[playerid] = 0;//Reseta Variбvel para nova corrida
return 1;
}
}
return 1;
}
++ = Colocamos Esse '++' para indicar que cada vez que o player passar ao Check Point de Race ele seja aumenta assim respectivamente mostrando o prуximo Check Point usando Case (Lуgica)
switch = Indica que faremos uma Seзгo de 'Cases',Isto й, podemos substituir por 'if(ValorCheck[playerid] == Caso)'
Quote:
Check[1][0] = Coordenada 1,Valor Numero 1 Check[1][1] = Coordenada 1,Valor Numero 2 Check[1][2] = Coordenada 1,Valor Numero 3 Check[2][0] = Coordenada 2,Valor Numero 1 Check[2][1] = Coordenada 2,Valor Numero 2 Check[2][2] = Coordenada 2,Valor Numero 3 |
SetPlayerRaceCheckpoint
Й Algo simples de Se entender os argumentos dela sгo muitos simples Observe:
(playerid, TIPO, primeirocheckX, primeirocheckY,primeirocheckZ, proximocheckX, proximocheckY,proximocheckZ,tamanho)
Tutorial Criador por DraKoN
Obrigado.