Portal SAMP
[Ajuda] Mensagem repetindo - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Mensagem repetindo (/showthread.php?tid=4803)



Mensagem repetindo - Biggy - 13/06/2024

A mensagem está sendo duplicada várias vezes, eu entendo pelo loop que eu fiz.. porém como posso resolver isso?

Agradeço desde já!

Código:
case ROUPA:
{
        if(response)
        {
               for(new i=0;i<MAX_CASAS;i++)
               {
                     new str[126], interior = GetPlayerVirtualWorld(playerid), skinid;
                     if(!IsNumeric(inputtext) || isnull(inputtext)) return ShowPlayerDialog(playerid,ROUPA,DIALOG_STYLE_INPUT,"{99ccff}>>{FFFFFF} Inserir ID da Roupa","{FFFFFF}ID:","Seguinte","Sair");
                     skinid = strval(inputtext);
                     if(interior == 23)
                     {
                             if(SkinsComunsM[i] == skinid)
                             {
                                    InteriorRoupa[playerid] = 23;
                                    SetPlayerVirtualWorld(playerid, random(999));
                                    SelectTextDraw(playerid, COLOR_SUCESSO);
                                    SetPlayerSkin(playerid, skinid);
                                    SetPlayerPos(playerid, 216.3893, -99.7677, 1005.2578);
                                    SetPlayerFacingAngle(playerid, 91.4113);
                                    InterpolateCameraPos(playerid, 207.591293, -102.540962, 1006.733825, 213.445861, -99.694190, 1006.323852, 1500);
                                    InterpolateCameraLookAt(playerid, 207.529800, -97.566955, 1006.228393, 218.213165, -99.816513, 1004.821228, 1000);
                            }
                            else if(SkinsComunsM[i] != skinid)
                            {
                                   if(SkinsExclusivasM[i] == skinid)
                                   {
                                         InteriorRoupa[playerid] = 23;
                                         SetPlayerVirtualWorld(playerid, random(999));
                                         SetPlayerSkin(playerid, skinid);              
                                         SetPlayerPos(playerid, 179.7483,-88.5120,1002.0234);
                                         SetPlayerFacingAngle(playerid, 88.3848);
                                         InterpolateCameraPos(playerid, 161.324523, -83.541923, 1002.646850, 176.656112, -88.567787, 1002.898437, 1500);
                                         InterpolateCameraLookAt(playerid, 161.468490, -78.577819, 1002.066406, 181.510711, -88.504165, 1001.703125, 1500);
                                }
                                else if(SkinsExclusivasM[i] != skinid)
                                {
                                        SendClientMessage(playerid,COLOR_LARANJA,"O ID é inválido ou a roupa não está disponível!"); -- Mensagem
                                }
                         }
                   }
              }
         }
     }
}


