X1 entre 2 pessoas
Primeiramente, adapte o cуdigo em seu script:
- Código:
novo
TaNoX1 [ MAX_PLAYERS ] ,
Px1,
iString [ 128 ] ;
* Para quem não sabe, isso são as variáveis que devemos criar, pois se fomos compilar o script sem elas, o compilador nos mandará uma mensagem com erro.
Depois do mesmo, vamos a próxima etapa.
Vamos criar o comando para sermos teletransportados para o X1.
peão Код:Depois do mesmo, vamos a próxima etapa.
Vamos criar o comando para sermos teletransportados para o X1.
- Código:
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 ( ID do jogador,18 ) ;
SetPlayerPos ( playerid, 1302.519897 , - 1.787510 , 1001.028259 ) ;
TaNoX1 [ id do jogador ] = 1 ;
Px1 += 1 ;
format ( iString, sizeof ( iString ) , "[Duelos x1]: %s [ID: %d] foi duelar no x1. Algo 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 ( ID do jogador,100 ) ;
SetPlayerArmour ( playerid, 100 ) ;
retornar 1 ;
}
Explicação:
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á verdadeira (verdadeiro, sim), deixando assim o jogador no x1.
Px1 += 1; ~~ Declaramos que entrou mais um jogador no x1.
Estamos quase terminando.
Vamos agora para um OnPlayerDeath público . Adicione o seguinte código na pública:
peão Код: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á verdadeira (verdadeiro, sim), deixando assim o jogador no x1.
Px1 += 1; ~~ Declaramos que entrou mais um jogador no x1.
Estamos quase terminando.
Vamos agora para um OnPlayerDeath público . Adicione o seguinte código na pública:
- Código:
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 (ID do jogador ) ) ;
SendClientMessageToAll ( -1 , iString ) ; } if ( killerid == INVALID_PLAYER_ID ) { TaNoX1 [ playerid ] = 0 ; Px1 -= 1 ; }
Explicação:
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 uma 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 ao público OnPlayerDisconnect
peão Код: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 uma 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 ao público OnPlayerDisconnect
- Código:
if ( TaNoX1 [ playerid ] == 1 )
{
Px1 -= 1 ;
TaNoX1 [ ID do jogador ] = 0 ;
}
if(TaNoX1[playerid] == 1) ~~ Verificamos se o jogador que saiu do servidor estava no x1.
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:
peão Код: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:
- Código:
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 ) ; retornar 1 ; }
Por final, adapte o cуdigo ao seu script:
peão Код:- Código:
nome de estoque ( playerid )
{
novo pname [ MAX_PLAYER_NAME ] ;
GetPlayerName ( playerid,pname, MAX_PLAYER_NAME ) ; pname
de retorno ;
}
Créditos: Gleisson_.
Atualizado em 23/06/2013
FIM!