[Tutorial] Comment bien se lancer dans le Pawn [NON-TERMINЙ]
#1

IL VOUS EST INTERDIT DE REPARTAGER CE TUTO SANS MA PERMISSION!

Bonjour tout le monde, voici mon premier tuto Officiel, en espйrant que vous aimerez.

Ce tutorial est destinй aux nouveaux qui souhaite apprendre le Pawn. Avant toute chose, je ne vous montre en aucun cas comment scripter, je ne fait que vous montrer comment apprendre.

N.B. Si vous кtes nouveau et n'avez jamais scripter, il est fortement dйconseillй de vous lancer dans un RP en utilisant une base, le code est trop complexe pour votre niveau et cela ne vous mиnera а rien. Suivez ce petit tuto et vous saurez comment bien apprendre

__________________________________________________ _______________________________________________
Armons-nous!

Premiиrement, nous allons tйlйcharger les fichiers nйcessaires pour votre apprentissage.
Rendez vous sur cette page http://sa-mp.com/download.php et tout en bas de la page, se trouve les fichiers serveur, si vous кtes sous Windows prenez windows et si vous кtes sous Linux, prenez Linux.

Maintenant que les fichiers nйcessaires sont installй, nous allons maintenant ouvrir le fichier .rar. De prйfйrence, crйer un dossier а l'emplacement de votre choix et extrayez les fichiers dedans, dиs que cela est fait, nous pouvons maintenant fermer l'archive.

__________________________________________________ _______________________________________________
C'est quoi tout ces dossiers et fichiers?

Nous voila avec des dossiers et des fichiers. Pour l'instant cela ne vous dit absolument rien, mais je vait tout de suite vous expliquer le role et le fonctionnement de chaque dossier.

Les dossiers :
Filterscript - Il s'agit de script que l'on rajoute sans pour autant l'ajouter au gamemode (nous verrons la dйfinition plus tard). Il faudra placer les FS (FilterScripts) а l'intйrieur de ce dossier et ensuite l'inscrire dans server.cfg ( on verra sa plus tard aussi ).

Gamemodes - C'est le dossiers dans laquel les gamemodes se trouve, on trouve les GM (GameModes) par dйfaut de SAMP : grand larceny, LVDM, barron et rivershell. Il n'est pas nйcessaire de les garder mais ils peuvent vous servir, on sait jamais.

Include - Ce dossier n'est pas vraiment utile en gйnйral, mais si vous modifier le Gamemode de Grand Larceny ou utiliser les includes qui s'y trouve, il est quand mкme prйfйrable de le garder, au cas ou.

npcmode - C'est le dossier ou sont les scripts compilйs de vos bots, pour crйer un bot, il faut crйer un script (et oui ) et pour crйer ce script, il faut d'abord "record" (enregistrer pour les non anglophones) ce bot. (Merci a Shidony). Une partie sera rйservй pour les NPC.

pawno - Ce dossier йtrange est TRИS IMPORTANT AU DЙVELOPPEMENT DE SCRIPT. C'est le IDE (L'environnement de dйveloppement) une partie sera attardй a pawno.

plugins - Les plugins permettent une meilleure compatibilitй avec votre serveur comme par exemple, utiliser un streamer ou autre. Il est prйfйrable de mettre un streamer sur votre serveur.

scriptfiles - Ici seront stockй les fichiers utilisй dans votre Gamemode ou vos Filterscripts, Par exemple, si vous crйer un systиme d'enregistrement avec un include comme Dini ou YSI, les fichiers seront stockй ici avec l'emplacement que vous aurez choisie.

Les fichiers :

announce.exe - Il est utilisй par samp-server, si vous l'ouvrez, il fermera automatiquement

samp-license.txt - La license de SAMP, si vous voulez le lire, bonne lecture :P

samp-npc - Il est utilisй pour les NPC par samp-server.

samp-server - c'est LE fichier important, il est utilisй pour lancer votre serveur. Quand vous l'ouvrez, votre serveur sera on par contre si vous le fermez il sera off.

