Jump to content

AlexGX

Membru
  • Posts

    91
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by AlexGX

  1. In primul rand incepem cu definirea dialogului + include
    #include <a_samp>
    
    #define Dialogulmeu 0 //in loc de 0 puteti pune ce numar vreti(dar sa nu puneti unul folosit la alt dialog)
                   // Dialogulmeu este o scurtatura

    Facem o comanda random 

    public OnPlayerCommandText(playerid, cmdtext[])
    {
      if(strcmp("/dialog", cmdtext, true) == 0)
      {
       ShowPlayerDialog(playerid, Dialogulmeu, DIALOG_STYLE_LIST, "Dialogul meu", "Varianta1\nVarianta2\nVarianta3", "Ok", "Iesire");
       return 1;
      }
      return 0;
    }

    playerid - Cui sa-i arate dialogul
    Dialogulmeu - Numarul dialogului(in cazul nostru este 0, asa cum am scris mai sus).Este doar o scurtatura.In loc sa scriem "Dialogulmeu" putem pune direct 0(sau alt numar).

    DIALOG_STYLE_LIST - Stilul dialogului.Sunt 6 stiluri ,eu v-am pus doar 3

    Pentru  a le vedea pe toate click aici : http://wiki.sa-mp.com/wiki/Dialog_Styles

     

    DIALOG_STYLE_MSGBOX - arata doar un mesaj. //ca sa fim rapizi putem scrie direct 0
    DIALOG_STYLE_INPUT - arata un mesaj si poti scrie ceva. //ca sa fim rapizi putem scrie direct 1
    DIALOG_STYLE_LIST - este o lista de unde alegi ce vrei. //ca sa fim rapizi putem scrie direct 2

    Dialogul meu - Este titlul dialogului
    Varianta1\nVarianta2\nVarianta3 - Sunt variantele pe care le putem alege.

    \n inseamna un rand nou.Daca nu puneam \n variantele nu erau una sub alta.Daca vrem sa lasam un mic spatiu(sa scriem ceva pe acelasi rand dar un pic mai la dreapta) punem \t

    Ok - Este primul buton.
    Iesire - Este al 2-lea buton.

    Acum trebuie sa adaugam:

     

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
      if(response)//daca apasam pe primul buton, adica Ok
      {
       if(listitem == 0)//daca dam click pe prima varianta, in cazul nostru Varianta1
       {
         SendClientMessage(playerid, 0x21DD00FF, "Ai selectat varianta 1");//asta se intampla cand selectam Varianta1
       }
       if(listitem == 1)//daca dam click pe a 2-a varianta, adica Varianta2
       {
         SendClientMessage(playerid, 0x21DD00FF, "Ai selectat varianta 2");
       }
       if(listitem == 2)//daca dam click pe a 3-a varianta, adica Varianta3
       {
         SendClientMessage(playerid, 0x21DD00FF, "Ai selectat varianta 3");
       }
      }
      else//daca dam click pe al 2-lea buton, adica Iesire
      {
        SendClientMessage(playerid, 0x21DD00FF, "Ai apasat pe butonul Iesire");
      }
      return 1;
    }

    Cum punem intr-un dialog foarte multe cuvinte fara sa ne dea eroare ca e linia prea lunga?(LaZ m-a invatat :P)

    Sus dupa #include <a_samp> punem:

     

    #define Dialogulmeu 0
    
    new string[] = "Ai scriem ceva lung.\nEtc...",
       string2[] = "Scriem si aici ceva lung.",
       string3[] = "Si mai scriem si aici ceva."; // in loc de string, string2,etc punem ce nume vrem.Putem pune cate stringuri vrem.
    public OnPlayerCommandText(playerid, cmdtext[])
    {
      if(strcmp("/dialog", cmdtext, true) == 0)
      {
       new DialogString[512];//512 e numarul de caracterele care va aparea.Daca aveti peste 512 caractere(litere) puneti un numar mai mare de 512
       format(DialogString, sizeof DialogString, "%s%s%s", string, string2, string3 );//cate stringuri avem atatea %s punem
       ShowPlayerDialog(playerid, Dialogulmeu, DIALOG_STYLE_MSGBOX, "Titlul dialogului", DialogString, "Ok", "Iesire" );
       return 1;
      }
      return 0;
    }

    Sper ca v-am fost de folos :D

    • Upvote 1
  2. 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

  3. On 26.12.2017 at 9:34 AM, RazvaN. said:

    CMD:givemoneyforme(playerid, params[])

    {
     GivePlayerCash(playerid, 10000000);

    SCM(playerid, -1, "Ai primit $1.000.000.000, salpa!");

    SetTimer("cersit", 1000, 0);

     return 1;

    }

     

    forward cersit(playerid);

    public cersit(playerid)

    {

    SCM(playerid, -1, "du-te ma la munca si nu mai primi");

    GivePlayerCash(playerid, -10000000);

    return 1;

    }

     

    Comanda mai buna ;)

    :))

     

×
×
  • 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.