Sommaire :- Prérequis :
- Introduction :
- Première ouverture du PAWNO :
- Descriptif d'un code de base :
- Les Callbacks (PAWN) (In English) :
- Les Fonctions :
- Conclusion :
- Remerciement / Crédits :
[TUTORIEL] Le PAWN : Partie I :
Prérequis :
Pour apprendre le PAWN (#include <a_samp>) vous aurez besoin de plusieurs choses essentiels :
- Un ordinateur ou stocker vos données/projets.
- Un serveur SA:MP local (ou VPS), avec les fichiers SA:MP serveur disponible ici :
http://www.sa-mp.com/download.php (le lien a coter de SA-MP 0.3() Windows Server)... - Une maîtrise de l'Anglais correcte.
- De la volonté pour votre premier projet.
PS : Pour installer un serveur SA:MP dit 'vierge' vous devez aller télécharger un fichier ZIP (compressé) ici :
http://www.sa-mp.com/download.php de SA-MP 0.( ) Windows Server et le dé-zipper dans un dossier vous obtiendrez :
Introduction :
Comme plusieurs personnes avant moi l'ont dit le PAWN est un langage de programmation facile et puissant (quand on maîtrise tout ses aspects).
Si vous êtes ici pour commencer a coder un serveur RP en moins de 20 minutes pour vos amis, passer votre chemin, vous aurez besoin de patience et de volonté, le PAWN est certes un langage de programmation facile il faut quand même quelques mois pour en saisir tout les aspects.
Le PAWN est aussi un bon instrument pour commencer dans la programmation (moi même j'ai commencer par le PAWN pour ensuite le PHP/SQL/XHTML/CSS).
Première ouverture du PAWNO :
Pour ouvrir
PAWNO (lorsque vous avez téléchargé un serveur SA:MP vierge ((lire plus haut))).
Vous devrez allez dans le dossier 'pawno' et ouvrir l'executable (.exe) pawno.exe.
Vous devriez tomber sur cela :

Comme vous pouvez le voir il y a plusieurs boutons en haut a gauche :

Pour l'instant il y a que 3 boutons dit cliquable :
Nouveau fichier le premier boutons !
Et ouvrir un fichier.- Le dernier ne sert presque a rien...
Lorsque vous allez donc cliquer sur le bouton nouveau vous allez générer un fichier
.pwn dit vierge sans aucune fonction dite 'utile' mais d'autres boutons sont maintenant disponibles :
Rechercher du texte dans le scripte. (CTRL+F)
Compiler (F5).
Compiler & Lire (F6) [Qui ne marche pas vraiment mais compile.]
Le code actuellement généré ne contient normalement aucune erreur appuyer sur
F5 pour le compiler et l'enregistrer dans le dossier
gamemodes (donner un lui nom comme 'TUTORIEL') ainsi vous obtiendrais un fichier .pwn et .amx qui lui est dit compiler.
Nous étudierons plus en profondeur le code dans les 3 autres parties DESCRIPTIF D'UN CODE DE BASE et CALLBACK et FONCTIONS.
PS (de Gilux) : Pawno (l'application) est ce qu'on appelle un IDE : Integrated Development Environment. En Français, cela se traduit par Environnement de Développement.
Il contient l'éditeur de code, le compilateur, et le débuggeur qui vous retournera les erreurs.
Il vous évite donc d'éditer le texte et d'avoir à utiliser un autre logiciel pour compiler.
Descriptif du code de base (Nouveau fichier) :
// This is a comment // Ici toute les ligne avec // en début est un commentaire.
// uncomment the line below if you want to write a filterscript // Ici aussi.
//#define FILTERSCRIPT // Ici aussi.
#include <a_samp> // Ici c'est une include ou les fonctions de SAMP sont appelés.
// Il y a aussi les /* commentaire */ plus commentaire.
/*Cette fonction 'main' est la fonction principale du scripte,
elle permet juste de démarrer le serveur, inutile d'y toucher...*/
main()
{
print("\n----------------------------------"); // Print affiche "-----" le \n ou \r passe une ligne.
print(" Blank Gamemode by your name here"); // Les print affiche dans la console du serveur.
print("----------------------------------\n"); // Et non IG.
}
public OnPlayerRequestClass(playerid, classid) // Ici nous avons une callback plus en détails dans la partie.
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); // Une fonction plus en détails dans la partie.
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1; // Return 1; permet de dire 'stop' ne va pas plus bas tout c'est bien passer.
// Return 0; marche aussi bien.
}
Les Callbacks :
Une CALLBACK est un bloc d'instruction appeler lors d'une action précise, toute les CALLBACK sont en Anglais la plus part du temps comme les FONCTIONS en exemple :
public OnPlayerConnect(playerid) // Quand le joueur ce connecte : effectuer :
{ // On ouvre avec une accolade.
return 1; // Tout c'est bien passé.
}// On ferme l'accolade.
//(Effectuer tout ce qui est entre les accolades).
En Français on aurais :
- Quand un joueur ce connecte, on ne fait rien de particulier.
Comme vous avez vue OnPlayerConnect signifie QuandUnJoueurCeConnecte et le (playerid) est un paramètre quand un joueur ce connecte le joueur avec l'ID = playerid on effectue ce qu'il y a dans l'accolade, ce playerid peut nous servir comme paramètre dans les fonctions pour effectuer des actions sur lui que nous voyons plus bas.
En sachant que vous pouvez vous même créer des callback (forward) et l'appeler a un endroit dans le script'.
Les Fonctions:
Les Fonctions sont des instructions utilisant les paramètres de la callback ou il est a fin d'effectuer une action précise dans le jeux, en comptant que vous pouvez très bien faire vos propres fonctions grâce aux fonctions déjà existante de SA:MP.
En exemple prenons une fonction simple dans une callback simple :
public OnPlayerSpawn(playerid) // Quand le joueur spawn.
{
SendClientMessage(playerid, 0xFFFFFF , "Bonjour, bienvenue !");
// Ici on envoie un message a playerid avec la couleur 0xFFFFFF, et comme caractère :
// Bonjour, bienvenue !
return 1; // Tout c'est bien passer on arrête ici.
}
En résumer QuandLeJoueurSpawn, on envoie un message a playerid, avec la couleur 0xFFFFFF (blanche) et on envoie "Bonjour, bienvenue !".
Toute les instructions/fonctions ce termine par un ; (point virgule) attention !
Conclusion :
En Conclusion vous avez appris les 2/3/4 bases du script' SA:MP dit PAWN.
Dans le prochain TUTORIEL nous verrons :
- Les variables et variables array :
- Les types de variables :
- Votre première commande :
- Votre première commande avec condition :
- Votre première fonction :
- Votre première callback :
Remerciement :
Je tiens a remercier Gilux pour son TUTORIEL sur le PAWN (dont je me suis inspiré) avec toute ses parties.
Xartrick/Ssk et tout ce qui m'ont aidé dans l'apprentissage du PAWN.