• 05 Juin 2026, 18:43:33


Auteur Sujet: Mauvais code ?  (Lu 3387 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Mauvais code ?
« le: 26 Août 2007, 12:13:55 »
Bonjour !

J'ai voulu changer mes commande de teleportations par des autres qui était plus simple mais...

Mon probleme est que pour ma teleportations a San Fierro j'ai mit differente position pour le player avec la voiture et le player sans la voiture. Quand je fait la commande a pied, il se pose a l'endroit de du player normal, mais quand je fait la commande en voiture le player se pose a l'endroit du player et la voiture a l'endroit de la voiture :s :s ...

Mon code est :

Citer
if(strcmp(cmdtext, "/sf", true) == 0) {
SetPlayerPos(playerid,-2032.4740,173.1223,28.8359);
GameTextForPlayer(playerid,"~g~San Fierro",2000,5);
if(IsPlayerInAnyVehicle(playerid)) {
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID,-1989.8434,189.4374,27.0882);
}
return 1;
}

Ou est l'erreur ?

Merci de vos future reponse.

AK.
« Modifié: 26 Août 2007, 12:15:33 par ArseniK »


Tu vois avant? Bah j'étais là encore avant!

Hors ligne Cliss

  • *
  • Bandit
  • Messages: 335
    • Voir le profil
Re : Mauvais code ?
« Réponse #1 le: 26 Août 2007, 12:21:04 »
PutPlayerInVehicle(playerid, Vehicleid, seatid);

Interdit la commande aux passagers avant. Ou fais des conditions du genre if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER). (en rapport avec le seatid)
cya

Hors ligne Gr0und3r

  • ~Scripteur[A]~
  • *
  • Tueur en série
  • SiX Feet UnderGround
  • Messages: 108
    • Voir le profil
    • Site Sa-mp
Re : Mauvais code ?
« Réponse #2 le: 26 Août 2007, 12:28:08 »
a la place met sa!:
Citer
if(strcmp(cmdtext, "/sf", true) == 0) {
SetPlayerPos(playerid,-2032.4740,173.1223,28.8359);
GameTextForPlayer(playerid,"~g~San Fierro",2000,5);
}else if(IsPlayerInAnyVehicle(playerid)) {
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID,-1989.8434,189.4374,27.0882);
}
return 1;
}

Hors ligne Cliss

  • *
  • Bandit
  • Messages: 335
    • Voir le profil
Re : Mauvais code ?
« Réponse #3 le: 26 Août 2007, 12:30:56 »
Le probléme avec ca c'est que les téléportations bugs avec la nrg (et peut etre d'autres véhicules).
cya

Hors ligne Gr0und3r

  • ~Scripteur[A]~
  • *
  • Tueur en série
  • SiX Feet UnderGround
  • Messages: 108
    • Voir le profil
    • Site Sa-mp
Re : Re : Mauvais code ?
« Réponse #4 le: 26 Août 2007, 12:52:53 »
Le probléme avec ca c'est que les téléportations bugs avec la nrg (et peut etre d'autres véhicules).

Cher moi sa fonctionne tres bien mais je vais quand meme verifier!  :happy
« Modifié: 26 Août 2007, 12:57:23 par Gr0und3r »

Hors ligne Gr0und3r

  • ~Scripteur[A]~
  • *
  • Tueur en série
  • SiX Feet UnderGround
  • Messages: 108
    • Voir le profil
    • Site Sa-mp
Re : Mauvais code ?
« Réponse #5 le: 26 Août 2007, 12:55:26 »
Je ne l'avais pas remarquer mais sa me fais mejectede ma moto!
Donc ce que je dois fais c'est un PutPlayerInVehicle(playerid, Vehicleid, seatid); mais c'est quoi seatid?  ???

ou sinon comment faire pour que sa ne beug pas?
« Modifié: 26 Août 2007, 13:02:34 par Gr0und3r »

Hors ligne Cliss

  • *
  • Bandit
  • Messages: 335
    • Voir le profil
