GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Tutoriels et références SA:MP => Discussion démarrée par: Gilux le 10 Octobre 2010, 12:18:15

Titre: [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Gilux le 10 Octobre 2010, 12:18:15
(http://i27.servimg.com/u/f27/14/77/47/47/pawno10.png)Apprenons le Pawn avec Gilux !(http://i27.servimg.com/u/f27/14/77/47/47/pawno10.png)
Partie 3 : Conclusion

Salut, et bienvenue dans la 3e partie de ce tutoriel PAWN qui sera assez courte !
Dans celle-ci, je vais vous apprendre à créer des fonctions, puis je vous donnerai quelques conseils pour l'hébergement.
Il y aura aussi une introduction rapide à la notion d'intérieur et de monde virtuel.


1) Notion d'intérieur
Un intérieur est comme son nom l'indique, un intérieur de bâtiment. Si vous faites un téléport 10 unités de Z au dessus de la normale, vous pourrez admirer "l'underworld". Chaque intérieur possède quelques bâtiments et a un ID spécifique que vous pouvez retrouver ici (http://weedarr.wikidot.com/interior)
Pour téléporter un joueur dans un intérieur, il faudra donc utiliser :
Code: (pawn) [Sélectionner]
SetPlayerInterior(playerid,Interiorid);(sans oublier de téléporter le joueur à la position de l'intérieur)
Vous trouverez les IDs et positions des intérieurs sur le lien ci-dessus.

2) Notion de monde virtuel
Il existe quelques millions (ou milliards ??) de monde virtuels, ou "VirtualWorld" ou encore "VW". Ils permettent de séparer les joueurs tout en partageant la même map.
L'utilisation de mondes virtuels autres que le 0 (défaut) semble donc évidente si vous voulez créer un DM, pour éviter que les joueurs en DM ne puissent tuer les autres.
Pour lier un joueur à un monde virtuel, utilisez :
Code: (pawn) [Sélectionner]
SetPlayerVirtualWorld
ATTENTION : Un véhicule placé normalement ne sera visible que dans l'intérieur 0 et le monde virtuel 0, il faut utiliser SetVehicleVirtualWorld et LinkVehicleToInterior pour y remédier.

3) Créer vos fonctions !
Quelquefois, vous aurez des commandes répétitives à créer (je pense aux téléports), il serait donc plus judicieux de créer une seule fois tous les effets (Téléporter, téléporter le véhicule si besoin, ajuster l'angle, etc) et de résumer un téléport à une instruction du genre Teleport(playerid,Float:X,Float:Y,Float:Z,Interior,VirtualWorld);
Je vais reprendre et ajuster honteusement (:ninja) l'exemple de Syg (http://www.gtaonline.fr/forums/index.php/topic,6250.0.html (http://www.gtaonline.fr/forums/index.php/topic,6250.0.html))
Code: (pawn) [Sélectionner]
<?php
if (strcmp ("/stade"cmdtexttrue) == 0)
{
   new 
vehicleid;

   if (
IsPlayerInAnyVehicle (playerid))
   {
      
vehicleid GetPlayerVehicleId (playerid);
      
SetPlayerPos (playerid1.02.03.0);
      
SetPlayerVirtualWorld(playerid,5);
      
SetPlayerInterior(playerid,2);
      
SetVehicleVirtualWorld(vehicleid,5);
      
LinkVehicleToInterior(vehicleid,2);
      
SetVehiclePos (vehicleid1.02.03.0);
      
SetVehicleZAngle (vehicleid4.0);
      
PutPlayerInVehicle (playeridvehicleid0);
      
SetCameraBehindPlayer (playerid);
   }
   else
   {
      
SetPlayerPos (playerid1.02.03.0);
      
SetPlayerInterior(playerid,2);
      
SetPlayerVirtualWorld(playerid,5);
      
SetCameraBehindPlayer (playerid);
   }
}

Rien qu'à la vue de ce code, vous pouvez vous rendre compte qu'il s'agit d'un code lourd pour pas grand chose.
Cependant il peut être simplifié, nous allons créer une nouvelle instruction qui regroupera le tout :

Code: (pawn) [Sélectionner]
<?php

Teleport 
(playeridFloat:XFloat:YFloat:ZFloat:AngleInteriorVirtualWorld)
{
   new 
vehicleid;
   if (
IsPlayerInAnyVehicle(playerid))
   {
      
vehicleid GetPlayerVehicleId (playerid);
      
SetPlayerPos (playeridXYZ);
      
SetVehiclePos (vehicleidXYZ);
      
SetVehicleZAngle (vehicleidAngle);
      
SetPlayerInterior(playerid,Interior);
      
LinkVehicleToInterior(vehicleid,Interior);
      
SetPlayerVirtualWorld(playerid,VirtualWorld);
      
SetVehicleVirtualWorld(vehicleidVirtualWorld);
      
PutPlayerInVehicle (playeridvehicleid0);
      
SetCameraBehindPlayer (playerid);
   }
   else
   {
      
SetPlayerPos (playeridXYZ);
      
SetPlayerInterior(playerid,Interior);
      
SetPlayerVirtualWorld(playerid,VirtualWorld);
      
SetCameraBehindPlayer (playerid);
   }
}

Maintenant, vous n'avez plus qu'a taper :
Code: (pawn) [Sélectionner]
if (strcmp ("/stade", cmdtext, true) == 0)
{
   Teleport(playerid, 1.0, 2.0, 3.0, 4.0,15,5);
   return 1;
}

Le joueur sera conduit aux positions (1;2;3), avec un angle de 4°, dans l'intérieur 15 et le monde virtuel 5.

4) Conseils d'hébergement
Les hébergeurs se font nombreux, mais certains ne sont pas toujours honnêtes... Attention donc aux vols de scripts !
Pour éviter cela au maximum, voici 2 conseils :

