GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: omar93500 le 14 Septembre 2007, 23:11:41
-
Bonjour!
Voila javais une question quelqu'un pourrai me dire le SCRIPT ou plutot les ligne pour que l'on peut reparer les vehicules dans un endroit precis (dans les cercle rouge)
Merci!
PS: Desole pour ne pas avoir mis les accents j'ai un clavier Anglais :s
-
Si tu veut j'ai la Commande "/repare" mais reparé ton vehicule en passant sur un CheckPoiint j'ai pas sa :S
else if (strcmp(cmdtext, "/repare", true)==0)
{
new vehicleid[MAX_PLAYERS];
vehicleid[playerid] = GetPlayerVehicleID(playerid);
SetVehicleHealth(vehicleid[playerid], 1000);
GameTextForPlayer(playerid,"~r~Vehicule repare",3000,3);
return 1;
}
AK NV.
-
lol c'est mon script :p :dejadehors
-
Comprend pas ce que tu veut dire !! tu a le meme c'est sa que tu dit ?
AK NV.
-
Merci quand meme! mais je vais continuer a chercher
-
je voulais dire c'est moi qui te l'avais fais ce script :p raplele toi pendant les vacs ;)
-
Oui j'ai donner celui la comme j'aurais pu donner le mien mais il eter moin loin dans mes fichiers !
AK NV.
-
xD :D
-
Salut omar.
Le cercle rouge dont tu parles s'appelle un checkpoint.
Je ne vais pas te donner les lignes de script mais la méthode :
Il suffit de créer un checkpoint avec la fonction SetPlayerCheckPoint à l'endroit de ton choix.
Ensuite, serts toi de la callbakc OnPlayerEnterCheckPoint pour "réparer" sa voiture.
++
Syg
-
Facile pour les checkpoints, Tu utilise la callback OnPlayerEnterCheckpoint.
Tout en haut :
new check1;
Devant le checkpoint qui doit executer une action (Reparer ta voiture) :
check1 =
Exemple :
check1 = SetPlayerCheckpoint(playerid,2526.8049,-1679.5094,1015.4986,2);
Et enfin tout en bas de ton script :
public OnPlayerEnterCheckpoint(playerid) {
if (check1)
{
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000);
GameTextForPlayer(playerid,"~r~Vehicule repare",3000,3);
}
return 0;
}
C'est tout simple :)
-
très resemblant a ton post dans http://www.gtaonline.fr/forums/index.php/topic,1520.0.html xDDDDDD
-
En effet lol, On change juste le nom de la callback :)
-
0_0 - 0_0 - 0_0 - 0_0
C:\Documents and Settings\Compaq_Propriétaire\Bureau\repare.pwn(14) : error 017: undefined symbol "playerid"
C:\Documents and Settings\Compaq_Propriétaire\Bureau\repare.pwn(15) : error 017: undefined symbol "playerid"
C:\Documents and Settings\Compaq_Propriétaire\Bureau\repare.pwn(16) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Tu le met ou toi
check1 = SetPlayerCheckpoint(playerid,2526.8049,-1679.5094,1015.4986,2);
? ? ? ? ?
AK NV.
-
Dans OnPlayerConnect par exemple... A toi de voir quand es-ce que tu veux que le checkpoint s'execute :)
-
Je vais juste couper court à votre discussion.
La fonction SetPlayerCheckpoint ne renvoie pas l'ID d'un checkpoint puisque ce n'est pas nécessaire.
Un joueur ne peut avoir qu'un seul et unique checkpoint donc quand on arrive dans la callback OnPlayerEnterCheckpoint on est forcément dans le checkpoint donc il n'y a pas besoin de faire de test sur un éventuel ID de checkpoint.
Ton code devient donc :
Quelque part dans la callback OnPlayerConnect :
SetPlayerCheckpoint (playerid, 2526.8049, -1679.5094, 1015.4986, 2);
Quelque part dans le script :
public OnPlayerEnterCheckpoint(playerid)
{
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000);
GameTextForPlayer(playerid,"~r~Vehicule repare",3000,3);
}
Autre chose : J'ai fait un remarque sur les tests dans ton autre poste (qui effectivement ressemble beaucoup à celui-ci).
++
Syg
-
C'est bien SYG, Il faut tout jour que tu joues avec mes jouets... :P
-
dsl de ne pas avoir repondue plus tot (c'est seulement samedi et dimanche que je pe y aller dessus) Merci a tous!