• 07 Juin 2026, 01:32:01


Auteur Sujet: Aide commande /vec  (Lu 2498 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Eloctro

  • Pawno Fan
  • *
  • Grand Banditisme
  • Aight !
  • Messages: 846
    • Voir le profil
    • GtaSA-RP
Aide commande /vec
« le: 06 Novembre 2007, 22:08:10 »
Voila j'ai eisseiller toute la soirée avec la commande /vec ses pour prend n'importe qu'elle véhicule avec l'id exemple : /vec 522 .
Je vous montre commeme le résultat .

En haut :
new Float:Pos[3];En bas :
if(strcmp(cmd, "/vec", true) == 0) {
GetPlayerPos(if,Pos[0],Pos[1],Pos[2]);
CreateVehicle(cmdtext[strlen (cmd)] ,Pos[0],Pos[1],Pos[2],0,0,0);}
return 1;
}
« Modifié: 06 Novembre 2007, 22:26:22 par coco76 »

Hors ligne UrbanGhetto

  • *
  • Grand Banditisme
  • I PWN You !
  • Messages: 948
    • Voir le profil
    • http://h2oteam.roxorgamers.com/
Re : Aide commande /vec
« Réponse #1 le: 06 Novembre 2007, 22:15:46 »
Uhum... Pas mal comme commande  :)

