ipsTree România

nVault Tutorial

Găsi toate resursele de care aveți nevoie pentru a merge din discuția la ghiduri

Sign In

Don't have an account? Sign Up
Ultimele subiecte
» Cfg Super Strafe Furien
Joi 9 Feb - 18:29 Scris de user04

» Elemente suplimentare pentru titlu
Mar 7 Feb - 12:10 Scris de SySty!.™

» Informatii Echipa de gestionare
Mar 7 Feb - 9:20 Scris de Ionut.™

» Punbb Tema DevilExtrem IPB 2015
Lun 6 Feb - 20:46 Scris de Ionut.™

» aseaeqweqweqweqwe
Dum 5 Feb - 15:51 Scris de Sn!k3rs


SySty!.™

Technician

la data de Joi 18 Aug - 7:31


info nVault de documentare AMX-X:

nVault este o implementare seif binar. Acesta vă permite să deschideți bolți numele (care sunt stocate în datele \ seif) și a citi / scrie pentru a le în orice moment.

Bolta este implementat cu un simplu căutare hash, iar formatul de fișier binar este primitiv. Cu toate acestea, ar trebui să fie mult mai rapid decât built-in seif AMX Mod X pentru cele mai multe lucruri. Fiecare intrare este, de asemenea, timestamped, astfel încât să puteți prune pentru intrările vechi.

În plus, bolta încearcă să fie jurnalizată. Asta este, se păstrează un jurnal de tot ceea ce face, așa că, dacă se blochează serverul, se poate "replay" revista și recupera daune. Revista este șters pe sincronizare a binar bolta, care apare pe bolta aproape / DescarcãSchimbă.
Acestea sunt funcțiile nvault disponibile:
nvault_open - Deschide o bolta de nume (cum ar fi "myvault").
nvault_close - Închide un seif.
nvault_lookup - Pare o valoare seif pentru informații complete.
nvault_get - Ajunge o valoare boltă prin trimiterea unui int stabilirea unui float byref sau stabilirea unui șir & maxlength.
nvault_set - Seteaza o valoare bolta cu timestamp actuale.
nvault_pset - Seteaza o valoare bolta permanent cu nici timestamp.
nvault_touch - "Atinge" o cheie pentru a actualiza valoarea amprentă de timp.
nvault_prune - Prune uscate bolta pentru intrările care sunt în marcajele de timp dat.
nvault_open
Înainte de a face orice tranzacție cu o bolta, trebuie mai întâi deschis. Acest lucru se face cu comanda nvault_open; este nevoie de 1 parametru șir care va servi atât ca nume folosit pentru a deschide și numele fișierului care este creat pe serverele hard-disk ([nume] .vault). Când apelați comanda nvault_open (), se va întoarce un mâner (valoare întreagă), care este folosit de toate celelalte funcții nvault ca o trimitere la bolta particular. Dacă apare o eroare la deschiderea seifului, nvault_open () va întoarce -1 (INVALID_HANDLE) deci este o idee bună pentru a verifica dacă a deschis în mod corect înainte de a utiliza orice alte comenzi.

nvault_open (const szVaultName [])

szVaultName = Acesta va fi numele seiful. De fiecare dată când doriți să comunice cu aceasta bolta trebuie să folosiți întotdeauna același nume pentru a accesa seif. Un fișier va fi creat în datele \ folderul bolta denumit [szVaultName] .vault
PHP
//Open a vault and throw a plugin error if INVALID_HANDLE is returned.
new iVaultHandle = nvault_open ( "testvault" );

if ( iVaultHandle == INVALID_HANDLE )
set_fail_state ( "Error opening nVault" );
nvault_close
Această funcție va închide bolta. Este nevoie de mânerul sărituri pentru a închide ca un parametru. Odată ce o bolta este închis, nu se pot face orice tranzacții cu bolta până când este redeschis. În cele mai multe cazuri este mai bine pentru a pune nvault_close () în plugin_end (). Imposibilitatea de a închide un fișier seif va face ca acesta să fie corupt și veți pierde toate datele.

nvault_close (iHandle)

iHandle = Mânerul de bolta pe care ne-o dorim pentru a închide


PHP
//Open and close a vault.
new iVaultHandle = nvault_open ( "testvault" );

