Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Connexion avec identifiant, mot de passe et durée de la session

 
avancée

254730 Messages dans 14037 Fils de discussion- par 6623 Membres - Dernier membre: Magicien

24 Mai 2012 à 15:36:10
GTAOnline.frSan Andreas MultiplayerScripting SA-MP [Pawn center]Tutoriels et références SA:MP (Modérateurs: S!m, Xartrick)[TUTO] Installer votre NPC et le faire Spawn
Pages: [1] 2 3 4   Bas de page
Imprimer
Auteur Fil de discussion: [TUTO] Installer votre NPC et le faire Spawn  (Lu 7078 fois)
0 Membres et 1 Invité sur ce fil de discussion.
dixon
Hors ligne Hors ligne


Banni
Tueur en série
*

Jamais Je n'abandonnerai

Messages: 163


WWWDiX0NeLiTe360

« le: 17 Octobre 2009 à 00:34:18 »

Bonjour a tous, Je vous présente mon tutoriel sur l'installation de votre bot sur votre serveur SA-MP03a de préférence RC6 à RC10 (Dsl pour la présentation du Tuto je mettrais des couleur)

I:. Comment créer votre Bot !

Tout d'abord, vous allez devoir créer un enregistrement pour pouvoir l'utiliser . Démarer un serveur quelconque pour enregistrer votre NPC, aprés avoir lancer, connecté vous en RCON :
( /rcon login ....) et chargé le filterscript npc_record si vous ne l'avez pas ajouté dans le server.cfg Triste /rcon loadfs npc_record) \!/Vérifier bien qu'il est bien inscrit dans le dossier FS\!/
Après le chargement du script, trois commande seront utiliser pour faire votre Bot personnalisé :

*¤* /vrecord -----> Cela vous permettra de commencer votre enregistrement à partir d'un véhicule de votre choix !
*¤* /ofrecord ------> Cela vous permettra de commencer votre enregistrement a partir d'un ped (un Skin) !
*¤* /stoprecord ------> Cela vous permettra d'arrêter votre enregistrement que sa sois dans un Véhicule ou d'un Ped !

II:. Enregistrement de votre Bot :


Dans la seconde étapes vous aller commencer a enregistrer votre NPC pour cela nous allons commencer avec un véhicule que vous aurez choisi et spawn ...
Après être monter dans votre véhicule faite /save pour sauvegarder la position du véhicule et pour le créer plus tard dans le tutoriel, vous utiliserez la commande suivante : /vrecord test (Vous devez être connecté en rcon pour démarrer l'enregistrement).
Vous devez avoir écrie dans le chat Recording: started cela veut dire que l'enregistrement commence, donc faite un peut le tour de la ville et pour finir utiliser la commande : /stoprecord       Et vous retrouvez dans le chat Recording: stopped l'enregistrement est terminé !

III:. Installation de votre Bot

Maintenant, fermer votre jeux et le serveur pour commencer l'étape suivante qui concerne l'installation de votre NPC ...
Pour commencer, aller dans le dossier scriptfiles où l'enregistrement à été enregistrer (Le dossier par défaut où vos NPC s'enregistre)
Vous devez avoir un fichier qui s'appelle test.rec qui est votre enregistrement, Copier le et collez le dans le dossier npcmodes/recordings où sont stocker d'autre enregistrement faite par la team SA-MP . Voilà pour l'installation de votre NPC nous allons passer à l'étape la plus difficile du Tutoriel de comment installer votre NPC et le faire Spawn !!!!!!!!

IV:. Contrôler votre Bot

Alors, pour commencer si vous le voulez bien  Sourire devoir lancer un nouveau fichier pawno que vous allez enregistrez tout de suite sous le nom de test dans le dossier npcmodes ...
Après l'avoir enregistrer supprimer tout ce qu'il à et remplacer par le code suivant :
Code:
#define RECORDING "test" // Nom de l'enregistrement test.rec
#define RECORDING_TYPE 1 //1 pour un enregistrement dans un Véhicule et 2 pour un Ped

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

Enregistrez votre pwn et compiler le script ...  réglement

IV.2:. Création de votre filterscript pour votre NPC

Nous allons passer à la création de votre filerscript pour NPC (Je suis désolé pour ceux qui le veut insérer dans le Gamemode directement ...)  Ind&eacute;cis
Ouvrez un nouveau fichier pawno que vous allez enregistré sous le nom de bot ou autre chose que vous préférer dans le dossier filterscript ...
Après l'enregistrement de votre fichier pawn effacer tout ce qu'il y à et remplacer par le code suivant :
  
Code:
#include <a_samp>

new test; // nom pour pouvoir ce retrouver si vou avez une 30 de bot dans le même script !

