Deschidem un nou proiect in AMXX STUDIO.
1.Creem 2 variabile.
Code: Select all
new Points [ 33 ];
Code: Select all
new SaveDataFile [ 128 ];
2. In public plugin_init ( ) adaugam:
a)
Code: Select all
register_event ( "DeathMsg", "eDeath", "a" );
b)
Code: Select all
new szConfigFile [ 64 ];
c)
Code: Select all
get_configsdir ( szConfigFile, charsmax ( szConfigFile ) );
d)
Code: Select all
format ( SaveDataFile, charsmax ( SaveDataFile ), "%s/Nume_Fisier.dat", szConfigFile );
SMA-ul nostru ar trebui sa arate asa:
3. In public eDeath ( ) adaugam:
a)
Code: Select all
new killer = read_data ( 1 );
new victim = read_data ( 2 );
Code: Select all
if ( killer == victim ) return PLUGIN_HANDLED;
c)
Code: Select all
Points [ id ] += 2;
d)
Code: Select all
return PLUGIN_CONTINUE;
4. In public client_connect ( id ) adaugam:
Code: Select all
LoadPoints ( id );
Code: Select all
SavePoints ( id );
Code: Select all
new Name [ 32 ];
get_user_name ( id, Name, 31 );
new Line [ 128 ], IsPlayer = false, Arg1 [ 32 ], Arg2 [ 32 ];
new File = fopen ( SaveDataFile, "rt" )
while ( !feof ( File ) ) {
fgets ( File, Line, 127 );
trim ( Line );
parse ( Line, Arg1, 31, Arg2, 31 );
if ( equali ( Arg1, Name ) ) {
Points [ id ] = str_to_num ( Arg2 );
IsPlayer = true;
break;
}
}
fclose ( File );
if ( !IsPlayer )
Points [ id ] = 0;
Code: Select all
new Name [ 32 ];
get_user_name ( id, Name, 31 );
new Save [ 1024 ];
format ( Save, sizeof ( Save ) -1, "^"%s^" %d", Name, Points [ id ] );
new Line [ 128 ], Linie, IsPlayer = false, Arg1 [ 32 ]
new File = fopen ( SaveDataFile, "rt" );
while ( !feof ( File ) ) {
fgets ( File, Line, 127 );
parse ( Line, Arg1, 31 );
if ( equali ( Arg1, Name ) ) {
write_file ( SaveDataFile, Save, Linie );
IsPlayer = true;
break;
}
Linie++
}
fclose ( File );
if ( !IsPlayer )
write_file ( SaveDataFile, Save, -1 );
}
Credite lui hades pentru metoda de salvare.
Sper sa va placa tutorialul.