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(playerid, ROUPA, DIALOG_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 i = 0; i < MAX_CASAS; i++) { 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); found = true; break; } }
if(!found) { for(new i = 0; i < MAX_CASAS; i++) { 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); found = true; break; } } }
if(!found) { SendClientMessage(playerid, COLOR_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(playerid, ROUPA, DIALOG_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 i = 0; i < MAX_CASAS; i++) { 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); found = true; break; } }
if(!found) { for(new i = 0; i < MAX_CASAS; i++) { 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); found = true; break; } } }
if(!found) { SendClientMessage(playerid, COLOR_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(playerid, ROUPA, DIALOG_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 i = 0; i < sizeof(SkinsComunsM); i++) { 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); found = true; break; } }
// Segunda verificação: Skins exclusivas if(!found) { for(new i = 0; i < sizeof(SkinsExclusivasM); i++) { 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); found = true; break; } } }
// Mensagem de erro se nenhuma das condições foi atendida if(!found) { SendClientMessage(playerid, COLOR_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(playerid, ROUPA, DIALOG_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 i = 0; i < sizeof(SkinsComunsM); i++) { 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); found = true; print("DEBUG: Skin comum encontrada e aplicada."); break; } }
// Segunda verificação: Skins exclusivas if(!found) { for(new i = 0; i < sizeof(SkinsExclusivasM); i++) { 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); found = true; print("DEBUG: Skin exclusiva encontrada e aplicada."); break; } } }
// Mensagem de erro se nenhuma das condições foi atendida if(!found) { SendClientMessage(playerid, COLOR_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(playerid, ROUPA, DIALOG_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 i = 0; i < sizeof(SkinsComunsM); i++) { 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); found = true; break; } }
// Segunda verificação: Skins exclusivas if(!found) { for(new i = 0; i < sizeof(SkinsExclusivasM); i++) { 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); found = true; break; } } }
// Mensagem de erro se nenhuma das condições foi atendida if(!found) { SendClientMessage(playerid, COLOR_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(playerid, ROUPA, DIALOG_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 i = 0; i < sizeof(SkinsComunsM); i++) { 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); found = true; print("DEBUG: Skin comum encontrada e aplicada."); break; } }
// Segunda verificação: Skins exclusivas if(!found) { for(new i = 0; i < sizeof(SkinsExclusivasM); i++) { 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); found = true; print("DEBUG: Skin exclusiva encontrada e aplicada."); break; } } }
// Mensagem de erro se nenhuma das condições foi atendida if(!found) { SendClientMessage(playerid, COLOR_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!
|