server.cfg - c'est le fichier de configuration pour votre serveur, je vous expliquerai son fonctionnement.

__________________________________________________ _______________________________________________
Je script comment?

Maintenant que vous avez les fichiers nйcessaires et savez l'utilitй de chaque dossier et fichier, on peut se lancer dans le vif du sujet.

Je vous invite maintenant a lire les tutorials de Gilux afin de bien comprendre le fonctionnement et les diffйrentes fonctions. Prenez le temps de bien lire et de comprendre ce tutorial, il vous sera trиs utile!

Tuto Gilux :
Partie 1: http://www.gtaonline.fr/forums/index.php?topic=11593.0
Partie 2: http://www.gtaonline.fr/forums/index.php?topic=11595.0
Partie 3: http://www.gtaonline.fr/forums/index...c,11688.0.html

__________________________________________________ _______________________________________________
Server.cfg

Dиs que vous avez terminй de lire le tuto de gilux et кtes sur de bien comprendre, il est temps de vous expliquer le server.cfg

Pour l'ouvrir nous allons utiliser Bloc-Note

Voici ce que vous avez par dйfaut

Quote:

echo Executing Server Config...
lanmode 0
rcon_password changeme
maxplayers 500
port 7777
hostname SA-MP 0.3 Server
gamemode0 grandlarc 1
filterscripts gl_actions gl_property gl_realtime gl_mapicon ls_elevator test_cmds ls_mall attachments
announce 0
query 1
weburl www.sa-mp.com
onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300.0
stream_rate 1000
maxnpc 10
logtimeformat [%H:%M:%S]

Passont aux explications!

Quote:

echo Executing Server Config...

~Ne toucher pas a sa, si vous comprenez le batch, vous comprendrez bien cette ligne mais ne la changer pas

Quote:

lanmode 0

active ou dйsactive le "mode lan" permettant une plus grande fluiditй en jeu mais conssomant beaucoup plus de bande passante. A n'activer donc que pour jouer avec quelques amis chez-vous (ou en tout cas tout reliйs а la mкme Box). (Merci a Pseudonyme)

Quote:

rcon_password changeme

Le mot de passe utilisй pour la rcon, il faut obligatoirement le changer sinon samp-server ne se lancera pas. Pour se connecter en RCON il vous faudra faire : /rcon login votremdp

Quote:

maxplayers 500

Le nombre de joueurs maximum

Quote:

port 7777

Le port utilisй, changer le si vous voulez mais il est important de le mettre au bon port si vous avez un hйbergement SAMP.

Quote:

hostname SA-MP 0.3 Server

Le nom qui sera affichй dans le client SAMP

Quote:

gamemode0 grandlarc 1

Le gamemode a chargй, pour lancй un gamemode, il faudra obligatoirement que le fichier .pwn soit compilй sans erreurs pour obtenir le fichier .amx
Je vous conseille quand mкme de laisser le 1 aprиs le nom du gamemode

Quote:

filterscripts gl_actions gl_property gl_realtime gl_mapicon ls_elevator
test_cmds ls_mall attachments

Les filterscripts а chargй, mкme principe que le gamemode sauf que nous n'avont pas besoin de redйmarrer le serveur pour le lancer. Pour le lancer quand le serveur est on, vous pouvez via la console avec loadfs [nomdufs] ou bien avec la rcon /rcon loadfs [nom]. Unloadfs et Reloadfs sont disponible

Quote:

announce 0

Indique si leserveur doit кtre prйsent dans la liste des serveurs sur le client sa:mp (1 pour activer, 0 pour dйsactiver). (merci a Pseudonyme).

Quote:

query 1

Active ou dйsactive le "RCON". Si vous utilisez un systeme d'administration entiйremet scriptй avec inscription et rangs admin', il peut кtre judicieux de dйsactiver le RCON. (Merci a Pseudonyme)

Quote:

