• 03 Mai 2025, 11:57:57


Auteur Sujet: Rien  (Lu 2259 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Alphonse_Vegas

  • *
  • Tueur en série
  • Messages: 143
    • Voir le profil
Re : Re : Probleme avec la commande /lock
« Réponse #15 le: 05 Mai 2009, 19:31:02 »
J'ai un peu la flemme de lire la commande que t'as donné. Voici une commande /lock normale et commentée ;)
Code: (pawn) [Sélectionner]
if (strcmp(cmdtext, "/lock", true)==0)
{
/*On vérifie si le joueur est dans le véhicule*/
if(IsPlayerInAnyVehicle(playerid))
{
/*On créé une nouvelle variable qui aura la valeure de GetPlayerState*/
new State=GetPlayerState(playerid);
/*Si State n'est pas égal à PLAYER_STATE_DRIVER, ce qui veux dire que la personne qui a fait la commande n'est pas le conducteur*/
if(State!=PLAYER_STATE_DRIVER)
{
/*On envoie un message lui disant que seulement le conducteur peut fermer les portes*/
SendClientMessage(playerid,COLOR_GREY,"Seulement le conducteur peut fermer les portes");
return 1;
}
/*On fait une boucle sur tous les joueurs*/
for(new i=0;i<MAX_PLAYERS;i++)
{
/*On verrouille le véhicule*/
SetVehicleParamsForPlayer(GetPlayerVehicleID(i),i, 0, 1);
}
}
/*On lui envoie un petit message pour dire que son véhicule est verrouillé*/
SendClientMessage(playerid, COLOR_GREY, "Véhicule vérouillé");
/*On lui envoie un petit son pour faire joli*/
PlayerPlaySound(playerid,1056,0,0,0);
}
/*Si il n'est pas dans un véhicule - Voir la condition plus haut*/
else
{
/*On envoi un petit message pour lui dire qu'il n'est pas dans un véhicule*/
SendClientMessage(playerid, COLOR_GREY, "Tu n'es pas dans un véhicule");
}
return 1;
}

Pour vérouiller c'est pareil, sauf qu'il faut changer SetVehicleParamsForPlayer(GetPlayerVehicleID(i),i, 0, 1); par zéro ;)
Je pense que depuis ceci tu peux te faire une commande toi même, un truc perso que tu comprends mieux ;)

PS : Les commandes sont entre des slash + étoile (/* ou */)

++
R@f

Ok merci je vais essayer

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Probleme avec la commande /lock
« Réponse #16 le: 05 Mai 2009, 19:40:53 »
je pense que ca viens du "carid" mal défini dans le public ...

++
nikko

Hors ligne Alphonse_Vegas

  • *
  • Tueur en série
  • Messages: 143
    • Voir le profil
Re : Re : Probleme avec la commande /lock
« Réponse #17 le: 05 Mai 2009, 20:02:21 »
Sa marche toujours pas Nikko les gens peuvent toujours entré dans le vehicule de maison des autre

(6211) : error 017: undefined symbol "i"
(6213) : error 017: undefined symbol "i"
(6219) : error 017: undefined symbol "i"
(6223) : error 017: undefined symbol "playerid"

Code: (pawn) [Sélectionner]
public LockCar(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SetVehicleParamsForPlayer(playerid,i,0,1);
}
}
}

public UnLockCar(carid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!IsAPlane(carid))
{
SetVehicleParamsForPlayer(playerid,i,0,1);
}
}
}
}
« Modifié: 05 Mai 2009, 20:50:14 par Alphonse_Vegas »

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Probleme avec la commande /lock
« Réponse #18 le: 05 Mai 2009, 20:26:15 »
Modidie forward LockCar(playerid); en haut du script ainsi que forward UnLockCar(playerid);

public LockCar(playerid)
{
if(IsPlayerConnected(i))
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
}
}

public UnLockCar(carid)
{
if(IsPlayerConnected(i))
{
if(!IsAPlane(carid))
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
}
}
}

++
nikko

PS: STOP LES DOUBLES POST !! Utilise le bouton "MODIFIER"

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Rien
« Réponse #19 le: 05 Mai 2009, 22:56:05 »
public LockCar()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
}
}
}

public UnLockCar(carid)
{
if(IsPlayerConnected(i))
{
if(!IsAPlane(carid))
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
}
}
}
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : Rien
« Réponse #20 le: 06 Mai 2009, 01:00:08 »
Salut,

public UnLockCar(carid)
{
for( new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!IsAPlane(carid))
{
SetVehicleParamsForPlayer(carid,i, 0, 1);//ici la variable carid, playerid n'est même pas défini....
}
}
}
}

Il faut une loop dans les deux fonctions....

sinon il existait un bug sur une ancienne version (source non certaine) qui limitait le nombre de véhicule pouvant être barrés au même moment, si tu as trop de véhicules barré, il n'est pas impossible que tu dépasse la "limite"

++Sim++