Jump to content

s0nyx

VIP
  • Posts

    235
  • Joined

  • Last visited

  • Days Won

    16

Reputation Activity

  1. Haha
    s0nyx reacted to Cioplin in Tema - Evolution Times   
    Username: Cioplin Creator (sau editor): Cioplin/Andy Poze/Video in care prezintii tema / script-ul: https://imgur.com/a/TOp9O3O VirusTotal :  This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up Versiune : 3.4.x Link Download : This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up This is the hidden content, please Sign In or Sign Up
  2. Haha
    s0nyx got a reaction from Dani3l. in [TUTORIAL] Query-uri SQL si optimizare.   
    Loly il facea mai bn, dar e bun si asta...
  3. Ador
    s0nyx got a reaction from Matt in [TUTORIAL] Query-uri SQL si optimizare.   
    Eu cu Matt suntem prieteni si mi-a spus sa ma uit peste tutorialul lui si am facut o mica gluma.
  4. Ador
    s0nyx got a reaction from MihaiADV in [TUTORIAL] Query-uri SQL si optimizare.   
    Loly il facea mai bn, dar e bun si asta...
  5. Ador
    s0nyx got a reaction from LolyAdv in [TUTORIAL] Query-uri SQL si optimizare.   
    Loly il facea mai bn, dar e bun si asta...
  6. Ador
    s0nyx reacted to Matt in [TUTORIAL] Query-uri SQL si optimizare.   
    Helau.
     
    Bun, cu totii stim ce este optimizarea si in ce consta. Totusi,  codul facut ca si 'drumul ce mai scurt' nu este toata optimizarea. Query-urile SQL au nevoie de un timp pana sa fie terminate si daca nu le distribuiti bine in cod o sa aveti Tick Drops. Acele Tick Drops apar cand server-ul asteapta ca acel query executat de voi sa fie completat. Astazi vreau sa va explic cateva trucuri prin care nu o sa aveti probleme.
     
    Pentru inceput, avem exemplul:
    mysql_format(SQL, query, "UPDATE `users` SET `Money`=%d WHERE `ID`=%d", PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pSQLID]); mysql_query(SQL, query); Sa zicem ca vrem sa punem acest query intr-un timer de 1 secunda. Dupa fiecare secunda server-ul va astepta ca acest query sa fie executat, dar pe noi nu ne intereseaza asta, asa ca server-ul va astepta practic degeaba in fiecare secunda ca acest query sa fie terminat . De asta trebuie sa facem acest query threaded.
    mysql_format(SQL, query, "UPDATE `users` SET `Money`=%d WHERE `ID`=%d", PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pSQLID]); mysql_tquery(SQL, query, "", ""); Bun, care e diferenta dintre un query threaded si unul normal: Pai, query-ul normal pune in asteptare script-ul server-ului, in timp ce query-ul threaded se executa separat. Practic, nu deranjeaza server-ul sa zic asa. Printr-un desen sper sa intelegeti mai bine:
    https://imgur.com/gSr89YQ
    La stanga avem query-uri non-threaded iar la dreapta avem query threaded.
    Query-urile non-threaded sunt necesare doar cand ai un query de la care astepti un raspuns, cum ar fi:
    mysql_format(SQL, query, "SELECT * FROM `users` WHERE `Admin` != 0"); mysql_query(SQL, query); // deoarece avem nevoie de randurile rezultate pentru a fi prelucrate 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); } Sau putem sa facem o metoda mai optimizata folosind query threaded:
    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; } Astfel, server-ul nu va fi deranjat iar adminii nostri se vor afisa dupa aprox. cateva milisecunde mai tarziu. (aproape ca nici nu se observa diferenta)
     
    Daca am gresit cu ceva astept sa ma corectati si sper ca v-a prins bine acest mic tutorial.
  7. Like
    s0nyx got a reaction from Fresh in [DELETED]...................   
    Stiu ca il invidiati, stiu e smecher ca e toate alea, dar nu mai veniti cu comente dinastea urate
  8. Ador
    s0nyx got a reaction from Pletosul in [DELETED]...................   
    Stiu ca il invidiati, stiu e smecher ca e toate alea, dar nu mai veniti cu comente dinastea urate
  9. Ador
    s0nyx got a reaction from Matt in [DELETED]...................   
    Stiu ca il invidiati, stiu e smecher ca e toate alea, dar nu mai veniti cu comente dinastea urate
  10. Upvote
    s0nyx got a reaction from Matt in [DELETED]...................   
    Esti vai de tine frate. Nu esti in stare sa faci un index. Mare cacat, folosesti httrack. Sa-ti iau bgz ul la dans cu botii lui. 
  11. Ador
    s0nyx got a reaction from Pletosul in [DELETED]...................   
    Esti vai de tine frate. Nu esti in stare sa faci un index. Mare cacat, folosesti httrack. Sa-ti iau bgz ul la dans cu botii lui. 
  12. Upvote
    s0nyx reacted to keNN. in Mod de joc - Edison #5 (2017)   
    Username: keNN.
    Nume gamemode: Edison #5 2017
    Creator (sau editor): Edison
    Poze/Video în care prezinÅ£i modul de joc: 
    Link Virustotal: https://www.virustotal.com/#/url/c17117bb45573edd955289f2d9455639d89432e4d0b23aece76d0e5a79b79d1d/detection
    Link download: This is the hidden content, please Sign In or Sign Up
    Alte precizări: Nu am.
  13. Ador
    s0nyx reacted to Matt in [REZOLVAT] Optimizare Gamemode   
    Poti de asemenea sa opresti loop-uri care si-au indeplinit scopul. Spre exemplu:
    foreach(new x : Player) { if(x == PLAYER_UL_PE_CARE_IL_CAUTAI) { SCM(playerid, -1, "Acesta este jucatorul pe care il cautai."); break; } } Asa, loop-ul nu va mai continua executia.
  14. Upvote
    s0nyx got a reaction from Matt in Vand gamemode SA:MP.   
    Up! Recomand cu cea mai mare incredere!
×
×
  • Create New...