weburl www.sa-mp.com
L'URL de votre site, changer le, il sera affichй dans le client samp en bas a droite, prиs de la boite en bas de la boite avec les joueurs connectй.

Quote:

onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300.0
stream_rate 1000

De prйfйrence, on laisse sa comme sa

Quote:

maxnpc 10

Le nombre maximum de NPC, changez le si vous le voulez.

Quote:

logtimeformat [%H:%M:%S]

Le format du chatlog, on laisse comme sa de prйfйrence.

__________________________________________________ _______________________________________________
Et maintenant...?

J'ai reзu une question de Jean-Kevin Delaforge qui me demande ceci
"Maintenant que je sait sa, je peut crйer un RP?"
Absolument pas monsieur Delaforge, il vous faudra bien vous habituer aux fonctions, aux conditions, aux boucles et tout ce qu'il faut.

Maintenant que vous savez ceci que faut t'il faire allors? Plusieurs solutions s'offre а vous, je vous en propose 2 en commencant par celle que j'ai fait! Si vous voulez proposer votre option, n'hйsiter pas et je la rajouterai!

Option 1 :
-Apprendre les fonctions avec wiki.sa-mp.com et en essayant des trucs con.
-Faire des petits Filterscript simpliste mais utile
-Crйer un Teamdeathmatch sans base et sans C/c
-Se pratiquer et continuer de scripter

Option 2:
-Apprendre les fonctions avec wiki.sa-mp.com et en essayant des trucs con.
-Traduire un gamemode (PAS UN RP) et le modifier
-Faire des Filterscripts
-Pratique


__________________________________________________ _______________________________________________
Les NPC (Rйdigй par Shidony)
C'est trиs simple, il vous suffit de vous connecter а votre serveur puis de vous connecter en admin rcon avec la commande /rcon login motdepasse puis de vous mettre dans un vйhicule par exemple et de taper la commande correspondant а votre type de record. Je m'explique:

Il y a deux type de record:

Le record а pied
Le record en vйhicule

Si vous dйsirez donc record un bot qui marchera ou mкme un bot qui restera а sa position, vous devez utiliser la commande /ofrecord nom et pour record un bot qui sera dans un vйhicule, c'est la commande /vrecord nom puis une fois le record terminй, utilisez la commande /stoprecord.

Une fois le record terminй, rendez vous dans le dossier scriptfiles et vous verrez un fichier qui s'appelle nom.rec (nom йtant le nom que vous avez tapй dans la commande sur le serveur), prenez ce fichier et mettez le dans npcmodes/recordings.

Une fois ceci fait, ouvrez pawno, et crйez le fichier de votre bot. Allez je suis gentil, voici un script basique qu'il ne vous reste plus qu'а modifier

pawn Code:
#define RECORDING "mynpc" //Mettez ici le nom de votre record
#define TYPE_RECORD 1 //comme je vous le disais, le type du record (1 pour en vйhicule / 2 pour а pied)

#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(TYPE_RECORD, RECORDING);

#if RECORDING_TYPE == 1
  public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(TYPE_RECORD, RECORDING);
  public OnNPCExitVehicle() StopRecordingPlayback();
#else
  public OnNPCSpawn() StartRecordingPlayback(TYPE_RECORD, RECORDING);
#endif
A vous de l'adapter par la suite comme bon vous semble

Choisissez un nom et compilez.

Et donc pour finir, une fois ce script fait, vous n'avez plus qu'а connecter votre bot dans votre GM avec la fonction
pawn Code:
pawn Code:
ConnectNPC("nom de votre bot","nom du script du bot");
.
__________________________________________________ _______________________________________________

Comment avoir de l'aide?

"Oui mais si j'ai des questions? Comment je fait?"
Trиs bonne question! Voici une marche a suivre pour obtenir de l'aide si vous avez un problиme.

Premiиre йtape : Relisez bien le message d'erreur, parfois, la solution est a portйe de main. Sinon, passez a la deuxiиme йtape.

Deuxiиme йtape : Faite un recherche google sur le message d'erreur et essayez de trouver une solution. Sinon, passez a la troisiиme йtape.

