07/12/2023 10:36
É possível observar que o seu código é meio confuso, se eu fosse você criaria algumas funções que tornariam o código mais simples e bem melhor para compreensão.
O problema do que você diz, provavelmente é o continue e o break que tem no código, se estiverem posicionados de forma errada, vai afetar completamente o looping.
Você poderia criar uma função para criar loots apenas passando o jogador, item e quantidade, ao invés do looping abaixo.
Você também poderia criar uma função para retornar o modelo da arma, ao invés de usar o switch no looping.
Também, poderia criar uma função que dropasse todos os itens do jogador ao morrer, assim pouparia um código extenso e desnecessário no seu gamemode.
O problema do que você diz, provavelmente é o continue e o break que tem no código, se estiverem posicionados de forma errada, vai afetar completamente o looping.
Você poderia criar uma função para criar loots apenas passando o jogador, item e quantidade, ao invés do looping abaixo.
Você também poderia criar uma função para retornar o modelo da arma, ao invés de usar o switch no looping.
Também, poderia criar uma função que dropasse todos os itens do jogador ao morrer, assim pouparia um código extenso e desnecessário no seu gamemode.
Código PHP:
for(new i; i < MAX_LOOTS; i++) {
if(!Loots[i][Existe]){
for(new x; x < MAX_SLOTS_INV; x++){
if(Inventarios[playerid][Item][x] == -1){
for(new z; z < 13; z++){
GetPlayerWeaponData(playerid, z, A[z], M[z]);
if(A[z] != 0) {
switch(A[z]){
case 8: convert_id = 339;
case 9: convert_id = 341;
case 22: convert_id = 346;
case 23: convert_id = 347;
case 25: convert_id = 349;
case 26: convert_id = 350;
case 29: convert_id = 353;
case 31: convert_id = 356;
case 30: convert_id = 355;
case 34: convert_id = 358;
case 35: convert_id = 359;
default: convert_id = -1;
}
Loots[i][Item][x] = convert_id;
Loots[i][Qtd][x] = M[z];
printf("loot %i | slot inv %i | slot arma %i | item loot %i | conversao %i", i, x, z, Loots[i][Item][x], convert_id);
RemoverArma(playerid, A[z]);
break;
}
}
}
Loots[i][Item][x] = Inventarios[playerid][Item][x];
Loots[i][Qtd][x] = Inventarios[playerid][Qtd][x];
}
}
}