public OnGameModeInit()
{

// NPCS
ConnectNPC("bot_1","test"); // Connection de votre bot, bot_1 correspond au nom et test au nom de votre bot dans le dossier npcmodes!

  test = AddStaticVehicle(431,-1988.0057,116.6116,27.6411,0.6686,75,59); // Pour créer le véhicule de la position de départ de l'enregistrement prenez la position dans le savedpositions quand vous avez fait /save !

return 1;
}

public OnPlayerSpawn(playerid)
{
    if(!IsPlayerNPC(playerid)) return 0; // Nous Nous occupons seulement des NPC dans se script ne rajouter rien d'autres !!!

new playername[64];
GetPlayerName(playerid,playername,64);

  if(!strcmp(playername,"test",true)) { //Nom de votre enregistrement
        PutPlayerInVehicle(playerid, test, 0); // Idem
        SetSpawnInfo( playerid, 0, 255, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 ); // Laisser par defaut cela ne changera rien a moins que vous vouliez ^^
        ShowPlayerMarkers(0);
}
    return 1;
}

Voilà, maintenant enregistrer et compiler le script ...  réglement
Vous venez de finir l'étapes la plus difficile de l'installation de votre NPC !!!!!!!!!!

V:. Comment faire spawn votre npc dans votre serveur dans les version GF, LARP ect ...
Pour commencer ouvrez votre GM RPG avec pawno et faîte : Edit, find... est rechercher la fonction  public OnPlayerSpawn(playerid) et insérer if(IsPlayerNPC(playerid)) return 1; comme ceci :

Code:
public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid)) return 1;
    Code ...
}


Après, rechercher la fonction suivante : public OnPlayerRequestClass(playerid, classid) et insérer if(IsPlayerNPC(playerid)) return 1; comme indiquer si dessous :

Code:
public OnPlayerRequestClass(playerid, classid)
{
    if(IsPlayerNPC(playerid)) return 1;
    Code ...
}

Voilà après enregistrez et compilez votre GM, tout devrait se compiler sans aucune erreurs (Si oui faite le mois signaler, merci)
Après la compilation réussi, ouvrez votre server.cfg et sur la ligne filterscript mettez le nom du fs où se connecte le NPC et modifier la ligne maxnpc 0 et mettez a la place maxnpc 1 enregistrez et lancer votre serveur normalement...

Vous voilà presque dans la fin du tutoriel, donc allez voir dans la console et normalement vous devez avoir le bot qui se nomme test_1 qui joind votre serveur !
Allez dans le jeu et aller a l'endroit où vous avez commencer votre enregistrement et si vous voyer le véhicule de départ sans personne dedans = Installation échouer !!!
Mais si au contraire aucun véhicule n'y est cela veut dire que votre bot est déjà partit faire son petit tour qui est le votre  Tr&egrave;s souriant

Bien joué vous avez reussi votre premier bot pour votre serveur  a la tienne Merci d'avoir lu et suivi ce tutoriel qui vous aura peut-être aidez  angelnot

Je demande modo ou admins si il sont convaincu de mon tutoriel de le placer la section Tutoriaux et références SA:MP svp merci d'avance ...  jesors

Il y aura peut-être d'autre modification entre temps veuillez bien m'en excusez, si vous avez un problème je reste toujours a votre disponibilité
« Dernière édition: 17 Octobre 2009 à 00:47:11 par dixon » Journalisée

Modern Sensation RP, Du RP comme vous en avez jamais VU
En Construction | Ouverture Beta Bientôt
cristab
Hors ligne Hors ligne


Admin V.I.P
GTAOnline Legend
*

Messages: 7333


« Répondre #1 le: 17 Octobre 2009 à 08:51:33 »

tres sympas de partager ceci mais un truc me chiffonne

Code:
public OnPlayerSpawn(playerid)
{
    if(!IsPlayerNPC(playerid)) return 0;

la c'est si le joueur n'est pas un bot il ne spawn pas :s sa doit etre assez dur de jouer sur le serveur

plutot procedé de la sorte

Code:
public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))
    {
        new playername[64];
GetPlayerName(playerid,playername,64);

  if(!strcmp(playername,"test",true)) { //Nom de votre enregistrement
        PutPlayerInVehicle(playerid, test, 0); // Idem
        SetSpawnInfo( playerid, 0, 255, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 ); // Laisser par defaut cela ne changera rien a moins que vous vouliez ^^
        ShowPlayerMarkers(0);
     }
     else
     {
        //le code pour le joueur
         SendClientMessage(playerid,COULEUR,"Bienvenue sur mon serveur regarder ce bot qui ce deplace tout seul :)");
     }
   return 1;
}
Journalisée

Natif30
Hors ligne Hors ligne

Petit nouveau
*

Messages: 33


« Répondre #2 le: 17 Octobre 2009 à 09:16:55 »

