GTA-Center.com » Forum
http://www.gta-center.com/forums/

[GUIDA] Come creare un Bot
http://www.gta-center.com/forums/viewtopic.php?f=40&t=102
Pagina 1 di 1

Autore:  SNaKe_OlD [ 29/10/2010, 14:26 ]
Oggetto del messaggio:  [GUIDA] Come creare un Bot

Codice:
[size=150][color=#FF0000]= Come creare un bot =[/color][/size]

Prima di tutto, dobbiamo registrare il nostro Bot come amx. Startate il vostro server con una gm a vostro piacere, loggatevi con la rcon("/rcon login <password>") e caricate il filescript per registrare il nostro bot("/rcon loadfs npc_record").

I 3 comandi principali per registrare il nostro bot sono:

● /vrecord <nomefile> - Si usa per registrare un percorso con un veicolo.
● /ofrecord <nomefile> - Si usa per registrare un percorso a piedi.
● /stoprecord - Stops recording both vehicle and on foot paths.

In questa guida impareremo come registrare un percorso con un veicolo.
Prendere una macchina che volete e fate /vrecord miobot e registrate un percorso a vostro piacere.
Dopo aver finito di registrare fate /stoprecord. Chiudete il server, andate in server/scriptfiles e spostate il file miobot.rec in server/scriptfiles/npcmodes/recording.

= Controllare il bot =

Se controllate nella cartella npcmodes ci sono dei .pwn che servono a controllare il percorso dei bot. Come nome del file mettete miobot.
Quindi create un nuovo documento con pawno e incollate queste seguenti righe:


Codice:
#define RECORDING "miobot" //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


Incollare e non capirci niente non è bello quindi vi dirò il significato di ogni riga.

Codice:
#define RECORDING "mynpc" //

Definisce il nome del file senza l'estensione.

Codice:
#define RECORDING_TYPE 1 //

Definisce il tipo della registrazione. 1 se è un bot veicolo, 2 se è un bot a piedi.

Codice:
#include <a_npc>

Include le funzioni del bot nel pawno.

Codice:
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);

Questa rende il ciclo di registrazione, quando la riproduzione della registrazione è finita, fa ri-inizia il percorso.

Codice:
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);

Questa riga fa partire la registrazione.

Codice:
public OnNPCExitVehicle() StopRecordingPlayback();

Questa riga stoppa la registrazione.

Codice:
public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING);

Questo script fà partire la registrazione quando il bot è spawnato.


= Connettere il vostro Bot =

Per connettere il vostro bot, dovete inserire queste righe in OnGameModeInit della vostra gm:

Codice:
ConnectNPC("Fred","miobot");


● "Fred" è il nome del nostro bot. Il nome è necessario perchè se dovete mettere altri bot.
● "miobot" carica il nostro amx. "miobot" è il nome del nostro amx.

Se è una GameMode dovete aggiungere così:

Codice:
public OnGameModeInit()
{
  ConnectNPC("Fred","miobot");
  return 1;
}


Se è un FilterScript dovete aggiungere così:

Codice:
public OnFilterScriptInit()
{
ConnectNPC("Fred","miobot");
  return 1;
}


Ora dopo che abbiamo caricato il nostro bot dobbiamo creare un veicolo dove caricare il nostro percorso.

In cima a tutto:

Codice:
new Fred;


In GameModeInit:

Codice:
public OnGameModeInit()
{
  ConnectNPC("Fred","miobot");
  Fred = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
  return 1;
}


Se è un FilterScript mettete così:


In cima a tutto:

Codice:
new Fred;


Codice:
public OnFilterScriptInit()
{
  ConnectNPC("Fred","miobot");
  Fred = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
  return 1;
}




Ora dobbiamo far spawnare il nostro NPC. Mettete questo script in OnPlayerSpawn:
Codice:
public OnPlayerSpawn(playerid)
{
  if(IsPlayerNPC(playerid)) //
  {
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname)); //
    if(!strcmp(npcname, "Fred", true)) //
    {
      PutPlayerInVehicle(playerid, Fred, 0); /
    }
    return 1;
  }
// qui mettete le funzioni per i player normali
  return 1;
}



Invece se volete caricare piu' bot dovete far così:

Codice:
public OnPlayerSpawn(playerid)
{
  if(IsPlayerNPC(playerid))
  {
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(!strcmp(npcname, "Fred", true)) //
    {
      PutPlayerInVehicle(playerid, MyFirstNPCVehicle, 0); //
      return 1;
    }
    if(!strcmp(npcname, "Carmela", true))
    {
      PutPlayerInVehicle(playerid, AnotherVehicleID, 0);
      return 1;
    }
    return 1;
  }
// qui mettete le funzioni per i player normali
  return 1;
}

Autore:  Giovanni94m [ 29/10/2010, 14:28 ]
Oggetto del messaggio:  Re: [GUIDA] Come creare un Bot

ottimo lavoro : Thumbup :

Autore:  SNaKe_OlD [ 29/10/2010, 14:33 ]
Oggetto del messaggio:  Re: [GUIDA] Come creare un Bot

grazie

Autore:  barletheking [ 29/10/2010, 14:36 ]
Oggetto del messaggio:  Re: [GUIDA] Come creare un Bot

braavo :D

Autore:  MoND [ 29/10/2010, 16:52 ]
Oggetto del messaggio:  Re: [GUIDA] Come creare un Bot

Very good Snake! : Wink :

Autore:  SNaKe_OlD [ 29/10/2010, 16:57 ]
Oggetto del messaggio:  Re: [GUIDA] Come creare un Bot

grazie asd

Autore:  jpk [ 30/10/2010, 18:19 ]
Oggetto del messaggio:  Re: [GUIDA] Come creare un Bot

I Bot nabbi rullano.

Autore:  Peppinux AKA Peppe_Stasu [ 31/10/2010, 22:29 ]
Oggetto del messaggio:  Re: [GUIDA] Come creare un Bot

Nice work!

Pagina 1 di 1 Tutti gli orari sono UTC + 1 ora [ ora legale ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/