SA-MP Forums Archive
[Ajuda] Sistema de salvamento da skin - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Sistema de salvamento da skin (/showthread.php?tid=547413)



Sistema de salvamento da skin - JoNhKaKa - 22.11.2014

Bom pessoal, estou com um probleminha em um salvamento das skin's. Bom quando um player loga no servidor, na parte de login, o player ao digitar a senha, pode escolher a skin que quer, mas quando ela aperta o botгo "Spawn" para entrar no servidor, com a skin escolhida, aparece a skin 0, em vez da escolhida, e a skin 0 e bloqueada no servidor, e porque ela aparece?

O sistema de salvamento eu coloquei no comando /skin dentro do servidor, caso o player queira alterar a sua skin, e tambйm quando o player sai do servidor, e entra novamente, a skin que ele usou no comando, fica salva, eu quero que ela nгo salve, caso ele saia do servidor e entra novamente.

E outra coisa, eu queria colocar um outro salvamento em um outro comando do servidor, esse eu queria que o player que usar o comando, salvar a skin quando morrer/spawnado, e se ele sair do servidor a skin continuar salva.
Se alguйm poder me ajudar, ficaria muito grato.


Salvamento no /skin:
pawn Код:
new SaveSkin[MAX_PLAYERS];

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

if(strcmp(cmd, "/skin", true) == 0)
    {
        if(Stats[playerid][GANGID] > 0 && Stats[playerid][GANGID] < MIN_GANGS)
            {
                SendClientMessage(playerid, COLOR_VERMELHO, "Vocк estб em uma equipe especial e nгo pode usar este comando!");
                return 1;
            }
        new skin;
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_VERDE, "Digite: /skin [id-do-skin]");
            return 1;
        }
        skin = strval(tmp);
        if(skin == 0 || skin == 74 || skin == 165 || skin == 166 || skin == 192 || skin == 265 || skin == 266 || skin == 267 || skin == 280 ||
        skin == 281 ||skin == 282 || skin == 283 ||skin == 284 || skin == 285 || skin == 286 || skin == 288)
        {
            SendClientMessage(playerid, COLOR_VERMELHO, "ID do skin invбlido!");
            return 1;
        }
        if(skin < 0 || skin > 299)
        {
            SendClientMessage(playerid, COLOR_VERMELHO, "ID do skin invбlido!");
            return 1;
        }
        SetPlayerSkin(playerid,skin);
        format(string, 100, "Skin %d setada com sucesso!", skin);
        SendClientMessage(playerid,COLOR_VERDE2, string);
        SaveSkin[playerid] = skin;
        return 1;
    }

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

public OnPlayerSpawn(playerid)
{
    SetPlayerSkin(playerid,SaveSkin[playerid]);
    return 1;
}        

//Nгo sei porque estб a vendo o problema na seleзгo de skin que aparece no skin 0, se puderem me ajudar ;D

Queria o sistema de salvamento neste comando:
pawn Код:
#define SKINPOLICIA

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

if(!strcmp("/policiais", cmdtext, true))
    {
        if(Stats[playerid][GANGID]!=1)
        {
            SendClientMessage(playerid,COLOR_VERMELHO,"Vocк nгo й um Policial!");
            return 1;
        }
        for(new i=0; i < TOTALPLAYERS; i++)
        {
            if(Stats[i][GANGID]!=1 && GetPlayerState(i)!=9 && InEvento[i]==0 && PlayerInDuelo[i]==0)
        {
        ShowPlayerDialog(playerid,SKINPOLICIA,DIALOGLIST, "Skins da Policia", "Policial Los Santos 1\nPolicial Los Santos 2\nPolicial Los Santos 3\nPolicial Los Santos 4\nPolicial Las Venturas 1\nPolicial Las Venturas 2\nPolicial Las Venturas 3\nPolicial San Fierro 1\nLSPD Moto Bike\nAgente 1\nAgente 2\nTenente\nFBI\nSWAT\n", "Selecionar", "Cancelar");
        return 1;
        }
      }
    }

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid==SKINPOLICIA)
    {
          if(response==1)
           {
          if(listitem==0)
           {
               SetPlayerSkin(playerid,280);
         }
           else if(listitem==1)
           {
               SetPlayerSkin(playerid,265);
         }
           else if(listitem==2)
           {
               SetPlayerSkin(playerid,267);
          }
           else if(listitem==3)
           {
               SetPlayerSkin(playerid,266);
          }
           else if(listitem==4)
           {
               SetPlayerSkin(playerid,282);
          }
           else if(listitem==5)
           {
               SetPlayerSkin(playerid,283);
          }
           else if(listitem==6)
           {
               SetPlayerSkin(playerid,288);
          }
           else if(listitem==7)
           {
               SetPlayerSkin(playerid,281);
          }
           else if(listitem==8)
           {
               SetPlayerSkin(playerid,284);
          }
           else if(listitem==9)
           {
               SetPlayerSkin(playerid,165);
          }
           else if(listitem==10)
           {
               SetPlayerSkin(playerid,166);
          }
           else if(listitem==11)
           {
               SetPlayerSkin(playerid,192);
          }
           else if(listitem==12)
           {
               SetPlayerSkin(playerid,286);
          }
           else if(listitem==13)
           {
               SetPlayerSkin(playerid,285);
          }
       }
    }
    return 1;
}
Quem puder me ajudar, por favor !


Respuesta: Sistema de salvamento da skin - JoNhKaKa - 23.11.2014

Alguйm por favor


Re: Sistema de salvamento da skin - ReyMysterio - 23.11.2014

Tem que usar um sistema de salvamento


