[GTA San Andreas] Creare BOT su SA-MP 0.3

GTA San Andreas Multiplayer per PC

« Older   Newer »
 
  Share  
.
  1.     +1   -1
     
    .
    Avatar


    Group
    STAFF
    Posts
    919
    Celebrità:
    +364

    Status
    Anonymous
    Creare un Bot per SAMP 0.3

    Registrare il percorso

    Per prima cosa dovrete sempre essere loggati con rcon (/rcon login vostra_rcon)

    Per creare il nostro bot abbiamo bisogno di tre principali comandi inclusi nel filterscript npc_record:

    /vrecord <nome_file> - Inizia a registrare il percorso che facciamo col nostro veicolo che poi applicheremo al bot.

    /ofrecord <nome_file> - Inizia a registrare il percorso che facciamo a piedi che poi applicheremo al bot

    /stoprecord - Stoppa la registrazione.


    Ora vedremo come registrare un percorso in un veicolo per poi applicarlo a un bot:

    Quando siete pronti e volete iniziare a registrare il vostro percorso loggatevi con rcon e digitate il comando /vrecord bot [al posto di bot potete scrivere un nome qualsiasi che verra associato al file della registrazione che si verrà a creare] se volete registrare un percorso a piedi dovete digitare /ofrecord.
    Dopo che finite il vostro giro per terminare la registrazione digitate /stoprecord.
    Se avete dato il nome di "bot" al file troverete nella cartella "scriptfile" il file bot.rec, se avrete dato un altro nome non cambia niente... avrete soltanto un altronome.rec Quinidi spostate questo file nella cartella "Cartella del server/npcmodes/recordings/" .

    ** SE È LA PRIMA VOLTA CHE STATE SEGUENDO LA GUIDA CONSIGLIO DI DARE DIRETTAMENTE IL NOME DI "bot" **

    Controllare il bot

    Se guardate la cartella npcmodes troverete dei piccoli sciript che servono a controllare i bot gia inclusi nel pacchetto server rilasciato.

    Quindi per funzionare il vostro bot ha bisogno di questo script:

    ATTENZIONE: se il bot guidera un veicolo lasciate il seguente script per com'è, se invece seguirà un percorso a piedi cambiate #define RECORDING_TYPE 1 in #define RECORDING_TYPE 2

    CODICE
    #define RECORDING "bot" //cambiate il nome con il vostri file.rec
    #define RECORDING_TYPE 1 //mettete 1 se avete registrato con un veicolo 2 a piedi.

    #include <a_npc> // questo include a samp le funzioni dei bot
    main(){}
    public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING); // ripete il movimento dei bot

    #if RECORDING_TYPE == 1
      public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING); // dopo che il bot viene messo in un veicolo comincia ad eseguire il percorso
      public OnNPCExitVehicle() StopRecordingPlayback(); //quando esce si ferma
    #else
      public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
    #endif


    allora create un nuovo documento con pawno, cancellate tutto e incollate il codice qui sopra e compilate. Adesso salvate il vostro file .pwn e l'amx generato nella cartella "cartella del server/npcmodes/" col nome di "bot" ovviamente senza virgolette o come al solito date il nome che avete dato quando avete fatto /vrecord .

    Connettere il bot e metterlo nel veicolo

    Se il bot dovrà guidare un veicolo continua a leggere, altrimenti se il tuo bot dovrà seguire un percorso a piedi salta questa parte e leggi
    COME CONNETTERE UN BOT CHE SEGUE UN PERCORSO A PIEDI

    Aprite la vostra gm e aggiungete sotto OnGameModeInit questo: (se volete potete farlo anche come filterscript e mettere questo codice sotto OnFilterScriptInit)

    CODICE
    ConnectNPC("Guidatore","bot");
    veicolodelbot=CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);


    dove Guidatore sta per il nome del bot, e "bot" è il nome dello script che abbiamo visto poco fa.

    In testa allo script
    CODICE
    new veicolodelbot;


    Sotto a OnPlayerSpawn
    CODICE
    if(IsPlayerNPC(playerid)) //Controlla se è un bot.
      {
          new npcname[MAX_PLAYER_NAME];
          GetPlayerName(playerid, npcname, sizeof(npcname));
          if(!strcmp(npcname, "Guidatore", true)) //Assicuratevi che il nome si uguale a quello di connessione
          {
              PutPlayerInVehicle(playerid, veicolodelbot, 0); //Mette il bot nel veicolo creato nell'ongamemodeinit.
          }
          return 1;
      }


    Se in seguito vorrete mettere un altro bot sotto onplayerspawn dovete aggiungere questo:
    CODICE
    if(!strcmp(npcname, "NOME DEL BOT", true))
          {
              PutPlayerInVehicle(playerid, AnotherVehicleID, 0);
              return 1;
          }


    Esempio su come mettere 2 bot:
    CODICE
    if(IsPlayerNPC(playerid)) //Controlla se è un bot.
      {
          new npcname[MAX_PLAYER_NAME];
          GetPlayerName(playerid, npcname, sizeof(npcname));
          if(!strcmp(npcname, "Guidatore", true)) //Assicuratevi che il nome si uguale a quello di connessione
          {
              PutPlayerInVehicle(playerid, veicolodelbot, 0); //Mette il bot nel veicolo creato nell'ongamemodeinit.
          }
    if(!strcmp(npcname, "NOME DEL BOT", true))
          {
              PutPlayerInVehicle(playerid, AnotherVehicleID, 0);
              return 1;
          }[

          return 1;
      }


    Se il bot che volevate doveva seguire un percorso in un veicolo avete finito qui.

    COME CONNETTERE UN BOT CHE SEGUE UN PERCORSO A PIEDI

    Dopo aver fatto tutto il procedimento di registrare il percorso, spostamento file ecc... controllate che nel file .pwn della cartella npcmodes abbiate cambiato.
    CODICE
    #define RECORDING_TYPE 1


    in
    CODICE
    #define RECORDING_TYPE 2


    Adesso, aprite la vostra GM e mettete sotto OnGameModeInit
    CODICE
    ConnectNPC("Pedone","bot");


    compilate e...

    OK! adesso avete il vostro bot a piedi!

    Problemi comuni

    Il mio bot esce da solo dopo la connessione

    Controlla di non avere sistemi di controllo ping/anticheat puoi escluderlo inserendo questo codice:
    CODICE
    if(IsPlayerNPC(playerid)) return 1;


    Il mio bot non si connette

    Controlla di non aver messo la password al server e che nel file server.cfg ci sia maxnpc 10 (per dieci si intende il numero massimo di bot)

    Il mio bot è fermo allo spawn

    Controlla di aver creato il veicolo e che nell'onplayerspawn ci sia il PutPlayerInVehicle

    Il mio bot esce dal veicolo e rientra dopo qualche secondo procedendo con il percorso

    Prova a kickare gli altri bot.
    Web
     
    Top
    .
0 replies since 5/9/2011, 18:53   187 views
  Share  
.