Jump to content

Search the Community

Showing results for tags 'tutorial'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • SA-MP General
    • Noutăţi şi Actualizări
    • Comunitatea SA:MP România
    • General
    • Suport Client
    • Imagini şi Videoclipuri
  • SA-MP Server
    • Publicitate Server
    • Suport Servere
  • SA-MP Scripting şi Pluginuri
    • Ajutor Scripting
    • Gamemode-uri
    • Filterscript-uri
    • Pluginuri
  • SA-MP Altele
    • Totul şi Nimic
    • Anunţuri
  • A/D TDM 193.84.64.19:7777's Topicuri
  • Beginner Scripters's Discutii

Categories

  • General
    • Probleme frecvente
  • Server
  • Scripting
    • Funcţii
    • Callback-uri
  • Resurse
    • ID-uri
    • Jucător
    • Vehicul

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Discord


Website URL


Yahoo


Skype


Location


Interests


In-game Name

Found 16 results

  1. Salut, vreau sa postez acest tutorial facut de mine pe ultima versiune de MySQL, mai exact r41-4. In acest tutorial este facut inregistrarea si logarea. La inregistrare ai: Parola, Email, Gender si Age. Sper sa va placa si sa va fie de folos. Re. Stiu ca a fost blocat cand am intrat in samp, dar nu asta e important, important e ce invatati voi din acest tutorial, daca mai exista cineva ce nu stie pawn. video
  2. Astazi o sa va invat cum puteti face o random statistica a serverului unde in fiecare ora jucatorii primesc diferita informatie despre tot ce se intimpla pe server,deci sa trecem la treaba! Mersi de atentie,astept macar un "+" de staruinta ?
  3. Făcând curat prin hdd-ul calculatorului, am gasit un script care mi-a atras atentia. Este parte din modulul de inregistrare web folosit in anul 2008 la inregistrarea de pe site a serverului de samp eGaming. Poate fi gasit atasat la acest topic. M-am decis sa fac public acest cod pentru ca oricum este o varianta foarte veche, ne mai pastrand nimic din vechiul cod in actuala configuratie. Precum puteti observa, am comentat sectiunea cu accesul la baza de date deci ar trebui sa functioneze fara mysql, singurul lucru de care aveti nevoie este un server de FTP la care sa se conecteze remote pentru a trimite fisieru cu acel cont nou inregistrat. Atentie ! Acest fisier este pentru utilizatorii avansati, care detin cunostiinte cel putin medii de PHP si de configurare a unui server FTP. Codul cu pricina: Desigur ca acest script poate fi modificat sa nu mai depinda de partea de upload a fisierului prin FTP, asta in cazul in care serverul samp si site-ul se afla pe acelasi calculator. Puteti sa-l folositi in proiectele voastre, treaba voastra ce faceti cu el atata timp cat pastrati creditele si nu va dati drept autorul lui. (Nu e nevoie sa gasesc acest script pe "tz" site-uri cu "n" autori, n-am nevoie de mirror-uri). +1 Dacă ți-a plăcut !
  4. Salutare ! Astazi o sa va spun si voua cum puteti pune actori pe server! In primul rand ne ducem in Gamemode si cautati CreateVehicle sau LoadSistems(); si creati o linie noua si pastati comanda asta : CreateActor(modelid, Float:X, Float:Y, Float:Z, Float:Rotation); La modelid puneti id-ul skinului dorit. la Float:X, Float:Y, Float:Z puneti pozitia sin joc , O puteti salva cu comanda /save >nume< Si la rotatie puneti rotatia ! O loati tot in /save Exemplut : CreateActor(26, 1439.9125,-2291.0591,13.5469,315.3553); Daca merge +
  5. Salut ! Sunt nou cu artele scriptului si m-am decis sa invat si eu ceva . Am decis sa fac un server de la 0 , dar nu vad un tutorial pe YT sau alt ceva cu login si register . Adica cand intra cineva pe server sa nu imi mai apara sa apas ctrl sau altele . Sa imi apara sa ma inregistrez cu email si tot Nu uitati ca sunt nou si nu am habar nici cum ma cheama
  6. Descriere tutorial:Salut Sa-mp.ro As vrea si eu un tutorial, cum as putea creea un double respect payday intr-un anumit interval de timp.. Adica de exemplu de la ora 20:00 pana la 00:00 sa dea cate 2 respectpoint pe payday. Tin sa mentionez ca gamemode-ul pe care vreau sa implemez asta este pe dini, Multumesc
  7. Descriere tutorial: A-si dori si eu un tutorial cum sa fac un anti-flood eficient
  8. Salut ! As dori si eu daca se poate un tutorial pentru Level UP, PayDay si Respect Points. Folosesc GM-ul lui WopsS. Am cautat pe google si nu gasesc nimic. Multumesc !
  9. As dori un tutorial unde sa fie explicat cum sa faci un DMV. Multumesc.
  10. Salutare, astăzi am decis să incep o serie de tutoriale cu ajutorul cărora sper să învățați puțin PHP, moduri de securizare ale unui site PHP și de ce lucruri esențiale are nevoie un User Control Panel ca să fie folositor pentru jucători cât și pentru staff. Țin să precizez că nu o să pun mare accent pe aspectul site-ului până când nu terminăm crearea întregului panel. După ce terminăm UCP-ul este posibil să mai fac și vreo două tutoriale în care să vă explic și câteva lucruri de bază despre cum ar trebui aranjat un UCP. În acest tutorial o să creăm un User Panel Control care poate fi utilizat la aproape orice server care are o bază de date MySQL. Fișiere și programe necesare: Un program sau un webserver pe care să încărcați fișierele necesare UCP-ului și o bază de date MySQL. (Exemple de programe: wamp, xampp) Un program cu ajutorul căruia puteți edita fișiere PHP, HTML și CSS cu care să fiți obișnuiți și să vă placă să lucrați în el. Partea I a tutorialului: Partea a II-a a tutorialului: Aceasta ar fi prima parte a ghidului, nu o să intru în mai multe detalii în acest tutorial ca să nu vă încurc cu prea multe coduri din prima, o să fie puțin greu să urmați acest tutorial dacă nu aveți cunoștințe în nicio limbă de programare web, dar o să încerc să explic cât mai bine. Download panel: http://www.mediafire.com/download/3ou19n07p5ddu4p/Panel.rar Despre ce o să fie partea a 3-a?: Crearea unui admin panel cu funcții RCON pentru panel-ul nostru.
  11. Am sa va prezint un mic tutorial care poate fi foarte util atunci cand vine vorba de optimizarea serverului. Sa spunem ca aveti de salvat modurile unei masini personale care a fost tunata intr-un garaj din SA. Mai peste tot am vazut ca se foloseste in baza de date cate o variabile pentru fiecare mod in parte gen: VehMod1, VehMod2, VehMod3, ... etc. Daca folositi aceasta metoda datele vor fi accesate mai greu din baza de date iar baza de date va folosi prea multa memorie aiurea mai ales daca folositi si un INT(64) pentru o variabila care nu depaseste o valoare mai mare de 9999 daca nu gresesc. In locul aceste metode depasite putem stoca toate modurile intr-o singura variabila in baza de date gen "VehicleMods". Cand veti salva aceste moduri faceti un string de forma: "mod0:mod1:mod2:...:mod12" deci vom avea semnul " : " intre fiecare mod. Cand vom citi modurile de pe server ne vom folosi de functia sscanf pentru a delimita fiecare variabila in parte ce este despartita de semnul folosit de noi si anume " : "(puteti folosi si altceva gen " , " sau " . " dar mi se pare cel mai ok " : " ). gsQuery[ 0 ] = EOS; cache_get_field_content( 0, "vehicleMods", gsQuery ); // In gsQuery stocam din baza de date acel string cu modurile. sscanf( gsQuery, "p<:>iiiiiiiiiiiii", PVeh[ X ][ playerid ][ VehicleMods ][ 0 ], // Aici folosim sscanf si definim prin p<:> unde ":" reprezinta semnul ales de noi, si in continuare impartim valorile si le atribuim in ordine. PVeh[ X ][ playerid ][ VehicleMods ][ 1 ], PVeh[ X ][ playerid ][ VehicleMods ][ 2 ], PVeh[ X ][ playerid ][ VehicleMods ][ 3 ], PVeh[ X ][ playerid ][ VehicleMods ][ 4 ], PVeh[ X ][ playerid ][ VehicleMods ][ 5 ], PVeh[ X ][ playerid ][ VehicleMods ][ 6 ], PVeh[ X ][ playerid ][ VehicleMods ][ 7 ], PVeh[ X ][ playerid ][ VehicleMods ][ 8 ], PVeh[ X ][ playerid ][ VehicleMods ][ 9 ], PVeh[ X ][ playerid ][ VehicleMods ][ 10 ], PVeh[ X ][ playerid ][ VehicleMods ][ 11 ], PVeh[ X ][ playerid ][ VehicleMods ][ 12 ]);
  12. Salutare tuturor, eu sunt Leonard si astazi vreau sa va impartasesc si voua niste metode pentru a miscora dimensiunea .AMX-ului. Hai sa trecem la treaba... * Mai intai, sa vedem ce este AMX-ul (?) AMX-ul este un fisier care dupa compilare acesta stocheaza toate variabilele (goale). Inca nu ai inteles? Hai sa-ti dau si un exemplu. Daca adaugi o noua variabila: new string[MAX_PLAYERS][256] ; Atunci gamemode-ul tau mananca deja 250KB (Adica acesti KB ii adauga la fisierul AMX). Cum vine asta, pai inmulteste 500 de jucatori cu 256 (caracterele definite la string-ul anterior) si 4 caractere. (Adica din tot string-ul acela de 256 noi folosim doar 4 caractere), eh, aici intervine a 4-a metoda de micsorare a AMX-ului, dar asta o sa discutam putin mai incolo. Exista cateva metode de micosare a dimensiunii AMX-ului (astea sunt doar cateva din zecile de metode): Metoda 1) Folosirea parametrului MAX_PLAYERS. (Q) Stai, cum? Daca folosesc MAX_PLAYERS mi se mareste AMX-ul? Cum? (A) Raspunsul este da, se mareste foarte mult, de ce? Pentru ca atunci cand noi folosim parametrul MAX_PLAYERS, acesta parcurge 1000 de jucatori, iar daca noi avem doar 50 de playeri (aici ma refer la 50 de sloturi pline), nu avem nevoie de MAX_PLAYERS care are 1000 de jucatori default. (Q) Si cum putem rezolva asta? (A) Pai foarte easy, hai sa-ti arat: Stergi vechicul "define" si adaugi unul nou cu jucatorii pe care ii are server-ul tau. (aici ma refer la sloturile maxime pe care le ai pe server) Exemplu: #undef MAX_PLAYERS -> Stergi vechicul "define". #define MAX_PLAYERS 50 -> Adaugi un nou define. (Q) Ce este acel 50? (A) Acel "50" reprezinta numarul maxim de jucator pe care server-ul tau il suporta. (aici ma refer la sloturi) A fost greu? Pai vezi Metoda 2) PVarurile: (Q) Ce? PVarurile maresc dimensiunea AMX-ului? (A) Din nefericire, da. (Q) Si cum pot repara asta? (A) Foarte simplu, folosesti PVar-uri doar cand este nevoie, nu prin tot gamemode-ul. Metoda 3) Array-urile: (Q) Hai ca p'asta n-o mai cred, array-urile maresc dimensiunea AMX-ului, sa mori tu? (A) Yep, acestea maresc cel mai mult AMX-ul. (Q) I-a zi mestere, cum rezolv asta? (A) Pai, ce pot sa zic, este destul de usor, hai sa-ti explic: Verifica dimensiunea tuturor array-urile pe care le ai in gamemode, de ce? Pentru ca este posibil sa fi folosit niste valori uriase pentru niste amarate de array-uri. Metoda 4) String-urile: (Q) Du-te dracu', pe asta chiar ca n-o mai cred, cum asa? (A) Daca-mi aduc aminte, aici ti-am explicat la inceput ce se intampla, dar acum am sa-ti explic mai detaliat despre string-uri. Mai intai, hai sa aflam ce este un "string". (?) Un string este o variabila care stocheaza un sir de caractere. In PAWN, dimensiunea maxima a string-ului este 1024. (Q) Cum se foloseste un string (Corect & Incorect). Corect: YCMD:test( playerid, params[] ) { new string[64], //Variabila care stocheaza un sir de caractere, in cazul nostru aceasta stocheaza doar 128 de caractere. nume[MAX_PLAYER_NAME] //Variabila care stocheaza numele unui player. ; GetPlayerName( playerid, nume, sizeof nume ); //Functie care afla numele unui player. format( string, sizeof string, "Numele meu este %s!", nume ); //Formatam un mesaj folosit string-ul de mai sus. (%s se foloseste cand vrem sa afisam un string, dar deja intram in altceva) SendClientMessage( playerid, -1, string ); //Trimitem mesaj catre player-ul care a folosit comanda. return 1; } Incorect: YCMD:test( playerid, params[] ) { new string[256], //Variabila care stocheaza un sir de caractere, in cazul nostru aceasta stocheaza doar 128 de caractere. nume[MAX_PLAYER_NAME] //Variabila care stocheaza numele unui player. ; GetPlayerName( playerid, nume, sizeof nume ); //Functie care afla numele unui player. format( string, sizeof string, "Numele meu este %s!", nume ); //Formatam un mesaj folosit string-ul de mai sus. (%s se foloseste cand vrem sa afisam un string, dar deja intram in altceva) SendClientMessage( playerid, -1, string ); //Trimitem mesaj catre player-ul care a folosit comanda. return 1; } Multi vor spune ca "comenzile" de mai sus sunt identice, dar putini vor observa dimensiunea string-ului. N-ai inteles? Hai sa-ti explic mai bine. In prima comanda (Corecta) am folosit un string de 64 de caractere, de ce? Pentru ca avem un string foarte mic de afisat, in cazul nostru string-ul este numele unui player, care nu poate fii mai mare de 64 de caractare si de asta am folosit doar 64 de caractere. In a II-a comanda (Incorecta) am folosit un string de 256 de caractere. Acum, multi vor spune "Si ce?", pai, de ce sa folosim un string de 256 de caractere cand noi trebuie sa afisam doar un nume de maxim 64 de caractere? Ha? Eh, si aici intervine ce v-am spus eu printre primele randuri "Atunci gamemode-ul tau mananca deja 250KB (Adica acesti KB ii adauga la fisierul AMX). Cum vine asta, pai inmulteste 500 de jucatori cu 256 (caracterele definite la string-ul anterior) si 4 caractere. (Adica din tot string-ul acela de 256 noi folosim doar 4 caractere), eh, aici intervine a 4-a metoda de micsorare a AMX-ului, dar asta o sa discutam putin mai incolo." Cam atat am avut sa va spun, sper ca majoritatea ati inteles ce am explicat eu mai sus. Informatii: 1. Procesor de comenzi folosit: YCMD (http://forum.sa-mp.com/showthread.php?t=571047) 2. Acest tutorial a fost scris de la 0 de catre mine. (Rog "copiatorii" sa se abtina de-al copia si al posta pe alte comunitati de scripting, macar daca faceti asta, pastrati creditele) 3. Ma scuzati daca gasiti greseli gramaticale, am scris repede si na.. 4. Nu stiu daca m-am exprimat bine in unele locuri. Copyright © 2018 Leonard. All rights reserved.
  13. M-am gandit sa va arat cum se face comanda [/updates] pe dialog 1.Mergeti la [#DEFINE-uri] in gamemode-ul vostru si adaugati 2.Comanda propriu-zisa Acum trebuie sa aveti definite unele chestii in gamemode in caz ca nu le aveti deja. - LA *new-uri* adaugati new gPlayerLogged[MAX_PLAYERS]; apoi adaugati variabila aceasta gPlayerLogged[playerid] = 0; Daca aveti probleme sau orice alta nelamurire lasati REPLY. +1 Daca v-am ajutat
  14. Salut, vreau si eu sa-mi da-ti un model cu comanda [/updates] + cu ce trebuie sa definesc si sa mai adaug in GameMode pentru a merge comanda. MULTUMESC!
  15. Tech

    Bug Tutorial!

    Salut, as dori sa ma ajutati sa repar acest bug la tutorial din acest gm - Dupa terminarea tutorialului nu ma spawneaza la Spawn Civil.
  16. Pentru a va face mai usoara trecerea de la versiunea R33+ la R40 a plugin-ului MySQL creat de BlueG si continuat de maddinat0r va voi ajuta cu doua "functii" relativ simple dar foarte utile pentru a evita rescrierea in totalitate a liniilor de cod. Pentru valorile intregi vom folosi urmatorul stock: stock cache_get_field_content_int(row, field_name[], MySQL:connectionHandle ) // Vechea forma din R33+ { #pragma unused connectionHandle // Ignoram connectionHandle care este folosit in prezent new retval = cellmin; // Dam aceasta valoare in caz de eroare. cache_get_value_name_int(row, field_name, retval); // Folosim aici noua functie din R40 si stocam valoarea in variabila "retval" return retval; // Returnam valoarea din baza de date } Pentru valorile float vom folosi urmatoarea functie: #define function%0(%1) \ forward%0(%1); public%0(%1) // Ne folosim de acest define pentru a evita crearea unui forward pentru fiecare public necesar. function Float:cache_get_field_content_float(row, field_name[], MySQL:connectionHandle ) // Vechea forma din R33+ { #pragma unused connectionHandle // La fel ca in stock-ul de mai sus new Float:retval = cellmin; // Aici singura diferenta este valoarea definita ca Float cache_get_value_name_float(row, field_name, retval); // La fel ca in stock-ul de mai sus return retval; // La fel ca in stock-ul de mai sus } Pentru alte nelamuriri si informatii nu ezitati sa postati aici. Aceste functii sunt create cu ajutorul lui Spmn.
×
×
  • 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.