Respuesta: Sistema de salvamento da skin - JoNhKaKa - 23.11.2014

Como assim?


Re: Sistema de salvamento da skin - CharlieSanchez - 23.11.2014

Ola, quall e o sistema de salvar e ler dados do player? Dini ? Y_ini ? outro ?
O que e' nessecario e que quando o player escolhe a skin salve os dados no player file, ou quando ele se disconnecta do servidor, tambem e' possivel que quando o player se liga ao servidor esteja uma funcao de setspawninfo, Posta o teu Callback Onplayerconnect por favor, e menciona o sistem de salvar ou ler dados,

Sugestao nao sei que gm estas a usar ou sistemas mas devias passar todos os comandos para ZCMD, strcmp e muito antigo lento e dificil de trabalhar..


Re: Sistema de salvamento da skin - ReyMysterio - 23.11.2014

Existem vбrios sistemas de salvamento qual o seu ? Exemplos de sistemas: DOF2, Dini, y_ini.


Re: Sistema de salvamento da skin - FabioBL - 25.11.2014

Qual o seu sitema de salvamento o_o ?


Respuesta: Sistema de salvamento da skin - JoNhKaKa - 25.11.2014

Eu uso Dini, sobre os comandos, eu jб pensei em passar para ZCMD, e tem muitos comandos, e eu vou comeзar a passar eles de vagar, porque vai demorar muito, no comando do /skin, eu queria que salvasse a skin quando o player morrer/spawnar, e quando sair do servidor voltar ao primeiro skin, agora no /policiais eu queria que todas fez que o player usar e selecionar a skin, salvar diretamente, quando ele sair do servidor e entrar estiver a mesma selecionada.


Re: Sistema de salvamento da skin - FabioBL - 25.11.2014

Tem um erro no primeiro cуdigo. Aqui:

pawn Код:
new SaveSkin[MAX_PLAYERS];

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

if(strcmp(cmd, "/skin", true) == 0)
    {
        if(Stats[playerid][GANGID] > 0 && Stats[playerid][GANGID] < MIN_GANGS)
            {
                SendClientMessage(playerid, COLOR_VERMELHO, "Vocк estб em uma equipe especial e nгo pode usar este comando!");
                return 1;
            }
        new skin;
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_VERDE, "Digite: /skin [id-do-skin]");
            return 1;
        }
        skin = strval(tmp);
        if(skin == 0 || skin == 74 || skin == 165 || skin == 166 || skin == 192 || skin == 265 || skin == 266 || skin == 267 || skin == 280 ||
        skin == 281 ||skin == 282 || skin == 283 ||skin == 284 || skin == 285 || skin == 286 || skin == 288)
        {
            SendClientMessage(playerid, COLOR_VERMELHO, "ID do skin invбlido!");
            return 1;
        } // |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
        if(skin < 1 || skin > 299) // Aqui estava como se a skin 0 pudesse ser selecionada.
        { // |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
            SendClientMessage(playerid, COLOR_VERMELHO, "ID do skin invбlido!");
            return 1;
        }
        SetPlayerSkin(playerid,skin);
        format(string, 100, "Skin %d setada com sucesso!", skin);
        SendClientMessage(playerid,COLOR_VERDE2, string);
        SaveSkin[playerid] = skin;
        return 1;
    }



Re: Respuesta: Sistema de salvamento da skin - jvssgamer - 25.11.2014

Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if (dialogid == SKINPOLICIA)
    {
        if (response == 1)
        {
            if (listitem == 0)
            {
                SetPlayerSkin(playerid, 280);
                SaveSkin[playerid] = 280;
            }
            else if (listitem == 1)
            {
                SetPlayerSkin(playerid, 265);
                SaveSkin[playerid] = 265;
            }
            else if (listitem == 2)
            {
                SetPlayerSkin(playerid, 267);
                SaveSkin[playerid] = 267;
            }
            else if (listitem == 3)
            {
                SetPlayerSkin(playerid, 266);
                SaveSkin[playerid] = 266;
            }
            else if (listitem == 4)
            {
                SetPlayerSkin(playerid, 282);
                SaveSkin[playerid] = 282;
            }
            else if (listitem == 5)
            {
                SetPlayerSkin(playerid, 283);
                SaveSkin[playerid] = 283;
            }
            else if (listitem == 6)
            {
                SetPlayerSkin(playerid, 288);
                SaveSkin[playerid] = 288;
            }
            else if (listitem == 7)
            {
                SetPlayerSkin(playerid, 281);
                SaveSkin[playerid] = 281;
            }
            else if (listitem == 8)
            {
                SetPlayerSkin(playerid, 284);
                SaveSkin[playerid] = 284;
            }
            else if (listitem == 9)
            {
                SetPlayerSkin(playerid, 165);
                SaveSkin[playerid] = 165;
            }
            else if (listitem == 10)
            {
                SetPlayerSkin(playerid, 166);
                SaveSkin[playerid] = 166;
            }
            else if (listitem == 11)
            {
                SetPlayerSkin(playerid, 192);
                SaveSkin[playerid] = 192;
            }
            else if (listitem == 12)
            {
                SetPlayerSkin(playerid, 286);
                SaveSkin[playerid] = 286;
            }
            else if (listitem == 13)
            {
                SetPlayerSkin(playerid, 285);
                SaveSkin[playerid] = 285;
            }
        }
    }
    return 1;
}
Seria isso aqui?

@Edit

Vocк tambйm poderia colocar no final do response
Код:
SaveSkin[playerid] = GetPlayerSkin(playerid);
.

Agora sobre o sistema de salvar a skin, tu vai ter que salvar com qualquer um dos sistemas de salvamentos citados a cima.