• 06 Juin 2026, 14:27:08


Auteur Sujet: CheckPoint qui bug  (Lu 1952 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne inbox

  • *
  • Tueur en série
  • Messages: 214
    • Voir le profil
    • Blog sur Gta
CheckPoint qui bug
« le: 16 Mai 2008, 11:09:03 »
Bonjour,

j'ai fait un petit race histoire de m'apprendre comment m'en servir
seulement ca bug quand je touche le 2eme checkpoint

voici mon code

public OnPlayerEnterCheckpoint(playerid)
{
   if (Check1) // CheckPoint pour la banque
   {
   SendClientMessage(playerid, COLOR_RED, "--------------------------------------------------------");
   SendClientMessage(playerid, COLOR_WHITE, "[/ajouter] Permet de mettre de l'argent sur le compte");
   SendClientMessage(playerid, COLOR_WHITE, "[/prendre] Permet de prendre de l'argent de votre compte");
   SendClientMessage(playerid, COLOR_WHITE, "[/total] Voir combien vous avez sur votre compte");
   SendClientMessage(playerid, COLOR_RED, "--------------------------------------------------------");
   }
   if (Check2) // CheckPoint pour le Race 1 (CheckPoint N° 1)
   {
   GameTextForPlayer(playerid,"~w~Touche le 2eme Chechpoint", 4000,3);
   SendClientMessage(playerid, COLOR_RED, "--------------------------------------------------------");
   SendClientMessage(playerid, COLOR_WHITE, "Bravo tu as eu le 1er Chechpoint");
   SendClientMessage(playerid, COLOR_WHITE, "Touche le dernier pour avoir 500$");
   SendClientMessage(playerid, COLOR_RED, "--------------------------------------------------------");
   KillTimer(compteur);
   countd = 20;
   compteur = SetTimer("Count", 1000,1);
   Check2 = DisablePlayerCheckpoint(playerid);
   SetPlayerCheckpoint(playerid, -505.8576,2592.8159,53.4223, 7);
   }
   if (Check3) // CheckPoint pour le Race 1 (CheckPoint N° 2)
   {
   GameTextForPlayer(playerid,"~w~Tu as gagner", 3000,3);
   SendClientMessage(playerid, COLOR_RED, "--------------------------------------------------------");
   SendClientMessage(playerid, COLOR_WHITE, "Bravo tu as eu le 2eme Chechpoint");
   SendClientMessage(playerid, COLOR_WHITE, "Tu as reçu 500$ sur ton compte");
   SendClientMessage(playerid, COLOR_RED, "--------------------------------------------------------");
   //GivePlayerMoney(playerid, 500);
   KillTimer(compteur);
   Check3 = DisablePlayerCheckpoint(playerid);
   }
   return 1;
}

Quand je touche le 1er checkPoint ca me dit de toucher l'autre pour prend fin au race
ce qui est normal mais arriver au 2eme ca m'affiche le message du 1er check et ne désactive pas le 2eme CheckPoint

Je sait pas trop si vous avez compris
moi meme j'ai assez de mal sur les CheckPoints

Pourtant pourla Banque ca marche tres bien ya que sur mes races que ca bug

Avez vous une petit idées s'il vous plait ?

Merci
Cordialement,
signature hors-normes (image trop grande)

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : CheckPoint qui bug
« Réponse #1 le: 16 Mai 2008, 14:23:40 »
Il faut que tu mettes un compteur de checkpoints.

Quand le joueur commence la course, ce compteur est à 0.
Tu mets en place le 1° CP.

Dans la callback OnPlayerEnterRaceCheckpoint :
Si le compteur est à 0, tu mets en place le 2° CP et tu incrémentes le compteur
Si le compteur est à 1, tu mets en place le 3° CP et tu incrémentes le compteur
...
Si le compteur est égal au nombre de CP de ta course -1 , la course est finie.

++
Syg
Courtesy of GtaManiac

Hors ligne inbox

  • *
  • Tueur en série
  • Messages: 214
    • Voir le profil
    • Blog sur Gta
Re : CheckPoint qui bug
« Réponse #2 le: 16 Mai 2008, 15:03:51 »
Salut,

Le compteur marche tres bien
mon problème vient juste des messages qui s'affiche

Exemple de mon code

Je touche le 1er CheckPoint le compteur s'arrete et redemarre pour le prochaine checkpoint

Pour mon problème c'est que quand je touche le 1er CheckPoint mon message s'affiche bien du 1er Check
mais une fois que j'arrive sur le 2eme check il s'etein pas et me donne le message du 1er checkpoint au lieu du 2eme

Tu vois se que je veux dire ?

Merci pour ton aide

Cordialement,
signature hors-normes (image trop grande)

Hors ligne inbox

  • *
  • Tueur en série
  • Messages: 214
    • Voir le profil
    • Blog sur Gta
Re : CheckPoint qui bug
« Réponse #3 le: 17 Mai 2008, 12:54:09 »
Salut,

Désolé pour le double sujet mais je bloque vraiment sur le script
Vous avez pas une petite idée s'il vous plait ?

Merci a vous
signature hors-normes (image trop grande)

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : CheckPoint qui bug
« Réponse #4 le: 18 Mai 2008, 22:58:55 »
La solution est dans mon premier post.

Dans la tienne, tu fais des test sur check1 check2 et check3 mais ces variables ne correspondent à rien.
Un joueur ne peut avoir QU'UN SEUL checkpoint à la fois (il n'a d'ailleurs même pas de numéro je pense).
Ta solution ressemble à un bout de code qu'on utilise pour les pickups (où chaque pickup à effectivement un numéro différent) mais elle ne peut pas marcher pour les CP pour la raison citée ci-dessus..
Donc dans ton cas, quel que soit le checkpoint affiché (1°, 2°, ... , n°), tu passeras toujours par le premier test sur check1 et donc tu afficheras toujours le même message. C'est donc à toi de savoir par quel CP passe le joueur (c'est le but du compteur dont je parle dans mon premier post).

Si tu n'a pas compris la solution que je donne de mon post précédent, dis le moi, j'essaierais d'être plus clair.

++
Syg
Courtesy of GtaManiac