Mais le problème c'est que c'est difficile pour les autres joueurs de trouver les ID  :(

EDIT
: Euuh, La ca créer un objet et pas un véhicule  ???
« Modifié: 06 Novembre 2007, 22:20:32 par urbanghetto »

˙·٠•● Je dis, mieux vaut toucher à un clavier qu'a de la drogue | Le meilleur topic du forum | Ce que j'ai fait a fait de moi ce que je suis ●•٠·˙

Hors ligne Eloctro

  • Pawno Fan
  • *
  • Grand Banditisme
  • Aight !
  • Messages: 846
    • Voir le profil
    • GtaSA-RP
Re : Aide commande /vec
« Réponse #2 le: 06 Novembre 2007, 22:26:45 »
A désolé j'ai éditer.

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Aide commande /vec
« Réponse #3 le: 06 Novembre 2007, 23:35:19 »
1 - Le premier paramètre de CreateVehicule est un nombre et tu lui passes une chaîne de caractères à la place.
2 - Déplace un peu le véhicule, pour qu'il n'apparaise pas sur le joueur (sinon il va rester coincé dessous si c'est un camion).
3 - Je te conseille vivement de faire un test sur cette valeur sinon ton serveur va crasher.
4 - Fait apparaitre ton véhicule un peu en l'air pour éviter qu'il ne se retrouve planter dans le sol.

Voilà :
new VehicleModel = strval (cmdtext[strlen (cmd)]);
if (VehicleModel >= 400 && VehicleModel <= 622)
{
   CreateVehicle (VehicleModel, Pos[0]+2.0, Pos[1]+2.0, Pos[2]+2.0, 0.0, -1, -1, 20000);
}

J'ai aussi rajouté le paramètre angle (0.0) qui manquait et j'ai mis les couleurs à -1,-1 parce que 0,0 ça fait noir,noir. (-1,-1 c'est couleurs aléatoires parmis les couleurs associées au véhicule)

Et pour le dernier paramètre (durée avant le respawn du véhicule) Si tu mets 0, dès que tu vas quitter le véhicule, il sera respawné à l'endroit de sa création. Donc je te conseille de mettre une valeur un peu plus grande (20000 ms = 20 s)

Dernière chose, les véhicules ne seront JAMAIS détruits. Donc ton serveur risque vite d'être engorgé par des centaines de véhicules. Au pire, il plantera au 700eme véhicule crée ou au 70eme type de véhicule crée.

++
Syg
Courtesy of GtaManiac

Hors ligne Eloctro

  • Pawno Fan
  • *
  • Grand Banditisme
  • Aight !
  • Messages: 846
    • Voir le profil
    • GtaSA-RP
Re : Aide commande /vec
« Réponse #4 le: 07 Novembre 2007, 12:41:59 »
Don si j'ai compirs sa fait sa :

En haut :
new VehicleModel = strval (cmdtext[strlen (cmd)]);

En bas :
if(strcmp(cmd, "/vec", true) == 0) {
if (VehicleModel >= 400 && VehicleModel <= 622)
{
   CreateVehicle (VehicleModel, Pos[0]+2.0, Pos[1]+2.0, Pos[2]+2.0, 0.0, -1, -1, 20000);
}
SendClientMessage(playerid, COLOR_GREEN, "Ton véhicule est la.");
return 1;
}

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Aide commande /vec
« Réponse #5 le: 07 Novembre 2007, 14:04:02 »
Presque, il faut que la ligne contenant le strval soit après le test avec strcmp :

if(strcmp(cmd, "/vec", true) == 0)
{
   new VehicleModel = strval (cmdtext[strlen (cmd)]);
   if (VehicleModel >= 400 && VehicleModel <= 622)
   {
      CreateVehicle (VehicleModel, Pos[0]+2.0, Pos[1]+2.0, Pos[2]+2.0, 0.0, -1, -1, 20000);
   }
   SendClientMessage(playerid, COLOR_GREEN, "Ton véhicule est la.");
   return 1;
}

++
Syg
Courtesy of GtaManiac

Hors ligne omar93500

  • *
  • Tueur en série
  • Scripteur PHP/HTML/MySQL/Pawno/(Aprrenti)Visual B.
  • Messages: 111
    • Voir le profil
Re : Aide commande /vec
« Réponse #6 le: 09 Novembre 2007, 22:04:43 »
Petite astuces: rajouter
   if(IsPlayerAdmin(playerid))si vous voulez utiliser cette commande seulement en tant qu'admin ::)
________________________Script:____________________________
                                       [FS]Entrer dans ...
                           L'Andromada en tant que passager:
                  http://www.gtaonline.fr/forums/index.php/topic,2127.0.html
                             Le shamal en tant que passager:
                  http://www.gtaonline.fr/forums/index.php/topic,2126.0.html
                                        Credit: Creer par BeckyBoiz

Hors ligne Eloctro

  • Pawno Fan
  • *
  • Grand Banditisme
  • Aight !
  • Messages: 846
    • Voir le profil
    • GtaSA-RP
Re : Aide commande /avec
« Réponse #7 le: 10 Novembre 2007, 14:31:40 »
Merci SYG ,
Omar ses mal expliquer il faut rajouté les crochés .

{
if(IsPlayerAdmin(playerid))
}
« Modifié: 10 Novembre 2007, 15:20:10 par coco76 »

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Re : Aide commande /vec
« Réponse #8 le: 10 Novembre 2007, 16:47:00 »
Si tu mets ton code dans cet ordre ça ne marchera jamais xD..

Code: (cpp) [Sélectionner]
if(IsPlayerAdmin(playerid)) {
 
/*
Faites quelque chose ici

*/

}

Mais sache aussi que si tu veux ne pas mettre d'accolades tu peux quand l'expression reste simple et condensée sur quelques lignes bien indentés.
Syg en dira surement plus que moi et d'une meilleure façon mais bon :D

Code: (cpp) [Sélectionner]
if(IsPlayerAdmin(playerid))   /* faites quelque chose ici */
   else /*fait encore quelque chose */

Ca peut être utile pour optimiser le code quand tu as des structures conditionnelles légères.
« Modifié: 10 Novembre 2007, 16:48:39 par spykerc8 »


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"


Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Aide commande /vec
« Réponse #9 le: 11 Novembre 2007, 23:31:21 »
Personnellement, je mets systématiquement les accolades, expérience oblige.

Si tu veut rajouter une ligne, il faudra mettre les accolades sinon ton code sera faux.
Exemple :
if (IsPlayerAdmin)
GetPlayerPos(X, Y, Z);
PlayerIsAdmin = True;
On voit bien l'erreur de rajout.

Mais bon, c'est comme pour l'indentation, avec l'expérience, on se rend compte que c'est ce genre de petits trucs qui font la différence en programmation. De toutes façons, se donner des règles et les suivre demande de la rigueur et en programmation, c'est une qualité non négligeable.

Sinon, Spyker à raison, les accolades ne sont pas nécessaires si le test ne porte que sur UNE ligne de code.

++
Syg
Courtesy of GtaManiac