Jump to content

L0K3D

Manager
  • Posts

    402
  • Joined

  • Days Won

    21

Posts posted by L0K3D

  1. Acum 1 oră, GroWy a spus:

    Este folosit mysql_tquery in tutorial, care este problema pana la urma?

    Probabil incearca sa-ti spuna ca e mult mai bine sa folosesti mysql_tquery/mysql_pquery decat mysql_query pentru a trimite un query catre DB. Diferenta dintre ele: 

    mysql_query - serverul va trebui sa astepte pana cand s-ar executa si ar intoarce datele 'culese' iar in celelalte cazuri serverul nu va fi afectat, incearca tu sa obtii mai multe informatii pe Wiki despre fiecare in parte.

     

  2. La 14.01.2019 la 7:06, Wildo a spus:

    Inlocuieste functia despawnvehicle din gm-ul tau cu asta.

    
    function DespawnVehicle(carid) {
    	new dbid = FindSpawnID(carid);
    	if(CarInfo[dbid][Spawned] != 0 && !IsVehicleOccupied(CarInfo[dbid][Spawned])) DestroyPlayerCar(dbid);
    	printf("Vehicle %d despawned. [db: %d]", carid, dbid);
    	return 1;
    }

    Ai deja in gm acest timer + verificare

    
    		if(oldstate == PLAYER_STATE_DRIVER) {
     	
    			new carid = FindSpawnID(gLastCar[playerid]);
    			if(carid != 0) VehicleTimer[gLastCar[playerid]] = SetTimerEx("DespawnVehicle", 60000*20, 0, "d", gLastCar[playerid]);
    		}

     

    No dude, nu ar fi o idee prea buna sa faci un timer pentru fiecare masina.

    Un alt exemplu:

    image.png.d5f21f7c0d52276b7d341f26ae0f004d.png

  3. E o sectiune de Sprijin, daca doresti un anumit script si nu il poti face, poti oricand contacta unul din utilizatori ce ofera servicii contra cost. 

    Data viitoare cand mai faci un topic, vreau sa intelegi ca fraza asta - "am incercat sa adaug din alt gamemode burned, dar nu mi-a iesit" nu ne da nici macar cel mai mic indiciu despre problema ta ???? 

  4. Chiar daca ai avea un gamemode optimizat, oricum ar putea avea o portiune de cod ce face ca serverul sa pice. Instaleaza plugin-ul crashdetect, poate reusesti sa gasesti cauza.

     

    Ontopic:

    • nu crea string-uri mari, doar 128 de caractere pot fi afisate pe 1 rand din chat;
    • for(new x; x < MAX_PLAYERS; i++) - acest loop va face 1000 de iteratii, chiar daca pe server sunt doar 5 jucatori, foloseste foreach-ul in acest caz;
    • incearca sa inlocuiesti array-urile cu variabile normale, ex: new Float:pPos[3] il poti inlocui cu new Float:pPos1, Float:pPos2, Float:pPos3, nu mereu un cod scris mai usor/rapid e mai eficient decat unul scris mai "greu";
    • opreste loop-urile la momentul potrivit, iti voi da un exemplu din gamemode-ul meu:

    image.png.e780474be6e551d7eacaf7a77180d8c6.png

    Dupa cate vezi, odata ce jucatorul a intrat intr-un HQ, loop-ul a fost oprit, de ce? Pentru ca daca jucatorul va fi la intrarea/iesirea HQ-ului factiunii cu ID-ul 1 insa am in total 20 de factiuni,  s-ar mai face inca 19 iteratii aiurea.

    • in loc de mysql_query foloseste mysql_tquery deoarece, daca ai trimite un query catre DB folosind prima varianta serverul va trebui sa astepte pana cand s-ar executa si ar intoarce datele 'culese' in timp ce a doua varianta s-ar executa si ar trimite datele inapoi fara ca serverul sa fie afectat in vreon fel.
    • cand vrei sa selectezi doar 1 camp dintr-un tabel ce are 60 de campuri, pai selecteaza-l doar pe acela, exemplu:

    Incorect:

    image.thumb.png.f5f035913a0bfc232856847e0c16dfee.png

    Corect:

    image.thumb.png.b92253905aa08ef2e61a1ed421911087.png  

    Asta ar fi doar un exemplu legat de query-uri, incearca sa inveti singur mai multe despre structura unui query, pana la urma SQL e si el un limbaj aparte si necista invatat.

    • foloseste switch-ul in loc de if cand ai mai multe iteme de verificat, un exemplu ar fi sa-l folosesti la OnPlayerDialogResponse, nu are rost sa-l folosesti doar pentru 1-2 conditii.

    Acestea au fost doar cateva exemple, insa au un rol important. Sunt sigur ca daca vei mai cauta, o sa gasesti.

  5. Username: L0K3D
    Varsta: 17
    Ce fel de servicii oferi?: PAWN Scripting
    Pret: Depinde de complexitatea scriptului.
    Detalii de contact: L0K3D_Hokage#7361
    Alte precizari:

    • Imi rezervez dreptul de a respinge anumite cereri;
    • Daca comportamentul manifestat de potentialul client ma va face sa am dubii, va fi nevoit sa ofere  un avans;
    • Platile se fac doar prin Paypal momentan.
  6. 1 oră în urmă, Leonard a spus:

    cam grea trecerea de la bigzone la eureka :))

    Asa e, Eureka e aproape gol, BigZone-ul are gen totul pus pe tava, e normal ????

    1 oră în urmă, alexC a spus:

    locatia aia de la ds ma face nostalgic ca imi aduce aminte de tutorialul lui maurice :))

    gg

    Cam pe atunci m-am de scripting, dupa 4-5 luni dupa ce a facut tutorialul. Vroiam sa ma inscriu la Scoala Scripterilor, daca mai tii minte ????

×
×
  • Create New...