GTA-Expert Forum: [GUIDA] Come creare bot su SA-MP 0.3 - GTA-Expert Forum

Salta al contenuto

  • (7 Pagine)
  • +
  • 1
  • 2
  • 3
  • Ultimo »
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

[GUIDA] Come creare bot su SA-MP 0.3

#1 L'utente è offline   StanleY 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1033
  • Iscritto il: 22/02/09
  • Provenienza:Palermo
  • GTA Preferito:GTA: San Andreas

Inviato il 13 settembre 2009 - 08:39

Come creare un bot su samp 0.3



Una delle novità di samp 0.3 sono i bot (NPC) che sono dei virtual player che seguono dei percorsi pre registrati;

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 - Inizia a registrare il percorso che facciamo col nostro veicolo che poi applicheremo al bot.
/ofrecord - 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 :rotfl:. 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

#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 :siso: .

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)

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

new veicolodelbot;


Sotto a OnPlayerSpawn

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:
if(!strcmp(npcname, "NOME DEL BOT", true))
        {
            PutPlayerInVehicle(playerid, AnotherVehicleID, 0);
            return 1;
        }


Esempio su come mettere 2 bot:



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
#define RECORDING_TYPE 1 


in

#define RECORDING_TYPE 2


Adesso, aprite la vostra GM e mettete sotto OnGameModeInit

ConnectNPC("Pedone","bot");


compilate e...

OK! adesso avete il vostro bot a piedi!



Applicare animazioni ad un NPC


Purtroppo non è possibile applicare animazioni ad un bot in movimento, perciò se si vuole applicare un anim, non c'è bisogno di registrare il percorso.

Aprite un nuovo documento di pawno, cancellate tutto ed incolate questo codice:

#include <a_npc>
main(){}


compilate e salvate col nome di "bot_con_anim" nella cartella npcmodes.


Adesso spostatevi nella vostra GM e sotto OnGameModeInit mettete

ConnectNPC("BotAnim","bot_con_anim");


In questo modo avrete un NPC che si connette al vostro server all'inizare della gamemode. Per applicare l'anim bisogna usare il classico
ApplyAnimation(playerid, animlib[], animname[], Float:fS, opt1, opt2, opt3, opt4, opt5);






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:
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).

Ricorda di non aver bannato il bot! molto probabilmente il suo ip è 127.0.0.1, cancellalo dal file samp.ban


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.



0

#2 L'utente è offline   L4ky 

  • Ex galeotto
  • Gruppo: Utenti
  • Messaggi: 796
  • Iscritto il: 04/02/08

Inviato il 13 settembre 2009 - 12:59

Grande..ora me la studio..
Vivo la mia vita a 1/4 di miglio all'ora , per quei dieci secondi sono libero.
IV:MP Server Alpha 2 R3 Host by AndryXoX 95.141.32.61:20601

Immagine Postata
0

#3 L'utente è offline   Fabio206 

  • Padrino
  • Gruppo: Admin
  • Messaggi: 72430
  • Iscritto il: 05/12/05
  • GTA Preferito:GTA III

Inviato il 13 settembre 2009 - 13:01

Pinned e k+.
0

#4 L'utente è offline   Giovanni94m 

  • Teppista
  • Gruppo: Utenti
  • Messaggi: 439
  • Iscritto il: 08/08/09
  • Provenienza:Agrigento
  • GTA Preferito:GTA: Vice City

Inviato il 14 settembre 2009 - 22:12

fantastico
peccato che non l'abbiano fatto prima per la 2
Immagine Postata
0

#5 L'utente è offline   RickyzZz 

  • Ex galeotto
  • Gruppo: Utenti
  • Messaggi: 797
  • Iscritto il: 26/06/09

Inviato il 15 settembre 2009 - 20:22

Con questo si possono fare + bot o solo 1?
Se è di + farò una gm con tanti bot di civili :ahsese: cosi sarebbe bella invece di essere solo pochi ;) meno male che hai postato :zeze:
Immagine Postata
Mie Map
[MAP]House