• Méfiez-vous des hébergeurs gratuits, très peu sont honnêtes. Si vous avez un réel projet, il vaut mieux chercher un hébergement certes payant, mais de qualité.
• Ne mettez que le .amx (version compilée) sur votre session. (Les .pwn contiennent le code source en clair et sont inutiles au fonctionnement du serveur)

Attention aussi à la compatibilité Linux / Windows ! La majorité des hébergements se font sous linux, mais il existe quelques différences, notamment au niveau des plugins (.dll à ajouter à votre serveur pour disposer de fonctions supplémentaires.) Par exemple, ici vous ne devrez pas mettre le .dll, mais le .so (Version Linux).

Voilà, c'est la fin de cette 3e partie et de ce tutoriel, vous avez maintenant les capacités pour faire un bon GM, bonne chance !
++


Reproduction autorisée, sous conditions Creative Commons.
(http://i.creativecommons.org/l/by-nc-nd/2.0/fr/88x31.png) (http://creativecommons.org/licenses/by-nc-nd/2.0/fr/)
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Nesik le 10 Octobre 2010, 12:45:10
Encore merci Gilux pour cette 3ème partie
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Karting06 le 10 Octobre 2010, 12:56:38
Merci,
Karting06
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Gilux le 14 Octobre 2010, 22:14:05
Merci pour les commentaires et pour l'avoir mis dans la section adaptée ;)
++
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Barto le 15 Octobre 2010, 06:44:53
Bravo pour ces 3 tutos, ca va servir à plus d'un.
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Gilux le 27 Octobre 2010, 16:40:47
Merci, il y a des choses à améliorer / préciser / corriger ? (parmi les 3 tutos) :lmfao
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Ascla_Batrox le 05 Mars 2011, 11:40:14
Merci pour ce tuto, mais j'ai une question pour les hébergeurs. J'en est trouvé un pas mal, mais comme je suis nul pour les hébergeurs dédié, j'aimerais vous demander déjà si c'est un dédié ;), et ensuite si on peut compter sur lui.
Voici son adresse: http://www.redheberg.com/ (http://www.redheberg.com/)
Merci
Titre: Re : Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: ApocKalipsS le 05 Mars 2011, 11:42:38
Merci pour ce tuto, mais j'ai une question pour les hébergeurs. J'en est trouvé un pas mal, mais comme je suis nul pour les hébergeurs dédié, j'aimerais vous demander déjà si c'est un dédié ;), et ensuite si on peut compter sur lui.
Voici son adresse: http://www.redheberg.com/ (http://www.redheberg.com/)
Merci
Apparament, ce n'est qu'un hébergeur web, du mutualisé.
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Ascla_Batrox le 05 Mars 2011, 11:45:23
Merci pour cette réponse rapide. Je repose une question ;)
Connaissez-vous un hébergeur dédié gratuit, a qui on pourrait faire confiance qui ne nous volerais pas notre base? ^^


EDIT: Je viens de regarder sur le site http://www.hebergementweb.org/view-dedie2.html (http://www.hebergementweb.org/view-dedie2.html) , Red Heberg est classé comme dédié.
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: ApocKalipsS le 05 Mars 2011, 11:57:37
Tu as OVH/Kimsufi, Dedibox, ...
Mais ce n'est pas le sujet. Fait un autre topic.
Et sur le site de RedHeberg ils ne parlent pas de serveurs dédié. Et regarde le ndd de ton site : hebergementweb.com. A mon avis, ils parlent d'hébergement web, non de location de dédiés. Enfin, je pense...
Titre: Re : Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: cristab le 05 Mars 2011, 11:59:51
Connaissez-vous un hébergeur dédié gratuit, a qui on pourrait faire confiance qui ne nous volerais pas notre base? ^^

tu connais le pere noel toi je me trompe
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Ascla_Batrox le 05 Mars 2011, 12:01:05
J'aimerais le connaitre  :D

Enfin bref, merci de vos réponses rapide.
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Gilux le 05 Mars 2011, 12:13:56
Salut,

à ce que je vois, tu ne fais pas la différence entre un dédié et un hébergement de serveur.
Un dédié c'est un ordinateur très puissant que tu peux contrôler à distance, et son prix est très élevé : Compte entre 30 et 200€ (Même si 200 c'est abusé pour un serveur SA:MP, un à 50/60 doit suffire)
Si on te propose un dédié gratuit, c'est à 99.5% une arnaque je te conseille de ne pas l'accepter.
Si tu veux juste faire héberger ton serveur, tu as serverffs.com ou delux-host.com qui sont moins chers (quoique...) mais fiables dans l'ensemble.
++
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Jcvag44800 le 05 Mars 2011, 12:19:17
Oui mais serverffs quand tu payes par téléphone, sa te reviens à 30 €
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Ascla_Batrox le 05 Mars 2011, 12:20:36
Merci pour votre aide, je vais prendre un hébergement payant.

EDIT: Pour delux-host, il y a écrit au moyen de payement par tel: Le coût total pour votre téléphone sont 9,00 EUR. Pour payer votre serveur, vous devez maintenir la ligne pendant environ 26 minutes.
Je devrais attendre pendant 26 minutes? Et comme c'est en Allemagne, il y aura des frais en plus?
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Gilux le 05 Mars 2011, 14:34:24
Évite peut être ça, tu vas payer un gros supplément parce que tu payes par téléphone  :happy
Si t'as la possibilité de payer par Paypal je te conseille ce mode de paiement.  ;)
++
Titre: Re : Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Tux le 10 Mars 2011, 10:21:42
Personnellement, je trouve que c'est un très bon tutoriel, digne du Site du Zéro. Il est tout bonnement parfait pour les nouveaux venus en pawn.
Titre: Re : [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Posté par: Smail_Smith le 17 Mars 2011, 00:09:35
Salut , Très sympa de ta part Mec très beau  tuto, gg gg ! :D
++++