• 06 Juillet 2025, 16:37:42


Auteur Sujet: checkpoint  (Lu 2613 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne smackou77

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
checkpoint
« le: 30 Mai 2007, 20:06:23 »
alors voilà j'ai un script pour mon mode race qui est enfete des checkpoints alor en fete ce que j'avais prévu c'était que can le joueur passe dessus un otre s'allume etc et can le dérnié é passé ba les checkpoint s'enléve alor le voici:
OnPlayerEnterCheckpoint(playerid)
{
if(!nom_du_tab[playerid])
SetPlayerCheckpoint(playerid, position2 X, Y, Z, taille);

elseif(nom_du_tab[playerid]==1)
SetPlayerCheckpoint(playerid, position2 X, Y, Z, taille);

elseif(nom_du_tab[playerid]==2)
SetPlayerCheckpoint(playerid, position2 X, Y, Z, taille);

elseif(nom_du_tab[playerid]==3)
DisablePlayerCheckpoint(playerid);

nom_du_tab[playerid]++;

}

Vous en penssez quoi?

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Re : checkpoint
« Réponse #1 le: 30 Mai 2007, 23:23:31 »
Utilises un switch plutôt que des if et des else.
Aussi, tu ferais mieux de récupérer un script de courses sur le forum sa:mp, parti showroom.


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"


Hors ligne smackou77

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Re : checkpoint
« Réponse #2 le: 31 Mai 2007, 18:11:14 »
je trouve pas l'endroit où tu em dit showrom c où sa?

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Re : checkpoint
« Réponse #3 le: 31 Mai 2007, 18:14:04 »


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"


Hors ligne smackou77

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Re : checkpoint
« Réponse #4 le: 31 Mai 2007, 20:04:41 »
ok je trouve pas je suis pas trés fort en anglais mais tu penses que mon script marcherai?
OnPlayerEnterCheckpoint(playerid)
{
if(!nom_du_tab[playerid])
SetPlayerCheckpoint(playerid, position2 X, Y, Z, taille);

elseif(nom_du_tab[playerid]==1)
SetPlayerCheckpoint(playerid, position2 X, Y, Z, taille);

elseif(nom_du_tab[playerid]==2)
SetPlayerCheckpoint(playerid, position2 X, Y, Z, taille);

elseif(nom_du_tab[playerid]==3)
DisablePlayerCheckpoint(playerid);

nom_du_tab[playerid]++;

}
par contre c'est quoi des switch?

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Re : checkpoint
« Réponse #5 le: 31 Mai 2007, 20:15:34 »
Il n'y a aucune chance pour que ton script marche si tu fermes pas les }..
Un switch est ce qui permet de faire ce que tu veux, ça analyse les cas dans lequel tu es et s'adapte selon le cas...
Y a un exemple dans le script area51.


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"


Hors ligne smackou77

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Re : checkpoint
« Réponse #6 le: 31 Mai 2007, 21:13:55 »
OnPlayerEnterCheckpoint(playerid)
{

 switch (nom_du_tab[playerid])  {
   
case 0:
{
SetPlayerCheckpoint(playerid, position2 X, Y, Z, taille);
}

case 1:
{
SetPlayerCheckpoint(playerid, position2 X, Y, Z, taille);
}

case2:
{
SetPlayerCheckpoint(playerid, position2 X, Y, Z, taille);
}

case3:
{
DisablePlayerCheckpoint(playerid);

nom_du_tab[playerid]++;
}
}
return 1;
}

Comme sa?

Hors ligne The

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : checkpoint
« Réponse #7 le: 03 Juin 2007, 11:46:57 »
Moi je fais comme sa pour les cheks :

Dans les defines

#define SPEEDER_CHECKPOINTS XX // XX = nombre de checkpoint

new Float:gSpeederCheckpoints[SPEEDER_CHECKPOINTS][4] = {
{2151.3589,851.8388,6.3631,10.0}, //LV RACE Ligne de depart
{1753.6545,850.6560,9.5190,10.0}, //premier checkpoint
{1568.6921,833.5577,6.3990,10.0},
{1287.6051,905.6605,6.4374,10.0},
{1226.4041,1334.8127,6.3621,10.0},
{1209.0433,1502.7931,6.3621,10.0},
{1263.7335,1732.5851,8.0399,10.0},
{1401.9918,1872.6542,10.3007,10.0},           <==== Positions des chekpoints ( à modifier)
{1707.2323,1886.4031,10.2967,10.0},
{1728.4037,2053.3477,10.2970,10.0},
{1956.9373,2022.1593,10.2968,10.0},
{2176.9705,2137.1475,10.2968,10.0},
{2349.7729,2179.5166,10.3058,15.0},
{2287.6816,2291.3613,10.3413,10.0},
{2271.7271,2413.7090,10.3006,10.0},
{2189.2878,2325.5537,10.2968,10.0},
{2074.8704,1758.3037,10.2968,10.0},
{2047.5907,1587.5190,10.2968,10.0},
{2061.5239,1531.0094,10.2968,10.0},
{2047.8118,1361.2373,10.2968,10.0},
{2046.0575,861.8326,6.3588,15.0} //FIN!
};

Dans les cases


SetPlayerCheckpoint(playerid,gSpeederCheckpoints[i][0],gSpeederCheckpoints[i][1],gSpeederCheckpoints[i][2],gSpeederCheckpoints[i][3]);




The
« Modifié: 03 Juin 2007, 12:39:45 par The »