[AJUDA] Hair/Cabelos System
#1

Boas

й o seguinte, alguem me poderб ajudar que o cabelo escolhido pelo player seja gravado na conta e que quando connecta ao servidor seja dado o respectivo cabelo? "skin"

pawn Код:
format(var, 32, "Cabelo=%d\n",PlayerInfo[playerid][pCabelo]);fwrite(hFile, var); // cabelo

// comando cabelos ainda nao acabado
        if(!strcmp("/cabelo", cmd, true))
        {
         if(IsPlayerConnected(playerid))
            {
             new skinplayercabelo = GetPlayerSkin(playerid);
             tmp = strtok(cmdtext, idx);
             if(!strlen(tmp)) return SendClientMessage(playerid, 0xFF4040AA, "[INFO:] Use: /cabelo 1 - 2");
             switch(strval(tmp))
             {
                  case 1: SetPlayerAttachedObject(playerid, GetSlot(playerid), 19077, 2, CabelosSkinOffSet[skinplayercabelo][0], CabelosSkinOffSet[skinplayercabelo][1], CabelosSkinOffSet[skinplayercabelo][2], CabelosSkinOffSet[skinplayercabelo][3], CabelosSkinOffSet[skinplayercabelo][4], CabelosSkinOffSet[skinplayercabelo][5], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8]);
                  case 2: SetPlayerAttachedObject(playerid, GetSlot(playerid), 18975, 2, CabelosSkinOffSet[skinplayercabelo][0], CabelosSkinOffSet[skinplayercabelo][1], CabelosSkinOffSet[skinplayercabelo][2], CabelosSkinOffSet[skinplayercabelo][3], CabelosSkinOffSet[skinplayercabelo][4], CabelosSkinOffSet[skinplayercabelo][5], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8]);
                  default: SendClientMessage(playerid, 0xFF4040AA, "[ERRO:] Use: /cabelo 1 - 2");
              }
           }
          return 1;
       }
Reply
#2

Seria salvar?
precisas adaptar um format e um fwrite na tua stock de salvamento, creio que seja ediзгo GF entгo й assim...

Exemplo prйvio caso queira fazer de outra forma:
pawn Код:
new File:new_file, var[128], nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
format(var, sizeof(var), "Cabelo_%s", nome);
new_file = fopen(var, io_write);
if(new_file)
{
    fwrite(new_file, tmp);
    fclose(new_file);
}
Boa sorte, qualquer erro poste aqui novamente...
Reply
#3

pawn Код:
if(!strcmp("/cabelo", cmd, true))
{
    new skinplayercabelo = GetPlayerSkin(playerid);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, 0xFF4040AA, "[INFO:] Use: /cabelo 1 - 2");
    switch(strval(tmp))
    {
        case 1: {
            SetPlayerAttachedObject(playerid, GetSlot(playerid), 19077, 2, CabelosSkinOffSet[skinplayercabelo][0], CabelosSkinOffSet[skinplayercabelo][1], CabelosSkinOffSet[skinplayercabelo][2], CabelosSkinOffSet[skinplayercabelo][3], CabelosSkinOffSet[skinplayercabelo][4], CabelosSkinOffSet[skinplayercabelo][5], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8]);
            format(string, 128, "%s", nome(playerid)); dini_IntSet(string, "cabelo", 19077);    
        }
        case 2: SetPlayerAttachedObject(playerid, GetSlot(playerid), 18975, 2, CabelosSkinOffSet[skinplayercabelo][0], CabelosSkinOffSet[skinplayercabelo][1], CabelosSkinOffSet[skinplayercabelo][2], CabelosSkinOffSet[skinplayercabelo][3], CabelosSkinOffSet[skinplayercabelo][4], CabelosSkinOffSet[skinplayercabelo][5], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8]); format(string, 128, "%s", nome(playerid)); dini_IntSet(string, "cabelo", 18975);    
        default: SendClientMessage(playerid, 0xFF4040AA, "[ERRO:] Use: /cabelo 1 - 2");            
           
    }
    return 1;
}
stock nome(playerid) {
   new n[24]; GetPlayerName(playerid, n, 24); return n;
}

