• 05 Juin 2026, 22:07:50


Auteur Sujet: Plusieurs checkpoint à la suite  (Lu 2987 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne iPod_Touch

  • M.
  • *
  • Criminel
  • Messages: 40
    • Voir le profil
Plusieurs checkpoint à la suite
« le: 28 Décembre 2008, 18:52:31 »
Bonjour, voilà je vous expose mon problème. Je veux créer un système de ligne de bus. Quand un joueur monte dans le bus1, un premier checkpoint apparait et lorsque le joueur rentre dans le premier checkpoint sa lui en met un deuxieme etc.. et c'est là que sa plante, en effet, au lieu de mettre le checkpoint suivant, sa le desactive et sa donne largent du dernier checkpoint.


Definition des variables :

new bus1;
new cpbus1;
new cpbus2;
new cpbus3;
new cpbus4;
new cpbus5;
new cpbus6;
new cpbus7;
new cpbus8;

Dans OnPlayerStateChange :

if (CarID==bus1) // HUNTER
{
cpbus1 = SetPlayerCheckpoint(playerid, 2613.0508,1049.9800,10.9331, 3.0);
SendClientMessage(playerid, COLOR_GREEN,"Tu dois faire tous les checkpoints pour finir ton travail !");
SendClientMessageToAll(COLOR_GREEN,"Un joueur est monté dans un bus de service.");
return 1;
}

Voila ce qu'il y a dans OnPlayerEnterCheckpoint :

if(cpbus1)
{
cpbus2 = SetPlayerCheckpoint(playerid, 2445.0000,1006.8864,11.0141, 3.0);
}
if(cpbus2)
{
cpbus3 = SetPlayerCheckpoint(playerid, 2372.8416,1079.7385,11.0051, 3.0);
}
if(cpbus3)
{
cpbus4 = SetPlayerCheckpoint(playerid, 2249.2275,1200.1082,11.0088, 3.0);
}
if(cpbus4)
{
cpbus5 = SetPlayerCheckpoint(playerid,2035.7023,1343.2631,11.0088, 3.0);
}
if(cpbus5)
{
cpbus6 = SetPlayerCheckpoint(playerid, 2289.7974,1380.6522,11.0119, 3.0);
}
if(cpbus6)
{
cpbus7 = SetPlayerCheckpoint(playerid, 2522.2854,1335.0219,10.9323, 3.0);
}
if(cpbus7)
{
cpbus8 = SetPlayerCheckpoint(playerid, 2614.9233,1081.2986,10.9940, 3.0);
}
if(cpbus8)
{
GivePlayerMoney(playerid, 1000000);
}
return 1;
}


Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Plusieurs checkpoint à la suite
« Réponse #1 le: 28 Décembre 2008, 22:27:07 »
Salut,

je te conseille d'aller lire mon post à la fin du tuto sur les checkpoint dans la section en question...

++Sim++





Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Plusieurs checkpoint à la suite
« Réponse #2 le: 28 Décembre 2008, 23:53:45 »
Il faut que tu détruise le checkpoint dans lequel est le joueur pour que le deuxième se mette.

if(cpbus1)
{
DestroyPlayerCheckpoint(playerid, cpbus1);
cpbus2 = SetPlayerCheckpoint(playerid, 2445.0000,1006.8864,11.0141, 3.0);
}
if(cpbus2)
{
DestroyPlayerCheckpoint(playerid, cpbus2);
cpbus3 = SetPlayerCheckpoint(playerid, 2372.8416,1079.7385,11.0051, 3.0);
}
if(cpbus3)
{
DestroyPlayerCheckpoint(playerid, cpbus3);
cpbus4 = SetPlayerCheckpoint(playerid, 2249.2275,1200.1082,11.0088, 3.0);
}

etc...
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Plusieurs checkpoint à la suite
« Réponse #3 le: 29 Décembre 2008, 00:11:14 »
Salut,

tu ne peut utiliser des variables ainsi,

premièrement la fonction créant les checkpoint ne retourne aucune valeur spécifique (sauf un 1 si réussi et un 0 si raté, qui est là base)

ensuite la callback n'a aucun paramètre permettant de gérer un checkpointID

il faut utiliser une zone, non pas une variable

++Sim++





Hors ligne inbox

  • *
  • Tueur en série
  • Messages: 214
    • Voir le profil
    • Blog sur Gta
