Irei colocar tudo explicado, e com duas maneiras de fazer o comando que vocк pediu para abrir os portхes.
1° Maneira - O comando poderб ser usado em qualquer lugar e em qualquer distвncia.
2° Maneira - O comando sу poderб ser usado se o player estiver a menos de 20 metros do portгo.
PHP код:
#include <a_samp>
/*-- Vбriaveis Globais --*/
new
Portao1, Portao2, P1Status, P2Status;
public OnGameModeInit()
{
Portao1 = CreateObject(980,2423.8999000,-2083.6999500,15.3000000,0.0000000,0.0000000,90.0000000); /*-- Portгo 1 --*/
Portao2 = CreateObject(980,2423.8999000,-2095.1999500,15.3000000,0.0000000,0.0000000,270.0000000); /*-- Portгo 2 --*/
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
/*-- Comandos [ MANEIRA NЪMERO 1 ]--*/
if(strcmp(cmdtext, "/abrirp1", true) == 0)
{
if(P1Status == 0) /*-- Irб verificar na vбriavel, Se o portгo estб fechado, se ele estiver ele irб abrir --*/
{
P1Status = 1; /*-- Irб armazenar nestб vбriavel o valor de 1 significando que o portгo estб aberto --*/
MoveObject(Portao1,2423.8999000,-2073.6999500,15.3000000,0.97); /*-- Irб mover o portгo para a posiзгo indicada --*/
PlayerPlaySound(playerid, 1153,0,0,0); /*-- Irб fazer um som de portгo se abrindo ou fechando --*/
SendClientMessage(playerid, -1, "[ > ] {00FF7F}O Portгo 1 estб se abrindo..."); /*-- Irб aparecer estб mensagem no chat --*/
return 1;
}
else /*-- Se o portгo estiver aberto irб aparecer a mensagem abaixo --*/
{
SendClientMessage(playerid, -1, "[ x ] {FF000}O Portгo 1 jб estб aberto.");
}
return 1;
}
if(strcmp(cmdtext, "/abrirp2", true) == 0)
{
if(P2Status == 0) /*-- Irб verificar na vбriavel, Se o portгo estб fechado, se ele estiver ele irб abrir --*/
{
P2Status = 1; /*-- Irб armazenar nestб vбriavel o valor de 1 significando que o portгo estб aberto --*/
MoveObject(Portao2,2423.8999000,-2105.1999500,15.3000000,0.97); /*-- Irб mover o portгo para a posiзгo indicada --*/
PlayerPlaySound(playerid, 1153,0,0,0); /*-- Irб fazer um som de portгo se abrindo ou fechando --*/
SendClientMessage(playerid, -1, "[ > ] {00FF7F}O Portгo 2 estб se abrindo..."); /*-- Irб aparecer estб mensagem no chat --*/
return 1;
}
else /*-- Se o portгo estiver aberto irб aparecer a mensagem abaixo --*/
{
SendClientMessage(playerid, -1, "[ x ] {FF000}O Portгo 2 jб estб aberto."); /*-- Irб aparecer estб mensagem no chat --*/
}
return 1;
}
if(strcmp(cmdtext, "/fecharp1", true) == 0)
{
if(P1Status == 1) /*-- Irб verificar na vбriavel, Se o portгo estб aberto, se ele estiver ele irб fechar --*/
{
P1Status = 0; /*-- Irб armazenar nestб vбriavel o valor de 0 significando que o portгo estб fechado --*/
MoveObject(Portao1,2423.8999000,-2083.6999500,15.3000000,0.97); /*-- Irб mover o portгo para a posiзгo indicada --*/
PlayerPlaySound(playerid, 1153,0,0,0); /*-- Irб fazer um som de portгo se abrindo ou fechando --*/
SendClientMessage(playerid, -1, "[ > ] {00FF7F}O Portгo 1 estб se fechando..."); /*-- Irб aparecer estб mensagem no chat --*/
return 1;
}
else /*-- Se o portгo estiver fechado irб aparecer a mensagem abaixo --*/
{
SendClientMessage(playerid, -1, "[ x ] {FF000}O Portгo 1 jб estб fechado."); /*-- Irб aparecer estб mensagem no chat --*/
}
return 1;
}
if(strcmp(cmdtext, "/fecharp2", true) == 0)
{
if(P2Status == 1) /*-- Irб verificar na vбriavel, Se o portгo estб aberto, se ele estiver ele irб fechar --*/
{
P2Status = 0; /*-- Irб armazenar nestб vбriavel o valor de 0 significando que o portгo estб fechado --*/
MoveObject(Portao2,2423.8999000,-2095.1999500,15.3000000,0.97); /*-- Irб mover o portгo para a posiзгo indicada --*/
PlayerPlaySound(playerid, 1153,0,0,0); /*-- Irб fazer um som de portгo se abrindo ou fechando --*/
SendClientMessage(playerid, -1, "[ > ] {00FF7F}O Portгo 2 estб se fechando..."); /*-- Irб aparecer estб mensagem no chat --*/
return 1;
}
else /*-- Se o portгo estiver fechado irб aparecer a mensagem abaixo --*/
{
SendClientMessage(playerid, -1, "[ x ] {FF000}O Portгo 2 jб estб fechado."); /*-- Irб aparecer estб mensagem no chat --*/
}
return 1;
}
/*-- Comandos [ MANEIRA NЪMERO 2 ]--*/
if( strcmp( cmdtext, "/abrirp1", true ) == 0 )
{
if( IsPlayerInRangeOfPoint( playerid, 20.0, 2423.8999000,-2083.6999500,15.3000000 ) ) /*-- O player sу poderб Abrir o portгo 1 se estiver a menos de 20 metros do portгo --*/
{
if(P1Status == 0) /*-- Irб verificar na vбriavel, Se o portгo estб fechado, se ele estiver ele irб abrir --*/
{
P1Status = 1; /*-- Irб armazenar nestб vбriavel o valor de 1 significando que o portгo estб aberto --*/
MoveObject(Portao1,2423.8999000,-2073.6999500,15.3000000,0.97); /*-- Irб mover o portгo para a posiзгo indicada --*/
PlayerPlaySound(playerid, 1153,0,0,0); /*-- Irб fazer um som de portгo se abrindo ou fechando --*/
SendClientMessage(playerid, -1, "[ > ] {00FF7F}O Portгo 1 estб se abrindo..."); /*-- Irб aparecer estб mensagem no chat --*/
return 1;
}
else /*-- Se o portгo estiver aberto irб aparecer a mensagem abaixo --*/
{
SendClientMessage(playerid, -1, "[ x ] {FF000}O Portгo 1 jб estб aberto.");
}
return 1;
}
else /*-- Se ele estiver a mais de 20 metros do portгo irб aparecer estб mensagem no chat --*/
{
SendClientMessage(playerid, -1, "[ x ] {FF000}Й preciso estar pelo menos a 20 metros do portгo 1 para poder abri-lo.");
}
return 1;
}
if( strcmp( cmdtext, "/abrirp2", true ) == 0 )
{
if( IsPlayerInRangeOfPoint( playerid, 20.0, 2423.8999000, -2095.1999500, 15.3000000 ) ) /*-- O player sу poderб abrir o portгo 2 se estiver a menos de 20 metros do portгo --*/
{
if( P2Status == 0 ) /*-- Irб verificar na vбriavel, Se o portгo estб fechado, se ele estiver ele irб abrir --*/
{
P2Status = 1; /*-- Irб armazenar nestб vбriavel o valor de 1 significando que o portгo estб aberto --*/
MoveObject( Portao2, 2423.8999000, -2105.1999500, 15.3000000,0.97 ); /*-- Irб mover o portгo para a posiзгo indicada --*/
PlayerPlaySound( playerid, 1153, 0, 0, 0 ); /*-- Irб fazer um som de portгo se abrindo ou fechando --*/
SendClientMessage( playerid, -1, "[ > ] {00FF7F}O Portгo 2 estб se abrindo..." ); /*-- Irб aparecer estб mensagem no chat --*/
return 1;
}
else /*-- Se o portгo estiver aberto irб aparecer a mensagem abaixo --*/
{
SendClientMessage( playerid, -1, "[ x ] {FF000}O Portгo 2 jб estб aberto." ); /*-- Irб aparecer estб mensagem no chat --*/
}
return 1;
}
else /*-- Se ele estiver a mais de 20 metros do portгo irб aparecer estб mensagem no chat --*/
{
SendClientMessage(playerid, -1, "[ x ] {FF000}Й preciso estar pelo menos a 20 metros do portгo 2 para poder abri-lo.");
}
return 1;
}
if(strcmp(cmdtext, "/fecharp1", true) == 0)
{
if( IsPlayerInRangeOfPoint( playerid, 20.0, 2423.8999000,-2083.6999500,15.3000000 ) ) /*-- O player sу poderб fechar o portгo 1 se estiver a menos de 20 metros do portгo --*/
{
if(P1Status == 1) /*-- Irб verificar na vбriavel, Se o portгo estб aberto, se ele estiver ele irб fechar --*/
{
P1Status = 0; /*-- Irб armazenar nestб vбriavel o valor de 0 significando que o portгo estб fechado --*/
MoveObject(Portao1,2423.8999000,-2083.6999500,15.3000000,0.97); /*-- Irб mover o portгo para a posiзгo indicada --*/
PlayerPlaySound(playerid, 1153,0,0,0); /*-- Irб fazer um som de portгo se abrindo ou fechando --*/
SendClientMessage(playerid, -1, "[ > ] {00FF7F}O Portгo 1 estб se fechando..."); /*-- Irб aparecer estб mensagem no chat --*/
return 1;
}
else /*-- Se o portгo estiver fechado irб aparecer a mensagem abaixo --*/
{
SendClientMessage(playerid, -1, "[ x ] {FF000}O Portгo 1 jб estб fechado."); /*-- Irб aparecer estб mensagem no chat --*/
}
return 1;
}
else /*-- Se ele estiver a mais de 20 metros do portгo irб aparecer estб mensagem no chat --*/
{
SendClientMessage(playerid, -1, "[ x ] {FF000}Й preciso estar pelo menos a 20 metros do portгo 1 para poder fecha-lo.");
}
return 1;
}
if(strcmp(cmdtext, "/fecharp2", true) == 0)
{
if( IsPlayerInRangeOfPoint( playerid, 20.0, 2423.8999000,-2095.1999500,15.3000000 ) ) /*-- O player sу poderб fechar o portгo 2 se estiver a menos de 20 metros do portгo --*/
{
if(P2Status == 1) /*-- Irб verificar na vбriavel, Se o portгo estб aberto, se ele estiver ele irб fechar --*/
{
P2Status = 0; /*-- Irб armazenar nestб vбriavel o valor de 0 significando que o portгo estб fechado --*/
MoveObject(Portao2,2423.8999000,-2095.1999500,15.3000000,0.97); /*-- Irб mover o portгo para a posiзгo indicada --*/
PlayerPlaySound(playerid, 1153,0,0,0); /*-- Irб fazer um som de portгo se abrindo ou fechando --*/
SendClientMessage(playerid, -1, "[ > ] {00FF7F}O Portгo 2 estб se fechando..."); /*-- Irб aparecer estб mensagem no chat --*/
return 1;
}
else /*-- Se o portгo estiver fechado irб aparecer a mensagem abaixo --*/
{
SendClientMessage(playerid, -1, "[ x ] {FF000}O Portгo 2 jб estб fechado."); /*-- Irб aparecer estб mensagem no chat --*/
}
}
else /*-- Se ele estiver a mais de 20 metros do portгo irб aparecer estб mensagem no chat --*/
{
SendClientMessage(playerid, -1, "[ x ] {FF000}Й preciso estar pelo menos a 20 metros do portгo 2 para poder fecha-lo.");
}
return 1;
}
return 0;
}