[Ajuda] SALVAMENTO DE ARMAS NOVAMENTE!!!
#1

Bom dia.
Por favor, estou sofrendo com um problema no salvamento de armas de meu servidor. Jб estou a 2 semanas tentando arrumar, mas nгo obtive sucesso.
As armas que os players compram, nгo estгo sendo salvas, jб tentei de tudo!
Como:
Utilizar o "SaveWeapons" na if da compra da arma.
Utilizar o "SaveWeapons" quando o player desconecta e "LoadWeapons" quando o player loga.
Jб tentei utilizar salvamento em settimer, porйm nгo funciona.
Jб arrisquei em salvar em OnPlayerUpdate sу que o lag fica infernal.
Nгo aguento mais, alguйm ajuda por favor, й o terceiro tуpico sobre o mesmo assunto sem ninguйm responder.
O cуdigo de quando salva e loga as armas;

pawn Код:
stock LoadWeapons(playerid)
{
    new File:arquivo, tmp[256], fname[30], pname[30], arma[13], municao[13];
    arquivo = fopen(WEAPON_FILE, io_read);
    GetPlayerName(playerid, pname, sizeof pname);
    while(fread(arquivo, tmp, sizeof tmp, false))
    {
        new off[256], index;
        off = strtok(tmp, index);
        strmid(fname, off, 0, strlen(off));
        if(strcmp(pname, fname, false) != 0)continue;
        for(new a; a < 12; a++)arma[a] = strval(strtok(tmp, index));
        for(new m; m < 12; m++)municao[m] = strval(strtok(tmp, index));
        for(new i; i < 12; i++)
        {
            if(arma[i] > 0 && arma[i] < 47 && municao[i] > 0)GivePlayerWeapon(playerid, arma[i], municao[i]);
        }
    }
    fclose(arquivo);
    return 1;
}

stock SaveWeapons(playerid)
{
    new File:arquivo, File:ftmp, tmp[256], fname[30], pname[30], arma[13], municao[13];
    arquivo = fopen(WEAPON_FILE, io_readwrite);
    ftmp = fopen(WEAPON_FILE#.tmp, io_write);
    GetPlayerName(playerid, pname, sizeof pname);
    while(fread(arquivo, tmp, sizeof tmp, false))
    {
        new off[256], index;
        off = strtok(tmp, index);
        strmid(fname, off, 0, strlen(off));
        if(!strcmp(pname, fname, false))continue;
        format(tmp, sizeof tmp, "%s", tmp);
        fwrite(ftmp, tmp);
    }
    fclose(arquivo);
    fclose(ftmp);
    fremove(WEAPON_FILE);
    arquivo = fopen(WEAPON_FILE, io_write);
    ftmp = fopen(WEAPON_FILE#.tmp, io_read);
    while(fread(ftmp, tmp))
    {
        format(tmp, sizeof tmp, "%s", tmp);
        fwrite(arquivo, tmp);
    }
    fclose(ftmp);
    fremove(WEAPON_FILE#.tmp);
    for(new i; i < 12; i++)GetPlayerWeaponData(playerid, i+1, arma[i+1], municao[i+1]);
    format(tmp, sizeof tmp, "%s ", pname);
    for(new a; a < 24; a++)
    {
        new s[10];
        if(a < 12)
        {
            format(s, sizeof s, "%d ", arma[a]);
            strcat(tmp, s);
        } else {
            format(s, sizeof s, "%d ", municao[a-12]);
            strcat(tmp, s);
        }
    }
    strcat(tmp, "\r\n");
    fwrite(arquivo, tmp);
    fclose(arquivo);
    return 1;
}
Alguйm ajuda por favor =l
Reply
#2

UP...
Reply
#3

Sу uma pergunta, vocк pegou esse code pronto?
Se sim, sugiro que vocк refaзa do 0, pois alguns codes prontos podem conflitar em alguns GM's...
Reply
#4

Que tipo de conflito?
Informe um exemplo...
Reply
#5

Verifique tambйm, se estб o codigo estб sendo executado corretamente... e se existe o arquivo dentro da scriptfiles.


Se quiser eu faзo um sistema de salvamento de armas pra vocк, qual й o sistema de arquivos que usa pro salvamento em seu gm?
Reply
#6

Quote:
Originally Posted by Adonay
Посмотреть сообщение
Verifique tambйm, se estб o codigo estб sendo executado corretamente... e se existe o arquivo dentro da scriptfiles.


Se quiser eu faзo um sistema de salvamento de armas pra vocк, qual й o sistema de arquivos que usa pro salvamento em seu gm?
DOF2
Reply
#7

Ok, jб posto... vou liberar o FS pra todos ok?
Reply
#8

Quote:
Originally Posted by Adonay
Посмотреть сообщение
Ok, jб posto... vou liberar o FS pra todos ok?
Tranquilo '-'
Caso postar, ( se postar mesmo ) poe o link aqui? Por favor ..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)