• 06 Juillet 2025, 08:11:22


Auteur Sujet: Commande stopée  (Lu 4120 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Bayshore

  • *
  • Grand Banditisme
  • Messages: 923
    • Voir le profil
Re : Commande stopée
« Réponse #30 le: 16 Mai 2008, 17:22:58 »
Merci beaucoup Syg pour ce petit cours. :happy

Hors ligne inbox

  • *
  • Tueur en série
  • Messages: 214
    • Voir le profil
    • Blog sur Gta
Re : Commande stopée
« Réponse #31 le: 22 Mai 2008, 17:08:55 »
Salut,

J'ai fait se que Syg a fait en code pour expliquer pour effacer les voitures deja crée
mais j'ai un petit problème avec mon script
Je l'ai fait via Un menu comme dans le tuto pour le Tunning

mais les voitures se supprime pas :(

Mon code
            switch(row)
                {
                case 0:
                    {
                    if(delvoiture1[playerid] == 1)
                    {
                    DestroyVehicle (voiture1[playerid]);
                    DestroyVehicle (voiture2[playerid]);
                    DestroyVehicle (voiture3[playerid]);
                    DestroyVehicle (voiture4[playerid]);
                    DestroyVehicle (voiture5[playerid]);
                    DestroyVehicle (voiture6[playerid]);
                    }
                    new Float:slx, Float:sly, Float:slz, Float:sla;
            GetPlayerPos(playerid, slx, sly, slz);
            SetPlayerPos(playerid, slx, sly, slz+2);
                    voiture1[playerid] = CreateVehicle(415, slx, sly, slz,sla, 0, 1, 900);
                    TogglePlayerControllable(playerid,1);
                    delvoiture1[playerid] = 1;
                return 1;
}
                case 1:
                    {
                    if(delvoiture2[playerid] == 1)
                    {
                    DestroyVehicle (voiture1[playerid]);
                    DestroyVehicle (voiture2[playerid]);
                    DestroyVehicle (voiture3[playerid]);
                    DestroyVehicle (voiture4[playerid]);
                    DestroyVehicle (voiture5[playerid]);
                    DestroyVehicle (voiture6[playerid]);
                    }
                    new Float:slx, Float:sly, Float:slz, Float:sla;
            GetPlayerPos(playerid, slx, sly, slz);
            SetPlayerPos(playerid, slx, sly, slz+2);
                    voiture2[playerid] = CreateVehicle(506, slx, sly, slz,sla, 0, 1, 900);
                    TogglePlayerControllable(playerid,1);
                    delvoiture2[playerid] = 1;
                return 1;
}
                case 2:
                    {
                    if(delvoiture3[playerid] == 1)
                    {
                    DestroyVehicle (voiture1[playerid]);
                    DestroyVehicle (voiture2[playerid]);
                    DestroyVehicle (voiture3[playerid]);
                    DestroyVehicle (voiture4[playerid]);
                    DestroyVehicle (voiture5[playerid]);
                    DestroyVehicle (voiture6[playerid]);
                    }
                    new Float:slx, Float:sly, Float:slz, Float:sla;
            GetPlayerPos(playerid, slx, sly, slz);
            SetPlayerPos(playerid, slx, sly, slz+2);
                    voiture3[playerid] = CreateVehicle(497, slx, sly, slz,sla, 0, 1, 900);
                    TogglePlayerControllable(playerid,1);
                    delvoiture3[playerid] = 1;
                return 1;
}
                case 3:
                    {
                    if(delvoiture4[playerid] == 1)
                    {
                    DestroyVehicle (voiture1[playerid]);
                    DestroyVehicle (voiture2[playerid]);
                    DestroyVehicle (voiture3[playerid]);
                    DestroyVehicle (voiture4[playerid]);
                    DestroyVehicle (voiture5[playerid]);
                    DestroyVehicle (voiture6[playerid]);
                    }
                    new Float:slx, Float:sly, Float:slz, Float:sla;
            GetPlayerPos(playerid, slx, sly, slz);
            SetPlayerPos(playerid, slx, sly, slz+2);
                    voiture4[playerid] = CreateVehicle(556, slx, sly, slz,sla, 0, 1, 900);
                    TogglePlayerControllable(playerid,1);
                    delvoiture4[playerid] = 1;
                return 1;
}
                case 4:
                    {
                    if(delvoiture5[playerid] == 1)
                    {
                    DestroyVehicle (voiture1[playerid]);
                    DestroyVehicle (voiture2[playerid]);
                    DestroyVehicle (voiture3[playerid]);
                    DestroyVehicle (voiture4[playerid]);
                    DestroyVehicle (voiture5[playerid]);
                    DestroyVehicle (voiture6[playerid]);
                    }
                    new Float:slx, Float:sly, Float:slz, Float:sla;
            GetPlayerPos(playerid, slx, sly, slz);
            SetPlayerPos(playerid, slx, sly, slz+2);
                    voiture5[playerid] = CreateVehicle(495, slx, sly, slz,sla, 0, 1, 900);
                    TogglePlayerControllable(playerid,1);
                    delvoiture5[playerid] = 1;
                return 1;
}
case 5:
                    {
                    if(delvoiture6[playerid] == 1)
                    {
                    DestroyVehicle (voiture1[playerid]);
                    DestroyVehicle (voiture2[playerid]);
                    DestroyVehicle (voiture3[playerid]);
                    DestroyVehicle (voiture4[playerid]);
                    DestroyVehicle (voiture5[playerid]);
                    DestroyVehicle (voiture6[playerid]);
                    }
                    new Float:slx, Float:sly, Float:slz, Float:sla;
            GetPlayerPos(playerid, slx, sly, slz);
            SetPlayerPos(playerid, slx, sly, slz+2);
                    voiture6[playerid] = CreateVehicle(471, slx, sly, slz,sla, 0, 1, 900);
                    TogglePlayerControllable(playerid,1);
                    delvoiture6[playerid] = 1;
                return 1;
                }
                }
                }

Si un joueur prend la voiture 1 elle vient mais si le joueur choisi une autre la voiture 2 arrive mais la voiture 1 ne s'efface pas

Avez vous une idée ?

Merci
signature hors-normes (image trop grande)

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Commande stopée
« Réponse #32 le: 26 Mai 2008, 14:32:03 »
Comment sont déclarées les tableaux delvoiture1, 2, .., 6 et voiture1, 2, ..., 6 ?
Il faut absolument qu'il soient globaux (déclarés en haut du script en dehors de toutes fonctions ou callback).

Sinon, comme tu détruis systématiquement tous les véhicules, les tableaux delvoitureX me semble superflu.

Essaies quelque chose dans ce genre (a reproduire dans tous les case avec les bonnes valeurs, j'ai mis en rouge les valeurs qu'il faut changer dans les autres case) :
case 0:
{
   DestroyVehicle (voiture1[playerid]);
   new Float:slx, Float:sly, Float:slz, Float:sla;
   GetPlayerPos(playerid, slx, sly, slz);
   SetPlayerPos(playerid, slx, sly, slz+2);
   voiture1[playerid] = CreateVehicle(415, slx, sly, slz,sla, 0, 1, 900);
   TogglePlayerControllable(playerid,1);
   return 1;
}



++
Syg
Courtesy of GtaManiac