30/10/2023 07:34
Olá a todos. Novamente estou aqui precisando de ajuda. Desta vez é a seguinte:
Como vocês podem ver, estou com essa ultima dialog com quase 500 colunas kk gostaria de colocar mais algumas coisas, mas quando passa das 500 colunas, o compilador acusa varios erros...
Quanto a organização: Essas verificações estão sendo feitas da maneira correta? Porque no jogo, não mostra as mensagens que deveriam mostrar.
Neste código, se o player não for um funcionário, será retornado a mensagem, mas não é isso que acontece, pois para que as verificações abaixo funcionem de maneira correta, o player precisa estar com a variável Trabalhando em true.
Para que tiver tempo, por favor analise o primeiro bloco de código que enviei. Obrigado desde já a quem se dispuser a me ajudar.
Código:
if(listitem == 0)
{
if(Trabalhando[playerid] == true) // Se estiver com cartão batido
{
Trabalhando[playerid] = false; // Vai acontecer isto.
SendClientMessage(playerid, -1, "{CFCFCF}||{00FF00}K{CFCFCF}|| Você não está mais trabalhando.");
}
else
{
Trabalhando[playerid] = true; // Else = Ou se if(Trabalhando[playerid] == true) na linha 1 for false, o comando abaixo sera executado.
SendClientMessage(playerid, -1, "{CFCFCF}||{00FF00}K{CFCFCF}|| Cartão batido. Agora você está trabalhado.");
}
}
if(listitem == 1) // Entregar o caminhão do trabalho transportador.
{
if(Player[playerid][pEmprego] != 1) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Você não é um funcionário transportador.");
if(Trabalhando[playerid] == false) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Você não bateu ponto (Cartão), portanto não poderá iniciar nenhuma rota, nem solicitar a saída de nenyum veículo.");
if(CaminhaoTransportador[playerid] == 0) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Você ainda não solicitou nenhum veículo.");
DestroyVehicle(CaminhaoTransportador[playerid]);
CaminhaoTransportador[playerid] = 0;
SendClientMessage(playerid, -1, "{CFCFCF}||{00FF00}K{CFCFCF}|| O veículo foi recolhido.");
DisablePlayerCheckpoint(playerid);
}
if(listitem == 2) // Solicitar caminhão do trabalho transportador.
{
if(Player[playerid][pEmprego] != 1) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Você não é um funcionário transportador.");
if(Trabalhando[playerid] == false) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Você não bateu ponto (Cartão), portanto não poderá iniciar nenhuma rota, nem solicitar a saída de nenyum veículo.");
if(CaminhaoTransportador[playerid] != 0) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Você já solicitou um veículo. Entregue-o antes de solicitar outro.");
CaminhaoTransportador[playerid] = CreateVehicle(609, 2160.8147, -2281.0254, 13.4511, 224.9436, 0, 0, -1);
SetPlayerCheckpoint(playerid, 2160.8147, -2281.0254, 13.4511, 3.0);
SendClientMessage(playerid, -1, "{CFCFCF}||{00FF00}K{CFCFCF}|| O veículo solicitado foi estacionado.");
}
if(listitem == 3)
{
ShowPlayerDialog(playerid, Dialog_RotasT, DIALOG_STYLE_LIST, "Escolha sua rota de trabalho",
"{00FF00}Medicamentos: {CFCFCF}Hospital central de LS > Hospital central de SF | {00FF00}R$1.250 \n{00FF00}Medicamentos: {CFCFCF}Hospital central de SF > Hospital central de LV | {00FF00}R$1.250 \n{00FF00}Medicamentos: {CFCFCF}Hospital central de LV > Hospital central de LS | {00FF00}R$1.250 \n{00FF00}Medicamentos: {CFCFCF}Hospital central de LS > Hospital central de LV | {00FF00}R$1.250 \n{00FF00}Medicamentos: {CFCFCF}Hospital central de LV > Hospital central de SF | {00FF00}R$1.250",
"Selecionar", "Cancelar");
}
}
Como vocês podem ver, estou com essa ultima dialog com quase 500 colunas kk gostaria de colocar mais algumas coisas, mas quando passa das 500 colunas, o compilador acusa varios erros...
Quanto a organização: Essas verificações estão sendo feitas da maneira correta? Porque no jogo, não mostra as mensagens que deveriam mostrar.
Código:
if(listitem == 1) // Entregar o caminhão do trabalho transportador.
{
if(Player[playerid][pEmprego] != 1) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Você não é um funcionário transportador.");
if(Trabalhando[playerid] == false) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Você não bateu ponto (Cartão), portanto não poderá iniciar nenhuma rota, nem solicitar a saída de nenyum veículo.");
if(CaminhaoTransportador[playerid] == 0) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Você ainda não solicitou nenhum veículo.");
DestroyVehicle(CaminhaoTransportador[playerid]);
CaminhaoTransportador[playerid] = 0;
SendClientMessage(playerid, -1, "{CFCFCF}||{00FF00}K{CFCFCF}|| O veículo foi recolhido.");
DisablePlayerCheckpoint(playerid);
}
Neste código, se o player não for um funcionário, será retornado a mensagem, mas não é isso que acontece, pois para que as verificações abaixo funcionem de maneira correta, o player precisa estar com a variável Trabalhando em true.
Para que tiver tempo, por favor analise o primeiro bloco de código que enviei. Obrigado desde já a quem se dispuser a me ajudar.