GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: yah00078 le 09 Août 2009, 23:43:05

Titre: Id Des véhicules
Posté par: yah00078 le 09 Août 2009, 23:43:05
Salut a tous ,

Je viens demander juste une précision utile : comment peut on recuperer l'id du véhicule que le serveur lui attribut?
Merci d'avance =)
Titre: Re : Id Des véhicules
Posté par: Lababalle le 09 Août 2009, 23:54:42
Pour cette commande le joueur doit être dans le véhicule :

Code: ("pawn") [Sélectionner]
new vehid;
Code: ("pawn") [Sélectionner]
vehid = GetPlayerVehicleID(playerid);
Titre: Re : Id Des véhicules
Posté par: Syg le 10 Août 2009, 10:03:54
Sinon, si tu veux récupérer directement le VehicleId sans attendre qu'un joueur monte dedans :

new MaMoto;

MaMoto = AddStaticVehicle (522, -1563.7227, 1174.5029, 6.7559, 88.9771, -1, -1);

Ceci fonctionne aussi avec AddStaticVehicleEx et CreateVehicle.

++
Syg
Titre: Re : Id Des véhicules
Posté par: yah00078 le 10 Août 2009, 11:02:35
Et ensuite il me suffi pour l'afficher aux joeur de metrre un SendClientMessage(playerid, "Id de ton véhicule : %d");VehiculeId , si je ne me trompe?

Sa fais un an que j'ai pas coder alros bon =D

Merci
Titre: Re : Id Des véhicules
Posté par: Lababalle le 10 Août 2009, 15:16:18
oui tu peux faire ça
Titre: Re : Id Des véhicules
Posté par: yah00078 le 10 Août 2009, 15:30:04
Oki =)
Impeccable merci a vous tous =D

EDIT:
Je m'acharne sur le bout de code mais n'y arrive pas j'ai des warnings =(

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new Vehicleid ;
vehicleid = GetPlayerVehicleID(playerid);
SendClientMessage(playerid,0xFF000000,"Ta voiture a comme Numéro Le %s . Retiens le bien il peux te servir !",Vehicleid);
    return 1;
}


voila le code


voila les warning :
 warning 202: number of arguments does not match definition
 warning 217: loose indentation
 warning 203: symbol is never used: "Vehicleid"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


3 Warnings.


Pouvez vous m'aider a resoudre ces warning?
Merci =)
Titre: Re : Id Des véhicules
Posté par: ApocKalipsS le 11 Août 2009, 12:07:57
Utilise un "format", puis un SendClientMessage. Plus d'infos sur le Wiki  :happy http://wiki.sa-mp.com/wiki/Format (http://wiki.sa-mp.com/wiki/Format)
Titre: Re : Id Des véhicules
Posté par: yah00078 le 11 Août 2009, 14:58:56
Merci =D

Par contre j'ai refais mon script melé a un autre

public OnPlayerEnterVehicle(playerid)
{
   new result[128];
      new NumVeh ;
        NumVeh = GetPlayerVehicleID(playerid);
      SendClientMessage(playerid, 0x2641FEAA, ".::CIBI ON::.");
      SendClientMessage(playerid, 0x2641FEAA, ".::CANAL 77 SELECTED::.");
      SendClientMessage(playerid, 0x2641FEAA, "Pour parler /r [message], aide: /cibihelp");
        format(result,sizeof(result), "Ta voiture a comme Numéro Le %d . Retiens le bien il peux te servir !.",NumVeh);  //-> The number is 42.
      Line[playerid] = 77;
      OnOff[playerid] = 0;
      return 1;
}


Et il me rste un warning ='( ,


pwn(126) : warning 217: loose indentation
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


Merci de votre aide =)


Titre: Re : Id Des véhicules
Posté par: Ssk le 11 Août 2009, 15:09:33
Indente ton code ( aligne les lignes lol )
Titre: Re : Id Des véhicules
Posté par: yah00078 le 11 Août 2009, 15:52:15
Ah oui =) , c'est tout simple ,
 Voila pour cete partie de code , tout est résolu , merci =)
Titre: Re : Id Des véhicules
Posté par: Syg le 12 Août 2009, 14:02:33
Tout est résolu peut-être mais ça ne fera pas ce que tu veux.

La fonction format, comme son nom l'indique, sert à formater (mettre dans le bon format) une chaîne de caractères.
Par contre, cette chaîne ne sera pas affichée.

Donc, à la ligne juste après l'appel à la fonction format, il faut que tu rajoute :
SendClientMessage(playerid, 0x2641FEAA, result);pour que la chaîne soit affichée.

++
Syg
Titre: Re : Id Des véhicules
Posté par: yah00078 le 12 Août 2009, 14:10:12
Oui merci =D je suis tombé sur le probleme mais j'ai observer d'autre script et vu le probleme =d

Merci a toiv :angelnot
Titre: Re : Id Des véhicules
Posté par: yah00078 le 13 Août 2009, 21:52:01
Salut ,
Je reviens car j'ai un probleme , j'ai tester mon script sur mon gm , et le serveur me renvoi a chaque foi l'id 0 , comme si tous els véhicules avaient pour ID 0?

Mon gm est le sftdm reloaded 2.0

merci d'avance =) de votre aide
Titre: Re : Id Des véhicules
Posté par: S!m le 13 Août 2009, 23:28:51
Salut,

normalement la callback donne déjà le vehicleid, tu n'as pas besoin de le récupérer...de plus, en le récupérant tu fais face à un problème, cette callback est appelée suite à un appel à la touche pour entrer/sortir d'un véhicule (le joueur se dirige vers la voiture quand la callback est appelée), donc en récupérant via GetPlayerVehicleID, tu récupère un numéro invalide (0) car le joueur ne se trouve dans aucun véhicule...


soit tu utilise le paramètre vehicleid, soit tu utilise la callback OnPlayerStateChange

++Sim++
Titre: Re : Id Des véhicules
Posté par: yah00078 le 16 Août 2009, 14:09:46
Salut ,

Je viens de modifier le code , mais le problème (je m'y attendais) OnPlayerStateChange , c'est que lorsque  que je sort du véhicule sa m'affiche aussi mon message ! aisin qu'a chaque changement de state du player , que faire , =S
Titre: Re : Id Des véhicules
Posté par: Ssk le 16 Août 2009, 14:12:57
tu regarde si son state change de foot  a vehicle
Titre: Re : Id Des véhicules
Posté par: yah00078 le 16 Août 2009, 14:23:28
Oki je vais regarder =D merci