Portal SAMP
[Ajuda] Block Skin - 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] Block Skin (/showthread.php?tid=2332)



Block Skin - Morfeu_BMW - 25/04/2022

não estou conseguindo dar block na skin de staff 217, 211 alguem ajuda ?

Código:
 if(strcmp(cmd, "/skin", true) == 0)
{
if(AFK[playerid] == true) return SendClientMessage(playerid, CINZA, "{00FFFF}[BDF] {FFFFFF}Você não pode usar Comandos porque está Ausente.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "{00FFFF}[BDF] {00FFFF}/skin [{00FFFF}ID{FFFFFF}]"); //{00F2FF}Azul {808080}CINZA {00FFFF}Vermelho
if(strval(tmp) < 0 || strval(tmp) > 299) return SendClientMessage(playerid, VERMELHO, "{00FFFF}[BDF] {FFFFFF}ID das skin são de 0 a 299!");
new string [400];
GetPlayerName(playerid, pNamee, sizeof(pNamee));
format(string, sizeof(string), "{00FFFF}[BDF] {FFFFFF}Skin alterado com sucesso para {00FFFF}(%d)", strval(tmp));
SendClientMessage(playerid, CINZA, string);
SetPlayerSkin(playerid, strval(tmp));
return 1;
}



RE: Block Skin - xbruno1000x - 25/04/2022

Cara strcmp não é mais utilizado há bastante tempo, o ideal era utilizar ZCmd, Pawn.CMD ou similar. Esses processadores de comandos facilitam esse tipo de coisa e também melhoram o desempenho do servidor.

Mas...creio ser possível resolver assim:

Código:
if(strcmp(cmd, "/skin", true) == 0)
{
    if(AFK[playerid] == true) return SendClientMessage(playerid, CINZA, "{00FFFF}[BDF] {FFFFFF}Você não pode usar Comandos porque está Ausente.");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, VERMELHO, "{00FFFF}[BDF] {00FFFF}/skin [{00FFFF}ID{FFFFFF}]"); //{00F2FF}Azul {808080}CINZA {00FFFF}Vermelho
    if(strval(tmp) < 0 || strval(tmp) > 299) return SendClientMessage(playerid, VERMELHO, "{00FFFF}[BDF] {FFFFFF}ID das skin são de 0 a 299!");
    if(strval(tmp) == 217 || strval(tmp) == 211) return SendClientMessage(playerid, VERMELHO, "{00FFFF}[BDF] {FFFFFF}Essa skin pertence ao Staff!");
    new string [400];
    GetPlayerName(playerid, pNamee, sizeof(pNamee));
    format(string, sizeof(string), "{00FFFF}[BDF] {FFFFFF}Skin alterado com sucesso para {00FFFF}(%d)", strval(tmp));
    SendClientMessage(playerid, CINZA, string);
    SetPlayerSkin(playerid, strval(tmp));
    return 1;
}

(Modo de uso: Basta substituir por esse comando)
(Modificação: Eu apenas adicionei uma if verificando se o ID digitado é igual a 217 ou 211)