11.04.2013, 22:55
(
Последний раз редактировалось Gleisson_.; 23.06.2013 в 21:31.
Причина: Update
)
X1 entre 2 Pessoas
Primeiramente, adapte o cуdigo em seu script:
pawn Код:
new
TaNoX1[MAX_PLAYERS],
Px1,
iString[128];
Depois do mesmo, vamos a prуxima etapa.
Vamos criar o comando para sermos teletransportados para o X1.
pawn Код:
CMD:x1(playerid)
{
if(Px1 == 2)
return SendClientMessage(playerid, -1, "[ERRO]: O x1 estб cheio, tente novamente mais tarde!");
if(TaNoX1[playerid] == 1)
return SendClientMessage(playerid, -1, "[ERRO]: Vocк jб estб no x1, para sair digite /sair");
SetPlayerInterior(playerid, 18);
SetPlayerPos(playerid, 1302.519897,-1.787510,1001.028259);
TaNoX1[playerid] = 1;
Px1 += 1;
format(iString, sizeof(iString), "[Duelos x1]: %s [ID: %d] foi duelar no x1. Alguйm vai ? ( /x1 )", nome(playerid), playerid);
SendClientMessageToAll(-1, iString);
SendClientMessage(playerid, -1, "[x1]: Vocк estб no x1, caso queira sair use /sair");
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 24, 9999);
GivePlayerWeapon(playerid, 26, 9999);
GivePlayerWeapon(playerid, 34, 9999);
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 100);
return 1;
}
if(Px1 == 2) ~~ Verificamos se jб tem 2 jogadores no x1.
if(TaNoX1[playerid] == 1) ~~ Verificamos se o jogador estб no x1.
TaNoX1[playerid] = 1; ~~ Declaramos que a variбvel estб true (verdadeiro, sim), deixando assim o jogador no x1.
Px1 += 1; ~~ Declaramos que entrou mais um jogador no x1.
Estamos quase terminando.
Vamos agora para a public OnPlayerDeath. Adicione o seguinte cуdigo na public:
pawn Код:
if(TaNoX1[playerid] == 1)
{
TaNoX1[playerid] = 0;
TaNoX1[killerid] = 0;
Px1 = 0;
SpawnPlayer(killerid);
format(iString, sizeof(iString), "[Duelos x1]: %s ganhou no x1 contra %s", nome(killerid), nome(playerid));
SendClientMessageToAll(-1, iString);
}
if(killerid == INVALID_PLAYER_ID)
{
TaNoX1[playerid] = 0;
Px1 -= 1;
}
if(TaNoX1[playerid] == 1) ~~ Verificamos se o jogador que morreu estava no x1.
TaNoX1[playerid] = 0; ~~ Declaramos que o jogador que morrou nгo estб mais no x1.
TaNoX1[killerid] = 0; ~~ Declaramos que o jogador que matou nгo estб mais no x1.
Px1 = 0; ~~ Declaramos a quantidade de jogadores no x1 0.
SpawnPlayer(killerid); ~~ Spawnamos o jogador que matou para ele nгo ficar sуzinho no x1.
format(iString, sizeof(iString), "[Duelos x1]: %s ganhou no x1 contra %s", nome(killerid), nome(playerid)); ~~ Formatamos a String.
SendClientMessageToAll(-1, iString); ~~ Enviamos a String formatada acima para todos online no servidor.
if(killerid == INVALID_PLAYER_ID) ~~ Verificamos se o jogador que matou nгo existe.
Px1 -= 1; ~~ Declaramos que tem -1 jogador no x1.
Agora a ultima verificaзгo.
Vamos na public OnPlayerDisconnect
pawn Код:
if(TaNoX1[playerid] == 1)
{
Px1 -= 1;
TaNoX1[playerid] = 0;
}
Px1 -= 1; ~~ Declaramos que tem -1 jogador no x1.
TaNoX1[playerid] = 0; ~~ Declaramos que o jogador que saiu do servidor nгo estб mais no x1.
O comando para o Jogador sair do x1:
pawn Код:
CMD:sair(playerid)
{
TaNoX1[playerid] = 0;
Px1 -= 1;
SpawnPlayer(playerid);
format(iString, sizeof(iString), "[Duelos x1]: %s arregou do x1.", nome(playerid));
SendClientMessageToAll(-1, iString);
return 1;
}
pawn Код:
stock nome(playerid)
{
new pname[MAX_PLAYER_NAME] ;
GetPlayerName (playerid,pname, MAX_PLAYER_NAME );
return pname;
}
Crйditos: Gleisson_.
Atualizado 23/06/2013
FIM!