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

254646 Messages dans 14035 Fils de discussion- par 6616 Membres - Dernier membre: louloufcb

21 Mai 2012 à 20:28:59
GTAOnline.frSan Andreas MultiplayerScripting SA-MP [Pawn center]Tutoriels et références SA:MP (Modérateurs: S!m, Xartrick)[TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]
Pages: [1] 2   Bas de page
Imprimer
Auteur Fil de discussion: [TUTO] Apprenons le Pawn avec Gilux ! [Partie 3 : Conclusion]  (Lu 4004 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Gilux
Hors ligne Hors ligne

GTAOnline Addict
*

Messages: 1296


WWW
« le: 10 Octobre 2010 à 12:18:15 »

Apprenons le Pawn avec Gilux !
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
Pour téléporter un joueur dans un intérieur, il faudra donc utiliser 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 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)
Code:
<?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:
<?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:
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)

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. ==>
« Dernière édition: 18 Juin 2011 à 12:27:09 par Gilux » Journalisée


Nesik[Z&B]
"Les meufs bien se font rare comme les capotes en Afrique" - Falcko
Hors ligne Hors ligne


GTAOnline Big Member
*

Le plus important est de rester soit même !

Messages: 646


WWWNesik44

« Répondre #1 le: 10 Octobre 2010 à 12:45:10 »

Encore merci Gilux pour cette 3ème partie
Journalisée

Miami RP V5 ...
Karting06
« Répondre #2 le: 10 Octobre 2010 à 12:56:38 »

Merci,
Karting06
Journalisée
Gilux
Hors ligne Hors ligne

GTAOnline Addict
*

Messages: 1296


WWW
« Répondre #3 le: 14 Octobre 2010 à 22:14:05 »

Merci pour les commentaires et pour l'avoir mis dans la section adaptée Clin d'oeil
++
Journalisée


Barto
Aiiiiiiirght
Hors ligne Hors ligne


Team NHS
GTAOnline Fan Boy
*

Andy Schleck Fan

Messages: 2745






Barto_59

« Répondre #4 le: 15 Octobre 2010 à 06:44:53 »

Bravo pour ces 3 tutos, ca va servir à plus d'un.
Journalisée

Les filles, c'est comme les échappées en cyclisme, faut en tenter plusieurs pour en réussir une.




Gilux
Hors ligne Hors ligne

GTAOnline Addict
*

Messages: 1296


WWW
« Répondre #5 le: 27 Octobre 2010 à 16:40:47 »

Merci, il y a des choses à améliorer / préciser / corriger ? (parmi les 3 tutos) LMAO
Journalisée


Camil-Beno
Hors ligne Hors ligne

GTAOnline Fan Boy
*

XG Team

Messages: 1975


« Répondre #6 le: 27 Octobre 2010 à 17:23:22 »

Salut,

Ton forward ne sert à rien , c'est pour déclarer les fonction publics , hors ce n'est pas le cas là .

++
Beno
Journalisée



Non, je ne donne plus d'aide par PM pour faute d'abus de ma gentillesse
Ascla_Batrox
Hors ligne Hors ligne

Petit nouveau
*

Messages: 15


« Répondre #7 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é Clin d'oeil, et ensuite si on peut compter sur lui.
Voici son adresse: http://www.redheberg.com/
Merci
Journalisée
ApocKalipsS
Hors ligne Hors ligne


GTAOnline Addict
*

**** | Une experience GTA IV hors du commun !

Messages: 1092


« Répondre #8 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é Clin d'oeil, et ensuite si on peut compter sur lui.
Voici son adresse: http://www.redheberg.com/
Merci
Apparament, ce n'est qu'un hébergeur web, du mutualisé.
Journalisée
Ascla_Batrox
Hors ligne Hors ligne

Petit nouveau
*

Messages: 15


« Répondre #9 le: 05 Mars 2011 à 11:45:23 »

Merci pour cette réponse rapide. Je repose une question Clin d'oeil
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 , Red Heberg est classé comme dédié.
« Dernière édition: 05 Mars 2011 à 11:54:00 par Ascla_Batrox » Journalisée
ApocKalipsS
Hors ligne Hors ligne


GTAOnline Addict
*

**** | Une experience GTA IV hors du commun !

Messages: 1092


« Répondre #10 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...
Journalisée
cristab
Hors ligne Hors ligne


Admin V.I.P
GTAOnline Legend
*

Messages: 7331


« Répondre #11 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
Journalisée

Ascla_Batrox
Hors ligne Hors ligne

Petit nouveau
*

Messages: 15


« Répondre #12 le: 05 Mars 2011 à 12:01:05 »

J'aimerais le connaitre  Tr&egrave;s souriant

Enfin bref, merci de vos réponses rapide.
Journalisée
Gilux
Hors ligne Hors ligne

GTAOnline Addict
*

Messages: 1296


WWW
« Répondre #13 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.
++
Journalisée


Jcvag44800
Hors ligne Hors ligne

GTAOnline Big Member
*

Messages: 598






Jcvag44800

« Répondre #14 le: 05 Mars 2011 à 12:19:17 »

Oui mais serverffs quand tu payes par téléphone, sa te reviens à 30 €
Journalisée


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

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.631 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