GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: turkiye43 le 29 Juillet 2007, 23:15:53
-
slt a tous
j esye de cree une commands spawn-respawn
(exemple:je fé /new sa me teleporte a l endroi ou jé une reserve de vehicule
je prend un vehcul et sa me respawn a la position de depar)
jé deja fé sa mé je comprend pa pk sa marche pas
if (strcmp(cmdtext, "/new", true)== 0) {
GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]); // save x,y and z for this player.
GetPlayerFacingAngle(playerid,Pos[playerid][3]); // save the facing angle for this player.
GameTextForPlayer(playerid, "Prends une moto tu sera ramené ou tu étais", 5000, 3); // send him a red message.
new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid,X,Y,Z);
PlayerPlaySound(playerid,1056,X,Y,Z);
SetPlayerPos(playerid, 1925.8146,-1395.9313,13.5741);
return 1;
}
si vous pouver m'aider merci d avance
-
Ca marche pas parce qu'il te manque tout simplement la moitié du code.
Ce que tu montres n'est que la première partie où :
- On sauvegarde les coordonnées du joueur
- On téléporte le joueur devant les véhicules en réserve pour le /new
Donc maintenant, que va t'il se passer ? Et qu'est ce qu'il faut faire ?
Aller, je t'aide :
- Le joueur va monter dans un véhicule (il va donc devenir conducteur = PLAYER_STATE_DRIVER => OnPlayerStateChange)
- Il faudra le téléporté à son emplacement d'origine (celui qu'on a consciencieusement sauvegardé)
Dernière chose : Y'a plein de joueurs qui monte dans un véhicule et qui deviennent conducteur mais qui n'ont PAS fait de /new donc un petit indicateur pour éviter de téléporter le premier joueur qui monte dans un véhicule est nécessaire.
Avec tout ça et un peu de réflexion, tu devrais t'en sortir. Mais bon, n'hésites pas si tu es perdu
++
Syg
-
Par contre essaye de t'appliquer niveau écriture (même si je suis pas modérateur) j'essaie de comprendre ton problème mais j'ai du mal à déchiffrer. ;D
-
lool dsl pour mon ecriture xD
jé toujour pa reussie a cree se code je croi que je v laisser tomber
-
Comme tu veux mais c'est en essayant qu'on y arrive. ;)
-
slt a tous ;)
moi j'ai fait ca & ca fonctione tres bien :P
if(strcmp(cmdtext, "/vehicule", true) == 0 || strcmp(cmdtext, "/v", true) == 0) {
printf("commandes /vehicule(%d)", playerid);
//sauve ses coordonnées
GetPlayerPos(playerid, gPositions[playerid][0], gPositions[playerid][1], gPositions[playerid][2]);
GetPlayerFacingAngle(playerid, gPositions[playerid][3]);
if (IsPlayerInAnyVehicle(playerid)==1) {
//dis qu'il va choisir un nouveau vehicule
NewVehicle[playerid]=1;
new VehicleID = GetPlayerVehicleID(playerid);
//l'envoies dans le hangar à véhicule
SetPlayerPos(playerid,402.8237,2448.7190,16.5000);
SetPlayerFacingAngle(playerid,266.1549);
//n'oubliez pas de mettre des véhicules dans le hangar ^^
SetVehicleToRespawn(VehicleID); //on respawne son ancien vehicule
SendClientMessage(playerid, COLOR_WHITE, "Choisis un nouveau vehicule !");
}
return 1; }
-
Oui, mais ça, il l'avait déjà, ce qu'il cherche c'est la deuxième partie, celle où on remet le joueur à l'endroit où il était au début avec le véhicule qu'il vient de prendre.
++
Syg
-
Tu permet que je te la prenne pour voir comment u a fait ?? :P
AK > NV.