Mais pourquoi tu dis de creer un filscript et tu utilise OnGameModeInit ca c'est pour le GM il faut utiliser OnFilterScriptInit normalement
Journalisée
dixon
Hors ligne Hors ligne


Banni
Tueur en série
*

Jamais Je n'abandonnerai

Messages: 163


WWWDiX0NeLiTe360

« Répondre #3 le: 17 Octobre 2009 à 10:52:45 »

Salut, oui peut-être que ton idée est bonne cristbab mais le probleme c'est que sur un serveur RP qui demande une identifiication avant de spawn ne va se faire c'est pour sa que nous metton  if(!IsPlayerNPC(playerid)) return 1; dans le GM .
Enfin bon tu m'embrouille un peu ^^ je sais plus quoi penser, comme j'ai toujourd fait comme sa voilà quoi

Slt, natif on met utilise OnGameModeInit pour que le bot se connecte sur ton serveur OnFilterScriptInit ne sert juste a chargé le fs avec un nom mais si tu veut le mettre va sy ^^

Pour ceux qui n'arrive pas ou qui ne comprend pas je peut vous aidez je serai toujourd la pour vous aidez n'ayez pas peur de montrer vos erreur sinon sa me gêne d'avoir fait un tuto que les gens pense qu'il est nul ect ...
« Dernière édition: 17 Octobre 2009 à 11:00:05 par dixon » Journalisée

Modern Sensation RP, Du RP comme vous en avez jamais VU
En Construction | Ouverture Beta Bientôt
Natif30
Hors ligne Hors ligne

Petit nouveau
*

Messages: 33


« Répondre #4 le: 17 Octobre 2009 à 22:26:41 »

Voila donc j'ai fait tout ce que tu a dit aucun probleme ...

Le NPC se connecte, ne se deconnecte jamais, ne se fait jamais kick

Mais le truc est qu'il reste a un spawn inconnue sous la map et ne bouge pas il ne demarre jamais son enregistrement

D'ou vient le bug svp
Journalisée
dixon
Hors ligne Hors ligne


Banni
Tueur en série
*

Jamais Je n'abandonnerai

Messages: 163


WWWDiX0NeLiTe360

« Répondre #5 le: 17 Octobre 2009 à 23:59:42 »

Salut, Ton npc c'est un ped ou un vehicule, si c'est un ped tu aurai du faire /save pour pouvoir modifier la ligne suivante :

SetSpawnInfo( playerid, 0, 255, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 ); // Ne changer rien que si votre bot est un ped

Couleur rouge = La position de départ du ped ...

Voilà, mais comme on ne peut pas modifier les enregistrement, tu est obligé de le refaire mais cette fois si n'oublie pas de sauver la position avant de commencer l'enregistrement ...

Bonne chance !
« Dernière édition: 18 Octobre 2009 à 00:03:39 par dixon » Journalisée

Modern Sensation RP, Du RP comme vous en avez jamais VU
En Construction | Ouverture Beta Bientôt
69scorpion
MrCorona
Hors ligne Hors ligne


Grand Banditisme
*

Messages: 121


WWW
« Répondre #6 le: 18 Octobre 2009 à 02:41:09 »

Moi tout est bon quand je me co en local mon id et le 1 l'id 0 est celui du bots mais le bots ne bouge pas (bots = car )
Journalisée

[RP] 69scorpion [100%]

robyn59
Hors ligne Hors ligne

Grand Banditisme
*

Messages: 109


« Répondre #7 le: 18 Octobre 2009 à 08:57:22 »

un truc que j'a pas compris ses comment on faire rouler les NPC, car là il spawn en voiture mais je veut qu'il fasse un circuit
Journalisée
dixon
Hors ligne Hors ligne


Banni
Tueur en série
*

Jamais Je n'abandonnerai

Messages: 163


WWWDiX0NeLiTe360

« Répondre #8 le: 18 Octobre 2009 à 10:26:40 »

Salut 69scorpion, pourrez tu me faire voir ton filterscript où les Npc se connecte .

Robyn si j'ai bien compris je pense, il faut que tu fasse un enregistrement si tu veut que ton bot fasse un trajet voulu .

Bonne chance !
Journalisée

Modern Sensation RP, Du RP comme vous en avez jamais VU
En Construction | Ouverture Beta Bientôt
Natif30
Hors ligne Hors ligne

Petit nouveau
*

Messages: 33


« Répondre #9 le: 18 Octobre 2009 à 11:25:20 »

Heu moi j'ai un bug les bot a pied marche super mais les bot en vehicule ne marche pas pourtant le put player et bon et le busligne1 = AddSt est bon aussi tout est bon mais il ne va pas dans le vehicule
Journalisée
dixon
Hors ligne Hors ligne


Banni
Tueur en série
*

Jamais Je n'abandonnerai

Messages: 163


WWWDiX0NeLiTe360

« Répondre #10 le: 18 Octobre 2009 à 11:27:12 »

