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

Titre: Commande reparer dans un endroit precis
Posté 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
Titre: Re : Commande reparer dans un endroit precis
Posté par: NatiVe™ le 14 Septembre 2007, 23:17:49
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.
Titre: Re : Commande reparer dans un endroit precis
Posté par: Tunsi le 15 Septembre 2007, 08:19:45
lol c'est mon script :p :dejadehors
Titre: Re : Commande reparer dans un endroit precis
Posté par: NatiVe™ le 15 Septembre 2007, 09:01:33
Comprend pas ce que tu veut dire !! tu a le meme c'est sa que tu dit ?

AK NV.
Titre: Re : Commande reparer dans un endroit precis
Posté par: omar93500 le 15 Septembre 2007, 11:29:34
Merci quand meme! mais je vais continuer a chercher
Titre: Re : Commande reparer dans un endroit precis
Posté par: Tunsi le 15 Septembre 2007, 13:34:54
je voulais dire c'est moi qui te l'avais fais ce script :p raplele toi pendant les vacs ;)
Titre: Re : Commande reparer dans un endroit precis
Posté par: NatiVe™ le 15 Septembre 2007, 14:40:38
Oui j'ai donner celui la comme j'aurais pu donner le mien mais il eter moin loin dans mes fichiers !

AK NV.
Titre: Re : Commande reparer dans un endroit precis
Posté par: Tunsi le 15 Septembre 2007, 18:48:47
xD  :D
Titre: Re : Commande reparer dans un endroit precis
Posté par: Syg le 16 Septembre 2007, 23:05:48
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
Titre: Re : Commande reparer dans un endroit precis
Posté par: UrbanGhetto le 17 Septembre 2007, 14:51:30
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  :)
Titre: Re : Commande reparer dans un endroit precis
Posté par: R@f le 17 Septembre 2007, 15:35:59
très resemblant a ton post dans http://www.gtaonline.fr/forums/index.php/topic,1520.0.html xDDDDDD
Titre: Re : Commande reparer dans un endroit precis
Posté par: UrbanGhetto le 17 Septembre 2007, 15:37:22
En effet lol, On change juste le nom de la callback  :)
Titre: Re : Commande reparer dans un endroit precis
Posté par: NatiVe™ le 17 Septembre 2007, 21:41:32
0_0 - 0_0 - 0_0 - 0_0

Citer
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.
Titre: Re : Commande reparer dans un endroit precis
Posté par: UrbanGhetto le 17 Septembre 2007, 21:57:05
Dans OnPlayerConnect par exemple... A toi de voir quand es-ce que tu veux que le checkpoint s'execute  :)
Titre: Re : Commande reparer dans un endroit precis
Posté par: Syg le 17 Septembre 2007, 22:49:10
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
Titre: Re : Commande reparer dans un endroit precis
Posté par: UrbanGhetto le 20 Septembre 2007, 14:02:21
C'est bien SYG, Il faut tout jour que tu joues avec mes jouets...  :P
Titre: Re : Commande reparer dans un endroit precis
Posté par: omar93500 le 21 Septembre 2007, 18:51:04
dsl de ne pas avoir repondue plus tot (c'est seulement samedi et dimanche que je pe y aller dessus) Merci a tous!