//OnPlayerSpawn
format(string, 128, "%s.ini", nome(playerid));
new skinplayercabelo = GetPlayerSkin(playerid);
SetPlayerAttachedObject(playerid, GetSlot(playerid), dini_Int(string, "cabelo"), 2, CabelosSkinOffSet[skinplayercabelo][0], CabelosSkinOffSet[skinplayercabelo][1], CabelosSkinOffSet[skinplayercabelo][2], CabelosSkinOffSet[skinplayercabelo][3], CabelosSkinOffSet[skinplayercabelo][4], CabelosSkinOffSet[skinplayercabelo][5], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8]);
Reply
#4

Ricop522 como voce postou ir guardar o cabelo 1 ou o 2?

acho que so estaб definido para o 1 como voce postou
Reply
#5

alguem ajuda? :S
pawn Код:
if(!strcmp("/cabelo", cmd, true))
{
    new skinplayercabelo = GetPlayerSkin(playerid);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, 0xFF4040AA, "[INFO:] Use: /cabelo 1 - 2");
    switch(strval(tmp))
    {
        case 1: {
            SetPlayerAttachedObject(playerid, GetSlot(playerid), 19077, 2, CabelosSkinOffSet[skinplayercabelo][0], CabelosSkinOffSet[skinplayercabelo][1], CabelosSkinOffSet[skinplayercabelo][2], CabelosSkinOffSet[skinplayercabelo][3], CabelosSkinOffSet[skinplayercabelo][4], CabelosSkinOffSet[skinplayercabelo][5], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8]);
            format(string, 128, "%s", nome(playerid)); dini_IntSet(string, "cabelo", 19077);
        } //  error 075: input line too long (after substitutions)
        case 2: SetPlayerAttachedObject(playerid, GetSlot(playerid), 18975, 2, CabelosSkinOffSet[skinplayercabelo][0], CabelosSkinOffSet[skinplayercabelo][1], CabelosSkinOffSet[skinplayercabelo][2], CabelosSkinOffSet[skinplayercabelo][3], CabelosSkinOffSet[skinplayercabelo][4], CabelosSkinOffSet[skinplayercabelo][5], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8]); format(string, 128, "%s", nome(playerid)); dini_IntSet(string, "cabelo", 18975); //  error 002: only a single statement (or expression) can follow each "case" // error 037: invalid string (possibly non-terminated string) // error 017: undefined symbol "cabelo" // fatal error 107: too many error messages on one line
        default: SendClientMessage(playerid, 0xFF4040AA, "[ERRO:] Use: /cabelo 1 - 2");

    }
    return 1;
}
case 2 tambem tem
Reply
#6

pawn Код:
if(!strcmp("/cabelo", cmd, true))
{
    new skinplayercabelo = GetPlayerSkin(playerid);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, 0xFF4040AA, "[INFO:] Use: /cabelo 1 - 2");
    switch(strval(tmp))
    {
    case 1: {
            SetPlayerAttachedObject(playerid, GetSlot(playerid), 19077, 2, CabelosSkinOffSet[skinplayercabelo][0], CabelosSkinOffSet[skinplayercabelo][1], CabelosSkinOffSet[skinplayercabelo][2], CabelosSkinOffSet[skinplayercabelo][3], CabelosSkinOffSet[skinplayercabelo][4], CabelosSkinOffSet[skinplayercabelo][5], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8]);
            format(string, 128, "%s", nome(playerid));
        dini_IntSet(string, "cabelo", 19077);
        } //  error 075: input line too long (after substitutions)
        case 2: {
        SetPlayerAttachedObject(playerid, GetSlot(playerid), 18975, 2, CabelosSkinOffSet[skinplayercabelo][0], CabelosSkinOffSet[skinplayercabelo][1], CabelosSkinOffSet[skinplayercabelo][2], CabelosSkinOffSet[skinplayercabelo][3], CabelosSkinOffSet[skinplayercabelo][4], CabelosSkinOffSet[skinplayercabelo][5], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8], CabelosSkinOffSet[skinplayercabelo][8]);
        format(string, 128, "%s", nome(playerid)); dini_IntSet(string, "cabelo", 18975);
        }
    default: SendClientMessage(playerid, 0xFF4040AA, "[ERRO:] Use: /cabelo 1 - 2");

    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)