Jump to content

NewTonRPG

Membru
  • Posts

    17
  • Joined

  • Last visited

Posts posted by NewTonRPG

  1. mersi

    On 10/5/2020 at 4:14 PM, shane said:

    Salut @TheSlim2

    Nu am inteles exact intrebarea. Daca te referi strict la adaugarea unei locatii noi in /gps, vei face urmatorul lucru:

    In primul rand vei cauta comanda /gps in gamemode, folosind combinatia de taste CTRL+F, iar in casuta afisata vei scrie 'gps(' (cu tot cu paranteza). Primul rezultat ar trebui sa fie comanda, in cazul in care nu folosesti o alta comanda, avand /gps ca alternativa. (adica spre ex daca folosesti ycmd si ai comanda /locations iar ca alternativa /gps, pe romaneste). Te poti informa despre libraria YSI, mai exact despre YCMD cu un search pe internet. Si apropo, ar trebui sa cauti in romana, pentru ca daca vei cauta in engleza vei primi rezultate de pe site-ul oficial/global sa-mp, care este offline/inchis. Ma rog, detalii.., sa trecem peste.

    Comanda rezultata ar trebui sa arate in felul urmator:

    Pe ZCM =>
    CMD:gps( playerid, params[] ) {
    	ShowPlayerDialog( playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "Locations", "Locatia 1\nLocatia 2\nLocatia 3", "Select", "Close" );
    	return true;
    }
    
    Pe YCMD =>
    YCMD:gps( playerid, params[], help ) {
    	ShowPlayerDialog( playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "Locations", "Locatia 1\nLocatia 2\nLocatia 3", "Select", "Close" );
    	return true;
    }

    Dupa cum vezi, in codul de mai sus sunt trecute in functia 'ShowPlayerDialog' urmatoarele: Locatia 1, Locatia 2 si Locatia 3, care sunt delimitate pe un rand nou folosind "\n". (\n = insereaza un rand nou in lista, adica Locatia 2 apare sub Locatia 1 in dialogul afisat de comanda).

    Ce ne intereseaza in comanda este functia ShowPlayerDialog. Folosind exemplul meu, vei adauga o locatie noua, adaugand la sfarsitul sirului tau de locatii => \nNumele Locatiei Tale. Exemplu: ShowPlayerDialog( playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "Locations", "Locatia 1\nLocatia 2\nLocatia 3\nNumele Locatiei Tale", "Select", "Close" );

    Acum, locatia ta a fost adaugata in lista, in /gps.

    In continuare, va trebui sa setezi un checkpoint locatiei. Pentru asta, vei cauta in gamemode numele dialogului tau pentru locatii. Spre exemplu, numele dialogului meu, din exemplul de mai sus, este 'DIALOG_GPS'. Tu va trebui sa cauti numele dialogului tau, pe care il gasesti unde am ingrosat eu => ShowPlayerDialog( playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "Locations", "Locatia 1\nLocatia 2\nLocatia 3\nNumele Locatiei Tale", "Select", "Close" );

    Ca rezultat, vei avea ceva de genul:

    Pe switch =>
    case DIALOG_GPS: {
        if( !response ) return true;
        switch( listitem ) {
            case 0: SetPlayerCheckpoint( playerid, 2459.7097, 1324.9181, 10.8203, 5.0 ); // Locatia 1
            case 1: SetPlayerCheckpoint( playerid, 1090.2291,1074.8134,10.8359, 5.0 ); // Locatia 2
            case 2: SetPlayerCheckpoint( playerid, 1099.5839,1601.5763,12.5469, 5.0 ); // Locatia 3
        }
    }
    
    Default =>
    if( dialogid == DIALOG_GPS ) {
          if( !response ) return true;
          if( listitem == 0 ) SetPlayerCheckpoint( playerid, 2459.7097, 1324.9181, 10.8203, 5.0 ); // Locatia 1
          else if( listitem == 1 ) SetPlayerCheckpoint( playerid, 1090.2291,1074.8134,10.8359, 5.0 ); // Locatia 2
          else if( listitem == 2 ) SetPlayerCheckpoint( playerid, 1099.5839,1601.5763,12.5469, 5.0 ); // Locatia 3
    }

    Dupa cum vezi, sunt 3 locatii, ca in exemplul meu. Pentru a adauga checkpointul, tu va trebui sa adaugi un rand nou, in functie de modul in care ai tu organizate locatiile, folosind exemplul meu. In exemplul urmator o sa ma folosesc de switch, adica primul exemplu pe care ti l-am dat mai sus, si voi adauga un checkpoint nou pentru noua locatie adaugata.

    Deci, voi adauga:

    case 3: SetPlayerCheckpoint( playerid, 2459.7097, 1324.9181, 10.8203, 5.0 ); // Noua locatie adaugata

    Aici trebuie sa fii atent la 2 lucruri foarte importante:

    1. Va trebui sa cresti numarul locatiei cu 1 (+1), spre exemplu, numarul ultimei mele locatii (din exemplu) a fost 2, deci am adaugat 3 (case 3: ..bla bla bla). Lafel se procedeaza si in al 2-lea exemplu pe care ti l-am dat, doar ca de data asta va trebui sa adaugi si 'else' inainte de if, care pe romaneste inseamna ('sau daca'), rezultatul fiind => else if( listitem == 3 ) SetPlayerCheckpoint.. etc.
    2. Pentru ca probabil, tu in dialogul tau vei gasi variabile precum 'CP[playerid] = Un Numar' sau 'Checkpoint[playerid] = Un Numar', spre exemplu:
    case 0: {
    	SetPlayerCheckpoint( playerid, 2459.7097, 1324.9181, 10.8203, 5.0 );
    	CP[ playerid ] = 1;
    }
    
    sau =>
    
    switch( dialogid ) {
    	case 0: bla bla bla
    	case 1: bla bla bla
    	case 2: bla bla bla
    	case 3: bla bla bla
    }
    CP[ playerid ] = 1;

    [...] In cazul in care te regasesti in primul exemplu, va trebui sa adaugi si acea variabila, cum il ai in celelalte dialoguri, sau in exemplul pe care ti l-am oferit.

     

    Ok, acum mai ai un singur lucru de facut, va trebui sa introduci coordonatele checkpointului tau, pentru noua locatie.

    Pentru a face asta, foloseste comanda /save in locul in care vrei sa apara checkpointul, dupa care, navigeaza in pc-ul tau pana in folderul Decuments -> Gta San Andreas User Files -> SAMP, in care vei gasi un fisier tip Note (.txt) cu numele saved-possitions sau ceva de genul, nu mai stiu exact.

    Il vei deschide, iar ultimul rand din lista va fi noua ta locatie va fi ceva de genul => AddPlayerClass(un numar (care simbolizeaza skinul tau), coordonata_1, coordonata_2, coordonata_3, etc etc. Ce ne intereseaza pe noi sunt coordonatele 1, 2 si 3. Le vei copia, cu tot cu virgula dintre ele (doar cele dintre coordonate, nu si dinainte sau de dupa) si le vei inlocui cu coordonatele din ultima ta locatie, cea adaugata de tine in gamemode, la dialogul tau, dupa exemplul urmator:

    Vei adauga coordonatele cum am eu exemplul mai jos
    
    SetPlayerCheckpoint(playerid, coordonata_1, coordonata_2, coordonata_3, Cat_de_mare_sa_fie_cercul);
    
    In loc de coordonata 1, 2 si 3, vei adauga coordonatele pe care le-ai copiat din fisierul pe care ti-am spus sa-l cauti mai sus.
    Exemplu: SetPlayerCheckpoint(playerid, 2459.7097, 1324.9181, 10.8203, 5.0);

    In loc de 'Cat_de_mare_sa_fie_cercul', poti pune 5.0, 10.0, 7.0 (e doar un exemplu). Asta reprezinta cat de mare sa fie acel cerc rosu, care reprezinta checkpointul. Deci cat de mare sa fie raza checkpointului.

     

    Cam asta e. Am incercat sa-ti raspund cat mai detaliat si mai clar. Desi nu ma pot numi un profesor, sper sa intelegi ceva. Oricum, te mai poti lua si dupa exemplele din gamemodeul tau sau din alte gamemodeuri. In cazul in care ai vrut toata comanda, cu ce ti-am dat mai sus iti poti face singur comanda daca ai ZCMD sau YCMD ca procesor de comenzi.

     

  2. AI putea face o combinatie intre gamemode-uri, acesta + B-hood 0.3v (versiunea ta) + cateva sisteme ( container, joburi noi ( astea rup pe un server nou ), time crate (odata la 2 payday). Eu l-as cumpara cu placere.          👌+1 pentru GM de astazi

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