Código:
stock SetSkinsComunsMID()
{
    SkinsComunsM[0] = 2;
    SkinsComunsM[1] = 3;
    SkinsComunsM[2] = 4;
    SkinsComunsM[3] = 5;
    SkinsComunsM[4] = 6;
    SkinsComunsM[5] = 7;
    SkinsComunsM[6] = 14;
    SkinsComunsM[7] = 15;
    SkinsComunsM[8] = 17;
    SkinsComunsM[9] = 18;
    SkinsComunsM[10] = 20;
    SkinsComunsM[11] = 21;
    SkinsComunsM[12] = 22;
    SkinsComunsM[13] = 23;
    SkinsComunsM[14] = 24;
    SkinsComunsM[15] = 25;
    SkinsComunsM[16] = 26;
    SkinsComunsM[17] = 28;
    SkinsComunsM[18] = 29;
    SkinsComunsM[19] = 30;
    SkinsComunsM[20] = 32;
    SkinsComunsM[21] = 33;
    SkinsComunsM[22] = 34;
    SkinsComunsM[23] = 35;
    SkinsComunsM[24] = 36;
    SkinsComunsM[25] = 37;
    SkinsComunsM[26] = 43;
    SkinsComunsM[27] = 44;
    SkinsComunsM[28] = 45;
    SkinsComunsM[29] = 46;
    SkinsComunsM[30] = 47;
    SkinsComunsM[31] = 48;
    SkinsComunsM[32] = 51;
    SkinsComunsM[33] = 52;
    SkinsComunsM[34] = 57;
    SkinsComunsM[35] = 58;
    SkinsComunsM[36] = 59;
    SkinsComunsM[37] = 60;
    SkinsComunsM[38] = 61;
    SkinsComunsM[39] = 62;
    SkinsComunsM[40] = 66;
    SkinsComunsM[41] = 67;
    SkinsComunsM[42] = 68;
    SkinsComunsM[43] = 70;
    SkinsComunsM[44] = 72;
    SkinsComunsM[45] = 73;
    SkinsComunsM[46] = 78;
    SkinsComunsM[47] = 79;
    SkinsComunsM[48] = 80;
    SkinsComunsM[49] = 81;
    SkinsComunsM[50] = 82;
    SkinsComunsM[51] = 83;
    SkinsComunsM[52] = 84;
    SkinsComunsM[53] = 95;
    SkinsComunsM[54] = 96;
    SkinsComunsM[55] = 98;
    SkinsComunsM[56] = 101;
    SkinsComunsM[57] = 111;
    SkinsComunsM[58] = 112;
    SkinsComunsM[59] = 113;
    SkinsComunsM[60] = 119;
    SkinsComunsM[61] = 124;
    SkinsComunsM[62] = 125;
    SkinsComunsM[63] = 126;
    SkinsComunsM[64] = 127;
    SkinsComunsM[65] = 128;
    SkinsComunsM[66] = 132;
    SkinsComunsM[67] = 133;
    SkinsComunsM[68] = 134;
    SkinsComunsM[69] = 135;
    SkinsComunsM[70] = 136;
    SkinsComunsM[71] = 137;
    SkinsComunsM[72] = 142;
    SkinsComunsM[73] = 143;
    SkinsComunsM[74] = 144;
    SkinsComunsM[75] = 146;
    SkinsComunsM[76] = 147;
    SkinsComunsM[77] = 154;
    SkinsComunsM[78] = 156;
    SkinsComunsM[79] = 158;
    SkinsComunsM[80] = 159;
    SkinsComunsM[81] = 160;
    SkinsComunsM[82] = 161;
    SkinsComunsM[83] = 162;
    SkinsComunsM[84] = 163;
    SkinsComunsM[85] = 164;
    SkinsComunsM[86] = 165;
    SkinsComunsM[87] = 166;
    SkinsComunsM[88] = 168;
    SkinsComunsM[89] = 170;
    SkinsComunsM[90] = 171;
    SkinsComunsM[91] = 172;
    SkinsComunsM[92] = 176;
    SkinsComunsM[93] = 177;
    SkinsComunsM[94] = 179;
    SkinsComunsM[95] = 180;
    SkinsComunsM[96] = 181;
    SkinsComunsM[97] = 182;
    SkinsComunsM[98] = 183;
    SkinsComunsM[99] = 184;
    SkinsComunsM[100] = 185;
    SkinsComunsM[101] = 186;
    SkinsComunsM[102] = 187;
    SkinsComunsM[103] = 188;
    SkinsComunsM[104] = 189;
    SkinsComunsM[105] = 200;
    SkinsComunsM[106] = 202;
    SkinsComunsM[107] = 203;
    SkinsComunsM[108] = 204;
    SkinsComunsM[109] = 206;
    SkinsComunsM[110] = 209;
    SkinsComunsM[111] = 210;
    SkinsComunsM[112] = 212;
    SkinsComunsM[113] = 213;
    SkinsComunsM[114] = 220;
    SkinsComunsM[115] = 221;
    SkinsComunsM[116] = 222;
    SkinsComunsM[117] = 223;
    SkinsComunsM[118] = 227;
    SkinsComunsM[119] = 228;
    SkinsComunsM[120] = 229;
    SkinsComunsM[121] = 230;
    SkinsComunsM[122] = 234;
    SkinsComunsM[123] = 235;
    SkinsComunsM[124] = 236;
    SkinsComunsM[125] = 239;
    SkinsComunsM[126] = 240;
    SkinsComunsM[127] = 241;
    SkinsComunsM[128] = 242;
    SkinsComunsM[129] = 249;
    SkinsComunsM[130] = 250;
    SkinsComunsM[131] = 252;
    SkinsComunsM[132] = 253;
    SkinsComunsM[133] = 255;
    SkinsComunsM[134] = 258;
    SkinsComunsM[135] = 259;
    SkinsComunsM[136] = 261;
    SkinsComunsM[137] = 262;
    SkinsComunsM[138] = 99;
    SkinsComunsM[139] = 100;
}


