ajuda no meu codigo - LOS_SANTOS - 04/09/2023
ola pessoal criei um emprego de lixeiro mas meu intuito e quando o player usar o comando /lixeiro ele so poderar usar novamente se ele finalizar a missao caso contrario gostaria de que quando ele usar o comando ele so puder usar se terminar a missao
esse e o codigo que precisa ser corrigido por alguem q tenha mais conhecimento , obs estou aprendendo entao nao me julgue por isso nao estou compreendendo com fica a logica do codigo da maneira que eu quero
Código PHP: new g_PlayerMission[MAX_PLAYERS];
CMD:lixeiro(playerid) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408)//se estiver no caminhao id { lixeiro1[playerid] = 1; SetPlayerCheckpoint(playerid,2171.8494,-1979.3674,13.5547, 2.0); SendClientMessage(playerid,verde, "{FFFF00}[Trabalho]:{FFFFFF}Agora você e um Lixeiro."); } else { SendClientMessage(playerid,vermelho, "{FFFF00}[trabalho]:{FFFFFF}voce nao esta em um caminhao de lixo id 408 "); } if(g_PlayerMission[playerid]==1) { } else { SendClientMessage(playerid,vermelho, "{FFFF00}[trabalho]:{FFFFFF} conclua a missao primeiro antes de pegar outras missoes"); }
return 1; }
new lixeiro1[MAX_PLAYERS]; new lixeiro2[MAX_PLAYERS]; new lixeiro3[MAX_PLAYERS]; new lixeiro4[MAX_PLAYERS]; new lixeiro5[MAX_PLAYERS]; new lixeiro6[MAX_PLAYERS]; new lixeiro7[MAX_PLAYERS]; new lixeiro8[MAX_PLAYERS]; new lixeiro9[MAX_PLAYERS]; new lixeiro10[MAX_PLAYERS]; new lixeiro11[MAX_PLAYERS];
public OnPlayerEnterCheckpoint(playerid) { //------------------------------------------------------------------------------ if(lixeiro1[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408)//se estiver no caminhao { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....1/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro1[playerid] = 0; lixeiro2[playerid] = 1; SetPlayerCheckpoint(playerid,1828.5288,-1926.8643,13.3837, 4.0); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo. "); } return 1; } //------------------------------------------------------------------------------ if(lixeiro2[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408)//se estiver no caminhao { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....2/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro2[playerid] = 0; lixeiro3[playerid] = 1; SetPlayerCheckpoint(playerid,1856.5773,-1268.8737,13.3906, 4.0); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo. "); } return 1; } //------------------------------------------------------------------------------ if(lixeiro3[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....3/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro3[playerid] = 0; lixeiro4[playerid] = 1; SetPlayerCheckpoint(playerid,1973.9496,-1054.9626,24.3984, 5.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 6 pontos de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro4[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....4/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro4[playerid] = 0; lixeiro5[playerid] = 1; SetPlayerCheckpoint(playerid,2363.1702,-1159.0892,27.4513, 4.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 5 pontos de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro5[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....5/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro5[playerid] = 0; lixeiro6[playerid] = 1; SetPlayerCheckpoint(playerid,2714.9253,-1188.3448,69.2288, 4.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 4 pontos de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro6[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....6/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro6[playerid] = 0; lixeiro7[playerid] = 1; SetPlayerCheckpoint(playerid,2718.3643,-1520.4124,30.0480, 4.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 3 ponto de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro7[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....7/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro7[playerid] = 0; lixeiro8[playerid] = 1; SetPlayerCheckpoint(playerid,2338.2581,-1576.3217,23.8032, 4.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 2 pontso de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro8[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....8/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro8[playerid] = 0; lixeiro9[playerid] = 1; SetPlayerCheckpoint(playerid,2220.6677,-1761.7015,13.3650, 4.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 1 ponto de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro9[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....9/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro9[playerid] = 0; lixeiro10[playerid] = 1; SetPlayerCheckpoint(playerid,2213.1135,-2053.4668,14.0966, 5.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Leve os lixo até o deposito."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro10[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....10/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro10[playerid] = 0; lixeiro11[playerid] = 1; SetPlayerCheckpoint(playerid,2199.1770,-1970.4202,13.7841, 2.0); SendClientMessage(playerid,-1, "{00FF00}Agora vá receber o Dinheiro."); } else { SendClientMessage(playerid, -1, "{FFFF00}[Trabalho]:{FFFFFF}Aqui não é o escritório."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro11[playerid] == 1) { DisablePlayerCheckpoint(playerid); lixeiro11[playerid] = 0; SendClientMessage(playerid,-1, "Você conseguiu {FFFFFF}200$ pelo trabalho."); GameTextForPlayer(playerid,"~h~~g~+200$",5000,5); GivePlayerMoney(playerid, 200); g_PlayerMission[playerid]=1; } return 1; }
RE: ajuda no meu codigo - zBreno - 04/09/2023
se você quer bloquear comando bote no começo do comando
if(trabalhando[playerid] == true) return SendClientMessage(playerid,-1, "Você já esta trabalho!");
já existe um fs muito bom com esse trabalho de lixeiro se quiser usar ele como base ta aqui os arquivos https://drive.google.com/drive/folders/1oybFsFzkHBTZUL7X4bm2SofHdnZfVzfB?usp=sharing
RE: ajuda no meu codigo - LOS_SANTOS - 04/09/2023
(04/09/2023 15:07)zBreno Escreveu: se você quer bloquear comando bote no começo do comando
if(trabalhando[playerid] == true) return SendClientMessage(playerid,-1, "Você já esta trabalho!");
já existe um fs muito bom com esse trabalho de lixeiro se quiser usar ele como base ta aqui os arquivos https://drive.google.com/drive/folders/1oybFsFzkHBTZUL7X4bm2SofHdnZfVzfB?usp=sharing
agradeço sua ajuda mas o q realmente eu queria e entender como faco oq pedi la em cima pois eu quero aprender para criar novos empregos mas meso assim obg
caso eu pegue o fs e coloque eu nunca irei saber a logica pois criei outros empregos e se o player iniciar o comando e nao terminar a missao e for para outra quando ele cegar no checkkpoint de outra missao por exe plo diz que ele nao e lixeiro tende por isso queria o comando para saber a logica ai eu fazendo isso para cada emprego nao corre o risco de buga pois cada profsssao so poderar pegar outra se caso o player terminar tendeu
vouc tentar ser mis simples , criei essa profisssao lixeiro blz ai eu uso /lixeiro para iniciar ela comeco na missao caso eu nao queira mais jogar nela e escolher outra missao por eemplo /taxista , eu inicio a misssao taxiata mas quando chego no checkpoint diz que nao sou lixeiro porq eu nao finalizei a missao anterior por isso biga ,eu aprendendo a fazer o comando que coloquei la eu iria saber e corrigir esse bugzinho nas missoes
RE: ajuda no meu codigo - Device-Black - 04/09/2023
(04/09/2023 15:45)LOS_SANTOS Escreveu: (04/09/2023 15:07)zBreno Escreveu: se você quer bloquear comando bote no começo do comando
if(trabalhando[playerid] == true) return SendClientMessage(playerid,-1, "Você já esta trabalho!");
já existe um fs muito bom com esse trabalho de lixeiro se quiser usar ele como base ta aqui os arquivos https://drive.google.com/drive/folders/1oybFsFzkHBTZUL7X4bm2SofHdnZfVzfB?usp=sharing
agradeço sua ajuda mas o q realmente eu queria e entender como faco oq pedi la em cima pois eu quero aprender para criar novos empregos mas meso assim obg
caso eu pegue o fs e coloque eu nunca irei saber a logica pois criei outros empregos e se o player iniciar o comando e nao terminar a missao e for para outra quando ele cegar no checkkpoint de outra missao por exe plo diz que ele nao e lixeiro tende por isso queria o comando para saber a logica ai eu fazendo isso para cada emprego nao corre o risco de buga pois cada profsssao so poderar pegar outra se caso o player terminar tendeu
vouc tentar ser mis simples , criei essa profisssao lixeiro blz ai eu uso /lixeiro para iniciar ela comeco na missao caso eu nao queira mais jogar nela e escolher outra missao por eemplo /taxista , eu inicio a misssao taxiata mas quando chego no checkpoint diz que nao sou lixeiro porq eu nao finalizei a missao anterior por isso biga ,eu aprendendo a fazer o comando que coloquei la eu iria saber e corrigir esse bugzinho nas missoes
Basta resetar os valores das variaveis utilizadas pelo emprego.
É um pouco complicado entender isso de uma hora pra outra, se precisar de informações mais especificas pode me chamar no Discord: @devicewhite
RE: ajuda no meu codigo - MateGPlay - 04/09/2023
Analisei seu codigo e respondendo sua duvida, para impedir que o jogador inicie a missão varias vezes sem termina-la, ira precisar armazenar uma variável contendo pelo menos o ponto atual que o jogador esta recolhendo o lixo, ou então se esta sob alguma missão no momento, refiz seu codigo de outra forma para melhor explicação:
Código PHP: new g_PlayerMission[MAX_PLAYERS]; new g_LixeiroCounter[MAX_PLAYERS]; new m_PontosColeta[][3] = { {1828.5288,-1926.8643,13.3837}, {1856.5773,-1268.8737,13.3906}, {1973.9496,-1054.9626,24.3984}, {2363.1702,-1159.0892,27.4513}, {2714.9253,-1188.3448,69.2288}, {2718.3643,-1520.4124,30.0480}, {2338.2581,-1576.3217,23.8032}, {2220.6677,-1761.7015,13.3650}, {2213.1135,-2053.4668,14.0966}, {2199.1770,-1970.4202,13.7841} };
public OnPlayerConnect(playerid) //ou OnPlayerLogin { g_PlayerMission[playerid] = -1; m_PontoAtual[MAX_PLAYERS] = -1; }
forward ValidMissionCP(playerid, const Float:points[][3]); public ValidMissionCP(playerid, const Float:points[][3]) //verifica se o jogador esta proximo ao Checkpoint da missão { new Float:playerPos[3]; GetPlayerPos(playerid, playerPos[0], playerPos[1], playerPos[2]); for(new i = 0; i < sizeof(points); i++) if(GetPlayerDistanceFromPoint(playerid, points[i][0], points[i][1], points[i][2]) < 5.0) return true; return false; }
CMD:lixeiro(playerid) { if(g_PlayerMission[playerid] == 1 && m_PontoAtual != -1) //se o jogador estiver com a missão de lixeiro e não estiver trabalhando return SendClientMessage(playerid,vermelho, "{FFFF00}[trabalho]:{FFFFFF} conclua a missao primeiro antes de pegar outras missoes"); if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 408)//se não estiver no caminhao id 408 return SendClientMessage(playerid,vermelho, "{FFFF00}[trabalho]:{FFFFFF}voce nao esta em um caminhao de lixo id 408!"); m_PontoAtual[playerid] = 0; //id do ponto de coleta atual do jogador SetPlayerCheckpoint(playerid, 2171.8494, -1979.3674, 13.5547, 2.0); SendClientMessage(playerid,verde, "{FFFF00}[Trabalho]:{FFFFFF}Agora você e um Lixeiro."); return 1; }
public OnPlayerEnterCheckpoint(playerid) { //------------------------------------------------------------------------------ new vehicleid = GetPlayerVehicleID(playerid); new str[64]; if(g_PlayerMission[playerid] == 1 && ValidMissionCP(playerid, m_PontosColeta)) //verifica se o jogador esta na missão id 1 | lixeiro { if(m_PontoAtual[playerid] == -1) //ponto invalido m_PontoAtual[playerid] = 0; //reseta a missão
new remaining_Points = (sizeof(m_PontosColeta) - m_PontoAtual[playerid]); if(remaining_Points == 0) //não resta passar sob nenhum ponto { DisablePlayerCheckpoint(playerid); m_PontoAtual = -1; //fora de missão SendClientMessage(playerid, -1, "Você conseguiu {FFFFFF}$200 pelo trabalho."); GameTextForPlayer(playerid,"~h~~g~+200$", 5000, 5); GivePlayerMoney(playerid, 200); }
if(GetVehicleModel(vehicleid) != 408) //se o id não for 408 return SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); m_PontoAtual[playerid]++; //adiciona 1 ao ponto atual TogglePlayerControllable(playerid, 0); SetTimerEx("tempu", 10000, false, "i", playerid); format(str, sizeof(str), "Recolhendo Lixo %d/%d ...", m_PontoAtual[playerid], sizeof(m_PontosColeta)); GameTextForPlayer(playerid, str, 10000, 4); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, m_PontosColeta[m_PontoAtual[playerid]][0], m_PontosColeta[m_PontoAtual[playerid]][1], m_PontosColeta[m_PontoAtual[playerid]][2], 4.0); format(str, sizeof(str), "[Trabalho] {FFFFFF}Há ainda %d pontos de coleta.", remaining_Points); SendClientMessage(playerid, 0xFFFF00, str);
if(remaining_Points == 2) return SendClientMessage(playerid, 0xFFFF00, "[Trabalho] {FFFFFF}Leve os lixo até o deposito.");
if(remaining_Points == 1) return SendClientMessage(playerid, 0x00FF00, "[Trabalho] {FFFFFF}Agora vá receber o Dinheiro."); } return 1; }
repare que no codigo acima, armazenei na variavel:
a contagem de cada lixeiro que ele passa, ou seja caso ele tenha iniciado a missão, ele deixara de ser -1, pois o valor -1 é atribuido quando a missão não esta ocorrendo.
tambem criei um vetor com nome:
que é responsável por armazenar as posições do lixeiros, ele é dinamico, por tanto você pode colocar mais posições no vetor que a missão irá funcionar normalmente.
analisei outros pontos em seu codigos a serem vistos tambem:
Código PHP: new lixeiro1[MAX_PLAYERS]; new lixeiro2[MAX_PLAYERS]; new lixeiro3[MAX_PLAYERS]; ...
Não é necessario criar multiplas variaveis com a mesma finalidade, tendo em vista que o objetivo é saber qual o checkpoint deverá ser ativado.
Outro Ponto:
Código PHP: public OnPlayerEnterCheckpoint(playerid) { //------------------------------------------------------------------------------ if(lixeiro1[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408)//se estiver no caminhao { //.... } }
if(lixeiro2[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408)//se estiver no caminhao { //.... } }
}
Não é necessario criar a mesma variavel e salvar o id do veiculo em cada caso, você pode fazer isso de forma local dentro da função:
Código PHP: public OnPlayerEnterCheckpoint(playerid)
Em geral são esses pontos a serem vistos por agora.
Vale ressaltar que eu costumo a usar as condições negativas primeiro, prefiro fazer dessa forma, faço bom uso do codigo e adapte como quiser, não testei o codigo, por tanto pode ocorrer erros.
Sei que você ainda esta aprendendo, estou aqui para tirar suas duvidas e te ajudar, com o tempo você aprende tudo, caso precise de ajuda, sinta-se a vontade para me contatar.
RE: ajuda no meu codigo - zBreno - 05/09/2023
(04/09/2023 15:45)LOS_SANTOS Escreveu: (04/09/2023 15:07)zBreno Escreveu: se você quer bloquear comando bote no começo do comando
if(trabalhando[playerid] == true) return SendClientMessage(playerid,-1, "Você já esta trabalho!");
já existe um fs muito bom com esse trabalho de lixeiro se quiser usar ele como base ta aqui os arquivos https://drive.google.com/drive/folders/1oybFsFzkHBTZUL7X4bm2SofHdnZfVzfB?usp=sharing
agradeço sua ajuda mas o q realmente eu queria e entender como faco oq pedi la em cima pois eu quero aprender para criar novos empregos mas meso assim obg
caso eu pegue o fs e coloque eu nunca irei saber a logica pois criei outros empregos e se o player iniciar o comando e nao terminar a missao e for para outra quando ele cegar no checkkpoint de outra missao por exe plo diz que ele nao e lixeiro tende por isso queria o comando para saber a logica ai eu fazendo isso para cada emprego nao corre o risco de buga pois cada profsssao so poderar pegar outra se caso o player terminar tendeu
vouc tentar ser mis simples , criei essa profisssao lixeiro blz ai eu uso /lixeiro para iniciar ela comeco na missao caso eu nao queira mais jogar nela e escolher outra missao por eemplo /taxista , eu inicio a misssao taxiata mas quando chego no checkpoint diz que nao sou lixeiro porq eu nao finalizei a missao anterior por isso biga ,eu aprendendo a fazer o comando que coloquei la eu iria saber e corrigir esse bugzinho nas missoes
certo olhe o que fez lixeiro1[playerid] = 1; dentro do comando e depois você usou como a variável que define o checkpoint? lixeiro1[playerid] = 0;
O que aconteceu ai foi que quando você entrou dentro do checkpoint você removeu a profissão de lixeiro e depois você fez isso lixeiro2[playerid] = 1; true / verdadeiro sendo que você entregou o lixo no primeiro checkpoint e não no segundo se ele finalizou a rota 1 a rota 1 é = a 1 e não a 2 as outras rotas sempre são false 0 você tem que definir todas como false pro id dele antes da primeira entrega
if(rota1[playerid] == 0)
{
rota1[playerid] = 1; marca essa rota como entrege
você entregou o lixo na rota 1
}
if(rota1[playerid] == 1)
{
você já entregou o lixo na rota, 1 vá para rota 2!
}
já que você não tá salvando nada por arquivo então você só precisa setar uma variável pra definir a profissão dele em um comando ou em uma caixa de dialogo que ele vai usar pra se tornar lixeiro
lixeiro[playerid] = 1;
nunca no comando onde o cara vai iniciar o trabalho como lixeiro isso não tem lógica alguma ou você cria um menu de profissões ou lá no lixão de los santos que fica perto do emmet bota um npc lá dentro do contêiner pro cara interagir com dialogbox msg e essa variável vai ser setada nele por você
se quando ele inicia um trabalho você quer impedir que ele procure outro trabalho e termine o trabalho atual é só deixar o comando que inicia todos os trabalhos de todas as profissões travados, você bota trabalhando = 0 no on player connect e em todos os comandos que inicia o trabalho
if(trabalhando[playerid] == 0)
{
trabalhando[playerid] = 1;
você iniciou seu trabalho como lixeiro vá para rota x no local x
}
if(trabalhando[playerid] == 1)
{
você já esta trabalhando como lixeiro! termine o serviço atual se quiser procurar outro trabalho
}
como você tá usando checkpoint se ele sair do caminhão o trabalho tem que ser cancelado
na public on player exit vehicle pega o id do caminhão de lixo e
lixeiro[playerid] = 0;
trabalhando[playerid] = 0;
use o plugin streamer pra criar os checkpoints
no caso do cara tentar atropelar as rotas pra terminar o trabalho rápido depois da primeira rota você verifica se ele terminou a rota anterior
if(rota1[playerid] == 0) return send client message termine a primeira rota antes de terminar a segunda
RE: ajuda no meu codigo - White_Blue - 05/09/2023
Não recomendo pedir para outras pessoas completarem o seu código, pois com isso você não vai aprender nada.
Sempre que for colocar um código, o coloque em um bloco de código PHP pois facilita a leitura do código com realce de sintaxe.
Exemplo:
RE: ajuda no meu codigo - LOS_SANTOS - 06/09/2023
(05/09/2023 22:28)White_Blue Escreveu: Não recomendo pedir para outras pessoas completarem o seu código, pois com isso você não vai aprender nada.
Sempre que for colocar um código, o coloque em um bloco de código PHP pois facilita a leitura do código com realce de sintaxe.
Exemplo:
![[Imagem: Yv7JIUu.png]](https://i.imgur.com/Yv7JIUu.png)
Não pow não pedi pra ele completar não oq eu pedir foi uma ajuda a entender como eu poderia fazer no meu código algo para quando o player usar o comando só usar o mesmo comando caso terminase a missão pois eu não sabia como fazer mais mano me explicou como fazer agora eu irei tentar , pois quando criei esse código sem muitas habilidades criei para quando o player usar o cmd ele pegasse uma missão mas se caso ele não terminasse a missão e pegasse outra ficava bugado aí pedi explicação de como evitar isso agradeço a ajuda de todos
|