Jump to content

Spmn

Membru
  • Posts

    177
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Spmn

  1. Ai aruncat o bucata de cod, dar partea cu probleme nu ai pus-o nicaieri. :facepalm:
  2. PAWN e un limbaj usor cu doar cateva instructiuni. Daca in viata ta te-ai jucat macar 1 ora in C, atunci nu ai ce sa mai inveti in PAWN, iar daca nu te-ai jucat si ai capul pe umeri (ceea ce multi de aici nu au ), iti dai seama intr-un timp scurt ce ar trebui sa faca o bucata de cod. Singurul lucru pe care il poti invata este SA-MP API, adica toate functiile alea din a_samp.inc si celelalte librarii. (fapt care nu tine direct de PAWN) // Totusi, daca esti interesat de low-level programming, respectiv #emit, atunci PAWN se complica destul de mult, dar nu consider ca sunt persoane pasionate de asa ceva.
  3. Arata a infinite loop. Pune un printf() deasupra if(DeerKO[DeerID]==0&&DeerMove[DeerID]==0) si vezi daca se confirma ipoteza.
  4. Adresa 8848320 ce reprezinta?
  5. Nu este obligatoriu ca daca pui un soft mai vechi sa mearga mai bine telefonul. Pe un LG G2 care la lansare avea ca soft 4.2.2 (JellyBean), functioneaza mult mai bine 4.4.2 (KitKat), insa 5.0.2 stock (Lollipop) are probleme cu bateria, iar crash-urile sunt mai dese. Daca aducem in discutie softurile AOSP-based (precum Cyanogenmod), telefonul merge foarte bine pe 5.1.1 (Lollipop) Deci, daca te descurci cu resoftarea si stii sa repari telefonul in cazul unui soft-brick, atunci iti recomand sa incerci fiecare custom ROM mai important cate o saptamana si vezi care merge cel mai bine pe telefon, cat tine bateria etc. Daca nu stii nimic din ce am pomenit mai sus, atunci nu incerca sa te joci cu ROM-urile ca s-ar putea sa ramai fara garantie (daca mai ai) si sa brickuiesti telefonul.
  6. Vad ca folosesti XAMPP, asa ca du-te in XAMPP control panel, activeaza MySQL service, intra in shell si scrie: mysql -uroot unde root = numele user-ului cu acces la baza respectiva de date; daca nu ai modificat configuratia implicita, lasa asa; daca ai pus parola la user, adauga switch-ul: -pPAROLA use NUMELE_BAZA_DE_DATE source "D:\biz.sql"
  7. Cred si eu ca ai incercat sa rezolvi singur. if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK && PlayerInfo[i][pAdmin])
  8. Creeaza un fisier pawn.cfg in directorul pawno, scrie in el "-d3" (fara ghilimele) si recompileaza gamemode-ul si filterscript-urile. Cand se va printa un backtrace, se va printa si linia unde a aparut eroarea.
  9. AMX backtrace = traseul unei functii. Este printat cand ai crashdetect incarcat si fie apare o eroare in runtime, fie printezi traseul manual, ca mai jos. De exemplu: main() { func1(); } func1() { func2(); } func2() { PrintAMXBacktrace(); }
  10. Intr-o saptamana, de cand am postat datele contului, nu crezi ca s-a sesizat un admin de pe serverul respectiv si l-a resetat? Daca nu ar fi fost nici un ban pe el, atunci de ce l-as mai fi postat? Gandeste inainte sa tastezi.
  11. Parola: salut Intra si verifica
  12. Ce vinzi: Cash OG-Times ($$$) Descriere produs: Bani Preţ: negociabil; accept schimburi Alte detalii: VAND ORICAT DORESTE CLIENTUL. (inclusiv peste 64kkk!) Clientul spune suma pe care si-o doreste, iar eu in timp util ii dau un cont de SA-MP care are cel putin suma ceruta. Singurul dezavantaj este ca va trebui sa cresteti contul cu 1 nivel pentru a folosi comanda /transfer. Nu accept schimburi cu bunuri pe SA-MP. http://i.imgur.com/tGhXPkd.png * Contul este banat deoarece am incercat sa le raportez vulnerabiltatea administratorilor, insa acestia au crezut ca este de cuviinta sa ma baneze in loc sa afle unde este problema.
  13. Scoate cele doua instructiuni 'return'.
  14. Nu am spus nicaieri ca e inutil, ba din contra, il folosesc la un nou proiect unde vreau sa fac un gamemode 100% modular pe filterscript-uri unde folosirea variabilelor normale nu e posibila. Tot ce eu am spus este ca folosirea GVar-urilor in detrimentul variabilelor globale nu e o optimizare.
  15. Memoria dedicata variabilelor globale e alocata la compilare, asadar cand se deschide serverul de SA-MP, AMX-ul este incarcat in intregime memorie, iar spatiul pentru variabilele globale e deja alocat. Marimea fisierului nu trebuie sa te deranjeze pentru ca AMX-ul e impartit pe sectoare, deci serverul stie unde sa caute o informatie cand are nevoie de ea, indiferent daca fisierul e de 1MB sau 10MB. De altfel, variabilele dinamice ([G/P/S]Vars) sunt alocate direct in memorie la momentul primei folosiri in runtime, acesta fiind motivul pentru care AMX-ul nu creste la declararea lor. Dar, iarasi, memoria RAM per total folosita este aproximativ aceeasi, fiind putin mai mare in cazul variabilelor [G/P/S]Vars. Verificarea vitezei facuta de tine presupun ca ai facut-o cu o singura variabila PVar, nu? Incearca sa declari 2000 de variabile, cu un jucator conectat (altfel functia nici nu va incerca sa caute variabila in lista), apoi acceseaza-le, pe rand, pe fiecare, sa vezi ca viteza nu mai ramane constanta, ci depinde de numarul lor. Fa acelasi test cu variabilele normale. P.S: 20MB pentru un AMX e destul de mult, nu stiu cum ai ajuns la marimea asta. Un gamemode RPG folosit de mine pe un server de ~500 playeri avea 10MB compilat cu -d3, si crede-ma ca nu prea m-am obosit sa optimizez pe partea de variabile globale.
  16. Depinde de ordinea in care le afisezi
  17. Cand accesezi o variabila normala, accesezi direct adresa unde se afla valoarea. Cand accesezi o variabila declarata cu (S/G)etPVar*, (S/G)etSVar*, (S/G)etGVar* etc, AMX-ul trimite detaliile cerute catre server/plugin, serverul/pluginul cauta intr-o lista numele variabilei pentru a gasi adresa asociata, citeste/scrie valoarea, apoi trimite inapoi datele catre AMX. TL;DR: Foloseste variabilele normale pt ca sunt mai rapide. La un server SA-MP nu trebuie sa te intereseze memoria alocata daca este cat de cat optimizat.
  18. Spmn

    port

    + Allow public connections pentru samp-server.exe din Windows Firewall
  19. Observ ca nu se va restaura thread-ul, asa ca rog un moderator cu acces la topicul respectiv, daca se poate, sa imi trimita pe PM continul primei postari unde am detaliat cum functioneaza plugin-ul.
  20. Numele celui acuzat: ? Cu ce v-a dat teapa (in cazul in care este necesar): - Descrierea situatiei: In urma cu ~3 luni am creat un thread in forum-ul dedicat vanzarilor, iar astazi a fost sters fara sa fiu anuntat care a fost motivul. Dovada (Imagini / Video): Thread
  21. SetTimerEx("Distance", 1000, true, "ifff", playerid, X, Y, Z); iiii -> ifff
  22. Nu cred ca ti-ar suspenda contul daca ai avea licenta la forum.
  23. Apelarea directa o poti folosi cand stii daca functia respectiva exista si stii numele functiei la momentul compilarii. Este cea mai rapida metoda. CallLocalFunction() o folosesti cand nu stii numele functiei la momentul compilarii; se apeleaza doar functia din modul curent (gm/fs). Este o metoda mai lenta pentru ca la fiecare folosire a CallLocalFunction, server-ul cauta in memorie zona alocata functiei pentru a o "chema". Un exemplu al folosirii CallLocalFunction() este zcmd. CallRemoteFunction() o folosesti cand nu stii numele functiei la momentul compilarii SI/SAU functia se afla in alt mod (gm/fs); se apeleaza toate functiile cu acest nume. Este lenta din acelasi motiv. * Functiile "chemate" prin CallRemoteFunction() si CallLocalFunction() trebuie sa fie "forward-ate".
  24. Pawno/Notepad++/Sublime Text/Pawno Plus si restul programelor sunt folosite doar pentru editarea codului, compilatorul este acelasi (pawncc). In cat timp ti se compileaza in Pawno, in acelasi timp ti se compileaza si in npp.
  25. Pe lifecmd ai: OnPlayerCommandFinish(playerid, cmdtext[], success)
×
×
  • 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.