• 10 Juillet 2025, 08:29:24


Auteur Sujet: Problème téléportation  (Lu 1060 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne iPod_Touch

  • M.
  • *
  • Criminel
  • Messages: 40
    • Voir le profil
Problème téléportation
« le: 24 Décembre 2008, 14:14:08 »
Bonjour, voilà j'ai un petit problème, j'ai créer une commande pour reparer la carrosserie d'une voiture, en fait, sa prend la voiture, sa la teleporte avec le joueur au Pay n Spray et ensuite sa le remet à sa position. J'ai testé en tant que ID 0 mais dès qu'un autre joueur veut la faire, c'est la cata. En effet, des fois sa ne le teleporte pas, des fois c'est moi que sa teleporte!!! Je pense qu'il y a un conflit d'id, je ne sais pas quoi faire.

Voici la commande en question

OnPlayerCommandText:

if(strcmp("/carrosserie",cmdtext, true) == 0)
{
if(IsPlayerInAnyVehicle(idjoueur))
{
GetVehiclePos(GetPlayerVehicleID(idjoueur), X, Y, Z);
SetVehiclePos(GetPlayerVehicleID(idjoueur), -1420.4519,2585.2080,55.5465);
SetTimer("paynspray", 5000, false);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Tu n'es pas dans une voiture !");
}
return 1;
}

public paynspray(playerid)
{
SendClientMessage(idjoueur, COLOR_LIGHTBLUE, "Et voila, une voiture comme neuf !");
SetVehiclePos(GetPlayerVehicleID(idjoueur), X, Y, Z);
idjoueur = 0;
return 1;
}

Merci


Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Problème téléportation
« Réponse #1 le: 24 Décembre 2008, 14:49:59 »
tu te sert de la mauvaise variable,

emploi uniquement la variable du joueur: playerid


if(strcmp("/carrosserie",cmdtext, true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
GetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
SetVehiclePos(GetPlayerVehicleID(playerid), -1420.4519,2585.2080,55.5465);
SetTimerEx("paynspray", 5000, false,"i",playerid);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Tu n'es pas dans une voiture !");
}
return 1;
}
public paynspray(playerid)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Et voila, une voiture comme neuf !");
SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
return 1;
}

la façon dont tu avais l'air de vouloir t'en servir ( je met une variable à la bonne valeur et espère qu'elle le  sera toujours lorsque je sortirai le joueur de là ^^) avait deux problèmes:

-  la variable dont tu te sert n'était pas initialisée, du moins pas dans le code que tu as donné,
- Si un second joueur veut réparer sont véhicule au même moment, seul l'un des deux sera sorti du pay'n'sray

++Sim++





Hors ligne iPod_Touch

  • M.
  • *
  • Criminel
  • Messages: 40
    • Voir le profil
Re : Problème téléportation
« Réponse #2 le: 24 Décembre 2008, 14:51:44 »
J'avais déjà mit avec playerid, c'etait pareil, c'est pour cela que j'avais essayer idjoueur