Salut natif, pourrai tu me montrer ton add ?!

Edit :  est aussi celle du spawninfo ...
« Dernière édition: 18 Octobre 2009 à 11:29:02 par dixon » Journalisée

Modern Sensation RP, Du RP comme vous en avez jamais VU
En Construction | Ouverture Beta Bientôt
Natif30
Hors ligne Hors ligne

Petit nouveau
*

Messages: 33


« Répondre #11 le: 18 Octobre 2009 à 11:40:29 »

   new npcname[64];
   GetPlayerName(playerid,npcname,64);
    if(!strcmp(npcname,"Nicolas",true)) { //Nom de votre enregistrement
        SetSpawnInfo( playerid, 0, 27, -1497.589965, 142.049484, 17.328125, 156.028106, 0, 0, 0, 0, 0, 0 ); // Laisser par defaut cela ne changera rien a moins que vous vouliez ^^
        ShowPlayerMarkers(0);
   }
    if(!strcmp(npcname,"Maxime",true)) { //Nom de votre enregistrement
        SetSpawnInfo( playerid, 0, 27, -1497.589965, 142.049484, 17.328125, 156.028106, 0, 0, 0, 0, 0, 0 ); // Laisser par defaut cela ne changera rien a moins que vous vouliez ^^
        ShowPlayerMarkers(0);
   }
   if(!strcmp(npcname,"Jean",true))
   {
        PutPlayerInVehicle(playerid, busligne1, 0);
   }

Voila le onplayerspawn

et le    busligne1 =   AddStaticVehicle(437,-1988.0057,116.6116,27.6411,-5.6686,6,6);
Journalisée
dixon
Hors ligne Hors ligne


Banni
Tueur en série
*

Jamais Je n'abandonnerai

Messages: 163


WWWDiX0NeLiTe360

« Répondre #12 le: 18 Octobre 2009 à 11:44:09 »

re, tu pourrai pas me passer directement le FS parce que la c'est un peu le bazare ...
Journalisée

Modern Sensation RP, Du RP comme vous en avez jamais VU
En Construction | Ouverture Beta Bientôt
Natif30
Hors ligne Hors ligne

Petit nouveau
*

Messages: 33


« Répondre #13 le: 18 Octobre 2009 à 11:55:58 »

Code:
#include <a_samp>

new busligne1;

public OnGameModeInit()
{

// NPCS
ConnectNPC("Nicolas","homme1"); // Connection de votre bot, bot_1 correspond au nom et test au nom de votre bot dans le dossier npcmodes!
ConnectNPC("Maxime","homme2"); // Connection de votre bot, bot_1 correspond au nom et test au nom de votre bot dans le dossier npcmodes!
ConnectNPC("Jean","ligne1"); // Connection de votre bot, bot_1 correspond au nom et test au nom de votre bot dans le dossier npcmodes!

  busligne1 = AddStaticVehicle(437,-1988.0057,116.6116,27.6411,-5.6686,6,6); // Pour créer le véhicule de la position de départ de l'enregistrement prenez la position dans le savedpositions quand vous avez fait /save !

return 1;
}

public OnPlayerSpawn(playerid)
{
    if(!IsPlayerNPC(playerid)) return 0; // Nous Nous occupons seulement des NPC dans se script ne rajouter rien d'autres !!!

new playername[64];
GetPlayerName(playerid,playername,64);

  if(!strcmp(playername,"Nicolas",true)) { //Nom de votre enregistrement
        SetSpawnInfo( playerid, 0, 27, -1497.589965, 142.049484, 17.328125, 156.028106, 0, 0, 0, 0, 0, 0 ); // Laisser par defaut cela ne changera rien a moins que vous vouliez ^^
        ShowPlayerMarkers(0);
}
  if(!strcmp(playername,"Maxime",true)) { //Nom de votre enregistrement
        SetSpawnInfo( playerid, 0, 27, -1497.589965, 142.049484, 17.328125, 156.028106, 0, 0, 0, 0, 0, 0 ); // Laisser par defaut cela ne changera rien a moins que vous vouliez ^^
        ShowPlayerMarkers(0);
}
  if(!strcmp(playername,"Jean",true))
{
        PutPlayerInVehicle(playerid, busligne1, 0);
}
    return 1;
}

Voila mon fs
Journalisée
Dark4ng3L
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 349


WWW
« Répondre #14 le: 18 Octobre 2009 à 11:59:46 »

Tuto simpa Clin d'oeil Gg
Journalisée

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



Pages: [1] 2 3 4   Haut de page
Imprimer
Aller à:  

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.141 secondes avec 23 requêtes.
Forum GTAOnline.fr 2.0 | Design par : Lalu et GtaManiac
Merci a toute la communaute pour son support !
Copyright © 2004-2012 - GTAOnline.fr | GTAPro.com | Contact