GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: ApocKalipsS le 15 Décembre 2007, 10:08:02
-
Alors voila, je fais un script pour un permis de conduire
Et quand il n'as pas le permis, il est éjecter de son vehicule [RemovePlayerFromVehicule]
Voila mon script :
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(IsPlayerCanDrive == 1)
{
}else{
new Playerid;
if(IsPlayerCanDrive == 0)
SendClientMessage(playerid, COLOR_RED, "Tu n'as pas ton permis !");
RemovePlayerFromVehicle(Playerid);
}
return 1;
}
Voila mais quand je joue, je ne sors pas du vehicule, pourquoi ? Je pense que c'est à cause du Playerid, il faut mettre autre chose mais quoi ?
Merci de me rep. !
Je voudrais aussi que quand je tape "/permis" ca me téléporte à mon endroit que je veux (ca je sais faire)
Mais quand je suis dedans, je voudrais que toutes les commandes soient désactivées. Comment faire ?
-
Essai d'enlever le
new Playerid
et de mettre un P minuscule ici
RemovePlayerFromVehicle(playerid);
Pour désactiver les commandes, il faut vérifier si le joueur est dans une zone.
-
Tu sais j'au quasiment tous essayer !
Ps : enfete c'est quand je tape /permis ca me télé. à un endroit et je n'ai plus accés au commandes.. à part /exit !
-
essaye comme sa :
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(IsPlayerCanDrive == 1)
{
}else if(IsPlayerCanDrive == 0)
{
SendClientMessage(playerid, COLOR_RED, "Tu n'as pas ton permis !");
RemovePlayerFromVehicle(playerid);
}
return 1;
}
je ne l'ai pas compilé, donc si y a des erreurs dit les moi ;)
++
R@f
-
Ca ne marche toujours pas...
Pourtant, quand je suis dans un vehicule, le message s'affiche ;D
-
Tu as bien mis :
new IsPlayerCanDrive = 0;
en haut de ton script ?
-
?? Non j'ai mis :
new IsPlayerCanDrive;
-
je pense avoir trouvé pourquoi sa marche pas, OnPlayerStateChange marche je pense pour ta fonction
essaye sa ;)
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if (newstate == PLAYER_STATE_DRIVER)
{
if (IsPlayerInAnyVehicle(playerid))
{
if(IsPlayerCanDrive == 1)
{
}
else if(IsPlayerCanDrive == 0)
{
SendClientMessage(playerid, COLOR_RED, "Tu n'as pas ton permis !");
RemovePlayerFromVehicle(playerid);
}
}
}
}
++
R@f
-
Cool ca marche ! Merci Raf !
-
merci, toujours un plaisir d'aider les autres :cheers
++
R@f
-
:)
Maintenant il reste plus qu'a désactiver des commandes quand je me téléporte à un endroit, et les réactivées quand je passe un PickUp ! STP... :D
Merci !
-
Bon je te le fait. Met un
new DesactiveCMD = 0;
en haut.
ensuite, dans ta commande de téléportation, rajoute cette ligne :
DesactiveCMD=1;
Et dans
public OnPlayerCommandeText(playerid, cmdtext[]) {
rajoute ce code :
if(DesactiveCMD==1) {
SendClientMessage(playerid,COLOR_RED,"Tu ne peut pas utiliser de commandes dans cette zone");
}
Normalement ça devrais être ça, vérifie ;)
-
Moi ce que je voudrais c'est approprier un ID de joueur à plusieurs ID de voitures ( et ne peux utiliser les autres )