GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: BuBuNo le 27 Août 2009, 13:16:36
-
Salut all,
Alors voila je cherche la commande /new qui permet de prendre une motos et de revenir a sa positions d'origine,j'ai chercher un peu sur le forum mais en vin donc voila je demande votre aide car je me souvient l'avoir utiliser mais je ne m'en rappel plus comment sa marche.
Merci a vous
-
Moi j'ai sa,
Mais est-ce que sa fonctionne ?? ^^
if (strcmp("/new", cmdtext, true) == 0){
GetPlayerPos(playerid,x1,y1,z1);
NewCar[playerid]=1;
SetPlayerPos(playerid,1916.6002,-1404.3513,13);
return 1;
}
return 1;
}
++
Raiden
-
Bas je vien de le mettre sur mon gm mais quand je compile il me marque
C:\Documents and Settings\BrunoLB\Bureau\Ultimate_Stunter\gamemodes\test.pwn(636) : error 017: undefined symbol "x1"
C:\Documents and Settings\BrunoLB\Bureau\Ultimate_Stunter\gamemodes\test.pwn(637) : error 017: undefined symbol "NewCar"
C:\Documents and Settings\BrunoLB\Bureau\Ultimate_Stunter\gamemodes\test.pwn(637) : warning 215: expression has no effect
C:\Documents and Settings\BrunoLB\Bureau\Ultimate_Stunter\gamemodes\test.pwn(637) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\BrunoLB\Bureau\Ultimate_Stunter\gamemodes\test.pwn(637) : error 029: invalid expression, assumed zero
C:\Documents and Settings\BrunoLB\Bureau\Ultimate_Stunter\gamemodes\test.pwn(637) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Errors.
-
Alors, d'abord met tout en haut de ton script ceci :
new NewCar[MAX_PLAYERS];
C'est la variable qui détérmine si il va chercher une NRG500.
Tu vas aussi rajouter :
new NRG1;
new NRG2;
new NRG3;
Tu met autant de variable que tu veux de NRG à /new.
Ensuite, dans la CallBack OnGameModeInit, tu vas rajouter tes NRG500 avec une varaible.
NRG1=AddStaticVehicle(blabla);
NRG2=AddStaticVehicle(blabla);
etc...
Dans OnPlayerCommandText :
if (strcmp("/new", cmdtext, true) == 0)//Si le joueur tape /new
{
new Float:x, Float:y, Float:z, Float:a; // On va nommer les positions du joueur
GetPlayerPos(playerid, x, y, z);// On prend la position du joueur
GetPlayerFacingAngle(playerid, a);//On prend l'angle du joueur
SetPlayerPos(playerid, Posx, Posy, Posz)//Là tu le téléporte où tu veux.
NewCar[playerid]=1;
}
Maintenant, tu vas dire si il rentre dans un véhicule à /new.
Rajoute ceci si tu ne l'a pas déjà dans ton script :
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new vehicule;
vehicule = GetPlayerVehicleID(playerid);
}
Dedans tu vas y vérifier si il monte dans le véhicule ayant la variable NRG1, NRG2...
if(vehicule == NRG1||vehicule == NRG2||vehicule == NRG3 && NewCar[playerid] == 1)//Si il rentre dans le véhicule ayant la variable NRG1 OU NRG2 OU NRG3 ET si il a la variable NewCar à 1
{
SetPlayerPos(playerid, X, Y, Z);
SetVehiclePos(playerid, X, Y, Z);
SendClientMessage(playerid, tacouleur, "* Vous avez été téléporté à votre ancienne position.");
PutPlayerInVehicle(playerid, vehicule, 0);//Place le joueur dans son véhicule en conducteur.
NewCar[playerid] = 0;
}
Donc voilà, je l'ai fait via le post d'ici, donc il risque d'y avoir des erreurs.
Bon jeu et bon script !
-
Heuu... quelqun a pas plus simple ??
-
non, ce n' est pas très compliquer il suffit juste que quelque variable et puis c' est tout ;)
-
ceci n'est pas obligatoire il me semble
new vehicule;
vehicule = GetPlayerVehicleID(playerid);
a tester comme sa
if(vehicleid== NRG1||vehicleid== NRG2||vehicleid== NRG3 && NewCar[playerid] == 1)
-
masi quand je l'avait utiliser il y a 1an je croit qu'il etait plus simple que sa
-
Y a rien de plus simple que ça, et ta de la chance que je t'es très bien expliqué ;)
-
C'est j'ai reussi merci a vous tous !! :cheers