[Ajuda] erro no meu sitema de skin
#1

um paceria aqui no forum samp me passou esse sitema de skin ele pegou normal so um erro qunato digita o id da skin errado tipo esse 300 ele crash o jogo como tira esse erro ajuda ae

====================================cmd

if(!strfind(cmdtext, "/skin", true)) {
if(cmdtext[5] == '\0' || cmdtext[5] == ' '){
if(cmdtext[5] != ' ' || cmdtext[6] == '\0') return SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");
for(new x = 6; cmdtext[x] != EOS; x++){
if(cmdtext[x] != ' '){
new STR[4];
strcat(STR, cmdtext[x]);
for(new y = 0; STR[y] != EOS; y++){
if(STR[y] < '0' || STR[y] > '9'){
SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");return true;}}
SetPlayerSkin(playerid, strval(cmdtext[x]));
SendClientMessage(playerid, 0x33CCFFAA, "Sua skin foi definida com sucesso !");return true;}}
SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");return true;}}

========================================

skype: abdiabr
Reply
#2

pawn Код:
if (strval(cmdtext[x]) < 0 || strval(cmdtext[x]) > 299 )
    return SendClientMessage(playerid, -1, "Skin inexistente!");
DICA: Toda vez que postar algun cуdigo use o formato:

[*pawn]
Seu cуdigo
[*/pawn]

Sem *(asterisco)!
Reply
#3

como usa nao sei
Reply
#4

pawn Код:
if(!strfind(cmdtext, "/skin", true))
{
    if(cmdtext[5] == '\0' || cmdtext[5] == ' ')
    {
        if(cmdtext[5] != ' ' || cmdtext[6] == '\0')
            return SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");
           
        for(new x = 6; cmdtext[x] != EOS; x++)
        {
            if(cmdtext[x] != ' ')
            {
                new STR[4];
                strcat(STR, cmdtext[x]);
                for(new y = 0; STR[y] != EOS; y++)
                {
                    if(STR[y] < '0' || STR[y] > '9')
                    {
                        SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");
                        return true;
                    }
                }
                new skin_id = strval(cmdtext[x]);
               
                if (skin_id < 0 || skin_id > 299 )
                    return SendClientMessage(playerid, -1, "Skin inexistente!");
                   
                SetPlayerSkin(playerid, skin_id);
                SendClientMessage(playerid, 0x33CCFFAA, "Sua skin foi definida com sucesso !");
                return true;
            }
        }
        SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");
        return true;
    }
}
Reply
#5

[pawn]
if(!strfind(cmdtext, "/skin", true)) {
if(cmdtext[5] == '\0' || cmdtext[5] == ' '){
if(cmdtext[5] != ' ' || cmdtext[6] == '\0') return SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");
for(new x = 6; cmdtext[x] != EOS; x++){
if(cmdtext[x] != ' '){
new STR[4];
strcat(STR, cmdtext[x]);
for(new y = 0; STR[y] != EOS; y++){
if(STR[y] < '0' || STR[y] > '9'){
SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");return true;}}
SetPlayerSkin(playerid, strval(cmdtext[x]));
SendClientMessage(playerid, 0x33CCFFAA, "Sua skin foi definida com sucesso !");return true;}}
SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");return true;}}
Reply
#6

porque nao usa simplesmente sscanf?


pawn Код:
if(!strfind(cmdtext, "/skin", true))
{
    new skin_pt;
    if(sscanf(cmdtext, "d", skin_pt))
        return SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");
    SetPlayerSkin(playerid, skin_pt);
    SendClientMessage(playerid, 0x33CCFFAA, "Sua skin foi definida com sucesso !");
    return true;
}
Reply
#7

ainda ta com crash
Reply
#8

pawn Код:
if(!strfind(cmdtext, "/skin", true))
{
    new skin_pt;
    if(sscanf(cmdtext, "d", skin_pt))
        return SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");
    if(skin_pt > 299 || skin_pt < 0)
        return SendClientMessage(playerid, 0xFFFFFFAA, "Digite: uma skin entre 0 e 299");
    SetPlayerSkin(playerid, skin_pt);
    SendClientMessage(playerid, 0x33CCFFAA, "Sua skin foi definida com sucesso !");
    return true;
}
Reply
#9

Eu fiz o cуdigo sem lembrar desse detalhe. Aqui estб uma versгo corrigida dele:


pawn Код:
if(!strfind(cmdtext, "/skin", true))
    {
        if(cmdtext[5] == '\0' || cmdtext[5] == ' ')
        {
            if(cmdtext[5] != ' ' || cmdtext[6] == '\0')   return SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");
            for(new x = 6; cmdtext[x] != EOS; x++)
            {
                if(cmdtext[x] != ' ')
                {
                    new STR[4];
                    strcat(STR, cmdtext[x]);
                    for(new y = 0; STR[y] != EOS; y++)
                    {
                        if(STR[y] < '0' || STR[y] > '9')
                        {
                            SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");
                            return true;
                        }
                    }
                    new SkinID = strval(cmdtext[x]);
                    if(SkinID > 299)  return  SendClientMessage(playerid, 0xFFFFFFAA, "IDs de skins sгo vбlidos atй 299 !");
                    SetPlayerSkin(playerid, SkinID);
                    SendClientMessage(playerid, 0x33CCFFAA, "Sua skin foi definida com sucesso !");
                    return true;
                }
            }
            SendClientMessage(playerid, 0xFFFFFFAA, "Digite: /skin [id da skin]");
            return true;
        }
    }


Espero ter ajudado .
Reply
#10

sim ajudou muito '-' muito obg a todos
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)