24.06.2012, 21:44
Good, acho que vou mudar meu sistema de arquivos para bini =D vou ter que editar pra porra kk uso SII. Nem tanto pq as funзхes sгo iguais, sу vou mudar algumas coisas.
#include <bini>
#define SINI_Open INI_Open
#define SINI_WriteString(%0,%1) INI_WriteString(nomeArquivo,%0,%1)
#define SINI_WriteInt(%0,%1) INI_WriteInt(nomeArquivo,%0,%1)
#define SINI_ReadString(%0,%1,%2) INI_WriteString(nomeArquivo,%1)
#define SINI_ReadInt(%1) INI_WriteInt(nomeArquivo,%1)
#define SINI_Save INI_Save
#define SINI_Close INI_Close
#define DOF2_CreateFile INI_Create
#define DOF2_SetInt INI_WriteInt
#define DOF2_SaveFile INI_Save
#define DOF2_SaveFile INI_Save
#define DOF2_PrintFile INI_Print
#define DOF2_GetString(%0,%1) dof_fix_str(INI_ReadString(%0,dof_fix_str(%1,1,1)),0,0)
#define DOF2_GetInt(%0,%1) INI_ReadInt(%0, dof_fix_str(%1,1,1))
#define DOF2_SetString(%0,%1,%2) INI_WriteString(%0,dof_fix_str(%1,1,1),dof_fix_str(%2,0,0))
#define DOF2_SetInt(%2,%0,%1) INI_WriteString(%2,dof_fix_str(%1,1,1),(format(destinoString, sizeof(destinoString), " %i", %1),destinoString))
#define DOF2_FileExists fexist
#define DOF2_RemoveFile INI_Delete
stock dof_fix_str(s[], put = 0, key = 0) {
static v[max_dep_memory];
strcat((v[0]='\0',v), s);
new len = strlen(v);
if(key) {
if(put) {
if(v[len-1] != ' ')
v[len]= ' ';
}
else {
if(v[len-1] == ' ')
v[len-1]='\0';
}
}
else {
if(put) {
if(v[0] != ' ')
format(v, max_dep_memory, " %s", v);
}
else {
if(v[0] == ' ')
format(v, max_dep_memory, v[1]);
}
}
return v;
}
Nгo. Isto й substituнdo na hora da compilaзгo.
- - Deu erros Paulor? |
#define SINI_WriteString(%0,%1) INI_WriteString(nomeArquivo,%0,%1)
#define DOF2_FileExists fexist
#define DOF2_RemoveFile INI_Delete
#define DOF2_CreateFile INI_Create
#define DOF2_SetString INI_WriteString
#define DOF2_GetString INI_ReadString
#define DOF2_SetInt INI_WriteInt
#define DOF2_GetInt INI_ReadInt
#define DOF2_SetBool INI_WriteBool
#define DOF2_GetBool INI_ReadBool
#define DOF2_SetFloat INI_WriteFloat
#define DOF2_GetFloat INI_ReadFloat
#define DOF2_IsSet INI_Isset
#define DOF2_Exit INI_Exit
Eu nгo testei, mas da pra saber, veja:
pawn Code:
@Edit Demoro d+ bruno! pawn Code:
|
key = value
key=value
Vocк estб falando o que nгo sabe. nomeArquivo й a variбvel armazenada pelo INI_Open responsбvel por armazenar o arquivo atual que estб aberto.
E BINI nгo funciona com DOF2. DOF grava com white spaces DOF2 Code:
key = value Code:
key=value |
Lider=Bruno_Pereira
SubLider444=Ninguem
SubLider555=Ninguem
Membro1=Ninguem
Membro2=Ninguem
Membro3=Ninguem
Membro4=Ninguem
Membro5=Ninguem
Membro6=Ninguem
Membro7=Ninguem
Membro8=Ninguem
Membro9=Ninguem
Membro10=Ninguem
Membro11=Ninguem
Membro12=Ninguem
Membro13=Ninguem
Membro14=Ninguem
Membro15=Ninguem
CofreOrg=0
SalarioLider=0
SalarioSub=0
SalarioC5=0
SalarioC4=0
SalarioC3=0
SalarioC2=0
SalarioC1=0
AK-47=0
MP5=0
SHOT-GUN=0
DEAGLE=0
Colete=0
Maconha=0
Materiais=0
Lider=Bruno_Pereira
SubLider444=Ninguem
SubLider555=Ninguem
Membro1=Ninguem
Membro2=Ninguem
Membro3=Ninguem
Membro4=Ninguem
Membro5=Ninguem
Membro6=Ninguem
Membro7=Ninguem
Membro8=Ninguem
Membro9=Ninguem
Membro10=Ninguem
Membro11=Ninguem
Membro12=Ninguem
Membro13=Ninguem
Membro14=Ninguem
Membro15=Ninguem
CofreOrg=0
SalarioLider=0
SalarioSub=0
SalarioC5=0
SalarioC4=0
SalarioC3=0
SalarioC2=0
SalarioC1=0
AK-47=0
MP5=0
SHOT-GUN=0
DEAGLE=0
Colete=0
Maconha=0
Materiais=0
CofreOrg=0
SalarioLider=0
SalarioSub=0
SalarioC5=0
SalarioC4=0
SalarioC3=0
SalarioC2=0
SalarioC1=0
AK-47=0
MP5=0
SHOT-GUN=0
DEAGLE=0
Colete=0
Maconha=0
Materiais=0
stock SaveOrg(orgID)
{
format(String, 20, "InfoOrg/Org %d.ini", orgID);
if(fexist(String))
{
INI_WriteInt(String, "CofreOrg", InfoOrg[orgID][CofreOrg]);
InfoOrg[orgID][CofreOrg] = INI_ReadInt(String, "CofreOrg");
INI_WriteInt(String, "SalarioLider", InfoOrg[orgID][Salario][6]);
InfoOrg[orgID][Salario][6] = INI_ReadInt(String, "SalarioLider");
INI_WriteInt(String, "SalarioSub", InfoOrg[orgID][Salario][5]);
InfoOrg[orgID][Salario][5] = INI_ReadInt(String, "SalarioSub");
INI_WriteInt(String, "SalarioC5", InfoOrg[orgID][Salario][4]);
InfoOrg[orgID][Salario][4] = INI_ReadInt(String, "SalarioC5");
INI_WriteInt(String, "SalarioC4", InfoOrg[orgID][Salario][3]);
InfoOrg[orgID][Salario][3] = INI_ReadInt(String, "SalarioC4");
INI_WriteInt(String, "SalarioC3", InfoOrg[orgID][Salario][2]);
InfoOrg[orgID][Salario][2] = INI_ReadInt(String, "SalarioC3");
INI_WriteInt(String, "SalarioC2", InfoOrg[orgID][Salario][1]);
InfoOrg[orgID][Salario][1] = INI_ReadInt(String, "SalarioC2");
INI_WriteInt(String, "SalarioC1", InfoOrg[orgID][Salario][0]);
InfoOrg[orgID][Salario][0] = INI_ReadInt(String, "SalarioC1");
INI_WriteInt(String, "AK-47", InfoOrg[orgID][Balas][3]);
InfoOrg[orgID][Balas][3] = INI_ReadInt(String, "AK-47");
INI_WriteInt(String, "MP5", InfoOrg[orgID][Balas][2]);
InfoOrg[orgID][Balas][2] = INI_ReadInt(String, "MP5");
INI_WriteInt(String, "SHOT-GUN", InfoOrg[orgID][Balas][1]);
InfoOrg[orgID][Balas][1] = INI_ReadInt(String, "SHOT-GUN");
INI_WriteInt(String, "DEAGLE", InfoOrg[orgID][Balas][0]);
InfoOrg[orgID][Balas][0] = INI_ReadInt(String, "DEAGLE");
INI_WriteInt(String, "Colete", InfoOrg[orgID][Colete]);
InfoOrg[orgID][Colete] = INI_ReadInt(String, "Colete");
INI_WriteInt(String, "Maconha", InfoOrg[orgID][Maconha]);
InfoOrg[orgID][Maconha] = INI_ReadInt(String, "Maconha");
INI_WriteInt(String, "Materiais", InfoOrg[orgID][Materiais]);
InfoOrg[orgID][Materiais] = INI_ReadInt(String, "Materiais");
INI_Save();
}
return true;
}
se eu nгo usar INI_Save vou usar o que pra salvar, se eu der GMX pela Rcon o INI_Exit nгo й chamado.
|
Ahhh, esqueci deste problema. Realmente quando GMX й dado nгo й chamado OnGameModeExit. Vou pensar em um jeito de finalizar o ъltimo arquivo.
Mas em relaзгo aos outros arquivos, funcionou agora? OF: Testei aqui com INI_Save e tambйm funcionou perfeitamente. Vocк estб usando a ъltima versгo, correto? |
Nгo й chamado ? Aqui chama sim! Sempre que dou GMX ele print umas Mensagens que deixo no OnGameModeExit!
|
main() {
for(new i; i != 50 ; i++) {
SaveOrg(i);
}
return true;
}
stock SaveOrg(orgID)
{
static String[128];
format(String, 20, "Org %d.ini", orgID);
if(!fexist(String))
{
INI_Create(String);
INI_WriteInt(String, "CofreOrg", orgID);
INI_WriteInt(String, "SalarioLider", orgID);
INI_WriteInt(String, "SalarioSub", orgID);
INI_WriteInt(String, "SalarioC5", orgID);
INI_WriteInt(String, "SalarioC4", orgID);
INI_WriteInt(String, "SalarioC3", orgID);
INI_WriteInt(String, "SalarioC2", orgID);
INI_WriteInt(String, "SalarioC1", orgID);
INI_WriteInt(String, "AK-47", orgID);
INI_WriteInt(String, "MP5", orgID);
INI_WriteInt(String, "SHOT-GUN", orgID);
INI_WriteInt(String, "DEAGLE", orgID);
INI_WriteInt(String, "Colete", orgID);
INI_WriteInt(String, "Maconha", orgID);
INI_WriteInt(String, "Materiais", orgID);
INI_Save();
}
return true;
}