Witam, moglby ktos mi napisac przykladowy plugin ktory zapisywalby dane do pliku w formacie
Steam_ID-199
STEAM_ID - steam id
a 199 - liczba jakas np fragow
i pozniej jakis przyklad odczytu tego.
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Zapis|odczyt plikow
Temat rozp. Pittero, 19.03.2011 12:37
5 odpowiedzi w tym temacie
#1
Napisano 19.03.2011 12:37
#2
Napisano 19.03.2011 12:52
możesz użyć nVault jak nie umiesz sam zapewnić funkcjonalności; w Tutorialach chyba Miczu opisywał jak obsługiwać pliki w AMXX
#3
Napisano 19.03.2011 14:23
Wlasnie Nvalut uzywany przy client_disconnect gryzie sie chyba z Allow round finish - AMXX.pl: Support AMX Mod Xmożesz użyć nVault jak nie umiesz sam zapewnić funkcjonalności; w Tutorialach chyba Miczu opisywał jak obsługiwać pliki w AMXX
BO mi crashuje serwer...
Dodano 31 marzec 2011 - 10:11:
Poda ktos jakis przyklad?
Dodano 31 marzec 2011 - 10:12:
Poda ktos jakis przyklad?
#4
Napisano 31.03.2011 14:57
zamiast zadręczać innych takimi problemami zajrzyj do dokumentacji Dokumentacja AMXX.pl: Core >> file
możesz też wciąż odświeżać ten temat i w ten sposób nie nauczyć się niczego
możesz też wciąż odświeżać ten temat i w ten sposób nie nauczyć się niczego
#5
Napisano 02.04.2011 00:02
Dla leniwych
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define IsPlayer(%1) (1 <= %1 <= get_maxplayers())
static const VERSION[] = "0.1";
new gszFile[128];
public plugin_init(){
register_plugin("Save it", VERSION, "diablix");
register_clcmd("say /save", "cmdSave");
register_clcmd("say /load", "cmdLoad");
new szDir[64];
get_basedir(szDir, sizeof szDir);
add(szDir, sizeof szDir, "/zapisani");
if (!dir_exists(szDir))
mkdir(szDir);
formatex(gszFile, 96, "%s/players_saved.txt", szDir);
}
public cmdSave(id) { Save(id); return 1; }
public cmdLoad(id) { Load(id); return 1; }
Save(id){
new file = fopen(gszFile, "wt"),
szData[512],
szSTEAMID[32],
Float:fFrags;
pev(id, pev_frags, fFrags);
get_user_authid(id, szSTEAMID, sizeof szSTEAMID - 1);
if(IsPlayer(id)){
formatex(szData, 512, "%f %s^n", fFrags, szSTEAMID);
fputs(file, szData);
client_print(id, 3, "Pomyslnie zapisano!");
}
fclose(file);
}
Load(id){
if(file_exists(gszFile)){
new szLine[768],
szType[3],
szSTEAMID[32],
szTEMPID[32],
szFrags[20],
Float:fFrags,
file = fopen(gszFile, "rt");
get_user_authid(id, szTEMPID, sizeof szTEMPID - 1);
while (!feof(file)){
szType = "";
fgets(file, szLine, 767);
remove_quotes(szLine);
parse(szLine, szType, 2, szFrags, 19, szSTEAMID, 31);
fFrags = str_to_float(szFrags);
if(equal(szTEMPID, szSTEAMID)){
set_pev(id, pev_frags, fFrags);
client_print(id, 3, "Twoj Steam_ID to: %s, Twoje Fragi: %d", szSTEAMID, floatround(fFrags));
}
else
client_print(id, 3, "Nie odnaleziono Cie na liscie!");
}
fclose(file);
}
}
#6
Napisano 02.04.2011 09:57
DiabliX, dzięki bardzo lecz nie dziala to jak nalezy. Tzn funckja Load pokazuje ciagle Nie odnaleziono Cie na liscie!Dla leniwych
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define IsPlayer(%1) (1 <= %1 <= get_maxplayers())
static const VERSION[] = "0.1";
new gszFile[128];
public plugin_init(){
register_plugin("Save it", VERSION, "diablix");
register_clcmd("say /save", "cmdSave");
register_clcmd("say /load", "cmdLoad");
new szDir[64];
get_basedir(szDir, sizeof szDir);
add(szDir, sizeof szDir, "/zapisani");
if (!dir_exists(szDir))
mkdir(szDir);
formatex(gszFile, 96, "%s/players_saved.txt", szDir);
}
public cmdSave(id) { Save(id); return 1; }
public cmdLoad(id) { Load(id); return 1; }
Save(id){
new file = fopen(gszFile, "wt"),
szData[512],
szSTEAMID[32],
Float:fFrags;
pev(id, pev_frags, fFrags);
get_user_authid(id, szSTEAMID, sizeof szSTEAMID - 1);
if(IsPlayer(id)){
formatex(szData, 512, "%f %s^n", fFrags, szSTEAMID);
fputs(file, szData);
client_print(id, 3, "Pomyslnie zapisano!");
}
fclose(file);
}
Load(id){
if(file_exists(gszFile)){
new szLine[768],
szType[3],
szSTEAMID[32],
szTEMPID[32],
szFrags[20],
Float:fFrags,
file = fopen(gszFile, "rt");
get_user_authid(id, szTEMPID, sizeof szTEMPID - 1);
while (!feof(file)){
szType = "";
fgets(file, szLine, 767);
remove_quotes(szLine);
parse(szLine, szType, 2, szFrags, 19, szSTEAMID, 31);
fFrags = str_to_float(szFrags);
if(equal(szTEMPID, szSTEAMID)){
set_pev(id, pev_frags, fFrags);
client_print(id, 3, "Twoj Steam_ID to: %s, Twoje Fragi: %d", szSTEAMID, floatround(fFrags));
}
else
client_print(id, 3, "Nie odnaleziono Cie na liscie!");
}
fclose(file);
}
}
Dodano 05 kwiecień 2011 - 12:49:
Ktos pomoze rozwiazac problem ?
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych