• 28 Mars 2024, 15:03:39


Auteur Sujet: Tuto pour vos bot  (Lu 24269 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Tuto pour vos bot
« le: 07 Décembre 2009, 14:20:58 »
Certains vont ce dire mais il y a déjà un tuto oui certes mais rien n'est bon a part pour les bots en voitures ,ceux a pied ou le tuto demande de les faire buger pour qu'ils exécutent leur parcours.La avec ce script les bots réagissent normalement j'espère qu'il servira si vous voyez un bug signalez le afin de voir ou sa cloche :)



Bonjour voila un tuto valide pour les bots

Pour commencer il faut que vous ayez enregsitré Votre bot, pour notre exemple il va s'appeler "Bruno"

Donc Bruno est un bot a pied qui se ballade sur la route.

donc le Bruno.rec est a placer dans le dossier npcmode/recording

Ensuite dans le dossier npcmode on doit faire un script pour chaque bot

(je pense que même un seul devrai suffire pour trois ou quatre bots mais je n'ai pas fait de test donc ne le faites pas et attendez mes tests)

Voila a quoi va ressembler le script pour un bot a pied

#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(2, "Bruno");
public OnNPCSpawn() StartRecordingPlayback(2, "Bruno");
ensuite on compile est on donne le nom BOT_1.pwn


Du coter de Votre GM/FS Vous allez procéder de la sorte

public OnGameModeInit()
{
    ConnectNPC("bot_1","Bruno");//cette fonction permet de spawn un bot script BOT_1 Pseudo du bot Bruno
return 1;
}

Voila vous pouvez tester, votre bot se connecte desormais au serveur, mais il ne spawn pas
Rofl vous dite n'est ce pas.

Bon regardons du coter de OnPlayerSpawn

public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))// si le joueur est un BOT
    {
        new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,MAX_PLAYER_NAME);//on récupère sont pseudo
if(!strcmp(playername,"bruno",true))//si sont pseudo est Bruno
{
SetPlayerSkin(playerid,0);//je désir lui mettre le skin 0
}
}
else
{
   //ici ce trouve le reste de votre GM
  }
    return 1;
}

Voila votre boot spawn est commence sont parcoure


Desormais Bruno2 est en moto

donc le Bruno2.rec est a placer dans le dossier npcmode/recording

Voila a quoi va ressembler le script pour un boot dans un véhicule


#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(1, "Bruno2");
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(1, "Bruno2");
public OnNPCExitVehicle() StopRecordingPlayback();
ensuite on compile et on donne le nom BOT_2.pwn

Du coter de Votre GM/FS Vous allez procéder de la sorte

new botcar;
public OnGameModeInit()
{
    botcar = AddStaticVehicle(modelid, 0.0, 0.0, 0.0, 0.0, 8, 13);
    ConnectNPC("bot_2","Bruno2");//cette fonction permet de spawn un bot script BOT_2 Pseudo du bot Bruno2
return 1;
}

voila maintenant le spawn

public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))// si le joueur est un BOT
    {
        new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,MAX_PLAYER_NAME);//on récupère sont pseudo
if(!strcmp(playername,"bruno2",true))//si son pseudo est Bruno2
{
SetPlayerSkin(playerid,0);//je désir lui mettre le skin 0
PutPlayerInVehicle(playerid, botcar, 0);// je le met au volant de son véhicule
}
}
else
{
   //ici se trouve le reste de votre GM
  }
    return 1;
}

Voila normalement ça devrait fonctionner ^^

Mais comment je fais si je veux plus d'un bot sur mon serveur .
Ben suivez ce qu'il y a ci dessous :

dans le dossier npcmode/recording vous avez Bruno.rec et Bruno2.rec

donc voila on reprend les deux scripts déjà fait mais je les remet ci dessous

#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(2, "Bruno");
public OnNPCSpawn() StartRecordingPlayback(2, "Bruno");


#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(1, "Bruno2");
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(1, "Bruno2");
public OnNPCExitVehicle() StopRecordingPlayback();

dans votre GM/FS

new botcar;
public OnGameModeInit()
{
    ConnectNPC("bot_1","Bruno");//cette fonction permet de spawn un bot script BOT_1 Pseudo du bot Bruno
    botcar = AddStaticVehicle(modelid, 0.0, 0.0, 0.0, 0.0, 8, 13);
    ConnectNPC("bot_2","Bruno2");//cette fonction permet de spawn un bot script BOT_2 Pseudo du bot Bruno2
return 1;
}
public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))// si le joueur est un BOT
    {
        new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,MAX_PLAYER_NAME);//on recupere sont pseudo
if(!strcmp(playername,"bruno",true))//si sont pseudo est Bruno
{
SetPlayerSkin(playerid,0);//je desir lui mettre le skin 0
}
else if(!strcmp(playername,"bruno2",true))//si sont pseudo est Bruno2
{
SetPlayerSkin(playerid,0);//je desir lui mettre le skin 0
PutPlayerInVehicle(playerid, botcar, 0);// je le met au volant de sont vehicule
}
}
else
{
   //ici ce trouve le reste de votre GM
  }
    return 1;
}

CONSEIL retenez bien cette fonction IsPlayerNPC(playerid) elle pourra être très utile.
« Modifié: 23 Septembre 2010, 03:02:58 par GtaManiac »
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : tuto pour vos bot
« Réponse #1 le: 07 Décembre 2009, 14:43:29 »
(je pense que même un seul devrai suffire pour trois ou quatre bots mais je n'ai pas fait de test donc ne le faites pas et attendez mes tests)

Je confirme ;)

J'ai un scirpt pour plusieur bots chauffeur de bus (et il peuvent meme effectuer des trajet diferent :p)

Hors ligne ClaSh

  • *
  • Grand Banditisme
  • Messages: 651
    • Voir le profil
Re : tuto pour vos bot
« Réponse #2 le: 07 Décembre 2009, 16:50:01 »
Salut,

Bien bien le tuto :happy .

ClaSh
Imagine all the people Living life in peace - LB Works

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Re : tuto pour vos bot
« Réponse #3 le: 07 Décembre 2009, 17:06:45 »
(je pense que meme un seul devrais suffire pour trois ou quatre bots mais je n'est pas fait de test donc ne le faite pas et attendez met teste)

Je confirme ;)

J'ai un scirpt pour plusieur bots chauffeur de bus (et il peuvent meme effectuer des trajet diferent :p)

ben merci donc ce qui facilite grandement le systeme
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Dark4ng3L

  • *
  • Bandit
  • Messages: 480
    • Voir le profil
    • DecaWeb.ch - L'informatique comme vous ne l'avez jamais vu!
Re : tuto pour vos bot
« Réponse #4 le: 07 Décembre 2009, 21:42:27 »
Gg comme d'ab ^^
a metre dans la section tuto...

PS: cristab tu t'es encore trompé d'adresse MSN et m'a bloqué --'  :dejadehors

++d4++
Cordialement Dark4ng3L aussi connu sous le nom de Mathias_Martinez, Matthias_Angelo et lugia !




Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : tuto pour vos bot
« Réponse #5 le: 07 Décembre 2009, 21:53:28 »
enfaite ce tuto est en gros la correction de celui present qui est assez bizard a comprendre et comme on me demande souvent je me suis amuser a copier ceci



PS voici un le script basé du tuto afin de vous demontrer comment realiser un seul script npw pour plusieurs bot


#include <a_npc>
main(){}
public OnRecordingPlaybackEnd()
{
   StartRecordingPlayback(1, "Bruno2");
   StartRecordingPlayback(2, "Bruno");
   return 1;
}
public OnNPCEnterVehicle(vehicleid, seatid)
{
   StartRecordingPlayback(1, "Bruno2");
   return 1;
}
public OnNPCExitVehicle()
{
   StopRecordingPlayback();
   return 1;
}
public OnNPCSpawn()
{
   StartRecordingPlayback(2, "Bruno");
   return 1;
}
par contre un truc me chifonne