Re : Plusieurs checkpoint à la suite
« Réponse #4 le: 29 Décembre 2008, 08:08:31 »
Bonjour,

Tu peux prendre celui la
http://forum.sa-mp.com/index.php?topic=49477.0

Il est très bien pour se que tu souhaites faire
et sera plus facile sans doute pour toi :)

Bonne chance
Cordialement,
signature hors-normes (image trop grande)

Hors ligne iPod_Touch

  • M.
  • *
  • Criminel
  • Messages: 40
    • Voir le profil
Re : Plusieurs checkpoint à la suite
« Réponse #5 le: 30 Décembre 2008, 10:31:20 »
TU trouves ça plus simple?  :blink Ben pas moi ! lol , non mais j'arrive à comprendre le principe des checkpoints sur mon GM mais je pige pas pourquoi est-ce que lorsque l'on rentre dans le premier sa deglingue tout, je comprend vraiment pas, il y a surement une réponse !


Hors ligne inbox

  • *
  • Tueur en série
  • Messages: 214
    • Voir le profil
    • Blog sur Gta
Re : Plusieurs checkpoint à la suite
« Réponse #6 le: 30 Décembre 2008, 12:32:31 »
Bonjour,

Beaucoup plus simple oui et très simple a faire marcher :)
donne toi les moyens de le faire.

Soit patient pour le codage
certain code demande plus d'une heure pour le réaliser pas 10 jours non plus :p

Cordialement,
signature hors-normes (image trop grande)

Hors ligne iPod_Touch

  • M.
  • *
  • Criminel
  • Messages: 40
    • Voir le profil
Re : Plusieurs checkpoint à la suite
« Réponse #7 le: 30 Décembre 2008, 13:26:36 »
Pour info, j'ai cherché un peu partout et j'ai trouvé encore plus simple ! Donc vu que je n'aime pas etre égoïste, je vais vous montrer à quoi ressemble le code:

celui ci a été créer par [_Fi_]Garderer que je remercie pour son aide indirecte :

http://pastebin.com/f5a376120

Merci quand même d'avoir cherché pour mon problème !

A+


Hors ligne inbox

  • *
  • Tueur en série
  • Messages: 214
    • Voir le profil
    • Blog sur Gta
Re : Plusieurs checkpoint à la suite
« Réponse #8 le: 30 Décembre 2008, 13:55:08 »
ou du genre avec

public OnPlayerEnterCheckpoint(playerid)
{
    if(Check[playerid] == 1)
    {
    SendClientMessage(playerid, Blanc, "Checkpoint N°1");
    }
    else if(Check[playerid] == 2)
    {
    SendClientMessage(playerid, Blanc, "Checkpoint N°2");
    }
    else if(Check[playerid] == 3)
    {
    SendClientMessage(playerid, Blanc, "Checkpoint N°3");
    }
    return 1;
}

Ne pas oublier de mettre dans les commandes si ya une commande
les fonctions => Check[playerid] =1; ou Check[playerid] =2; Etc...

Cordialement,
signature hors-normes (image trop grande)

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : Plusieurs checkpoint à la suite
« Réponse #9 le: 30 Décembre 2008, 15:38:28 »
ou du genre avec

public OnPlayerEnterCheckpoint(playerid)
{
    if(Check[playerid] == 1)
    {
    SendClientMessage(playerid, Blanc, "Checkpoint N°1");
    }
    else if(Check[playerid] == 2)
    {
    SendClientMessage(playerid, Blanc, "Checkpoint N°2");
    }
    else if(Check[playerid] == 3)
    {
    SendClientMessage(playerid, Blanc, "Checkpoint N°3");
    }
    return 1;
}

Ne pas oublier de mettre dans les commandes si ya une commande
les fonctions => Check[playerid] =1; ou Check[playerid] =2; Etc...

Cordialement,

avec un code du genre tu n'arrivera à rien sauf si tu les mets tous aux bonnes valeurs au bon moment, va lire mon post ici stp....

http://www.gtaonline.fr/forums/index.php/topic,1719.45.html

++Sim++





Hors ligne inbox

  • *
  • Tueur en série
  • Messages: 214
    • Voir le profil
    • Blog sur Gta
Re : Plusieurs checkpoint à la suite
« Réponse #10 le: 30 Décembre 2008, 16:32:00 »
Salut,

Chez moi ca marche très bien :)
Aucun bug
 
même avec 10 Joueurs

Cordialement,
signature hors-normes (image trop grande)