nvault_close ( iVaultHandle );
nvault_lookup
Această funcție va lookup date utilizând o cheie șir și va plasa datele găsite în szValue byref pentru un maxim de caractere iMaxLength. Dacă se găsește date, funcția va returna 1 (true), în cazul în care nu există date găsit 0 (fals). Timestamp va organiza la data la care intrarea a fost scris sau atins ultima. Această funcție poate prelua doar date din bolta și depozitați-l într-o variabilă șir. Vezi secțiunea de mai jos amprente de timp pentru o explicație a muncii cum amprente de timp.

nvault_lookup (iHandle, const szKey [], szValue [], iMaxLength, iTimestamp)

iHandle = Mânerul întors din nvault_open.
szKey = Cheia pe care doriți să utilizați pentru lookup de date.
szValue = Variabila șir care va stoca datele pe care le sunt preluarea.
iMaxLength = Lungimea maxima a șirului vrem citit în szValue.
iTimestamp = va organiza o amprentă de timp atunci când intrarea a fost scris sau ultima atins.
PHP
//Lookup a string stored in a vault using the players steamid as the key.
new szAuthID [ 35 ];
new szData [ 30 ];
new iTimestamp ;
new iVault ;
new iDataExists

get_user_authid ( id , szAuthID , charsmax ( szAuthID ) );

iVault = nvault_open ( "testvault" );
iDataExists = nvault_lookup ( iVault , szAuthID , szData , charsmax ( szData ) , iTimestamp );

//An entry was found, the data for this key is now stored in szData.
if ( iDataExists )
{
client_print ( id , print_chat , "Data=%s Timestamp=%d" , szData , iTimestamp );
}
else
{
client_print ( id , print_chat , "No entry found with key %s" , szAuthID );
}
nvault_get
Această funcție este foarte similar cu nvault_lookup; se pare a datelor într-un seif cu ajutorul tastei specificat. Cu toate acestea, nvault_get este un pic mai flexibil decât nvault_lookup pentru că vă permite pentru a prelua date direct într-o altă variabilă decât string. Acest lucru va nega necesitatea pentru tine să faci orice conversie de date odată datele sunt preluate ca va trebui sa faci daca folosesti nvault_lookup pentru a prelua un flotor sau Int. Notă, nvault_get nu vă permite pentru a prelua timestamp deci, dacă aveți nevoie de amprenta de timp, atunci va trebui să utilizați nvault_lookup.

nvault_get (mâner, const szKey [], ...)

