sábado, 25 de julho de 2009

Criando gangues por skin

Olá galerinha, estou postando um tutorial nivel intermediário, mas você pode pegar e complementar ele com novas funções e talz. Vai ser Groove X Policia, com spawn em Los Santos, mais você pode mudar colocar do jeito que você quiser. Você antes de tudo, você deve definir as gangues utilizando:

#define Groove 1 //id dos grooves vai ser 1
#define Policia 2 //id dos policiais vai ser 2

Agora, crie um new com a seguinte função:

new Gang[MAX_PLAYERS];

Assim, o topo do seu Gamemode ficará desse jeito:

#include

#define Groove 1
#define Policia 2

new Gang[MAX_PLAYERS];

Após isso, o topo do seu Gamemode estará pronto. Agora vem a parte que mais demora, adicionar os skins dos Policiais e dos Groove. Vou dar uma adiantada na sua vida e colocar os Groove ja com spawn na Groove Street:

public OnGameModeInit()
{
SetGameModeText("Guerra LS");
//skins dos groove
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425,22, 100, 32, 500, 41, 600); //cj
AddPlayerClass(105,2500.2654,1668.9553,13.3529,83.5894,22,100,32,500,41,600);
AddPlayerClass(106,2500.2654,-1668.9553,13.3529,83.5894,22,100,32,500,41,600);
AddPlayerClass(107,2500.2654,-1668.9553,13.3529,83.5894,22,100,32,500,41,600);
//carros da groove street
CreateVehicle(vehicleid, Coordenada X, Coordenada Y, Coordenada Z, Angle, Cor1, Cor2, Spaw);
//Aqui nessa parte você coloca todos os carros que você acha necessário para a groove.

//skins dos policiais
//Adicione os skins dos policiais e os carros nessa parte do código.

return 1;
}

Ta certo, esse public está finalizado. Agora vem um public para setar a gangue do jogador e descobrir qual gangue ele pertence:

public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);

if(classid == 0) //skin dos groove
{
Gang[playerid] = GROOVE;
GameTextForPlayer(playerid, "Groove", 6000,6);
}
else if(classid == 1) //skin dos policiais
{
Gang[playerid] = POLICIAL; //seta a gang ballas
GameTextForPlayer(playerid,"Policial",6000,6);
}
return 1;
}

Esse public terminou, agora vamos para o de setar a cor do jogador:

public OnPlayerRequestSpawn(playerid)
{

if(Gang[playerid] == GROVE) // se o time for grove a cor será verde
{
SetPlayerColor(playerid, 0x33AA33AA); //seta a cor verde em hexadecimal
}
else if(Gang[playerid] == POLICIAL) //se o time for policial a cor será azul
{
SetPlayerColor(playerid, 0x33CCFFAA); //seta a cor azul em hexadecimal
}
return 1;
}

Pronto! Foi criado o sisteminha, depois em outro tutorial vou ensinar a fazer um anti-team kill. Dá pra você, por base desse tutorial, se aperfeiçoar. Espero que ajudem-nos! Até a proxima.

Lu4N

Nenhum comentário:

Postar um comentário

Radio Global Evolution