Jump to content
AlexGX

Tutorial - Comanda /updates [DIALOG]

Recommended Posts

M-am gandit sa va arat cum se face comanda [/updates] pe dialog

1.Mergeti la [#DEFINE-uri] in gamemode-ul vostru si adaugati

Spoiler

#define DIALOG_UPDATES        1 [sau ce numar aveti voi acolo ,continuati] 1 este un exemplu.

#define  SCM SendClientMessage               [ daca nu o aveti deja]

2.Comanda propriu-zisa

Quote

CMD:updates(playerid, params[])
{
    if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
    {
    new szString[2500];
    format( szString, sizeof( szString ), "%s>>>Update v1.4 & v1.5b DarkBite | AlexGX<<<\n",szString);
    format( szString, sizeof( szString ), "%sA fost adaugat antisqlinjection\n",szString);
    format( szString, sizeof( szString ), "%sSchimbate unele texte\n",szString);
    format( szString, sizeof( szString ), "%sMapping nou de Sarbatori+Spawn nou\n",szString);
    format( szString, sizeof( szString ), "%sAm adaugat colinde la -> /carradio\n",szString);
    format( szString, sizeof( szString ), "%sA fost scoasa functia pRadioCars pentru a nu te mai chinui [gen sa mergi la 24/7 sa cumperi Radio\n",szString);
    format( szString, sizeof( szString ), "%sScoase unele comenzi -> /getpremium,/premium\n",szString);
    format( szString, sizeof( szString ), "%sAm adaugat textdraw cu Numele Jucatorului si al serverul-ui\n",szString);
    format( szString, sizeof( szString ), "%sAm adaugat comanda /bonus pentru incepatori\n",szString);
    format( szString, sizeof( szString ), "%sAdaugata comanda /nos\n",szString);
    format( szString, sizeof( szString ), "%sAm schimbat spawn-ul\n",szString);
    format( szString, sizeof( szString ), "%sAdaugate comenzile /santa si /rmvsanta\n",szString);
    format( szString, sizeof( szString ), "%sMasini la spawn\n",szString);
    format( szString, sizeof( szString ), "%sComanda /fly si /stopfly adaugate\n",szString);
    format( szString, sizeof( szString ), "%sAdaugate comenzile /fp si /angle\n",szString);
    format( szString, sizeof( szString ), "%sAdaugat un 3DTextTabel cu comanda /bonus\n",szString);
    format( szString, sizeof( szString ), "%sTradus putin din gamemode [10%]\n",szString);
    format( szString, sizeof( szString ), "%sAdaugata comanda /killcp\n",szString);
    format( szString, sizeof( szString ), "%sComanda /givegun a fost schimbata in comanda /spawngun\n",szString);
    format( szString, sizeof( szString ), "%sA fost scos check s0beit, nu ajuta cu nimic\n",szString);
    format( szString, sizeof( szString ), "%sA fost adaugata o arena de event, cu comanda /gotocusca admini se vor putea duce la ea\n",szString);
    format( szString, sizeof( szString ), "%sA fost adaugat un bar pe plaja, playeri pot cumpara de la el folosind comanda /buymenu\n",szString);
    format( szString, sizeof( szString ), "%sComanda /a a fost schimbata putin, acum arata [level admin].\n",szString);
    format( szString, sizeof( szString ), "%sAdaugata comanda /aaa care te teleporteaza in virtual world 0 (Admin 1+)\n",szString);
    ShowPlayerDialog( playerid, DIALOG_UPDATES, DIALOG_STYLE_MSGBOX, "Meniu Update", szString, "Ok", "" );
    }
    return 1;
}

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

Edited by AlexGX

Share this post


Link to post
Share on other sites

Esti sigur, eu unul nu sunt prea sigur pe aceasta comanda, pe langa ca ai uitat de DIALOG_UPDATES, mai ai cateva greseli pe acolo.

 

Share this post


Link to post
Share on other sites
10 hours ago, .MarYuS. said:

Esti sigur, eu unul nu sunt prea sigur pe aceasta comanda, pe langa ca ai uitat de DIALOG_UPDATES, mai ai cateva greseli pe acolo.

 

Am bagat uita-te acolo mai bine.

Edited by AlexGX

Share this post


Link to post
Share on other sites
#define DIALOG_UPDATES

COMMAND:updates(playerid, params[]) {
	new string[250];
	strcat(string, "Update 0.1\n");
	strcat(string, "- Comenzile /x numai merg.\n");
	strcat(string, "- Comanda /x se va folosii doar in locatia x.\n");
	strcat(string, "- Creat job-ul de wanker.");
	ShowPlayerDialog(playerid, DIALOG_UPDATES, DIALOG_STYLE_MSGBOX, "Ia update-uri boss", string, "Dispari", "");
	return 1;
}

Eu zic ca ar fii fost mai eficient asa, arata si mai bine. Acolo este folosit ca procesor de comenzi ZCMD, puteti sa modificati pentru alte procesoare cum ari fii YSI command.

Edited by TheSnitzel

Share this post


Link to post
Share on other sites
On 12/27/2017 at 3:17 PM, AlexGX said:

M-am gandit sa va arat cum se face comanda [/updates] pe dialog

1.Mergeti la [#DEFINE-uri] in gamemode-ul vostru si adaugati

  Reveal hidden contents

#define DIALOG_UPDATES        1 [sau ce numar aveti voi acolo ,continuati] 1 este un exemplu.

#define  SCM SendClientMessage               [ daca nu o aveti deja]

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

Se afla si in gm-urile B***one

Share this post


Link to post
Share on other sites
La 27.12.2017 la 18:31, Gabriel9 #YOUTUBER a spus:

copy-paste gresit, ai 100 mii de erori, aia e [SCRIPTERY 2k18]

Nu are erori deloc! Daca te pricepi la pawn comenteaza daca nu mai bine taci. A spus clar te duci la #define si adaugi asa #define DIALOG_UPDATES   1

Share this post


Link to post
Share on other sites
3 hours ago, Pavelb said:

Nu are erori deloc! Daca te pricepi la pawn comenteaza daca nu mai bine taci. A spus clar te duci la #define si adaugi asa #define DIALOG_UPDATES   1

=))))

Nu ai cum frate ne minunam de un dialog la finalul lui 2018 bine ca se aproba topicurile acum ca urma sa vedem tutorial cum se foloseste setplayerpos

Topicul face un an mai verificati si data.

  • Haha 3

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Similar Content

    • By K H A I N
      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 😉
    • By Nica_Mihai
      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 +
    • By SparkySky
      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 !
    • By LeonardPWN
      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.
    • By PigSmo
      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!
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

This site uses cookies. By continuing browsing, you agree to the use of this information. For more details, see Terms of Use and Privacy Policy.