GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: 69scorpion le 27 Septembre 2009, 00:50:48

Titre: cheekpoint
Posté par: 69scorpion le 27 Septembre 2009, 00:50:48
Bonsoir j'ai fait ce code mais il ne fonctionne pas...

Le but de se code c'est que je veut faire apparaitre un 1er cheeckpoint puis quand le joueur entre dans le 1er cheeckpoint un 2nd apparait puis le 1er se destroy mais rien ne se passe....

else if(CheckPermis3[playerid] > 0)
{
if(CheckPermis3[playerid] == 1)
{
if(IsPlayerInAnyVehicle(playerid))
{
   new carid = GetPlayerVehicleID(playerid);
   if(IsAInstructeurCar(carid))
   {
       switch(DrugFermierPickup[playerid][0])
       {
           case 0:
           {
                        SetPlayerCheckpoint(playerid, -2033.4630,-234.8891,35.1839, 5.0);
SendClientMessage(playerid, COLOR_YELLOW2, "Faite de l'exercice, Soiyez Rp (^_^).");
                        if(JustStarted[playerid] != 0)
                        {
                         JustStarted[playerid] = 0;
}
           }
           case 1:
           {
                        SetPlayerCheckpoint(playerid, -2042.5481,-261.8169,35.1844, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                         JustStarted[playerid] = 0;
}
           }
           case 2:
           {
                        SetPlayerCheckpoint(playerid, -2062.9226,-170.0094,35.1767, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                         JustStarted[playerid] = 0;
}
           }
           case 3:
           {
                        SetPlayerCheckpoint(playerid, -2052.1887,-253.4261,35.1953, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                         JustStarted[playerid] = 0;
}
           }
           case 4:
           {
                        SetPlayerCheckpoint(playerid, -2057.0156,-240.1139,35.1805, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                         JustStarted[playerid] = 0;
}
           }
           case 5:
           {
                        SetPlayerCheckpoint(playerid, -2059.4216,-224.8847,35.1873, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                         JustStarted[playerid] = 0;
}
           }
           case 6:
           {
                        SetPlayerCheckpoint(playerid, -2068.1062,-209.6062,35.1795, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                         JustStarted[playerid] = 0;
}
           }
           case 7:
           {
                         SendClientMessage(playerid, COLOR_LIGHTRED, "Garer la voiture.");
GameTextForPlayer(playerid, "~r~Allez sur le marqueur rouge",5000,1);
SetPlayerCheckpoint(playerid, -2080.1780,-117.5618,35.3203,5.0); //
                        if(JustStarted[playerid] != 0)
                        {
                         JustStarted[playerid] = 0;
                         Plots(playerid);
SetPlayerPos(playerid, -2025.9832,-116.9980,1035.1719);
PassageCode[playerid]= 1;
GameTextForPlayer(playerid, "~y~Cour de Conduite",5000,1);
SetPlayerInterior(playerid,3);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, COLOR_YELLOW2, "Ok, Vous allez passez le permis auto.");
SendClientMessage(playerid, COLOR_LIGHTRED, "1ère Question");
SendClientMessage(playerid, COLOR_LIGHTRED, "Quelle la vitesse autorisé à Scorpion City ?");
SendClientMessage(playerid, COLOR_LIGHTRED, "1- 40 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "2- 150 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "3- 80 km/h");
SendClientMessage(playerid, COLOR_YELLOW2, "Repondez en tapant le numero de la réponse!");
}
           }
       }
     }
       }
     }
return 1;
}

Commande qui active le Cheeckpoint

if(strcmp(cmd, "/go", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new carid = GetPlayerVehicleID(playerid);
if(!IsAInstructeurCar(carid))
    {
       SendClientMessage(playerid, COLOR_RED,"   Vous êtes pas dans un véhicle de l'Auto-école.");
    return 1;
  }
/*if (PassageCode[playerid]!= 0 || PassageCode2[playerid]!= 0)
{
SendClientMessage(playerid, COLOR_RED, "  Vous n'êtes pas entrain de passé votre permis de Conduire.");
return 1;
         }*/
    if(CheckPermis[playerid] == 1)
    {
CheckPermis[playerid]= 1;
return 1;
  }
    else if(CheckPermis2[playerid] == 1)
    {
CheckPermis2[playerid]= 1;
return 1;
  }
    else if(CheckPermis3[playerid] == 1)
    {
CheckPermis3[playerid]= 1;
return 1;
  }
  }
  return 1;
}


