15.07.2011, 14:00
(
Последний раз редактировалось arakuta; 05.07.2013 в 16:06.
)
Introduзгo:
Neste tutorial serб explicado sobre como criar gangs, armas especificias, e como impedir que a mesma gang se mate entre sн.
Planejando sua GG
Bom, toda gang tem cor, nome, e skins, certo? Para este tutorial vou escolher verde, Groove, skins 106 e 107.pawn Код:
#define VERDE_GROOVE 0x00FF00FF // Aqui vamos definir a cor da groove.
Em OnGameModeInit vamos definir as skins (no caso classes) Aprenda sobre AddPlayerClass
pawn Код:
AddPlayerClass(106,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1); // Classid 0
AddPlayerClass(107,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1); // classid 1
Recomendo que coloque o valor da classid em comentбrio (//) para nгo se perder
Agora que jб temos as skins, e a cor, vamos defini-la mais a fundo.
Definindo a COR, o SPAWN, e as ARMAS
Lembra daquele VERDE_GROOVE que definimos no comeзo? Agora vamos passar essa cor para o nick do jogador.Primeiro crie essa variбvel global:
pawn Код:
new pClass[MAX_PLAYERS];
pawn Код:
switch(pClass[playerid])
{
case 0: // Classid 0
{
SetPlayerPos(playerid,2262.0986,2398.6572,10.8203); // Aqui serб o spawn da HQ groove
GivePlayerWeapon(playerid,24,300); // Darб 300 balas de Deagle pra quem usar a classid 0
GivePlayerWeapon(playerid,25,300); // Shotgun
SendClientMessage(playerid,COLOR_WHITE,"Vocк estб jogando como um {00FF00}Groove!");
SetPlayerColor(playerid,VERDE_GROOVE);
}
case 1: // Classid 1
{
SetPlayerPos(playerid,2262.0986,2398.6572,10.8203); // Aqui serб o spawn da HQ groove
GivePlayerWeapon(playerid,24,300); // Darб 300 balas de Deagle pra quem usar a classid 1
GivePlayerWeapon(playerid,25,300); // Shotgun
SendClientMessage(playerid,COLOR_WHITE,"Vocк estб jogando como um {00FF00}Groove!"); // Manda mensagem pro player pra ele ficar ligado que й um groove
SetPlayerColor(playerid,VERDE_GROOVE);
}
}
Case 1: Aqui й a classid, no caso 1.
Agora temos a GG pronta e toda definida
Como faзo pro jogador saber que vai escolher certa gang?
Vamos por um GameText na tela de seleзгo de skin:Em OnPlayerRequestClass
pawn Код:
if(classid == 0)
{
GameTextForPlayer(playerid,"~w~Gang dos ~g~Grooves",5000,3);
}
if(classid == 1) // Lembra que a classid 1 й um groove?
{
GameTextForPlayer(playerid,"~w~Gang dos ~g~Grooves",5000,3);
}
Vamos exibir a GameText pra ele: Gang dos Grooves.
Criando um Anti-Team Kill
Em OnPlayerDeathpawn Код:
if(GetPlayerColor(playerid) == GetPlayerColor(killerid)) // Se o cor do morto for igual a do assassino
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z); // Aqui pegaremos a pos do JOGADOR
// Aplicaremos a puniзгo
SetPlayerPos(killerid, x, y, z+200); // ERGUEREMOS ELE PRA QUE ELE CAIA E MORRA
SetPlayerScore(killerid,GetPlayerScore(killerid) - 1); // tiramos 1 de score
SendClientMessage(killerid, COLOR_RED, "Vocк foi teleportado pois nгo й permitido matar um jogador do mesmo time.");
GivePlayerMoney(killerid,-2000); // tiramos 2k dele
// FIM DA PUNIзВO
}
FIM
Bom, й isso aн galera, qualquer dъvida poste aqui. Qualquer erro, poste aqui.Nгo testei o codigo do Anti-Team kill, mas creio que deva funcionar