Jump to content

Banditul

Member
  • Posts

    4
  • Joined

  • Last visited

1 Follower

About Banditul

Recent Profile Visitors

528 profile views

Banditul's Achievements

Newbie

Newbie (1/14)

1

Reputation

  1. mysql_format(SQL, query, "SELECT * FROM `users` WHERE `Admin` != 0"); mysql_tquery(SQL, query, "ShowAdmins", "d", playerid); // sa zicem ca am bagat acest query intr-o comanda, playerid = jucatorul care a folosit comanda . . . forward ShowAdmins(playerid); public ShowAdmins(playerid) { for(new i, j = cache_get_row_count(); i != j; i++) { new name[MAX_PLAYER_NAME]; cache_get_field_content(i, "Name", name); SendClientMessage(playerid, -1, name); } return 1; } Daca chiar vrei optimizare, in loc s a selectezi N coloane ep care o ricum nu le folosesti mai bine le selectezi pe cele folosite mysql_format(SQL, query, "SELECT Name FROM `users` WHERE `Admin` != 0"); mysql_tquery(SQL, query, "ShowAdmins", "d", playerid); // sa zicem ca am bagat acest query intr-o comanda, playerid = jucatorul care a folosit comanda . . . forward ShowAdmins(playerid); public ShowAdmins(playerid) { for(new i, j = cache_get_row_count(); i != j; i++) { new name[MAX_PLAYER_NAME]; cache_get_field_content(i, "Name", name); SendClientMessage(playerid, -1, name); } return 1; } Adica de ce sa lasi serverul sa faca munca suplimentara La cum am vazut eu gm de rpg tabelul users/players are sute de coloane care e o oarecare anomalie
  2. Cel mai bun query de sters din tabel e TRUNCATE tabel Iti si sterge iti si reseteaza AI
  3. Din contra. E mai buna. Doar ca trebuie sa actualizezi multe si sa repari acele warning cea ce poate lua ceva timp si cum toata lumea e lenesa prefera sa nu
  4. Imi place cum: [20:04:57] [debug] Run time error 4: "Array index out of bounds" [20:04:57] [debug] Accessing element at index 100 past array upper bound 99 E din vina pluginurilor si nu din vina faptului ca array-u lui de la LoadProperty e mai mic decat numarul de lucruri pe care le incarca din baza de date
  5. Hidden Edit: Tot mai buna implementare e asta: https://forum.sa-mp.com/showthread.php?t=598933 Iti lipsesc anumite lucruri incluzand operatii logice de genul == sau > etc
  6. mysql_query - blocheaza main thread(server) pana query este executat mysql_tquery - creaza un thread separat in care executa query(nu blocheaza main thread) Ambele fac exact acelasi lucru. Diferenta e modul in care o fac.
  7. Nu dai compile la imclude doar il faci #include in gm si pof merge functia in gm
  8. Daca te referi in momentul in care te misti scad inseamna ca comportamentul este normal. Nu te poti astepta ca serverul in care incepe sa proceseze infornatii are aceiasi putere. Pentru 10-20 tickuri nu mi-as face griji. Eu unu as verifica OnPlayerUpdate(si includeuri care modifica functia) de cod care ar putea fi procesat mai greu
  9. Daca sapi putin gasesti orice http://ugbase.eu/index.php?threads/sampfuncs-5-3-0-3-7.14796/ Dupa cum e explicat in acest topic, exista o versiune SDK care contine ce ai nevoie pentru a crea SF Plugins + exemple de cum arata un astfel de plugin Din pacate toata documentatia e probabil in rusa
  10. Dialog:login(playerid, response, listitem, inputtext[]) { if(!response) kickEx(playerid); gQuery[0] = (EOS); Query->(SQL, gQuery, 256, "SELECT `userPassword` FROM `server_accounts` WHERE `userName` = '%e'LIMIT 1", returnName(playerid)); new Cache: cache = exec_query->(SQL, gQuery); cache_get_field_content(0, "userPassword", PlayerInfo[playerid][userPassword], SQL, BCRYPT_HASH_LENGTH); cache_delete(cache); bcrypt_check(inputtext, PlayerInfo[playerid][userPassword], "OPC", "d", playerid); return 1; } Problema e faptul ca functia cache_get_field_content nu poate prelua string size dintr-un enum asa ca trebuie sa specifici tu. Apropo daca executi mysql_query si nu stergi cache vei face multe memory leaks si vei umple memoria RAM cu lucruri pe care nu le poti sterge. Si ca pont, nu trebuie sa faci SELECT * daca ai nevoie doar de o singura chestie, e compelt inutil si ineficient https://wiki.sa-mp.com/wiki/MySQL/R33#cache_get_field_content
  11. Nope. Totu pare in regula. Poate in callback-u functiei bcrypt_check? Apropo, acel query e executat ca mysql_query?
  12. Asta depinde de cum ai facut abordat sistemul de login
  13. @Deagle poti ignora eroarea, cel mai probabil version check s-a dus plugin-ul fiind lansat acum 2-3 ani. Atata timp cat ai ultima versiune e ok https://github.com/lassir/bcrypt-samp/releases pentru a vedea care e ultima versiune
×
×
  • Create New...