stock SetSkinsExclusivasMID()
{
    SkinsExclusivasM[0] = 0;
    SkinsExclusivasM[1] = 1;
    SkinsExclusivasM[2] = 86;
    SkinsExclusivasM[3] = 97;
    SkinsExclusivasM[4] = 264;
    SkinsExclusivasM[5] = 268;
    SkinsExclusivasM[6] = 269;
    SkinsExclusivasM[7] = 270;
    SkinsExclusivasM[8] = 272;
    SkinsExclusivasM[9] = 273;
    SkinsExclusivasM[10] = 289;
    SkinsExclusivasM[11] = 290;
    SkinsExclusivasM[12] = 291;
    SkinsExclusivasM[13] = 292;
    SkinsExclusivasM[14] = 293;
    SkinsExclusivasM[15] = 294;
    SkinsExclusivasM[16] = 295;
    SkinsExclusivasM[17] = 296;
    SkinsExclusivasM[18] = 297;
    SkinsExclusivasM[19] = 299;
    SkinsExclusivasM[20] = 303;
    SkinsExclusivasM[21] = 304;
    SkinsExclusivasM[22] = 305;
    SkinsExclusivasM[23] = 208;
}



RE: Mensagem repetindo - BitSain - 13/06/2024

A instrução 'break' quebra o loop.
Ou você pode usar o return caso seja cabível no código.

A mensagem será repetida justamente por causa do loop, ele não para até concluir a quantidade de vezes que você mandar ele rodar, ao menos se você instruir para ele parar.


RE: Mensagem repetindo - Biggy - 13/06/2024

(13/06/2024 14:59)BitSain Escreveu: A instrução 'break' quebra o loop.
Ou você pode usar o return caso seja cabível no código.

A mensagem será repetida justamente por causa do loop, ele não para até concluir a quantidade de vezes que você mandar ele rodar, ao menos se você instruir para ele parar.

Obrigado pela resposta! Resolveu o meu problema com a mensagem.

Porém o loop também está fazendo com que a primeira parte do código e a segunda ( após o else ) não funcionem juntas, apenas separadas.

Quando passa o loop na primeira condição


Código:
if(SkinsComunsM[i] == skinid)

Como não vai achar de imediato o valor desejado,  já leva para a segunda parte do código e dá conflito


Código:
else if(SkinsComunsM[i] != skinid)

Como poderia fazer?


RE: Mensagem repetindo - BitSain - 13/06/2024