Troisiиme йtape : Si aucune solution n'a йtй trouvй, poster un sujet dans la section francaise tout en restant poli, courtois, mature et en йcrivant bien. Le language SMS est fortement dйconseillй, faite un effort! Voici une forme recommandй.

Quote:

Titre du sujet : [Aide] Erreur a la compilation, [[MESSAGE D'ERREUR]]

Quote:

Bonjour,

En voulant compiler mon script, j'obtient cette erreur XXXXXXXXX

Je n'ai pas trouvй la solution sur google, voici le code,

~*En mettant dans la balise pawn, mettez les lignes qui sont buggй ou la commande ~

Merзi d'avance!

Au revoir.

Ce n'est qu'une proposition, mais en espйrant que vous ayez comprit le principe, nous sommes pas des robots donc si sa prend un peu de temps, ne paniquer pas et attender un peu.

__________________________________________________ _______________________________________________
Erreur et warnings (Traduction de XDamienX007, Original : Jochemd)

Warning and Error List

by Jochemd


Warnings

- Loose Indentation
  • Cause: Vous avez un code mal identй
pawn Code:
public OnPlayerLeaveCheckpoint(playerid)
{
    SendClientMessage(playerid,-1,"Vous avez quittй le checkpoint.");
        print("Quelqu'un a quittй le checkpoint");
    return 1;
}
  • Rйparer: Assurez vous que le code est bien identй
pawn Code:
public OnPlayerLeaveCheckpoint(playerid)
{
    SendClientMessage(playerid,-1,"Vous avez quittй le checkpoint.");
    print("Quelqu'un a quittй le checkpoint");
    return 1;
}
- Unreachable code
  • Cause: Intervient si le code est inaccessible pour le compilateur (return mal placйs).
pawn Code:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(vehicleid == 520) // Juste un ID alйatoire
    {
        SendClientMessage(playerid,-1,"Vous кtes entrй dans le vйhicule contenant l'ID 520.");
        return 1;
    }
    else return 0;
    return 1;
}
  • Rйparer: Assurez vous que le code est bien accessible, il doit toujours retourner une valeur
pawn Code:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(vehicleid == 520) Juste un ID alйatoire
    {
        SendClientMessage(playerid,-1,"Vous кtes entrй dans le vйhicule contenant l'ID 520.");
        return 1
    }
    return 1;
}
- Nested comment
  • Cause: Un warning pas du tout important. Vous avez placй un commentaire а l'intйrieur d'un autre commentaire
pawn Code:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    /* if(vehicleid == 520)
    {
        if(playerid == 0)
        {
            /* if(ispassenger)
            {
                print("Ohai!");
                return 1;
            }
        }
    } */

    return 1;
}
  • Rйparer: Supprimer un commentaire
pawn Code:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    /* if(vehicleid == 520)
    {
        if(playerid == 0)
        {
            if(ispassenger)
            {
                print("Ohai!");
                return 1;
            }
        }
    } */

    return 1;
}
- Number of arguments does not match definition
  • Cause: Vous avez mis trop (ou pas assez) "d'argument" dans la fonction
pawn Code:
CMD:centermap(playerid,params[])
{
    #pragma unused params
    SetPlayerPos(playerid,0.0,0.0,3.0,90.0); // Vous avez mis l'angle accidentellement
    SendClientMessage(playerid,-1,"Vous avez bien йtй envoyй dans le centre de Blue Berry.");
    return 1;
}
  • Rйparer: Regardez le nombre de paramиtres que prend la fonction utilisй. Le wiki SAMPdit que la fonction SetPlayerPos contient seulement 4 paramиtres: playerid, X, Y, Z. L'angle ne doit pas se trouver dans la fonction
