GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Alphonse_Vegas le 05 Mai 2009, 18:19:15

Titre: Rien
Posté par: Alphonse_Vegas le 05 Mai 2009, 18:19:15
Bonsoir,

Je voudrais savoir pourquoi quand je tape /lock sa verrouille le véhicule mes on peut comme entrée dans le véhicule malgré que c'est verrouiller

On ma dit sa venais du carid si vous pouvais m'aider sa serais sympa..

Nikko tu m'avais dit que c'est surement le carid j'en suis sur osi peut tu me dire ou il se trouve ?
Titre: Re : Probleme avec la commande /lock
Posté par: ApocKalipsS le 05 Mai 2009, 18:30:08
Post le script du /lock, on arrivera mieux à t'aider.
Titre: Re : Probleme avec la commande /lock
Posté par: Nikko™ le 05 Mai 2009, 18:32:58
Je crois qu"il y a des failles pour locker un vehicule ... au niveau du respawn ... a confirmer ..

++
nikko
Titre: Re : Probleme avec la commande /lock
Posté par: Alphonse_Vegas le 05 Mai 2009, 18:34:08
UP
Titre: Re : Probleme avec la commande /lock
Posté par: ApocKalipsS le 05 Mai 2009, 18:41:41
A mon avis, ca vient pas de cette commande.

HS : Héhé, plein de fautes x)
Titre: Re : Probleme avec la commande /lock
Posté par: Alphonse_Vegas le 05 Mai 2009, 18:44:03
UP
Titre: Re : Probleme avec la commande /lock
Posté par: Nikko™ le 05 Mai 2009, 18:51:08
Alors,
1: On est la pour t'aider et non pas pour copier-coller le script, donc soit tu nous aide a t'aider soit tu cherche un autre endroit ...
Et 2 stop les doubles post, ya une fonction "modifier" sur tes post.

++
nikko
Titre: Re : Re : Probleme avec la commande /lock
Posté par: Alphonse_Vegas le 05 Mai 2009, 18:54:45
UP
Titre: Re : Probleme avec la commande /lock
Posté par: Nikko™ le 05 Mai 2009, 18:58:05
Ca viens surement de ta fonction LockCar(carid);

Mais je demande pas de la poster, pcq je suis quelqu'un qui recopie ... normal  :ninja

++
nikko
Titre: Re : Re : Probleme avec la commande /lock
Posté par: R@f le 05 Mai 2009, 18:58:16
Tu peut m'aider au lieu de ricaner ?

Double post
Super sa GTA-Online, les membre il demande le script pour copier et il aide pas super cool  :blink


Si tu n'es pas content tu peux partir, y a bien d'autre forums d'aide (en français mais vide).
Et si on veux de l'aide, on décrit bien le problème et on donne tous les éléments qui peuvent nous aider à résoudre ce problème, et là, tu recevras de l'aide ;)

++
R@f
Titre: Re : Re : Re : Probleme avec la commande /lock
Posté par: Alphonse_Vegas le 05 Mai 2009, 19:02:14
Si tu n'es pas content tu peux partir, y a bien d'autre forums d'aide (en français mais vide).
Et si on veux de l'aide, on décrit bien le problème et on donne tous les éléments qui peuvent nous aider à résoudre ce problème, et là, tu recevras de l'aide ;)

Je vais t'expliquer mon probleme

Quand je tape /lock (Sa verrouiller le véhicule) mes les gens peuvent comme même entrée dans le véhicule j'ai essayer avec un autre script d'un autre GM c'est toujours pareil je croit comme il a dit sa vien pas de la commande /lock mes d'ou sa peut venir allor ?
Titre: Re : Probleme avec la commande /lock
Posté par: Nikko™ le 05 Mai 2009, 19:12:16
Soit tu sais pas lire soit tu le faire expres, il t'a dit (et nous autres aussi) nous voulions PLUS d'infos sur ton truc. C'est a dire toutes les fonctions concernant ton probleme: ta commande /lock, ta fonction 'LockCar' ..

++
nikko
Titre: Re : Re : Probleme avec la commande /lock
Posté par: Alphonse_Vegas le 05 Mai 2009, 19:16:18
Soit tu sais pas lire soit tu le faire expres, il t'a dit (et nous autres aussi) nous voulions PLUS d'infos sur ton truc. C'est a dire toutes les fonctions concernant ton probleme: ta commande /lock, ta fonction 'LockCar' ..

++
nikko

Ha OK... Tien le LockCar


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

public UnLockCar(carid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!IsAPlane(carid))
{
SetVehicleParamsForPlayer(carid,i,0,0);
}
}
}
}

public InitLockDoors(playerid)
{
    if(IsPlayerConnected(playerid))
{
new c;
while (c < 254)
{
c++;
if (gCarLock[c] == 1)
{
SetVehicleParamsForPlayer(c,playerid,0,1);
}
}
}
return 1;
[/code]
Titre: Re : Probleme avec la commande /lock
Posté par: Nikko™ le 05 Mai 2009, 19:19:53
Ton 'carid' est récupéré dans quelle fonction ??

++
nikko
Titre: Re : Probleme avec la commande /lock
Posté par: R@f le 05 Mai 2009, 19:20:09
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
Titre: Re : Re : Probleme avec la commande /lock
Posté par: Alphonse_Vegas 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
Titre: Re : Probleme avec la commande /lock
Posté par: Nikko™ le 05 Mai 2009, 19:40:53
je pense que ca viens du "carid" mal défini dans le public ...

++
nikko
Titre: Re : Re : Probleme avec la commande /lock
Posté par: Alphonse_Vegas 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);
}
}
}
}
Titre: Re : Probleme avec la commande /lock
Posté par: Nikko™ 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"
Titre: Re : Rien
Posté par: cristab 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);
}
}
}
Titre: Re : Re : Rien
Posté par: S!m 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++