GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: [BGS]teck le 20 Février 2008, 19:57:15
-
bonjour je voudrait fair une commandes quand une perssone tape /nofall ba je voudrait que la perssone qui a écri sa ne tonbe pu de sa moto quand elle ce prend un mur ou chute merci de vos reponsse
-
Tu donne un nom à ton véhicule
Si il tombe, tu le remet dedans....
:...
-
conpren pas tres bien lol peux mexpliker plus clairement merci
-
Salut Teck, :)
Donc tu fait une variable.
Quand il fait la commande NoFallBike, tu mes la variable à 1.
Quand le joueur sort de son véhicule(quand il tombe) [OnPlayerExitVehicle], tu va enregistrer le vehicule :
new moto=GetPlayerVehicleID(playerid);
et tu va le remettre dedans [PutPlayerInVehicle(playerid, moto);]
Voilà en ésperant que tu à bien compris ! :)
-
meci a toi oui j'ai bien conpri merci a++
-
salut,
cependdant il faut que tu vérifie si le joueur est bien dans une moto, s'il sort de son auto ou bateau ou aute et qu'il est constamment remit à l'interieur, ce sera agacant :P
++Sim
-
Oui on dit :
If (IsPlayerInAnyVehicle) et si il veut re-sortir il désacive la variable...
-
ok mes faite moi un expenle ou je peut reproduire apré s'il vous plait merci
-
salut teck,
bon la cmd:
en haut du script:
new nofall[MAX_PLAYERS];
if(!strcmp(cmdtext,"/nofallbike",true){
if(nofall == 0){ nofall =1;
SendClientMessage(playerid,green,"Tu ne tombera plus de ta moto.");
}else{nofall =0;
SendClientMessage(playerid,green,"Tu peut à nouveau tomber de ta moto.");
}
ensuite dans OnPlayerExitVehicle
OnPlayerExitVehicle(vehicleid,playerid){
new model = GetVehicleModel(vehicleid);
switch(model) { //ici les id des motos: return PutPlayerInVehicle(playerid,vehicleid);
return 1;
}
C'est à peu près cela, mais je croit que ce code comprend lorsque le joueur quitte volontairement sa moto ;D, il faudrait faire un truc pour l'enlever.....
a toi de voir ;)
++Sim++
-
voila je les fait mes ya un probleme a la deuxiéme ligne !!!! :wall :wall
if (strcmp(cmdtext, "/nofall", true)==0) {
else (nofall == 0){ nofall =1;
SendClientMessage(playerid,COLOR_GREEN,"Tu ne tombera plus de ta moto.");
}
else{nofall =0;
SendClientMessage(playerid,COLOR_GREEN,"Tu peut à nouveau tomber de ta moto.");
}
return 1;
}
C:\Users\thomas\Desktop\gamemodes\stuntlandteckto27.pwn(1641) : error 029: invalid expression, assumed zero
C:\Users\thomas\Desktop\gamemodes\stuntlandteckto27.pwn(1641) : error 033: array must be indexed (variable "nofall")
C:\Users\thomas\Desktop\gamemodes\stuntlandteckto27.pwn(1641) : error 033: array must be indexed (variable "nofall")
C:\Users\thomas\Desktop\gamemodes\stuntlandteckto27.pwn(1641) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
voila je n'arrive pas a trouver merci a toi
-
salut teck,
bon la cmd:
en haut du script:
new nofall[MAX_PLAYERS];
if(!strcmp(cmdtext,"/nofallbike",true){
if(nofall == 0){ nofall =1;
SendClientMessage(playerid,green,"Tu ne tombera plus de ta moto.");
}else{nofall =0;
SendClientMessage(playerid,green,"Tu peut à nouveau tomber de ta moto.");
}
ensuite dans OnPlayerExitVehicle
OnPlayerExitVehicle(vehicleid,playerid){
new model = GetVehicleModel(vehicleid);
switch(model) { //ici les id des motos: return PutPlayerInVehicle(playerid,vehicleid);
return 1;
}
C'est à peu près cela, mais je croit que ce code comprend lorsque le joueur quitte volontairement sa moto ;D, il faudrait faire un truc pour l'enlever.....
a toi de voir ;)
++Sim++
Il faut pas mettre la variable dans "OnPlayerExitVehicle" ?
-
oki merci beaucoup
-
désoler pour le double poste mes j'ai toujour autent d'erreur ces bizare !! :wall :wall
-
au lieu de mettre :
if(nofall == 0){
Tu met :
if(nofall[playerid] == 0){
Et pareilepour les autre Nofall...
-
ha ok merci beaucoup
-
voila j'ai résolu le probleme merci mes ya encore un truc ces sa !!
public OnPlayerExitVehicle(vehicleid,playerid){
new model = GetVehicleModel(vehicleid);
switch(model) { //ici les id des motos: return PutPlayerInVehicle(playerid,vehicleid);
return 1;
}
l'erreur ces
C:\Users\thomas\Desktop\gamemodes\stuntlandteckto27.pwn(1785) : error 025: function heading differs from prototype
C:\Users\thomas\Desktop\gamemodes\stuntlandteckto27.pwn(1788) : error 002: only a single statement (or expression) can follow each "case"
C:\Users\thomas\Desktop\gamemodes\stuntlandteckto27.pwn(1788) : warning 215: expression has no effect
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
je ne conprend pas trop
-
salut teck,
ta première erreur est tout simplement une erreur dans la façon d'écrire ta fonction
ex:
en haut
forward setplayerundefined (player);
puis un peu plus loin:
public Setplayerundefined (player){
....
}
comme tu peut voir j'ai mit un s majuscule dans la fonction mais pas dans le forward....
ensuite pour le problème des case, voici comment on les écrit:
switch(Model) { case 345,121,449: return //some shit...
et ton warning ne fait que te dire qu'il y a des possibilité que ta ligne avec le case ne fonctionne pas.....
corrige toi ;)
++Sim++
-
désoler de vous déranger encore mes j'ai sa ossi et pourtant je les défini dans new
C:\Users\thomas\Desktop\gamemodes\stuntlandteckto27.pwn(1788) : error 021: symbol already defined: "OnPlayerExitVehicle"
C:\Users\thomas\Desktop\gamemodes\stuntlandteckto27.pwn(1788) : error 021: symbol already defined: "OnPlayerExitVehicle"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
-
C'est parce-que tu a déjà le public quelque part dans ton GameMode ;)
-
Bisard, 2 même erreur de la même ligne dans le compileur oO
Jamais vu ca !
NV.
-
ba je n'est pas deux public avec exit vehicle je vien de vérifier pourié vous m'aider merci