pawn Code:
CMD:centermap(playerid,params[])
{
    #pragma unused params
    SetPlayerPos(playerid,0.0,0.0,3.0);
    SetPlayerFacingAngle(playerid,90.0); // L'angle se met dans cette fonction
    SendClientMessage(playerid,-1,"Vous avez bien йtй envoyй dans le centre de Blue Berry.");
    return 1;
}
- Symbol is never used 'symbol'
  • Cause: Vous avez crйe une variable mais vous ne l'avez pas utilisй.
pawn Code:
CMD:skydive(playerid,params[])
{
    #pragma unused params
    new Float:Pos[3],string[128];  // string ne sera pas utilisй dans la commande, il provoque donc le warning
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2] + 200);
    SendClientMessage(playerid,-1,"Vous avez йtй envoyй haut dans le ciel");
    GivePlayerWeapon(playerid,46,1);
    return 1;
}
  • Rйparer: Retirez simplement la variable inutile.
pawn Code:
CMD:skydive(playerid,params[])
{
    #pragma unused params
    new Float:Pos[3];
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2] + 200);
    SendClientMessage(playerid,-1,"You have been sent high in the sky.");
    GivePlayerWeapon(playerid,46,1);
    return 1;
}
- Tag mismatch
  • Cause: Vous avez assignй un mauvais "label" pour votre variable (bool, float, ...).
pawn Code:
CMD:mypos(playerid,params[])
{
    #pragma unused params
    new Pos[3]; //  La variable Pos n'a pas de "label" Float (une position est une valeur dйcimal et dois кtre avec Float!)
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    printf("Votre position: X: %f || Y: %f || Z: %f",Pos[0],Pos[1],Pos[2]);
    return 1;
}
  • Rйparer: Trouvez le bon label, pour le cas d'un textdraw: "Text", pour le cas d'un texte 3D: "Text3D", etc.
pawn Code:
CMD:mypos(playerid,params[])
{
    #pragma unused params
    new Float:Pos[3]; //  La variable а le label Float, le warning disparait.
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    printf("Your position: X: %f || Y: %f || Z: %f",Pos[0],Pos[1],Pos[2]);
    return 1;
}
- Unknown parameter in substitution (suggested by iggy1)
  • Cause: Vous avez utilisй un #define mais une valeur n'est pas reconnu
pawn Code:
#define PutPos(%1,%2,%3,%4); SetPlayerPos(%9,%2,%3,%4); // %9 n'est pas dйfini dans PutPos.
  • Rйparer: Use the right parameters, and make sure they're defined before.
pawn Code:
#define PutPos(%1,%2,%3,%4); SetPlayerPos(%1,%2,%3,%4);
Il y a surement d'autre Warning, mais.. je ne les connais pas tous ^^ Contactez Jochemd pour зa


Erreurs
- Undefined symbol 'symbol'
  • Cause: Le contraire de "symbol never used". Vous avez appelй une variable sans la crйer.
pawn Code:
CMD:myname(playerid,params[])
{
    #pragma unused params
    GetPlayerName(playerid,Playername,sizeof(Playername));
    SendClientMessage(playerid,-1,Playername);
    return 1;
}
  • Rйparer: Crйer la variable manquante.
pawn Code:
CMD:myname(playerid,params[])
{
    #pragma unused params
    new Playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Playername,sizeof(Playername));
    SendClientMessage(playerid,-1,Playername);
    return 1;
}
- Symbol already defined 'symbol'
  • Cause: Vous avez crйe deux fois la mкme variable.
pawn Code:
CMD:myname(playerid,params[])
{
        new Playername[MAX_PLAYER_NAME];
    #pragma unused params
        new Playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Playername,sizeof(Playername));
    SendClientMessage(playerid,-1,Playername);
    return 1;
}
  • Rйparer: Supprimer une des deux variables.
pawn Code:
CMD:myname(playerid,params[])
{
    #pragma unused params
    new Playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Playername,sizeof(Playername));
    SendClientMessage(playerid,-1,Playername);
    return 1;
}
- Expression has no effect
  • Cause: Je ne suis pas sur pour celui lа. Je pense que c'est quand un symbole n'est pas bien placй ou qu'il n'a rien а faire lа.
