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
Operacje na plikach
Temat rozp.
Pittero
, 10.10.2010 13:17
14 odpowiedzi w tym temacie
#1
Napisano 10.10.2010 13:17
Witajcie, potrzebuje przykaldu pluginu ktory bedzie zapisywal STEAM ID gracza w pliku steamid.ini jesli gracz wpisze na say /zapisz
A i potrzebny tez mi przyklad wczytania tego np ktos wpisze /delete to pokaze mu "Twoj Steam id jest zapisany" lub nie jest jesli nie ma tego steam id w pliku.
A i potrzebny tez mi przyklad wczytania tego np ktos wpisze /delete to pokaze mu "Twoj Steam id jest zapisany" lub nie jest jesli nie ma tego steam id w pliku.
#2
Napisano 10.10.2010 13:44
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
new const FileName[] = "steams.ini";
new FileDir[55];
public plugin_init()
{
register_plugin("FileChecker", "0.X", "Knopers");
register_concmd("say /zapisz","fnAddToFile");
register_concmd("say /delete","fnSearchInFile");
new ConfigDir[40];
get_configsdir(ConfigDir, 39);
formatex(FileDir, 54, "%s/%s", ConfigDir, FileName);
}
public fnSearchInFile(id)
{
new SID[64];
get_user_authid(id, SID, 63);
if(is_in_file(SID))
client_print(id, print_chat, "Twoje SteamID jest w pliku");
else
client_print(id, print_chat, "Twojego SteamID nie ma w pliku");
}
public fnAddToFile(id,level,cid)
{
new SID[64];
get_user_authid(id, SID, 63);
if(is_in_file(SID))
{
client_print(id, print_console, "Twoj SteamID jest juz w pliku!");
return PLUGIN_HANDLED;
}
write_file(FileDir, SID);
client_print(id, print_console, "SteamID Dodany !");
return PLUGIN_HANDLED;
}
is_in_file(SID[])
{
new sid[35], len;
for(new i = 0; read_file(FileDir, i, sid, 34, len); i++)
{
if(sid[0] == ';')
continue;
if(equal(SID, sid))
return true;
}
return false;
}
#3
Napisano 10.10.2010 13:56
Knopers, dzięki bardzo mialbym jeszcze prosbe czy moglbys zrobic usuwanie SID swojego po wpisaniu /usun i zeby te sid zapisywaly sie w formacie
sid1;
sid2;
dzięki bardzo
A co oznacza
if(sid[0] == ';')
continue;
sid1;
sid2;
dzięki bardzo
A co oznacza
if(sid[0] == ';')
continue;
Użytkownik Pittero edytował ten post 10.10.2010 15:13
#4
Napisano 11.10.2010 17:26
1. Nie widzę tu potrzeby includowania hamsandwich
2. Do czego to ma służyć? Bardziej optymalny byłby zapis np. nvault, ale pod warunkiem, że nie potrzebujesz tego czytać z pliku (czytać w sensie otworzyć plik i sprawdzić zawartość SIDów, a nie w sensie odczytu przez serwer)
2. Do czego to ma służyć? Bardziej optymalny byłby zapis np. nvault, ale pod warunkiem, że nie potrzebujesz tego czytać z pliku (czytać w sensie otworzyć plik i sprawdzić zawartość SIDów, a nie w sensie odczytu przez serwer)
#5
Napisano 11.10.2010 19:05
Potrzebuje tego przykladu do banowania/zakazywania graczom wejscia do TT.
Chodzi mi o zapis, usuniecie, sprawdzenie/wywolanie sid czy gdzies jest zapisane.
Menu dodam itd ale tej operacji na plikach nie rozumiem.
Chodzi mi o zapis, usuniecie, sprawdzenie/wywolanie sid czy gdzies jest zapisane.
Menu dodam itd ale tej operacji na plikach nie rozumiem.
#6
Napisano 11.10.2010 19:41
To zrób na nvaulcie a co do ham grankee to zostało z innego mojego pluginu który miał prawie identyczny kod do tego
nvault
http://www.amxmodx.o...hp?go=inc&id=41
nvault
http://www.amxmodx.o...hp?go=inc&id=41
#7
Napisano 11.10.2010 19:46
A usuwanie z nvalut ?
#9
Napisano 12.10.2010 12:22
Napisze ktos przyklad na nvalut:P?
Dodano 12 październik 2010 - 12:22:
Napisze ktos przyklad na nvalut:P?
Dodano 12 październik 2010 - 12:22:
Napisze ktos przyklad na nvalut:P?
#10
Napisano 12.10.2010 13:12
public wczytaj(id){ new key[64],data[128] get_user_name(id,key,63); nvault_get(nvault,key,data,127); new fragi[64],dedy[64]; replace_all(data, 127, "#", " "); parse(data,fragi,64,dedy,63); } public zapisz(id){ new key[64],data[128] get_user_name(id,key,63); format(data,charsmax(data),"%i#%i",get_user_frags(id),get_user_deaths(id)); nvault_set(nvault,key,data) }z jednego pluga
#11
Napisano 12.10.2010 17:36
DarkGL, a usuwanie?
#12
Napisano 12.10.2010 17:46
#include <amxmodx> #include <amxmisc> #include <nvault> new nvault; public plugin_init() { register_plugin("FileChecker", "0.X", "Knopers"); register_concmd("say /zapisz","fnAddToFile"); register_concmd("say /delete","fnSearchInFile"); register_clcmd("say /usun","fnUsun") nvault = nvault_open("steams") } public fnSearchInFile(id) { new SID[64]; get_user_authid(id, SID, 63) new string[64] nvault_get(nvault,SID,string) if(equal(string,SID)) client_print(id, print_chat, "Twoje SteamID jest w pliku"); else client_print(id, print_chat, "Twojego SteamID nie ma w pliku"); } public fnAddToFile(id,level,cid) { new SID[64]; get_user_authid(id, SID, 63); new string[64] nvault_get(nvault,SID,string) if(equal(string,SID)) { client_print(id, print_console, "Twoj SteamID jest juz w pliku!"); return PLUGIN_HANDLED; } nvault_set(nvault,SID,SID); client_print(id, print_console, "SteamID Dodany !"); return PLUGIN_HANDLED; } public usun(id){ new SID[64]; get_user_authid(id, SID, 63); nvault_remove(nvault,SID); }coś mi się wydaje że lepiej to można napisać
#13
Napisano 12.10.2010 17:48
ustaw fragi na 0 i zapisz..
#14
Napisano 13.10.2010 14:30
Co masz na mysli ??coś mi się wydaje że lepiej to można napisać
#15
Napisano 13.10.2010 14:57
po prostu mam takie odczucie i coś mi mówi tak w głowie tylko nie wiem jak :F
kyku co się stanie bo jak coś złego to update pluga musze zrobić :F
kyku co się stanie bo jak coś złego to update pluga musze zrobić :F
Użytkownicy przeglądający ten temat: 2
0 użytkowników, 2 gości, 0 anonimowych