mâner = Mânerul întors din nvault_open.
key = Cheia pe care doriți să utilizați pentru lookup de date.
[...] = [# Variabilă a parametrilor] Aceasta poate fi fie o variabilă float, string & maxlen, sau gol. Vezi mai jos

Numărul de parametri spune funcția ce tip de date pe care doriți să preluați. Numărului parametru începe după szKey []
0 Parametrii = nvault_get va returna valoarea întreagă.
1 Parametrii = valoarea float va fi adoptat de referință. nvault_get returnează 1 dacă a fost găsită o valoare.
2 parametri = valoarea șir va fi adoptat de ref pentru caractere maxlen. nvault_get returnează 1 dacă a fost găsită o valoare.

Integer: iValue = nvault_get (iHandle, szKey []);
Float: nvault_get (iHandle, szKey [], float);
String: nvault_get (iHandle, szKey [], szValue [], iMaxLen);
PHP
//Retrieve an integer, float, and string value from a vault.
new iVault ;
new szAuthID [ 35 ];
new szData [ 30 ];

iVault = nvault_open ( "testvault" );
get_user_authid ( id , szAuthID , charsmax ( szAuthID ) );

//To retrieve a number that is stored as the data
new iNumber = nvault_get ( iVault , szAuthID );

//To retrieve a float that is stored as the data
new Float : fValue ;
nvault_get ( iVault , szAuthID , fValue );

//To retrieve a string that is stored as the data
new szDataString [ 10 ];
nvault_get ( iVault , szAuthID , szDataString , charsmax ( szDataString ) );

nvault_set
Acest lucru va scrie date la bolta și timestamp intrarea.

nvault_set (mâner, tasta const [], valoarea const [])
mâner = Mânerul întors din nvault_open.
key = Cheia pe care doriți să utilizați pentru lookup de date.
Valoarea = Șirul pe care doriți să scrie la bolta
PHP
//Save the phrase "hello world" to vault using steamid as the key.
new iVault ;
new szAuthID [ 35 ];
new szData [ 30 ];

iVault = nvault_open ( "testvault" );
get_user_authid ( id , szAuthID , charsmax ( szAuthID ) );

//Pass the value directly with no variable
nvault_set ( iVault , szAuthID , "hello world" );

//Pass the value with a string variable
new szText [] = "hello world" ;
nvault_set ( iVault , szAuthID , szText );
nvault_pset
La fel ca nvault_set (), cu excepția acestei scrie o intrare fără marcaj de timp, astfel încât intrarea nu va fi eliminat prin funcția nvault_prune () (dacă este numit). Valoarea timestamp este 0 atunci când permanent.

nvault_touch
Această funcție va "atinge" o intrare, actualizarea este timestamp; valoarea de intrare va rămâne neschimbată. Dacă cheia nu există, care este în curs de atins, va fi creat o intrare goală pentru acea cheie. Vezi secțiunea de mai jos amprente de timp pentru o explicație a amprente de timp.

nvault_touch (iHandle, const szKey [], [iTimestamp = -1])

iHandle = Mânerul de bolta
szKey = Cheia pentru care dorim să actualizeze timestamp
iTimeStamp - [param Optional] Dacă nu a trecut la funcția (sau -1 este trecut)
se va actualiza cheia cu ora curentă. În caz contrar, va actualiza
cheie cu amprenta de timp specificat.
PHP
//Touch the entry
new iVault ;
new szAuthID [ 35 ];

iVault = nvault_open ( "testvault" );

get_user_authid ( id , szAuthID , charsmax ( szAuthID ) );

//Touch the entry with current timestamp
nvault_touch ( iVault , szAuthID );

//Touch entry with timestamp 1 hour ago. (60 * 60) = 3600
nvault_touch ( iVault , szAuthID , get_systime () - 3600 );

nvault_prune
Această funcție este utilizată pentru a elimina intrările care se încadrează în marcajele de timp de început și sfârșit specificate. O valoare amprentă de timp este in secunde deci rețineți acest considerare atunci când tăiere intrări. Vezi secțiunea de mai jos amprente de timp pentru o explicație a amprente de timp.

nvault_prune (iHandle, ISTART, ieten)

iHandle = Mânerul întors din nvault_open.
ISTART = Amprenta de timp în cazul în care pentru a începe eliminarea intrărilor.
ieten = Amprenta de timp în care să se oprească eliminarea intrărilor.
PHP
new iVault ;

iVault = nvault_open ( "testvault" );

//Remove all entries in vault. 0 = earliest possible time, get_systime() = now.
nvault_prune ( iVault , 0 , get_systime () );

new szAuthID [ 35 ];
new szData [ 30 ];
new iTimestamp ;
new iVault ;
new iDataExists

get_user_authid ( id , szAuthID , charsmax ( szAuthID ) );

iVault = nvault_open ( "testvault" );
iDataExists = nvault_lookup ( iVault , szAuthID , szData , charsmax ( szData ) , iTimestamp );

//An entry was found, the data for this key is now stored in szData.
if ( iDataExists )
{
client_print ( id , print_chat , "Data=%s Timestamp=%d" , szData , iTimestamp );
}
else
{
client_print ( id , print_chat , "No entry found with key %s" , szAuthID );
}
nvault_get
Această funcție este foarte similar cu nvault_lookup; se pare a datelor într-un seif cu ajutorul tastei specificat. Cu toate acestea, nvault_get este un pic mai flexibil decât nvault_lookup pentru că vă permite pentru a prelua date direct într-o altă variabilă decât string. Acest lucru va nega necesitatea pentru tine să faci orice conversie de date odată datele sunt preluate ca va trebui sa faci daca folosesti nvault_lookup pentru a prelua un flotor sau Int. Notă, nvault_get nu vă permite pentru a prelua timestamp deci, dacă aveți nevoie de amprenta de timp, atunci va trebui să utilizați nvault_lookup.

nvault_get (mâner, const szKey [], ...)

mâner = Mânerul întors din nvault_open.
key = Cheia pe care doriți să utilizați pentru lookup de date.
[...] = [# Variabilă a parametrilor] Aceasta poate fi fie o variabilă float, string & maxlen, sau gol. Vezi mai jos

Numărul de parametri spune funcția ce tip de date pe care doriți să preluați. Numărului parametru începe după szKey []
0 Parametrii = nvault_get va returna valoarea întreagă.
1 Parametrii = valoarea float va fi adoptat de referință. nvault_get returnează 1 dacă a fost găsită o valoare.
2 parametri = valoarea șir va fi adoptat de ref pentru caractere maxlen. nvault_get returnează 1 dacă a fost găsită o valoare.

Integer: iValue = nvault_get (iHandle, szKey []);
Float: nvault_get (iHandle, szKey [], float);
String: nvault_get (iHandle, szKey [], szValue [], iMaxLen);
PHP
//Retrieve an integer, float, and string value from a vault.
new iVault ;
new szAuthID [ 35 ];
new szData [ 30 ];

iVault = nvault_open ( "testvault" );
get_user_authid ( id , szAuthID , charsmax ( szAuthID ) );

//To retrieve a number that is stored as the data
new iNumber = nvault_get ( iVault , szAuthID );

//To retrieve a float that is stored as the data
new Float : fValue ;
nvault_get ( iVault , szAuthID , fValue );

//To retrieve a string that is stored as the data
new szDataString [ 10 ];
nvault_get ( iVault , szAuthID , szDataString , charsmax ( szDataString ) );

nvault_set
Acest lucru va scrie date la bolta și timestamp intrarea.

nvault_set (mâner, tasta const [], valoarea const [])
mâner = Mânerul întors din nvault_open.
key = Cheia pe care doriți să utilizați pentru lookup de date.
Valoarea = Șirul pe care doriți să scrie la bolta
PHP
//Save the phrase "hello world" to vault using steamid as the key.
new iVault ;
new szAuthID [ 35 ];
new szData [ 30 ];

iVault = nvault_open ( "testvault" );
get_user_authid ( id , szAuthID , charsmax ( szAuthID ) );

//Pass the value directly with no variable
nvault_set ( iVault , szAuthID , "hello world" );

//Pass the value with a string variable
new szText [] = "hello world" ;
nvault_set ( iVault , szAuthID , szText );
nvault_pset
La fel ca nvault_set (), cu excepția acestei scrie o intrare fără marcaj de timp, astfel încât intrarea nu va fi eliminat prin funcția nvault_prune () (dacă este numit). Valoarea timestamp este 0 atunci când permanent.

nvault_touch
Această funcție va "atinge" o intrare, actualizarea este timestamp; valoarea de intrare va rămâne neschimbată. Dacă cheia nu există, care este în curs de atins, va fi creat o intrare goală pentru acea cheie. Vezi secțiunea de mai jos amprente de timp pentru o explicație a amprente de timp.

nvault_touch (iHandle, const szKey [], [iTimestamp = -1])

iHandle = Mânerul de bolta
szKey = Cheia pentru care dorim să actualizeze timestamp
iTimeStamp - [param Optional] Dacă nu a trecut la funcția (sau -1 este trecut)
se va actualiza cheia cu ora curentă. În caz contrar, va actualiza
cheie cu amprenta de timp specificat.
PHP
//Touch the entry
new iVault ;
new szAuthID [ 35 ];

iVault = nvault_open ( "testvault" );

get_user_authid ( id , szAuthID , charsmax ( szAuthID ) );

//Touch the entry with current timestamp
nvault_touch ( iVault , szAuthID );

//Touch entry with timestamp 1 hour ago. (60 * 60) = 3600
nvault_touch ( iVault , szAuthID , get_systime () - 3600 );

nvault_prune
Această funcție este utilizată pentru a elimina intrările care se încadrează în marcajele de timp de început și sfârșit specificate. O valoare amprentă de timp este in secunde deci rețineți acest considerare atunci când tăiere intrări. Vezi secțiunea de mai jos amprente de timp pentru o explicație a amprente de timp.

Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum