Jump to content

segmentationfault

Membru
  • Posts

    286
  • Joined

  • Last visited

  • Days Won

    83

Everything posted by segmentationfault

  1. faci mai multi bani daca-ti iei o bicicleta si faci glovo/bolt food.
  2. mai degraba jucatorii vechi de sa-mp ar juca, dar majoritatea au o varsta la care muncesc, au familie.
  3. Mai degrabă învață prompt engineering înainte să vorbești despre AI. Sunt inginer software de meserie, cu studii de licență, pentru context. Dacă un proiect are contextul setat, modelul potrivit, prompturi clare și instrucțiuni tehnice, în 60-70% din cazuri face o treabă bună. Nu va fi perfect de fiecare dată, are nevoie de îndrumări constante. Majoritatea îl folosesc ca pe un junior sau mid, ca pe un sclav pe plantație, iar prin iterații de feedback ajunge la un rezultat ok. Dar da, dacă nu știi meserie și folosești AI, probabil îți va oferi rezultate proaste sau mediocre. În momentul în care știi cum trebuie să arate outputul, tu doar îl ghidezi spre acel rezultat cu experiența ta. Astfel ajungi să livrezi mult mai repede.
  4. The reason your members aren't showing up is likely due to how MySQL caches and String Concatenation behave in PAWN when buffers are mismanaged. The "Ghost" Logic Bugs The szDialog Confusion: In your original code, you used szDialog inside the loop but declared szDialog2 outside. If szDialog wasn't properly initialized or was too small, strcat(szDialog2, szDialog) would append empty or garbage data. The Members Variable: You declared new Members; but never initialized it to 0. In some compiler versions, uninitialized locals can contain random "garbage" values from the stack. If Members started at a huge number, Selected[playerid][Members] would cause a memory out-of-bounds error, potentially crashing the script before it reached the dialog. Buffer Overflow: With 50 members, your szDialog2[1024] was likely hitting its limit. When a string in PAWN exceeds its size during a format or strcat, it can null-terminate prematurely or cause the script to bail out. The Fixed Logic Here is the corrected logic. I have also moved the variables to be more memory-efficient and added an explicit initialization for the counter. Code snippet case 1: { // Use a static buffer to prevent stack exhaustion static szBigDialog[3000]; new query[128], rows; format(query, sizeof(query), "SELECT `Username`, `ClanRank`, `ClanWarns`, `ClanDays` FROM `users` WHERE `Clan` = '%d' ORDER BY `ClanRank` DESC LIMIT 50", PlayerInfo[playerid][pClan]); new Cache:result = mysql_query(SQL, query); cache_get_row_count(rows); // Reset the buffer and the member counter szBigDialog[0] = EOS; strcat(szBigDialog, "#. Name\tRank\tClan Warns\tClan Days\n"); if(rows == 0) { strcat(szBigDialog, " \tNo members found\t \t "); } else { new tempName[MAX_PLAYER_NAME], tempRank, tempWarns, tempDays; new rowEntry[128]; for(new i = 0; i < rows; i++) { // Extracting data correctly cache_get_value_name(i, "Username", tempName, sizeof(tempName)); cache_get_value_name_int(i, "ClanRank", tempRank); cache_get_value_name_int(i, "ClanWarns", tempWarns); cache_get_value_name_int(i, "ClanDays", tempDays); // Store name for the OnDialogResponse selection format(Selected[playerid][i], MAX_PLAYER_NAME, tempName); // Build the row format(rowEntry, sizeof(rowEntry), "%d. %s\t%d\t%d/3\t%d\n", i + 1, tempName, tempRank, tempWarns, tempDays); // Append to the big string strcat(szBigDialog, rowEntry); } } cache_delete(result); ShowPlayerDialog(playerid, DIALOG_CLAN_MEMBERS, DIALOG_STYLE_TABLIST_HEADERS, "Clan members", szBigDialog, "Select", "Back"); } Why this version works: Initialization: szBigDialog[0] = EOS ensures you aren't appending to old data left in memory. Safety: Using rows directly from cache_get_row_count ensures the loop only runs exactly as many times as there are results. Proper Indices: Using i as the index for Selected[playerid][i] ensures that the row number in the dialog matches the ID in your array perfectly. Column Names: Ensure your SQL column names (Username, ClanRank, etc.) match your database exactly. MySQL is case-sensitive on some Linux distributions. A Note on Selected[playerid] Make sure your Selected array is large enough to hold the names! It should be defined globally like this: new Selected[MAX_PLAYERS][50][MAX_PLAYER_NAME]; If it’s defined as [MAX_PLAYERS][MAX_PLAYER_NAME], you are trying to store 50 names into a single string slot, which will overwrite the previous name every time. Would you like me to check how you've defined the Selected variable to make sure it can handle 50 members?
  5. https://claude.com/solutions/coding
  6. cea mai proasta investitie in 2026 e sa scrii cod de mana. incercati Claude varianta platita, va face ce vreti voi daca stiti cum trebuie sa arate rezultatul (tehnic).
  7. de ce ai vrea sa inveti PAWN :))?
  8. uneori stau si ma gandesc ce este in capul oamenilor care isi doresc "o comunitate stabila si bine organizata" intr-un joc scos de mai bine de 20 de ani. singurii care isi mai aduc aminte de jocul asta sunt persoanele nascute din 1995-2005, iar astia ori sunt la facultate, ori lucreaza. cine dracu' la +20 de ani are timp sa se joace SA-MP?
  9. de ce trebuie sa puneti pe TikTok o prezentare si sa puneti manele?
  10. pune un env sau variabila cu `PRODUCTION`, daca e 0 faci auto-login, daca e 1 trebuie sa bage parola.
  11. kappa.
  12. Ninja a inchiriat domeniul, iar FarSe/Marijuana au finantat. Nici voi nu ati avut cu adevarat domeniul pana cand nu l-a cumparat Woops. "Faceam parte din staff", dar eram singurul care se ocupa administrativ si singurul care aducea modificari la website, plus access la tot ce insemna VPS. And let's be honest, Farse in afara sa se flexeze cu banii facuti te miri cum pe forum, sa injure cum voia si sa mai bage niste security fixes ca-l ardea Federel undeva, nu mai facea nimic. Iar legat de ajutor, da. Nimeni nu neaga asta, problema era cand unii deveneau agresivi de parca erai sclavul lor si erai obligat sa ii ajuti gratuit. a'right mate.
  13. Am avut sa-mp.ro atunci. Ce sa zic cand lumea la "Ajutor" imi zicea ca sunt obligat sa le rezolv lor bug-urile gratis pe timpul meu liber
  14. ma, cand zici experienta 10 ani, tu cumva incluzi perioada in care ai inceput. problema este ca nu tii cont de volumul de munca. daca esti pompier si lucrezi in afara programului, hai sa presupunem ca lucrezi 2 ore in timpul sapt. si 4 ore in weekend. deci pe 10 ani ai 6,720 ore de munca. cineva care a lucrat 8 ore pe zi in timpul sapt, timp de 10 ani, are 19,200 ore. iar pe langa asta, iti supra-estimezi abilitatile. faptul ca ai facut un proiect intr-o tehnologie, pe care l-ai testat local sau in conditii foarte optime (doar tu sau eventual cu niste prieteni) nu inseamna ca stii cu adevarat un framework. plus ca niciodata nu ai lansat ceva in productie, unde apar probleme cu adevarat, pare ca tot ce ai facut a fost local. uite, pentru chat-ul ala de WhatsApp, iti dau niste exemple cu probleme care pot aparea cu adevarat: - gestioneaza cazul in care 2 utilizatori au 1,000,000 mesaje de diferite marimi. - mentine un nivel de raspuns mic cand 10,000 de persoane isi scriu in acelasi timp, constant pe o durata de 10 min. - implementeaza posibilitatea de a trimite poze si videoclipuri intre utilizatori: - cum gestionezi stocarea? - cum gestionezi faptul ca unele poze / video-uri sunt prea mari? - cum afisezi rapid poze care pot avea si 200mb? - cum afisezi rapid un video care poate avea cativa gb? - cum te asiguri ca pozele/video-urile nu sunt accesate de alte persoane neautorizate? - cum gestionezi problemele de internet sau erorile? - cum monitorizezi aplicatia? - de unde stii cand utilizatorul are o problema, dar el nu te contacteaza in legatura cu problema? uite astea sunt niste lucruri care pot aparea in productie, la care sunt 100% sigur ca nu le-ai luat in considerare. EDIT: sa stii ca daca in portofoliu ai mesaje de genul "de pl sa ma iei", nu pari prea serios. daca ai vorbi asa si la munca, ce parere ar avea unii despre tine?
  15. tu sa te apuci de onlyfans, ca esti un esuat in viata.
  16. daca v-ati folosi inteligenta catre altceva, nu sa-mp, ati avea vila cu piscina.
  17. woah a folosit git, minune pe sa-mp.
  18. nu știu boss că nu m-am mai atins de sa-mp de 9 ani
  19. sa-mp pe mobil doar pe android, făcut de ruși. noroc că nu aveți bani pe card-uri :))))
  20. pune-i să implementez în orice alt limbaj (exclus C/C++) un API pentru AMX și să facă un gamemod în acel limbaj. sau să facă în C/C++ un reverse proxy ca server principal și să-l lege de un message broker, iar toate sistemele să fie ca microservicii / serverless functions care se scalează în cloud. probabil din toți ăia, doar kseny e în stare (sorry țigane) banii țin un proiect ani de zile, nu calitatea unui 'scripter'
  21. "If you are not paying for it, you're not the customer; you're the product being sold." - Andrew Lewis i mean îți înțeleg modelul de business, vrei să crești rapid în brand prin a oferi servicii gratuite, iar după o perioadă ceri bani pe servicii.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.