Re : Mauvais code ?
« Réponse #6 le: 26 Août 2007, 13:39:25 »
Je montre un exemple d'une mes téléportations (le schéma en tout cas),elle n'est pas parfaite mais bon :

Citer
dcmd_Teleportation(playerid,params[])
{
new VehID;
new a;
new b;
a=random(10);
b=random(10);

if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) // Si c'est le pilote
{
VehID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehID,1879.4806+a,-1385.1218+b,13.5734);
RemovePlayerFromVehicle(playerid);
SetPlayerPos(playerid,1879.4806+a,-1385.1218+b,13.5734);
PutPlayerInVehicle(playerid,VehID,0); // Je le mets a sa place
return 1;
}

if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) // Si ce n'est pas le pilote
{
VehID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehID,1879.4806+a,-1385.1218+b,13.5734);
RemovePlayerFromVehicle(playerid);
SetPlayerPos(playerid,1879.4806+a,-1385.1218+b,13.5734);
PutPlayerInVehicle(playerid,VehID,1); // Je le mets passager

etc...

J'attends l'avis d'un expert (Syg?  :happy)
« Modifié: 26 Août 2007, 13:41:36 par Cliss »
cya

Hors ligne Gr0und3r

  • ~Scripteur[A]~
  • *
  • Tueur en série
  • SiX Feet UnderGround
  • Messages: 108
    • Voir le profil
    • Site Sa-mp
Re : Mauvais code ?
« Réponse #7 le: 26 Août 2007, 13:53:02 »
sa ne se dit pas PLAYER_STATE_PASSENGER?

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Re : Mauvais code ?
« Réponse #8 le: 26 Août 2007, 14:00:44 »
Je montre un exemple d'une mes téléportations (le schéma en tout cas),elle n'est pas parfaite mais bon :

J'attends l'avis d'un expert (Syg?  :happy)

Pour celle la tu le met ou le /*sf ?

AK.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne Cliss

  • *
  • Bandit
  • Messages: 335
    • Voir le profil
Re : Mauvais code ?
« Réponse #9 le: 26 Août 2007, 15:35:17 »
C'est un exemple. Si tu sais pas faire de dcmd c'est pas grave. Lis et déduis (a l'interieur des accolades). A toi de te la faire. (un conseil copies/colles pas j'ai fais une erreur volontaire)
cya

Hors ligne NatiVe™

  • *
  • Messages: 7977
    • Voir le profil
Re : Mauvais code ?
« Réponse #10 le: 26 Août 2007, 17:01:12 »
Haaaaaaaaa lol sisi c'est bon mais j'avais lu vite fait comme sa mais sisi t'inquiete je sais en faire ;)

AK.


Tu vois avant? Bah j'étais là encore avant!

Hors ligne Gr0und3r

  • ~Scripteur[A]~
  • *
  • Tueur en série
  • SiX Feet UnderGround
  • Messages: 108
    • Voir le profil
    • Site Sa-mp
Re : Mauvais code ?
« Réponse #11 le: 26 Août 2007, 17:08:53 »
sa sere a koi random a et b?  ???

Hors ligne Cliss

  • *
  • Bandit
  • Messages: 335
    • Voir le profil
Re : Mauvais code ?
« Réponse #12 le: 26 Août 2007, 18:42:24 »
Tu peux le faire qu'avec "a" mais pour la suite (ma suite) j'ai eu besoin de "b". Ca evite que si deux personnes se teleportent en même temps elle se tombent dessus.
cya

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Mauvais code ?
« Réponse #13 le: 26 Août 2007, 22:24:51 »
Je crois que c'est tout simple Arsenik :
Tu fais un SetPlayerPos (qui téléporte le joueur quelque part SANS son vehicule).
Ensuite le test sur IsPlayerInAnyVehicle est forcément faux puisque le joueur vient d'être téléporté.
Donc, déplaces le SetPlayerpos.

Sinon, je suis en train de me faire une fonction de téléportation (avec téléport des passagers) mais y'a encore un problème pour le téléport des passagers donc je la posterais plus tard.

++
Syg
Courtesy of GtaManiac