| 
 Preenche todas as vagas - Mackor -  10/11/2024
 
 Estou com um problema no loop, estou com a cabeça cheia por causa do trabalho e não consigo fazer um script decente.
 
 
 Código PHP:         for(new i = 4; i <= MAX_MEMBER_TEAM(organization); ++i){
 if(!strcmp("vazio", Org_Member[organization][i], false)) //aqui verifica se a vaga esta vazia
 {
 if(strcmp(Name(playerid), Org_Member[organization][i], false))
 return 1; // aqui não funciona (o objetivo dessa parte é, se alguma vaga estiver com o nome do jogador FillVacancy é cancelado (FillVacancy é onde adiciona o jogador na tal vaga).
 
 FillVacancy(organization, i, playerid); //adiciona o jogador se a vaga estiver vazia
 }
 else return SendClientMessage(playerid, COLOR_GREY, "Todas as vagas foram preenchidas.");
 }
 
O problema que preenche todas as vagas(MAX_MEMBER_TEAM).
 Preciso de alguém para otimizar esse código urgente.
 
 
 RE: Preenche todas as vagas - xbruno1000x -  11/11/2024
 
 Tente dessa forma:
 
 
 Código:     for (new i = 4; i <= MAX_MEMBER_TEAM(organization); ++i){
 if (!strcmp("vazio", Org_Member[organization][i], false)) // Verifica se a vaga está vazia
 {
 if (strcmp(Name(playerid), Org_Member[organization][i], false))
 return 1; // Se o jogador já estiver em alguma vaga, cancela o processo
 
 FillVacancy(organization, i, playerid); // Adiciona o jogador na vaga vazia
 break;
 }
 else return SendClientMessage(playerid, COLOR_GREY, "Todas as vagas foram preenchidas.");
 }
Em teoria, após preencher a vaga o break irá quebrar o looping.
 
 
 RE: Preenche todas as vagas - domingues93 -  11/11/2024
 
 
 Código PHP: for(new i = 4; i <= MAX_MEMBER_TEAM(organization); ++i){
 if(!strcmp("vazio", Org_Member[organization][i], false)) //aqui verifica se a vaga esta vazia
 {
 if(strcmp(Name(playerid), Org_Member[organization][i], false))
 return 1; // aqui não funciona (o objetivo dessa parte é, se alguma vaga estiver com o nome do jogador FillVacancy é cancelado (FillVacancy é onde adiciona o jogador na tal vaga).
 
 FillVacancy(organization, i, playerid); //adiciona o jogador se a vaga estiver vazia
 }
 }
 
 return SendClientMessage(playerid, COLOR_GREY, "Todas as vagas foram preenchidas.");
 
 
 RE: Preenche todas as vagas - RodrigoMSR -  13/11/2024
 
 Para checar se o jogador já faz parte da organização, deve-se passar por todos os membros, e só depois adicioná-lo em alguma vaga livre.
 
 
 Código PHP: new idx = -1;
 for(new i = 4; i <= MAX_MEMBER_TEAM(organization); ++i)
 {
 if(!strcmp(Name(playerid), Org_Member[organization][i], false))
 return SendClientMessage(playerid, COLOR_GREY, "Você já faz parte da organização.");
 
 if(idx == -1 && !strcmp("vazio", Org_Member[organization][i], false))
 idx = i;
 }
 
 if(idx == -1)
 return SendClientMessage(playerid, COLOR_GREY, "Todas as vagas foram preenchidas.");
 
 FillVacancy(organization, idx, playerid);
 
 
 RE: Preenche todas as vagas - Mackor -  13/11/2024
 
 
  (13/11/2024 03:04)RodrigoMSR Escreveu:  Para checar se o jogador já faz parte da organização, deve-se passar por todos os membros, e só depois adicioná-lo em alguma vaga livre.
 
 Código PHP: new idx = -1;
 for(new i = 4; i <= MAX_MEMBER_TEAM(organization); ++i)
 {
 if(!strcmp(Name(playerid), Org_Member[organization][i], false))
 return SendClientMessage(playerid, COLOR_GREY, "Você já faz parte da organização.");
 
 if(idx == -1 && !strcmp("vazio", Org_Member[organization][i], false))
 idx = i;
 }
 
 if(idx == -1)
 return SendClientMessage(playerid, COLOR_GREY, "Todas as vagas foram preenchidas.");
 
 FillVacancy(organization, idx, playerid);
 
 Reputei todos vocês, obrigado.
 
 
 
 |