Criando Gangs para TDM -
arakuta - 15.07.2011
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.
VERDE_GROOVE: Aqui daremos um nome pra cor 0x00FF00FF que serб usado mais tarde para facilitar.
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
Aqui sгo as
classes, lembrando que a classid no caso, й a linha onde esta a class, se for a primeira class a aparecer, serб numero 0, a segunda numero 1 e assim por diante.
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:
Em
OnPlayerSpawn serб onde definiremos a cor do player, onde nascerб e as armas que receberб.
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 0: Aqui й a classid, no caso 0;
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);
}
Se a classid for 0 (sim, й um groove!)
Vamos exibir a GameText pra ele: Gang dos Grooves.
Criando um Anti-Team Kill
Em
OnPlayerDeath
pawn Код:
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
}
Ta tudo explicado em comentбrio.
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
Re: Criando Gangs para TDM -
RockFire - 15.07.2011
Anti Team Kill pode-se resumir a SetPlayerTeam ^^
AW: Criando Gangs para TDM -
[GDS]Null - 15.07.2011
Belo tuto amigo, continue assim e voce tem futuro!
Falooow!, Abraзsss!!
Re: Criando Gangs para TDM -
steki. - 15.07.2011
Quote:
Originally Posted by feliperch
Anti Team Kill pode-se resumir a SetPlayerTeam ^^
|
ROFL
Re: Criando Gangs para TDM -
arakuta - 18.07.2011
Quote:
Originally Posted by feliperch
Anti Team Kill pode-se resumir a SetPlayerTeam ^^
|
Hmm... Entendi, entгo й sу eu setar SetPlayerTeam(playerid,1) por exemplo, que se outro jogador for setado pro mesmo team eles nгo podem se matar?
Re: Criando Gangs para TDM -
JonathanFeitosa - 18.07.2011
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);
}
Sim. Mais Nгo Seria, Se For Skin 0,1 Aparecerб a Mensagem ?
Olha lб :
https://sampforum.blast.hk/showthread.php?tid=260226
Re: Criando Gangs para TDM -
Shadoww5 - 18.07.2011
Quote:
Originally Posted by arakuta
Hmm... Entendi, entгo й sу eu setar SetPlayerTeam(playerid,1) por exemplo, que se outro jogador for setado pro mesmo team eles nгo podem se matar?
|
Correto.
Re: Criando Gangs para TDM -
arakuta - 18.07.2011
Na verdade eu tirei tudo da wiki, entгo eu tive meio que ralar pra aprender. Se eu tivesse lido seu TUTO jonathan... Por isso que eu falo que tem que atualizar a lista de tutorial.
Re: Criando Gangs para TDM -
Josma_cmd - 18.07.2011
Acho que vocк postou algumas coisas em seu tutorial sem saber o significado delas, por exemplo Switch.
sobre a cor, poderia explicar, 0x = definiзгo da cor, os 6 prуximos caracters sгo o cуdigo da cor e os 2 ultimos a transparкncia da mesma.
Estб bem explicado, poderia identar melhor, bom tutorial continue assim, mas tente explicar sobre coisas que ainda nгo tem tutoriais
Re: Criando Gangs para TDM -
Marcelo_Parkour - 18.07.2011
aki deu esse erro:
D:\Meus documentos\Downloads\server\Gm DM\Gm DM\BLG.pwn(577) : error 002: only a single statement (or expression) can follow each "case"