Dla Was to pewnie pestka .
#include <amxmodx> #include <amxmisc> #include <nvault> #include <fun> #include <cstrike> #define PLUGIN "Plugin" #define VERSION "0.1" #define AUTHOR "G[o]Q" new fragi[33] // fragi new deads[33] // deady new g_name[33][48] new plik_vault public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say poka", "pokaz") plik_vault = nvault_open("fragi") //tutaj podajemy "nazwe" pliku z danymi if(plik_vault == INVALID_HANDLE) set_fail_state("Nie moge otworzyc pliku <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/kwasny.gif' class='bbc_emoticon' alt=':/' />"); } public client_authorized(id) load_frags(id); public client_disconnect(id) { save_frags(id) fragi[id]=0 // zeby ktos kto wejdzie po nas nie mial naszych fragow zapisanych w tablicy deads[id]=0 // mozna by wyswietlic komunikat ale tylko gdy uzywamy komendy bo inaczej nie dosc ze nic sie nie wyswietli // to w logach zobaczymy "index out of bound" } public plugin_end() nvault_close(plik_vault) public pokaz(id) // funkcje nie ustawiaja liczby frags/deads a plugin mial tylko pokazywac dzialanie stad komenda client_print(id, print_chat, "fragi: %d deady: %d nick: %s", fragi[id], deads[id], g_name[id]); public load_frags(id) { new name[48] get_user_name(id,name,47) new vaultkey[64],vaultdata[128] formatex(vaultkey,63,"%s-fragi",name) nvault_get(plik_vault,vaultkey,vaultdata,127) // pobieramy dane new fragitemp[16], deadstemp[16], nametemp[48]; parse(vaultdata, fragitemp, 15, deadstemp, 15, nametemp, 47) // wydobywamy z ciagu vaultdata nasze dane fragi[id]=str_to_num(fragitemp) // przypisujemy danym ich wartosci wczytane deads[id]=str_to_num(deadstemp) set_user_frags(id,fragi[id]) cs_set_user_deaths ( id, deads[id] ) copy(g_name[id], 47, nametemp); return PLUGIN_CONTINUE } public save_frags(id) { fragi[id]+=get_user_frags(id) // zwiekszamy liczbe fragow i deadow o stan bierzacy deads[id]+=get_user_deaths(id) new name[48] get_user_name(id,name,47) new vaultkey[64],vaultdata[128] // 2 zmienne na klucz i dane ktore bedziemy zapisywac formatex(vaultkey,63,"%s-fragi",name) //formatujemy klucz czyli nasz identyfikator dostepu najlepiej zeby roznil sie on 1 czlonem od pozostalych formatex(vaultdata,127,"%d %d ^"%s^"", fragi[id], deads[id], name) // formatujemy dane nvault_set(plik_vault,vaultkey,vaultdata) // zapisujemy dane "pod" danym kluczem w pliku return PLUGIN_CONTINUE }
Użytkownik kefir33 edytował ten post 26.04.2012 21:44