Código PHP:
case ROUPA:
{
    if(response) {
        if(!IsNumeric(inputtext) || isnull(inputtext)) 
            
return ShowPlayerDialog(playeridROUPADIALOG_STYLE_INPUT"{99ccff}>>{FFFFFF} Inserir ID da Roupa""{FFFFFF}ID:""Seguinte""Sair");
        
        
new str[126], interior GetPlayerVirtualWorld(playerid), skinid;
        skinid strval(inputtext);
        
        
new bool:ound false;
        for(new 0MAX_CASASi++) {
            if(SkinsComunsM[i] == skinid) {
                InteriorRoupa[playerid] = 23;
                SetPlayerVirtualWorld(playeridrandom(999));
                SelectTextDraw(playeridCOLOR_SUCESSO);
                SetPlayerSkin(playeridskinid);
                SetPlayerPos(playerid216.3893, -99.76771005.2578);
                SetPlayerFacingAngle(playerid91.4113);
                InterpolateCameraPos(playerid207.591293, -102.5409621006.733825213.445861, -99.6941901006.3238521500);
                InterpolateCameraLookAt(playerid207.529800, -97.5669551006.228393218.213165, -99.8165131004.8212281000);
                found true;
                break;
            }
        }

        if(!found) {
            for(new 0MAX_CASASi++) {
                if(SkinsExclusivasM[i] == skinid) {
                    InteriorRoupa[playerid] = 23;
                    SetPlayerVirtualWorld(playeridrandom(999));
                    SetPlayerSkin(playeridskinid);              
                    SetPlayerPos
(playerid179.7483, -88.51201002.0234);
                    SetPlayerFacingAngle(playerid88.3848);
                    InterpolateCameraPos(playerid161.324523, -83.5419231002.646850176.656112, -88.5677871002.8984371500);
                    InterpolateCameraLookAt(playerid161.468490, -78.5778191002.066406181.510711, -88.5041651001.7031251500);
                    found true;
                    break;
                }
            }
        }

        if(!found) {
            SendClientMessage(playeridCOLOR_LARANJA"O ID é inválido ou a roupa não está disponível.");
        }
    }
    return 
true;


A única coisa que eu acho que está fora de contexto é o loop ser rodados 'MAX_CASAS' vezes.
Mas...
Mudanças do código original para esse:
1- O uso de break garante que a mensagem de erro não seja enviada múltiplas vezes.
2- Separando as verificações em dois loops distintos, você evita conflitos entre as condições.
3- As ações são mais claras e o 'fluxo lógico do código é mais fácil de seguir'.


RE: Mensagem repetindo - Biggy - 13/06/2024

(13/06/2024 17:37)BitSain Escreveu:
Código PHP:
case ROUPA:
{
    if(response) {
        if(!IsNumeric(inputtext) || isnull(inputtext)) 
            
return ShowPlayerDialog(playeridROUPADIALOG_STYLE_INPUT"{99ccff}>>{FFFFFF} Inserir ID da Roupa""{FFFFFF}ID:""Seguinte""Sair");
        
        
new str[126], interior GetPlayerVirtualWorld(playerid), skinid;
        skinid strval(inputtext);
        
        
new bool:ound false;
        for(new 0MAX_CASASi++) {
            if(SkinsComunsM[i] == skinid) {
                InteriorRoupa[playerid] = 23;
                SetPlayerVirtualWorld(playeridrandom(999));
                SelectTextDraw(playeridCOLOR_SUCESSO);
                SetPlayerSkin(playeridskinid);
                SetPlayerPos(playerid216.3893, -99.76771005.2578);
                SetPlayerFacingAngle(playerid91.4113);
                InterpolateCameraPos(playerid207.591293, -102.5409621006.733825213.445861, -99.6941901006.3238521500);
                InterpolateCameraLookAt(playerid207.529800, -97.5669551006.228393218.213165, -99.8165131004.8212281000);
                found true;
                break;
            }
        }

        if(!found) {
            for(new 0MAX_CASASi++) {
                if(SkinsExclusivasM[i] == skinid) {
                    InteriorRoupa[playerid] = 23;
                    SetPlayerVirtualWorld(playeridrandom(999));
                    SetPlayerSkin(playeridskinid);              
                    SetPlayerPos
(playerid179.7483, -88.51201002.0234);
                    SetPlayerFacingAngle(playerid88.3848);
                    InterpolateCameraPos(playerid161.324523, -83.5419231002.646850176.656112, -88.5677871002.8984371500);
                    InterpolateCameraLookAt(playerid161.468490, -78.5778191002.066406181.510711, -88.5041651001.7031251500);
                    found true;
                    break;
                }
            }
        }

        if(!found) {
            SendClientMessage(playeridCOLOR_LARANJA"O ID é inválido ou a roupa não está disponível.");
        }
    }
    return true;


A única coisa que eu acho que está fora de contexto é o loop ser rodados 'MAX_CASAS' vezes.
Mas...
Mudanças do código original para esse:
1- O uso de break garante que a mensagem de erro não seja enviada múltiplas vezes.
2- Separando as verificações em dois loops distintos, você evita conflitos entre as condições.
3- As ações são mais claras e o 'fluxo lógico do código é mais fácil de seguir'.

Obrigado novamente pela resposta e pelas anotações.

A primeira parte do código está funcionando perfeitamente, mas não está passando para a segunda nem para a mensagem.


RE: Mensagem repetindo - BitSain - 13/06/2024

Vou re-ogranizar o código um pouco e que a mensagem de erro apareça caso nenhuma das condições forem atendidas.
Removi o 'MAX_CASAS' e adicionei "sizeof(SkinsComunsM)" e "sizeof(SkinsExclusivasM)" nas condições do loop para garantir que percorram toda a array.
Com esses ajustes, o código deve passar corretamente para a segunda verificação, e se necessário, enviar a mensagem de erro.

Código:
Código PHP:
case ROUPA:
{
    if(
response) {
        if(!
IsNumeric(inputtext) || isnull(inputtext)) 
            return 
ShowPlayerDialog(playeridROUPADIALOG_STYLE_INPUT"{99ccff}>>{FFFFFF} Inserir ID da Roupa""{FFFFFF}ID:""Seguinte""Sair");
        
        new 
str[126], interior GetPlayerVirtualWorld(playerid),
            
skinid strval(inputtext), bool:found false;

        
// Primeira verificação: Skins comuns
        
for(new 0sizeof(SkinsComunsM); i++) {
            if(
SkinsComunsM[i] == skinid) {
                
InteriorRoupa[playerid] = 23;
                
SetPlayerVirtualWorld(playeridrandom(999));
                
SelectTextDraw(playeridCOLOR_SUCESSO);
                
SetPlayerSkin(playeridskinid);
                
SetPlayerPos(playerid216.3893, -99.76771005.2578);
                
SetPlayerFacingAngle(playerid91.4113);
                
InterpolateCameraPos(playerid207.591293, -102.5409621006.733825213.445861, -99.6941901006.3238521500);
                
InterpolateCameraLookAt(playerid207.529800, -97.5669551006.228393218.213165, -99.8165131004.8212281000);
                
found true;
                break;
            }
        }

        
// Segunda verificação: Skins exclusivas
        
if(!found) {
            for(new 
0sizeof(SkinsExclusivasM); i++) {
                if(
SkinsExclusivasM[i] == skinid) {
                    
InteriorRoupa[playerid] = 23;
                    
SetPlayerVirtualWorld(playeridrandom(999));
                    
SetPlayerSkin(playeridskinid);              
                    
SetPlayerPos(playerid179.7483, -88.51201002.0234);
                    
SetPlayerFacingAngle(playerid88.3848);
                    
InterpolateCameraPos(playerid161.324523, -83.5419231002.646850176.656112, -88.5677871002.8984371500);
                    
InterpolateCameraLookAt(playerid161.468490, -78.5778191002.066406181.510711, -88.5041651001.7031251500);
                    
found true;
                    break;
                }
            }
        }

        
// Mensagem de erro se nenhuma das condições foi atendida
        
if(!found) {
            
SendClientMessage(playeridCOLOR_LARANJA"O ID é inválido ou a roupa não está disponível!");
        }
        return 
true;
    }


Caso não funcione, seria interessante DEBUGAR o código pra encontrar o possível problema.

<===>

Código com debug:
Código PHP:
case ROUPA:
{
    if(
response) {
        if(!
IsNumeric(inputtext) || isnull(inputtext)) {
            print(
"DEBUG: ID da roupa não é numérico ou está vazio");
            return 
ShowPlayerDialog(playeridROUPADIALOG_STYLE_INPUT"{99ccff}>>{FFFFFF} Inserir ID da Roupa""{FFFFFF}ID:""Seguinte""Sair");
        }
        
        new 
str[126], interior GetPlayerVirtualWorld(playerid),
            
skinid strval(inputtext), bool:found false;

        
printf("DEBUG: ID da roupa inserido pelo jogador: %d"skinid);

        
// Primeira verificação: Skins comuns
        
for(new 0sizeof(SkinsComunsM); i++) {
            if(
SkinsComunsM[i] == skinid) {
                
InteriorRoupa[playerid] = 23;
                
SetPlayerVirtualWorld(playeridrandom(999));
                
SelectTextDraw(playeridCOLOR_SUCESSO);
                
SetPlayerSkin(playeridskinid);
                
SetPlayerPos(playerid216.3893, -99.76771005.2578);
                
SetPlayerFacingAngle(playerid91.4113);
                
InterpolateCameraPos(playerid207.591293, -102.5409621006.733825213.445861, -99.6941901006.3238521500);
                
InterpolateCameraLookAt(playerid207.529800, -97.5669551006.228393218.213165, -99.8165131004.8212281000);
                
found true;
                print(
"DEBUG: Skin comum encontrada e aplicada.");
                break;
            }
        }

        
// Segunda verificação: Skins exclusivas
        
if(!found) {
            for(new 
0sizeof(SkinsExclusivasM); i++) {
                if(
SkinsExclusivasM[i] == skinid) {
                    
InteriorRoupa[playerid] = 23;
                    
SetPlayerVirtualWorld(playeridrandom(999));
                    
SetPlayerSkin(playeridskinid);              
                    
SetPlayerPos(playerid179.7483, -88.51201002.0234);
                    
SetPlayerFacingAngle(playerid88.3848);
                    
InterpolateCameraPos(playerid161.324523, -83.5419231002.646850176.656112, -88.5677871002.8984371500);
                    
InterpolateCameraLookAt(playerid161.468490, -78.5778191002.066406181.510711, -88.5041651001.7031251500);
                    
found true;
                    print(
"DEBUG: Skin exclusiva encontrada e aplicada.");
                    break;
                }
            }
        }

        
// Mensagem de erro se nenhuma das condições foi atendida
        
if(!found) {
            
SendClientMessage(playeridCOLOR_LARANJA"O ID é inválido ou a roupa não está disponível!");
            print(
"DEBUG: Nenhuma skin válida encontrada para o ID inserido.");
        }
        return 
true;
    }




RE: Mensagem repetindo - Biggy - 14/06/2024

(13/06/2024 20:21)BitSain Escreveu: Vou re-ogranizar o código um pouco e que a mensagem de erro apareça caso nenhuma das condições forem atendidas.
Removi o 'MAX_CASAS' e adicionei "sizeof(SkinsComunsM)" e "sizeof(SkinsExclusivasM)" nas condições do loop para garantir que percorram toda a array.
Com esses ajustes, o código deve passar corretamente para a segunda verificação, e se necessário, enviar a mensagem de erro.

Código:
Código PHP:
case ROUPA:
{
    if(response) {
        if(!IsNumeric(inputtext) || isnull(inputtext)) 
            return ShowPlayerDialog(playeridROUPADIALOG_STYLE_INPUT"{99ccff}>>{FFFFFF} Inserir ID da Roupa""{FFFFFF}ID:""Seguinte""Sair");
        
        
new str[126], interior GetPlayerVirtualWorld(playerid),
            skinid strval(inputtext), bool:found false;

        // Primeira verificação: Skins comuns
        for(new 0sizeof(SkinsComunsM); i++) {
            if(SkinsComunsM[i] == skinid) {
                InteriorRoupa[playerid] = 23;
                SetPlayerVirtualWorld(playeridrandom(999));
                SelectTextDraw(playeridCOLOR_SUCESSO);
                SetPlayerSkin(playeridskinid);
                SetPlayerPos(playerid216.3893, -99.76771005.2578);
                SetPlayerFacingAngle(playerid91.4113);
                InterpolateCameraPos(playerid207.591293, -102.5409621006.733825213.445861, -99.6941901006.3238521500);
                InterpolateCameraLookAt(playerid207.529800, -97.5669551006.228393218.213165, -99.8165131004.8212281000);
                found true;
                break;
            }
        }

        // Segunda verificação: Skins exclusivas
        if(!found) {
            for(new 0sizeof(SkinsExclusivasM); i++) {
                if(SkinsExclusivasM[i] == skinid) {
                    InteriorRoupa[playerid] = 23;
                    SetPlayerVirtualWorld(playeridrandom(999));
                    SetPlayerSkin(playeridskinid);              
                    SetPlayerPos
(playerid179.7483, -88.51201002.0234);
                    SetPlayerFacingAngle(playerid88.3848);
                    InterpolateCameraPos(playerid161.324523, -83.5419231002.646850176.656112, -88.5677871002.8984371500);
                    InterpolateCameraLookAt(playerid161.468490, -78.5778191002.066406181.510711, -88.5041651001.7031251500);
                    found true;
                    break;
                }
            }
        }

        // Mensagem de erro se nenhuma das condições foi atendida
        if(!found) {
            SendClientMessage(playeridCOLOR_LARANJA"O ID é inválido ou a roupa não está disponível!");
        }
        return true;
    }


Caso não funcione, seria interessante DEBUGAR o código pra encontrar o possível problema.

<===>

Código com debug:
Código PHP:
case ROUPA:
{
    if(response) {
        if(!IsNumeric(inputtext) || isnull(inputtext)) {
            print("DEBUG: ID da roupa não é numérico ou está vazio");
            return ShowPlayerDialog(playeridROUPADIALOG_STYLE_INPUT"{99ccff}>>{FFFFFF} Inserir ID da Roupa""{FFFFFF}ID:""Seguinte""Sair");
        }
        
        
new str[126], interior GetPlayerVirtualWorld(playerid),
            skinid strval(inputtext), bool:found false;

        printf("DEBUG: ID da roupa inserido pelo jogador: %d"skinid);

        // Primeira verificação: Skins comuns
        for(new 0sizeof(SkinsComunsM); i++) {
            if(SkinsComunsM[i] == skinid) {
                InteriorRoupa[playerid] = 23;
                SetPlayerVirtualWorld(playeridrandom(999));
                SelectTextDraw(playeridCOLOR_SUCESSO);
                SetPlayerSkin(playeridskinid);
                SetPlayerPos(playerid216.3893, -99.76771005.2578);
                SetPlayerFacingAngle(playerid91.4113);
                InterpolateCameraPos(playerid207.591293, -102.5409621006.733825213.445861, -99.6941901006.3238521500);
                InterpolateCameraLookAt(playerid207.529800, -97.5669551006.228393218.213165, -99.8165131004.8212281000);
                found true;
                print("DEBUG: Skin comum encontrada e aplicada.");
                break;
            }
        }

        // Segunda verificação: Skins exclusivas
        if(!found) {
            for(new 0sizeof(SkinsExclusivasM); i++) {
                if(SkinsExclusivasM[i] == skinid) {
                    InteriorRoupa[playerid] = 23;
                    SetPlayerVirtualWorld(playeridrandom(999));
                    SetPlayerSkin(playeridskinid);              
                    SetPlayerPos
(playerid179.7483, -88.51201002.0234);
                    SetPlayerFacingAngle(playerid88.3848);
                    InterpolateCameraPos(playerid161.324523, -83.5419231002.646850176.656112, -88.5677871002.8984371500);
                    InterpolateCameraLookAt(playerid161.468490, -78.5778191002.066406181.510711, -88.5041651001.7031251500);
                    found true;
                    print("DEBUG: Skin exclusiva encontrada e aplicada.");
                    break;
                }
            }
        }

        // Mensagem de erro se nenhuma das condições foi atendida
        if(!found) {
            SendClientMessage(playeridCOLOR_LARANJA"O ID é inválido ou a roupa não está disponível!");
            print("DEBUG: Nenhuma skin válida encontrada para o ID inserido.");
        }
        return true;
    }


Funcionou certinho! Obrigado pela sua imensa ajuda e disponibilidade, creio que fosse mesmo do MAX_CASAS!