public OnGameModeInit()
{
if(!fexist("Test.txt")) // Verificamos que en 'scriptfiles' no existe el archivo 'Test' con la extensiуn 'txt'.
{
// Recuerden que deben aсadirle el tag 'File'.
new File:INI = fopen("Test.txt", io_write); // Abrimos el archivo 'Test.txt'. Como en este caso no existe, se crearб.
fwrite(INI, "Password = Tutorial\r\n"); // El '\r\n' es para escribir una nueva lнnea en el archivo.
fclose(INI); // Cerramos el archivo.
}
return 1;
}
// Supondremos que en el archivo 'Test.txt', la primera lнnea es: Password = Tutorial\r\n
public OnGameModeInit()
{
new File:INI = fopen("Test.txt", io_read);
if(INI) // Como 'fopen' devuelve '1' si el archivo abriу exitosamente, aquн verificaremos que lo hizo (en caso contrario devuelve '0').
{
new save[27]; // Estas variable almacenarб toda la lнnea.
fread(INI, string); // Luego explicarй sobre 'fread' - Ahora la variable 'save' serб 'Password = Tutorial\r\n'.
printf("* INI: %s", string);
// En la consola dirб: * INI: Password = Tutorial
}
return 1;
}
public OnGameModeInit()
{
new File:INI = fopen("Test.txt", io_write); // Al hacer esto, 'Password = Tutorial\r\n' serб borrado del archivo.
if(INI)
{
fwrite(INI, "Password = Tutorial\r\n");
fwrite(INI, "IP = 255.255.255\r\n");
// No es necesario aсadir '\r\n' a la ъltima lнnea del archivo.
fclose(INI);
}
return 1;
}
Password = Tutorial IP = 255.255.255
Password = Tutorial IP = 255.255.255
public OnGameModeInit()
{
new File:INI = fopen("Test.txt", io_append); // Abrirб la ъltima lнnea del archivo para escribir en ella.
if(INI)
{
fwrite("AdminLevel ="); // En el archivo: AdminLevel =
fwrite(" 10"); // Aquн seguiremos escribiendo en la lнnea que estб posicionado el fichero en el archivo.
fclose(INI);
}
return 1;
}
Password = Tutorial IP = 255.255.255 AdminLevel = 10
public OnGameModeInit()
{
new File:INI = fopen("Test.txt", io_read);
if(INI)
{
new string[3][27];
fread(INI, string[0], 28); // Leemos la primera lнnea del archivo - 'save[0]' ahora es: Password = Tutorial\r\n - El '28' (tercer argumento/parбmetro) hace referencia a la cantidad de bytes que se leerб en la lнnea.
fread(INI, string[1]); // Leemos la segunda lнnea del archivo - 'save[1]' ahora es: IP = 255.255.255\r\n
fread(INI, string[2]); // Leemos la segunda lнnea del archivo - 'save[2]' ahora es: AdminLevel = 10
fclose(INI);
}
return 1;
}
public OnGameModeInit()
{
new File:INI = fopen("Test.txt", io_read);
if(INI)
{
new string[11];
fseek(INI, 11, seek_start); // Posicionamos el fichero al caracter nъmero '11' de la prнmera lнnea. En este caso: (vean la imagen de abajo).
fread(INI, string); // Aquн leera toda la lнnea desde en donde posicionamos el fichero.
fclose(INI);
}
return 1;
}
Tutorial\r\n
string[strlen(string)] = '\0'; // '\0' es para vaciar el carбcter - Limpiarб el ъltimo.
string[strlen(string)-1] = '\0'; // Limpiarб el ante-ъltimo.
// '\r' o '\n' ocupan un carбcter.
Tutorial
public OnGameModeInit()
{
new File:INI = fopen("Test.txt", io_read);
if(INI)
{
new string[11];
fread(INI, string); // Leemos la primera lнnea.
fread(INI, string); // Pasamos a la segunda lнnea.
fseek(INI, 13, seek_current); // Ahora el fichero estarб posicionado aquн: (vean la imagen de abajo).
fclose(INI);
}
return 1;
}
public OnGameModeInit()
{
new File:INI = fopen("Test.txt", io_read); // Abrimos el archivo para leerlo.
if(INI)
{
new string[3][27];
fread(INI, string[0]); // Leemos la primera lнnea y guardamos su valor.
fread(INI, string[1]); // Pasamos a la segunda lнnea, la leemos y la guardamos.
fread(INI, string[2]); // Pasamos a la tercer lнnea, la leemos y la guardamos.
fclose(INI); // Aquн lo cerramos para volverlo a abrir, pero esta vez para escribir en йl.
strdel(string[1], 0, 27); // Vaciamos toda la cadena.
strins(string[1], "IP = 126.124.1.21\r\n", 0);ґ// Ahora la cadena 'string[1]' serб: IP = 126.124.1.21\r\n
INI = fopen("Test.txt", io_write); // Ahora escribiremos la informaciуn guardada.
fwrite(INI, string[0]);
fwrite(INI, string[1]);
fwrite(INI, string[2]);
fclose(INI);
}
return 1;
}
Password = Tutorial IP = 126.124.1.21 AdminLevel = 10
De hecho, la mejor forma seria guardando cada tipo de datos en archivos diferentes.
|
con la explicancion de la wiki es suficiente, pero bueh.
"Un gran tutorial, gracias por el efuerzo,sigue asi". saludos, |
Con tu comentario, veo que dices que el tutorial es realmente innecesario, luego dices que es un genial (lo mas tonto es que lo aсades entre comillas
![]() Si ayudй a algunos estoy contento e ignorarй los comentarios estъpidos, no todos sabemos algunas cosas. Si tъ te lo 'sabes' todo, no significa que otros tambiйn. |
fue una critica constructiva, debes de aprender a tomarlas. un saludos Enzito. ![]() |