Merci d'avance ;)
Titre: Re : cheekpoint
Posté par: Mr_C30 le 27 Septembre 2009, 00:53:39
c'est pour faire des course ?
Titre: Re : cheekpoint
Posté par: 69scorpion le 27 Septembre 2009, 00:58:00
Non pour passer le permis automatiquement.
Titre: Re : cheekpoint
Posté par: Mr_C30 le 27 Septembre 2009, 00:59:57
ok bin je te conseille de t'inspirer des course ;) en plus une fléche indique les checkpoint suivent ;)
Titre: Re : cheekpoint
Posté par: 69scorpion le 27 Septembre 2009, 01:26:35
ah ok merci pas bête comme idéé ^^ ! T'aurait pas un code de course pour m'inspiré stp ?
Titre: Re : cheekpoint
Posté par: Mr_C30 le 27 Septembre 2009, 04:32:50
tu peut facilement t'inspirer du yrace ou de tout autre sytéme de course ou méme le scripter toi méme c'est pas bien dificile ;)
Titre: Re : cheekpoint
Posté par: 69scorpion le 29 Septembre 2009, 00:01:12
Oui mais je voudrais comprendre pourquoi mon Code ne marche comme il le faut ? ???
Titre: Re : cheekpoint
Posté par: rafffel le 29 Septembre 2009, 00:20:45
ta variable DrugFermierPickup[playerid][0] ne s'incremente jamais ?  dans quoi est place ton premier code? onplayerentercheckpoint?

 
Titre: Re : cheekpoint
Posté par: 69scorpion le 29 Septembre 2009, 23:06:55
Ou tu "onplayerentercheckpoint" dans mon code ???
Titre: Re : cheekpoint
Posté par: rafffel le 30 Septembre 2009, 12:22:30
public OnPlayerEnterCheckpoint(playerid)
{

}

c'est une callback qui est appelé chaque fois que tu entre dans un checkpoint .

J'ai suposé que soit ta variable est incremente dans cette callback.

si ce n'est pas le cas .

else if(CheckPermis3[playerid] > 0)
{
if(CheckPermis3[playerid] == 1)
{
if(IsPlayerInAnyVehicle(playerid))
{
    new carid = GetPlayerVehicleID(playerid);
    if(IsAInstructeurCar(carid))
    {
        switch(DrugFermierPickup[playerid][0])
        {
            case 0:
            {
                        SetPlayerCheckpoint(playerid, -2033.4630,-234.8891,35.1839, 5.0);
SendClientMessage(playerid, COLOR_YELLOW2, "Faite de l'exercice, Soiyez Rp (^_^).");
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                                DrugFermierPickup[playerid][0]++;
}
            }
            case 1:
            {
                        SetPlayerCheckpoint(playerid, -2042.5481,-261.8169,35.1844, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                                DrugFermierPickup[playerid][0]++;
}
    }
    case 2:
    {
                        SetPlayerCheckpoint(playerid, -2062.9226,-170.0094,35.1767, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                                DrugFermierPickup[playerid][0]++;
}
            }
            case 3:
            {
                        SetPlayerCheckpoint(playerid, -2052.1887,-253.4261,35.1953, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                                DrugFermierPickup[playerid][0]++;
}
    }
    case 4:
    {
                        SetPlayerCheckpoint(playerid, -2057.0156,-240.1139,35.1805, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                                DrugFermierPickup[playerid][0]++;
}
    }
    case 5:
    {
                        SetPlayerCheckpoint(playerid, -2059.4216,-224.8847,35.1873, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                                DrugFermierPickup[playerid][0]++;
        }
    }
    case 6:
    {
                        SetPlayerCheckpoint(playerid, -2068.1062,-209.6062,35.1795, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                                DrugFermierPickup[playerid][0]++;
}
            }
    case 7:
    {
                  SendClientMessage(playerid, COLOR_LIGHTRED, "Garer la voiture.");
GameTextForPlayer(playerid, "~r~Allez sur le marqueur rouge",5000,1);
SetPlayerCheckpoint(playerid, -2080.1780,-117.5618,35.3203,5.0); //
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                                DrugFermierPickup[playerid][0] = 0;
                        Plots(playerid);
SetPlayerPos(playerid, -2025.9832,-116.9980,1035.1719);
PassageCode[playerid]= 1;
GameTextForPlayer(playerid, "~y~Cour de Conduite",5000,1);
SetPlayerInterior(playerid,3);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, COLOR_YELLOW2, "Ok, Vous allez passez le permis auto.");
SendClientMessage(playerid, COLOR_LIGHTRED, "1ère Question");
SendClientMessage(playerid, COLOR_LIGHTRED, "Quelle la vitesse autorisé à Scorpion City ?");
SendClientMessage(playerid, COLOR_LIGHTRED, "1- 40 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "2- 150 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "3- 80 km/h");
SendClientMessage(playerid, COLOR_YELLOW2, "Repondez en tapant le numero de la réponse!");
}
     }
          }
      }
           }
      }
      return 1;
}
Titre: Re : cheekpoint
Posté par: 69scorpion le 01 Octobre 2009, 18:51:48
Sa ne marche pas :( !
Titre: Re : cheekpoint
Posté par: rafffel le 01 Octobre 2009, 19:08:38
Le grand bout de code il est dans la callback
public OnPlayerEnterCheckpoint(playerid)
{

     return 1;
}

?? ou pas?
Parsque a mon avis il faut qu'il soit dedans sinon il est certain que ca ne marchera pas
Titre: Re : cheekpoint
Posté par: 69scorpion le 01 Octobre 2009, 22:10:26
Je l'ai mit dans la callback quand je compile j'ai c'est erreur qui s'afficher :

(5630) : error 029: invalid expression, assumed zero
(5630) : warning 215: expression has no effect
(5630) : error 001: expected token: ";", but found "if"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Code que j'ai mii dans la callback

else if(CheckPermis[playerid] > 0)
{
if(CheckPermis[playerid] == 1)
{
if(IsPlayerInAnyVehicle(playerid))
{
    new carid = GetPlayerVehicleID(playerid);
    if(IsAInstructeurCar(carid))
    {
        switch(DrugFermierPickup[playerid][0])
        {
            case 0:
            {
                        SetPlayerCheckpoint(playerid, -2028.7186,-185.3621,35.1764, 5.0);
SendClientMessage(playerid, COLOR_YELLOW2, "Faite l'exercice, Soiyez Rp (^_^).");
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                        FermierPickup[playerid][0]++;
}
            }
            case 1:
            {
                        SetPlayerCheckpoint(playerid, -2052.7415,-220.8886,35.1825, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                        FermierPickup[playerid][0]++;
}
            }
            case 2:
            {
                        SetPlayerCheckpoint(playerid, -2061.5586,-257.4008,35.1821, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                        FermierPickup[playerid][0]++;
}
            }
            case 3:
            {
                        SetPlayerCheckpoint(playerid, -2075.1162,-230.5337,35.1820, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                        FermierPickup[playerid][0]++;
}
            }
            case 4:
            {
                        SetPlayerCheckpoint(playerid, -2078.7092,-179.6835,35.1814, 5.0);
                        if(JustStarted[playerid] != 0)
                        {
                        JustStarted[playerid] = 0;
                        FermierPickup[playerid][0]++;
}
            }
            case 5:
            {
                        SendClientMessage(playerid, COLOR_LIGHTRED, "Garer la voiture.");
GameTextForPlayer(playerid, "~r~Allez sur le marqueur rouge",5000,1);
SetPlayerCheckpoint(playerid, -2080.1780,-117.5618,35.3203,5.0); //
                        if(JustStarted[playerid] != 0)
                        DrugFermierPickup[playerid][0] = 0;
                        {
                            OnPlayerEnterCheckpoint(playerid);
                        JustStarted[playerid] = 0;
                        Plots(playerid);
SetPlayerPos(playerid, -2025.9832,-116.9980,1035.1719);
PassageCode[playerid]= 1;
GameTextForPlayer(playerid, "~y~Cour de Conduite",5000,1);
SetPlayerInterior(playerid,3);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, COLOR_YELLOW2, "Ok, Vous allez passez le permis auto.");
SendClientMessage(playerid, COLOR_LIGHTRED, "1ère Question");
SendClientMessage(playerid, COLOR_LIGHTRED, "Quelle la vitesse autorisé à Scorpion City ?");
SendClientMessage(playerid, COLOR_LIGHTRED, "1- 40 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "2- 150 km/h");
SendClientMessage(playerid, COLOR_LIGHTRED, "3- 80 km/h");
SendClientMessage(playerid, COLOR_YELLOW2, "Repondez en tapant le numero de la réponse!");
}
            }
        }
      }
        }
      }
return 1;
}

Titre: Re : cheekpoint
Posté par: cristab le 01 Octobre 2009, 22:18:36
envoie moi t'on code et les coordonnée des cp par pm que je regarde sa car sur le forum j'ai du mal car la mise ne page est foiray