[MAP]Casinò Ricky Edition
[APP]Programmi Utili Pawno
0

#6 L'utente è offline   StanleY 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1033
  • Iscritto il: 22/02/09
  • Provenienza:Palermo
  • GTA Preferito:GTA: San Andreas

Inviato il 15 settembre 2009 - 21:10

Si se ne possono fare tanti, ma ricordati che nella versione beta ci sono solo 16 slot ç_ç

se ne devi fare un altro segui tutta la procedura e nell'onplayerspawn al posto di mettere quello che ho scritto sopra metti

if(!strcmp(npcname, "NOME DEL BOT", true))
    {
      PutPlayerInVehicle(playerid, AnotherVehicleID, 0);
      return 1;
    }

0

#7 L'utente è offline   OxiDe 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 2515
  • Iscritto il: 03/01/08
  • Provenienza:Imola
  • GTA Preferito:GTA: San Andreas

Inviato il 16 settembre 2009 - 21:11

L'hai fatta te o l'hai tradotta sta guida? :m:
0

#8 L'utente è offline   Giovanni94m 

  • Teppista
  • Gruppo: Utenti
  • Messaggi: 439
  • Iscritto il: 08/08/09
  • Provenienza:Agrigento
  • GTA Preferito:GTA: Vice City

Inviato il 16 settembre 2009 - 21:22

più o meno si sa quando esce la 3 finale?
Immagine Postata
0

#9 L'utente è offline   StanleY 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1033
  • Iscritto il: 22/02/09
  • Provenienza:Palermo
  • GTA Preferito:GTA: San Andreas

Inviato il 16 settembre 2009 - 21:24

Quote

Originally posted by OxiDe@16/09/09 - 22:11
L'hai fatta te o l'hai tradotta sta guida? :m:

ho preso spunto da qui
0

#10 L'utente è offline   RickyzZz 

  • Ex galeotto
  • Gruppo: Utenti
  • Messaggi: 797
  • Iscritto il: 26/06/09

Inviato il 19 settembre 2009 - 18:35

Quote

Originally posted by FT941+16/09/09 - 22:24

Quote

(FT941 @ 16/09/09 - 22:24)
-OxiDe
@16/09/09 - 22:11
L'hai fatta te o l'hai tradotta sta guida? :m:

ho preso spunto da qui [/b]

L'ha tradotta ;)
Immagine Postata
Mie Map
[MAP]House

[MAP]Casinò Ricky Edition
[APP]Programmi Utili Pawno
0

#11 L'utente è offline   Angelo_95 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1620
  • Iscritto il: 31/08/09
  • Provenienza:Area 51
  • GTA Preferito:GTA: San Andreas

Inviato il 02 ottobre 2009 - 19:51

Uffa mi da due errori nn riesce a leggere ConnectNPC e IsPlayerNPC
Dice che nn sono definiti e questo anke negli altri script come mai ?
vi posto il mio script!
#include <a_samp>
#include <a_npc>

new veicolodelbot;


public OnFilterScriptInit()
{
print ("Bot");
ConnectNPC("Police Bot","auto-p");
veicolodelbot=CreateVehicle(598,1526.5710,-1644.6836,5.6160,3.1416,1,1, 5000);
return 1;
}

public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid)) //Controlla se è un bot.
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "Police Bot", 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;
}
return 0;
}


Se levo #include nn cambia nnt gli errori sn :

C:\Documents and Settings\Utente\Desktop\auto-p.pwn(10) : error 017: undefined symbol "ConnectNPC"
C:\Documents and Settings\Utente\Desktop\auto-p.pwn(17) : error 017: undefined symbol "IsPlayerNPC"


Vi prego aiutatemi nn capisco perche nn va!
Immagine Postata
0

#12 L'utente è offline   StanleY 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1033
  • Iscritto il: 22/02/09
  • Provenienza:Palermo
  • GTA Preferito:GTA: San Andreas