pawn Code:
CMD:parachute(playerid,params[])
{
    #pragma unused params
    GivePlayerWeapon(playerid,46,1);k // Le k gиne
    SendClientMessage(playerid,-1,"Tu as un parachute");
    return 1;
}
  • Rйparer: Supprimer ce symbole.
pawn Code:
CMD:parachute(playerid,params[])
{
    #pragma unused params
    GivePlayerWeapon(playerid,46,1);
    SendClientMessage(playerid,-1,"Tu as un parachute");
    return 1;
}
Empty statement
  • Cause: Vous avez mis deux fois le point virgule ";".
pawn Code:
CMD:parachute(playerid,params[])
{
    #pragma unused params
    GivePlayerWeapon(playerid,46,1);; // Cette ligne donne l'erreur
    SendClientMessage(playerid,-1,"You got a parachute");
    return 1;
}
  • Rйparer: Trouvez le double ; et supprimez le.
pawn Code:
CMD:parachute(playerid,params[])
{
    #pragma unused params
    GivePlayerWeapon(playerid,46,1);
    SendClientMessage(playerid,-1,"You got a parachute");
    return 1;
}
Function "function" is not implemented
  • 1иre cause: Vous avez appelй une fonction qui n'est pas ajoutй en stock.
  • 2nde cause: Vous avez oubliй un }.
pawn Code:
CMD:stats(playerid,params[])
{
    SendFormatMessage(playerid,-1,"Cash: %d ... Score: %d",GetPlayerMoney(playerid),GetPlayerScore(playerid)); // La fonction SendFormatMessage n'est pas compris par le compilateur
    return 1;
}
  • 1: Ajoutez le stock de la fonction.
  • 2: Trouvez l'accolade manquante et ajoutez lа.
pawn Code:
new str[128];
#define SendFormatMessage(%0,%1,%2,%3) format(str, sizeof(str),%2,%3) && SendClientMessage(%0, %1, str)
[Fatal Error]- Cannot read from file 'file'
  • Cause:Vous avez ajoutй un include au gamemode mais il n'est pas dans le dossier '/pawno/includes'.
  • Rйparer: Placez l'include dans le dossier '/pawno/includes/' de votre serveur, si vous avez deux pawno ouvrez d'abord pawno.exe et faites ouvrir > votre gamemode.
Jochem


__________________________________________________ _______________________________________________


Quelques tutorial Utile

N'hйsitez pas a proposer des tutorials aussi bien anglais que franзais!

Crйer un systиme d'enregistrement en YSI (anglais) : https://sampforum.blast.hk/showthread.php?tid=273088
Crйer un systиme d'enregistrement en YSI (francais) : https://sampforum.blast.hk/showthread.php?tid=360919
Crйer un systиme MySQL (anglais) : https://sampforum.blast.hk/showthread.php?tid=159785
Crйer des йquipes pour un TDM (anglais) : https://sampforum.blast.hk/showthread.php?tid=107762

__________________________________________________ _______________________________________________
Question/Rйponse

Ici seront mit les diffйrentes question posй par les nouveaux afin d'aider les autres!

__________________________________________________ _______________________________________________
Conclusion


Voila, si vous avez des questions n'hйsitez pas a me contacter via ce topic ou par MP.. Il me fera plaisir de vous rйpondre et de mettre votre question dans la section Question/Rйponse de ce topic afin d'aider les autres.

Bonne fin de journйe/soirйe et bon apprentissage!


Vous avez aimй? Un petit merci et/ou un point de rйput est la bienvenue!



Reply
#2

Voilа un tutoriel intйressant et enfin а l'image que devrait avoir la communautй sa:mp franзaise, tu remonte ton niveau

Quand il sera finit s'il est vraiment bien prйsentй tu aura peut кtre un petit point de rйput'
Reply
#3

Merci Shidony, je pense faire un tuto vidйo aussi.

