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
-
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 ?
-
Post le script du /lock, on arrivera mieux à t'aider.
-
Je crois qu"il y a des failles pour locker un vehicule ... au niveau du respawn ... a confirmer ..
++
nikko
-
UP
-
A mon avis, ca vient pas de cette commande.
HS : Héhé, plein de fautes x)
-
UP
-
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
-
UP
-
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
-
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
-
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 ?
-
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
-
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=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]
-
Ton 'carid' est récupéré dans quelle fonction ??
++
nikko
-
J'ai un peu la flemme de lire la commande que t'as donné. Voici une commande /lock normale et commentée ;)
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
-
J'ai un peu la flemme de lire la commande que t'as donné. Voici une commande /lock normale et commentée ;)
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
-
je pense que ca viens du "carid" mal défini dans le public ...
++
nikko
-
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"
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);
}
}
}
}
-
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"
-
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);
}
}
}
-
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++