Inviato il 03 ottobre 2009 - 12:33

sicuro di avere il compilatore 0.3 e il relativo include a_samp?
0

#13 L'utente è offline   Angelo_95 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1620
  • Iscritto il: 31/08/09
  • Provenienza:Area 51
  • GTA Preferito:GTA: San Andreas

Inviato il 03 ottobre 2009 - 14:52

credo lo scaricato da dv dicevi te!
Immagine Postata
0

#14 L'utente è offline   StanleY 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1033
  • Iscritto il: 22/02/09
  • Provenienza:Palermo
  • GTA Preferito:GTA: San Andreas

Inviato il 03 ottobre 2009 - 15:24

apri il pawno ke hai scaricato e clicchi su nuovo, cosi sei sicuro che è quello
0

#15 L'utente è offline   Angelo_95 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1620
  • Iscritto il: 31/08/09
  • Provenienza:Area 51
  • GTA Preferito:GTA: San Andreas

Inviato il 03 ottobre 2009 - 15:26

tutto risolto per aprire i pwn della 0.3 usavo pawno 0.2 invece di pawno 0.3 mo lo risolto cmq grx lo stesso a tutti potete chiudere la mia discussione sui bot!
Immagine Postata
0

#16 L'utente è offline   LaxC 

  • Delinquente
  • Gruppo: Utenti
  • Messaggi: 505
  • Iscritto il: 10/10/09
  • ID PSN:highscorer49
  • ID Social Club:highscorer49
  • GTA Preferito:GTA V

Inviato il 10 ottobre 2009 - 08:09

bellisimi, pero su un server ci sono anche li aerei bot .. penso che si possa fare anche con li aerei vero?
0

#17 L'utente è offline   Giovanni94m 

  • Teppista
  • Gruppo: Utenti
  • Messaggi: 439
  • Iscritto il: 08/08/09
  • Provenienza:Agrigento
  • GTA Preferito:GTA: Vice City

Inviato il 10 ottobre 2009 - 08:39

si certo con tutti i veicoli
kmq gia trovi i bot dell'at-400
Immagine Postata
0

#18 L'utente è offline   [_T4]n[G0_] 

  • Cleptomane
  • Gruppo: Utenti
  • Messaggi: 139
  • Iscritto il: 13/01/09

Inviato il 18 ottobre 2009 - 11:18

Bella ora ci provo ;)
Miei Software

New Version Chat Spammer


GM / FS

[FS]GTA ADMIN
Comandi : /freeze - /sfreeze - /mute - /unmute - /v ID - /kick ID REASON - /ban ID REASON - /godmode - /god ID - /heal ID - /gun /goto - /gethere
0

#19 L'utente è offline   [_T4]n[G0_] 

  • Cleptomane
  • Gruppo: Utenti
  • Messaggi: 139
  • Iscritto il: 13/01/09

Inviato il 18 ottobre 2009 - 13:34

EDIT : L'ho fatto e non mi da nessun errore ... Solo che quando entro nel server,il veicolo non si muove,e non fa niente ...
Miei Software

New Version Chat Spammer


GM / FS

[FS]GTA ADMIN
Comandi : /freeze - /sfreeze - /mute - /unmute - /v ID - /kick ID REASON - /ban ID REASON - /godmode - /god ID - /heal ID - /gun /goto - /gethere
0

#20 L'utente è offline   StanleY 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1033
  • Iscritto il: 22/02/09
  • Provenienza:Palermo
  • GTA Preferito:GTA: San Andreas

Inviato il 18 ottobre 2009 - 14:06

ma il bot lo vedi connesso? lo vedi nel punto dello spawn?
0

  • (7 Pagine)
  • +
  • 1
  • 2
  • 3
  • Ultimo »
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

1 utenti stanno leggendo questa discussione
0 utenti, 1 ospiti, 0 utenti anonimi