public OnRecordingPlaybackEnd()
{
   StartRecordingPlayback(1, "Bruno2");
   StartRecordingPlayback(2, "Bruno");
   return 1;
}
je ne comprend pas trop cette callback
puisqu'on appel une seconde fois ces meme parametre enfaite
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Xoss

  • Xoss | Alexandre Bocquet
  • *
  • Grand Banditisme
  • Xoss | Alexandre Bocquet
  • Messages: 847
    • Voir le profil
    • UnderWeb
Re : tuto pour vos bot
« Réponse #6 le: 07 Décembre 2009, 22:52:59 »
Merci Cristab je test ça dans pas lgt je te dirais des nouvelles ^^
Comme je t'ai pas mal demander comment on faisait ^^
La c est ecrit :p
Alexandre Bocquet Xoss

Hors ligne BuBuNo

  • Radio Guingamp - Bien plus qu'une radio !
  • *
  • Grand Banditisme
  • La radio bien plus qu'une passion !
  • Messages: 840
    • Voir le profil
    • Radio Guingamp - Bien plus qu'une radio !
Re : tuto pour vos bot
« Réponse #7 le: 09 Décembre 2009, 01:34:28 »
Oh le bot s'appelle Bruno comme moi  :-*

Aller j'arete les HS ^^
tres bon tuto Cristab
ıllıllı вυвυησ ıllıllı


Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : tuto pour vos bot
« Réponse #8 le: 09 Décembre 2009, 08:07:30 »
Merci pour le tuto Cristab ^^ ca servira a ceux qui ne savent pas les mettre en place mais de toute façon je ne me sert pas des bots vue comment il sont nul ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne BuBuNo

  • Radio Guingamp - Bien plus qu'une radio !
  • *
  • Grand Banditisme
  • La radio bien plus qu'une passion !
  • Messages: 840
    • Voir le profil
    • Radio Guingamp - Bien plus qu'une radio !
Re : tuto pour vos bot
« Réponse #9 le: 09 Décembre 2009, 12:10:04 »
ouai c'est vrai que les bots sont pas super car on peu ni les tuer ni les faire bouger en les rentrant dedans
ıllıllı вυвυησ ıllıllı


Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : tuto pour vos bot
« Réponse #10 le: 09 Décembre 2009, 12:46:57 »
Il peuvent juste servir a faire de la population sur les trotoir ....



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Xoss

  • Xoss | Alexandre Bocquet
  • *
  • Grand Banditisme
  • Xoss | Alexandre Bocquet
  • Messages: 847
    • Voir le profil
    • UnderWeb
Re : tuto pour vos bot
« Réponse #11 le: 09 Décembre 2009, 13:07:54 »
Bien pour les rp ^^
Alexandre Bocquet Xoss

Hors ligne MasterRace

  • *
  • Nouveau
  • Messages: 14
    • Voir le profil
Re : tuto pour vos bot
« Réponse #12 le: 20 Décembre 2009, 10:26:11 »
Citer
   }
   else
   {
       //ici se trouve le reste de votre GM
    }
    return 1;
}

"//ici se trouve le reste de votre GM",

"Le reste", c'est vraiment tous ?? Ou, c'est juste ce qui à entre "public OnPlayerSpawn(playerid)" et "public CKLog(string[])" ??

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : tuto pour vos bot
« Réponse #13 le: 20 Décembre 2009, 10:34:56 »
juste OnPlayerSpawn
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne MasterRace

  • *
  • Nouveau
  • Messages: 14
    • Voir le profil
Re : tuto pour vos bot
« Réponse #14 le: 20 Décembre 2009, 10:53:20 »