Avec ce que Jujuv a dit hier, j'ai comprit que j'йtait vraiment lourd avec les nouveayx. Au moins, je vait pouvoir dire : go voir mon tuto
Reply
#4

Bah voilа tu vois quand tu veut ^^. Bon allez, je te laisse finir ton tuto tranquillement et fais nous зa soigneusement hein
Reply
#5

Oui, quand j'arrive chez moi je finit sa!
Reply
#6

Evite les textes en gras et avec une taille йnorme, c'est chiant.

Sinon, GG
Reply
#7

Je vient de terminй,

Darreugne change le nom du topic en [TERMINЙ] svp.
Reply
#8

Trиs beau tuto', Raphy !
GG !

Petit complйment concernant le fichier server.cfg:

Annouce: indique si ton serveur doit кtre prйsent dans la liste des serveurs sur le client sa:mp (1 pour activer, 0 pour dйsactiver).

Lanmode: active ou dйsactive le "mode lan" permettant une plus grande fluiditй en jeu mais conssomant beaucoup plus de bande passante. A n'activer donc que pour jouer avec quelques amis chez-vous (ou en tout cas tout reliйs а la mкme Box).


Querry: Active ou dйsactive le "RCON". Si vous utilisez un systeme d'administration entiйremet scriptй avec inscription et rangs admin', il peut кtre judicieux de dйsactiver le RCON.
Reply
#9

Ajoutй, merci JujuV
Reply
#10

Quote:
Originally Posted by raphy_963
View Post
Je vient de terminй,

Darreugne change le nom du topic en [TERMINЙ] svp.
Hey je viens de le lire en entier bien jouй tu mйrite bien ton petit point de rйput'. Continue ainsi ne redeviens pas le vilain raphy que tu йtais ^^.

EDIT: pour
Quote:
Originally Posted by raphy_963
npcmodes
Tu peux mettre ceci:

Quote:

npcmodes - C'est le dossier ou sont les scripts compilйs de vos bots, pour crйer un bot, il faut crйer un script (et oui ) et pour crйer ce script, il faut d'abord "record" (enregistrer pour les non anglophones) ce bot.

Comment faire ?
C'est trиs simple, il vous suffit de vous connecter а votre serveur puis de vous connecter en admin rcon avec la commande /rcon login motdepasse puis de vous mettre dans un vйhicule par exemple et de taper la commande correspondant а votre type de record. Je m'explique:

Il y a deux type de record:

Le record а pied
Le record en vйhicule

Si vous dйsirez donc record un bot qui marchera ou mкme un bot qui restera а sa position, vous devez utiliser la commande /ofrecord nom et pour record un bot qui sera dans un vйhicule, c'est la commande /vrecord nom puis une fois le record terminй, utilisez la commande /stoprecord.

Une fois le record terminй, rendez vous dans le dossier scriptfiles et vous verrez un fichier qui s'appelle nom.rec (nom йtant le nom que vous avez tapй dans la commande sur le serveur), prenez ce fichier et mettez le dans npcmodes/recordings.

Une fois ceci fait, ouvrez pawno, et crйez le fichier de votre bot. Allez je suis gentil, voici un script basique qu'il ne vous reste plus qu'а modifier

pawn Code:
#define RECORDING "mynpc" //Mettez ici le nom de votre record
#define TYPE_RECORD 1 //comme je vous le disais, le type du record (1 pour en vйhicule / 2 pour а pied)

#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(TYPE_RECORD, RECORDING);

#if RECORDING_TYPE == 1
  public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(TYPE_RECORD, RECORDING);
  public OnNPCExitVehicle() StopRecordingPlayback();
#else
  public OnNPCSpawn() StartRecordingPlayback(TYPE_RECORD, RECORDING);
#endif
A vous de l'adapter par la suite comme bon vous semble

Choisissez un nom et compilez.

Et donc pour finir, une fois ce script fait, vous n'avez plus qu'а connecter votre bot dans votre GM avec la fonction
pawn Code:
ConnectNPC("nom de votre bot","nom du script du bot");
.

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)