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

Titre: commande /new
Posté 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
Titre: Re : commande /new
Posté par: RaiDeN le 27 Août 2009, 13:21:26
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
Titre: Re : commande /new
Posté par: BuBuNo le 27 Août 2009, 13:52:29
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.
Titre: Re : commande /new
Posté par: ApocKalipsS le 27 Août 2009, 13:59:29
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 !


Titre: Re : commande /new
Posté par: BuBuNo le 27 Août 2009, 14:03:42
Heuu... quelqun a pas plus simple ??
Titre: Re : commande /new
Posté par: Ssk le 27 Août 2009, 14:09:06
non, ce n' est pas très compliquer il suffit juste que quelque variable et puis c' est tout ;)
Titre: Re : commande /new
Posté par: cristab le 27 Août 2009, 14:15:27
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)
Titre: Re : commande /new
Posté par: BuBuNo le 27 Août 2009, 14:17:17
masi quand je l'avait utiliser il y a 1an je croit qu'il etait plus simple que sa
Titre: Re : commande /new
Posté par: ApocKalipsS le 27 Août 2009, 15:45:38
Y a rien de plus simple que ça, et ta de la chance que je t'es très bien expliqué  ;)
Titre: Re : commande /new
Posté par: BuBuNo le 27 Août 2009, 23:18:56
C'est j'ai reussi merci a vous tous !! :cheers