Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* INCLUDE CRIADA POR Ivan - BlackCoder
- TODOS OS DIREITOS RESERVADOS A EQUIPE ROCKSGAMES
- */
- #include <a_samp>
- #define MAX_ARQUIVOS 600
- /*native RocksFile_Existe(diretorio[]);
- native RocksFile_Excluir(diretorio[]);
- native RocksFile_Criar(diretorio[]);
- native RocksFile_Carregar(nomearquivo[],diretorio[]);
- native RocksFile_Escrever(nomearquivo[],chave[],escrita[]);
- native RocksFile_EscreverInteiro(nomearquivo[],chave[],escrita[]);
- native RocksFile_EscreverFloat(nomearquivo[],chave[],escrita[]);
- native RocksFile_Ler(nomearquivo[],chave[]);
- native RocksFile_LerInteiro(nomearquivo[],chave[]);
- native RocksFile_LerFloat(nomearquivo[],chave[]);
- native RocksFile_Salvar(nomearquivo[]);
- native RocksFile_Fechar(nomearquivo[]);
- */
- enum ficheiros
- {
- fNome[50],
- fDiretorio[50],
- fEscrita[60],
- }
- new Ficheiro[600][ficheiros];
- stock RocksFile_Existe(filename[])
- {
- if(fexist(filename))return true;
- return false;
- }
- stock RocksFile_Excluir(filename[])
- {
- if(!fexist(filename))return false;
- fremove(filename);
- return true;
- }
- stock RocksFile_Criar(filename[])
- {
- new File:fhnd;
- if(fexist(filename)) return false;
- fhnd=fopen(filename,io_write);
- fclose(fhnd);
- return true;
- }
- stock RocksFile_Carregar(nomearquivo[],diretorio[])
- {
- new File:arquivo;
- arquivo = fopen(diretorio,io_read);
- new string[3000],atual[200];
- while(fread(arquivo,atual))
- {
- format(string,3000,"%s%s",string,atual);
- }
- fclose(arquivo);
- new carregado = false;
- for(new i; i < sizeof(Ficheiro); i++)
- {
- if(strcmp(Ficheiro[i][fNome],nomearquivo,true,sizeof(Ficheiro)) == 0)
- {
- format(Ficheiro[i][fNome],50,"%s",nomearquivo);
- format(Ficheiro[i][fDiretorio],50,"%s",diretorio);
- format(Ficheiro[i][fEscrita],sizeof(Ficheiro),"%s",string);
- carregado = true;
- break;
- }
- }
- if(!carregado)
- {
- for(new i; i<sizeof(Ficheiro); i++)
- {
- if(strcmp(Ficheiro[i][fNome],"",true) == 0)
- {
- format(Ficheiro[i][fNome],50,"%s",nomearquivo);
- format(Ficheiro[i][fDiretorio],50,"%s",diretorio);
- RocksFile_Carregar(nomearquivo,diretorio);
- break;
- }
- }
- }
- return 1;
- }
- stock RocksFile_Escrever(nomearquivo[],chave[],escrita[])
- {
- new carregado = false;
- for(new i; i<sizeof(Ficheiro); i++)
- {
- if(strcmp(Ficheiro[i][fNome],nomearquivo,true,sizeof(Ficheiro)) == 0)
- {
- carregado = true;
- new fchave[51];
- format(fchave,51,"%s=",chave);
- if(strfind(Ficheiro[i][fEscrita],fchave,false) == -1)
- {
- format(Ficheiro[i][fEscrita],sizeof(Ficheiro),"%s%s%s\r\n",Ficheiro[i][fEscrita],fchave,escrita);
- break;
- }
- else
- {
- strdel(Ficheiro[i][fEscrita],strfind(Ficheiro[i][fEscrita],fchave,false)+strlen(fchave),strfind(Ficheiro[i][fEscrita],"\r\n",false,strfind(Ficheiro[i][fEscrita],fchave,false)));
- strins(Ficheiro[i][fEscrita],escrita,strfind(Ficheiro[i][fEscrita],fchave,false)+strlen(fchave),5000);
- break;
- }
- }
- }
- if(!carregado){printf("[ERRO] RocksFile:O arquivo de nome %s nao foi carregado",nomearquivo);}
- return 0;
- }
- stock RocksFile_Salvar(nomearquivo[])
- {
- for(new i; i<sizeof(Ficheiro); i++)
- {
- if(strcmp(Ficheiro[i][fNome],nomearquivo,true,sizeof(Ficheiro)) == 0)
- {
- new File:arquivo;
- arquivo = fopen(Ficheiro[i][fDiretorio],io_write);
- if(!arquivo)
- {
- printf("RocksFile: O diretorio %s não foi encontrado.",Ficheiro[i][fDiretorio]);
- return 1;
- }
- fwrite(arquivo,Ficheiro[i][fEscrita]);
- fclose(arquivo);
- break;
- }
- }
- return 1;
- }
- stock RocksFile_LerInteiro(nomearquivo[],chave[])
- {
- return strval(RocksFile_Ler(nomearquivo,chave));
- }
- stock RocksFile_LerFloat(nomearquivo[],chave[])
- {
- new Float:floats;
- format(floats,20,"%f",floatstr(RocksFile_Ler(nomearquivo,chave));
- return floats;
- }
- stock RocksFile_EscreverInteiro(nomearquivo[],chave[],escrita)
- {
- new volta[20];
- format(volta,20,"%d",escrita);
- return RocksFile_Escrever(nomearquivo,chave,volta);
- }
- stock RocksFile_EscreverFloat(nomearquivo[],chave[],Float:escrita)
- {
- new volta[20];
- format(volta,20,"%f",escrita);
- return RocksFile_Escrever(nomearquivo,chave,volta);
- }
- stock RocksFile_Fechar(nomearquivo[])
- {
- new fechado;
- for(new i; i<sizeof(Ficheiro); i++)
- {
- if(strcmp(Ficheiro[i][fNome],nomearquivo,false,sizeof(Ficheiro)) == 0)
- {
- fechado = true;
- format(Ficheiro[i][fNome],0,"");
- format(Ficheiro[i][fDiretorio],0,"");
- format(Ficheiro[i][fEscrita],0,"");
- break;
- }
- }
- if(!fechado)
- {
- printf("RocksFile: Nenhum arquivo foi aberto com o nome %s para ser fechado.",nomearquivo);
- return 0;
- }
- return 1;
- }
- stock RocksFile_Ler(nomearquivo[],chave[])
- {
- new carregado = false;
- new retorno[500];
- for(new i; i<sizeof(Ficheiro); i++)
- {
- if(strcmp(Ficheiro[i][fNome],nomearquivo,true,sizeof(Ficheiro)) == 0)
- {
- carregado = true;
- new fchave[51];
- format(fchave,51,"%s=",chave);
- if(strfind(Ficheiro[i][fEscrita],fchave,false) != -1)
- {
- new posicao = strfind(Ficheiro[i][fEscrita],fchave,false)+strlen(fchave);
- strmid(retorno,Ficheiro[i][fEscrita],posicao,strfind(Ficheiro[i][fEscrita],"\r\n",false,posicao));
- break;
- }
- }
- }
- if(!carregado)printf("RocksFile: O arquivo de nome %s nao foi carregado",nomearquivo);
- return retorno;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement