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

254698 Messages dans 14037 Fils de discussion- par 6619 Membres - Dernier membre: djalal

23 Mai 2012 à 15:23:17
GTAOnline.frSan Andreas MultiplayerScripting SA-MP [Pawn center]Tutoriels et références SA:MP (Modérateurs: S!m, Xartrick)[TUTO] Les CheckPoints
Pages: [1] 2 3 4   Bas de page
Imprimer
Auteur Fil de discussion: [TUTO] Les CheckPoints  (Lu 4174 fois)
0 Membres et 1 Invité sur ce fil de discussion.
UrbanGhetto
Hors ligne Hors ligne


GTAOnline Addict
*

I PWN You !

Messages: 931


WWWUrbanGhetto

« le: 25 Octobre 2007 à 23:27:45 »

Bonjour et bienvenue dans le tutorial qui va vous apprendre à déchiffrer les CheckPoint  Sourire

Au menu :

I) Créer un CheckPoint.
II) Désactiver les CheckPoints.
III) Lancer une action dans un CheckPoint.

I) Créer un CheckPoint :
Il y a 5 paramètres dans un CheckPoint

Code:
SetPlayerCheckpoint(playerid, X, Y, Z, Taille);

Les paramètres :

  • Playerid = Récupérer l'ID du joueur.
  • X = Coordonnée X.
  • Y = Coordonnée Y.
  • Z = Coordonnée Z.
  • Taille = Taille du CheckPoint (1 Petite - 8 Grande).

Exemple d'utilisation :

Code:
public OnPlayerSpawn(playerid)
{
    SetPlayerCheckpoint(playerid, -1671.22, 685.87, 30.60, 4);
    return 1;
}

II) Désactiver les CheckPoints :

Il y a 1 seul paramètre dans la désactivation des CheckPoint :

Code:
DisablePlayerCheckpoint(playerid);

  • Playerid = Récupérer l'ID du joueur.

Exemple d'utilisation :

Code:
public OnPlayerEnterCheckpoint(playerid)
{
    DisablePlayerCheckpoint(playerid);
    return 1;
}

III) Lancer une action dans un CheckPoint :

Maintenant, Je vais vous montrer comment activer une action quand on entre dans un CheckPoint.

Code:
public OnPlayerSpawn(playerid)
{
    SetPlayerCheckpoint(playerid, -1671.22, 685.87, 30.60, 4);
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    //nous vérifions si le joueur est suffisamment près du checkpoint pour lancer l'action
    //notez pour la distance j'ai mis une valeur légèrement supérieure à celle du rayon du checkpoint pour être de détecter le checkpoint correctement

    if (IsPlayerInRangeOfPoint(playerud, 5.0, -1671.22, 685.87, 30.60))
    {
        SendClientMessage(playerid,0xFFFF00AA, "> CheckPoint atteint.");//nous lui envoyions un message pour l'avertir qu'il y est
        DisablePlayerCheckpoint(playerid);//nous lui retirons le checkpoint
    }
    return 1;
}

Voila, Les CheckPoints n'ont plus de secret pour vous  Sourire

A très bientôt  Clin d'oeil

EDIT Sim: Corrigé certaines inexactitude +indentation....
« Dernière édition: 04 Février 2011 à 14:15:42 par Sim » Journalisée


˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙
Nip
Hors ligne Hors ligne


GTAOnline Big Member
*

>> mon steam: v__manu (il y a deux _)

Messages: 314


« Répondre #1 le: 25 Octobre 2007 à 23:36:12 »

lu
Merci urban pour le tuto

Mais est t/il possible que quand je rentre dans le check points sa me teleporte une infernus ou autre et je sui directement dedan?Huh?



Merci
Journalisée
UrbanGhetto
Hors ligne Hors ligne


GTAOnline Addict
*

I PWN You !

Messages: 931


WWWUrbanGhetto

« Répondre #2 le: 25 Octobre 2007 à 23:47:17 »

Code:
new Check1;

public OnPlayerSpawn(playerid){
Check1 = SetPlayerCheckpoint(playerid, -1671.22, 685.87, 30.60, 4);
return 1;
}

public OnPlayerEnterCheckpoint(playerid) {
if (Check1){ // Si le joueur est dans le CheckPoint définis :
new Float:x;
new Float:y;
new Float:z;
new Float:Angle;
new Infernus;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid,Angle);
Infernus = CreateVehicle(411,x,y,z,Angle,1,1,50000);
PutPlayerInVehicle(playerid,Infernus,0);
}
return 1;
}

T'as pas plus dûr ?  Tire la langue
« Dernière édition: 25 Octobre 2007 à 23:49:10 par urbanghetto » Journalisée


˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙
Syg
Expert programmeur C/C++/PAWN
Hors ligne Hors ligne


Administrateur
GTAOnline Legend
*

The GTAOnline Jesus

Messages: 3760


« Répondre #3 le: 26 Octobre 2007 à 01:05:15 »

Très bien ce tuto.

Juste une petite remarque : Etant donné que le joueur ne peut avoir qu'un seul checkpoint à la fois, le test if (Check1) est
inutile puisque si on arrive là, c'est que le joueur est dans le seul et unique checkpoint.

++
Syg
Journalisée

Courtesy of GtaManiac
UrbanGhetto
Hors ligne Hors ligne


GTAOnline Addict
*

I PWN You !

Messages: 931


WWWUrbanGhetto

« Répondre #4 le: 26 Octobre 2007 à 09:18:52 »

Oui, Je ne sais pas vraiment pourquoi la Team SA-MP n'a pas permis ça  Triste

Par contre on peut utiliser la nouvelle fonction SetPlayerRaceCheckpoint qui peut autoriser jusqu'a 2 Checkpoints  Sourire
« Dernière édition: 26 Octobre 2007 à 09:20:24 par urbanghetto » Journalisée


˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙
Syg
Expert programmeur C/C++/PAWN
Hors ligne Hors ligne


Administrateur
GTAOnline Legend
*

The GTAOnline Jesus

Messages: 3760


« Répondre #5 le: 26 Octobre 2007 à 16:03:17 »

Je ne sais pas ce que donne l'utilisation conjointe de SetPalyerCheckpoint et SetPlayerRaceCheckpoint.
Mais ces deux fonctions correspondent à deux callbacks différentes (OnPlayerEnterCheckpoint et OnPlayerEnterRaceCheckpoint)
Donc un joueur peut bien avoir deux chekcpoint en même temps mais pas du même type.

++
Syg
Journalisée

Courtesy of GtaManiac
UZI-I
BinaryIPL Manager
Hors ligne Hors ligne


GTAOnline Big Member
*

http://www.yoa2n.fr

Messages: 730


WWWYoann66

« Répondre #6 le: 26 Octobre 2007 à 16:50:40 »

Les CheckPoint et CheckPointRace sont bien different dans le jeu.

Et pourquoi la team SA-MP n'as pas permis l'utilisation de plusieurs checkpoint ? Beh ils sont dans la logique que plusieur sa bouffe de la bande passates et que CJ est jamais a deux endroit en meme temp.

Pour les checkPointRace c'est le jeu qui permet pas plus de deux.
Journalisée

UrbanGhetto
Hors ligne Hors ligne


GTAOnline Addict
*

I PWN You !

Messages: 931


WWWUrbanGhetto

« Répondre #7 le: 26 Octobre 2007 à 20:27:41 »

Bonne déduction UZI-I  Sourire
Journalisée


˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙
Syg
Expert programmeur C/C++/PAWN
Hors ligne Hors ligne


Administrateur
GTAOnline Legend
*

The GTAOnline Jesus

Messages: 3760


« Répondre #8 le: 26 Octobre 2007 à 21:50:02 »

Pour les RaceCheckpoints, on ne peut en avoir qu'un seul à la fois, comme les autres.
La différence c'est qu'on peut spécifier des coordonnées supplémentaires pour orienter la flèche à l'intérieur du RaceCheckpoint. Mais ces coordonnées ne sont pas forcément les coordonnées d'un autre checkpoint (bien que ce soit ce qu'il y a de plus logique).

++
Syg
Journalisée

Courtesy of GtaManiac
omar93500
Hors ligne Hors ligne


Grand Banditisme
*

Scripteur PHP/HTML/MySQL/Pawno/(Aprrenti)Visual B.

Messages: 111


« Répondre #9 le: 28 Octobre 2007 à 11:41:22 »

BOnjour j'ai une question comment fait-on pour que lorsque le joueur est dans le checkpoint il peut faire une commande (seulement dans le checkpoint)
Journalisée

________________________Script:____________________________
                                       [FS]Entrer dans ...
                           L'Andromada en tant que passager:
                  http://www.gtaonline.fr/forums/index.php/topic,2127.0.html
                             Le shamal en tant que passager:
                  http://www.gtaonline.fr/forums/index.php/topic,2126.0.html
                                        Credit: Creer par BeckyBoiz
Syg
Expert programmeur C/C++/PAWN
Hors ligne Hors ligne


Administrateur
GTAOnline Legend
*

The GTAOnline Jesus

Messages: 3760


« Répondre #10 le: 28 Octobre 2007 à 22:57:37 »

En fait, il vaut mieux tourner ta question dans l'autre sens :

"Comment fait-on pour que le joueur ne puisse faire une commande que quand il est dans un checkpoint ?"

Et la réponse est simple :
Il suffit d'utiliser la fonction IsPlayerInCheckpoint (ou IsPlayerInRaceCheckpoint selon le cas) pour tester si le joueur est sur son checkpoint (ou racecheckpoint).

++
Syg
Journalisée

Courtesy of GtaManiac
omar93500
Hors ligne Hors ligne


Grand Banditisme
*

Scripteur PHP/HTML/MySQL/Pawno/(Aprrenti)Visual B.

Messages: 111


« Répondre #11 le: 29 Octobre 2007 à 12:15:36 »

Merci syg mais j'ai 2 checkpoint ou plutot 1 check point et un Racecheckpoint
Journalisée

________________________Script:____________________________
                                       [FS]Entrer dans ...
                           L'Andromada en tant que passager:
                  http://www.gtaonline.fr/forums/index.php/topic,2127.0.html
                             Le shamal en tant que passager:
                  http://www.gtaonline.fr/forums/index.php/topic,2126.0.html
                                        Credit: Creer par BeckyBoiz
Syg
Expert programmeur C/C++/PAWN
Hors ligne Hors ligne


Administrateur
GTAOnline Legend
*

The GTAOnline Jesus

Messages: 3760


« Répondre #12 le: 29 Octobre 2007 à 12:18:41 »

Et bien tu combines les deux fonctions IsPlayerInCheckpoint et IsPlayerInRaceCheckpoint dans ton test.

++
Syg
Journalisée

Courtesy of GtaManiac
omar93500
Hors ligne Hors ligne


Grand Banditisme
*

Scripteur PHP/HTML/MySQL/Pawno/(Aprrenti)Visual B.

Messages: 111


« Répondre #13 le: 30 Octobre 2007 à 11:32:59 »

Merci
Journalisée

________________________Script:____________________________
                                       [FS]Entrer dans ...
                           L'Andromada en tant que passager:
                  http://www.gtaonline.fr/forums/index.php/topic,2127.0.html
                             Le shamal en tant que passager:
                  http://www.gtaonline.fr/forums/index.php/topic,2126.0.html
                                        Credit: Creer par BeckyBoiz
omar93500
Hors ligne Hors ligne


Grand Banditisme
*

Scripteur PHP/HTML/MySQL/Pawno/(Aprrenti)Visual B.

Messages: 111


« Répondre #14 le: 05 Novembre 2007 à 16:19:26 »

Bonjour, j'ai une autre question comment faire pour voir un checkpointa une certaine distance? Moi on voit mon checkpoint meme si on est a l'otre bout de San Andreas.
Merci  Sourire
Journalisée

________________________Script:____________________________
                                       [FS]Entrer dans ...
                           L'Andromada en tant que passager:
                  http://www.gtaonline.fr/forums/index.php/topic,2127.0.html
                             Le shamal en tant que passager:
                  http://www.gtaonline.fr/forums/index.php/topic,2126.0.html
                                        Credit: Creer par BeckyBoiz
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.131 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