GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nikko™ le 03 Janvier 2008, 11:50:34
-
Bonjour,
Je poste sa message car jai un soucis ac une commande .. :wall
Je vous donne ce que jai fais mais ca ne marche pas je ne sais pas pourquoi...
forward public NvTeleport();
new Float:PosNew[MAX_PLAYERS][3];
new PlayerRequestNew[MAX_PLAYERS];
if (strcmp(cmdtext, "/nv", true) == 0)
{
new VehicleId = GetPlayerVehicleID (playerid);
/* On sauvegarde la position initiale du joueur et on indique qu'il veut un nouveau véhicule */
GetPlayerPos (playerid, PosNew[playerid][0], PosNew[playerid][1], PosNew[playerid][2]);
/* On teleporte le joueur (sans vehicule qu'on retourne d'ou il vient) */
SetPlayerPos (playerid,285.5057,2024.5649,17.6406);
SetVehicleToRespawn (VehicleId);
GameTextForPlayer (playerid, "Prends un vehicule et tu reviendras a ta position de depart.", 3000, 3);
PlayerRequestNew[playerid] = 1;
return 1;
}
Voila merci
++
nikko
-
Ca ressemble beaucoup à du code que j'ai écrit (espace après le nom de la fonction, commentaires qui commence par "On", etc) :).
Mais c'est juste une remarque.
Quel est exactement le problème ?
++
Syg
-
Peut etre cest une commande a toi mais cest pcq je l'avais trouvé dans un GM et je voudrais l'utilisé (si ca te dérange pas).
Le probleme c'est qu'elle ne marche pas. peut etre que cest moi qui l'est mal mit dans mon GM ou il manque quelques chose.
Merci a toi
++
nikko
-
Elle marche tres bien la commande a SYG ;) ta du oublier de placer un truc ou tu la mis a un mauvais endroit .
-
Je l'ai mi dans One PlayerCommandText
Mais le pb cest que quand on prend un vehicule, on ne revien pas a sa place.
Est ce que je doit rajouter qqch et ou ??
merci
++
nikko
-
Je ne revendique jamais aucune propriété sur quelque bout de code que ce soit.
D'ailleurs, si je le faisais, le code appartiendrait à mon entreprise et pas à moi (c'est dans mon contrat de travail, comme tout programmeur).
Donc, tu peux l'utiliser comme bon te semble et même dire que c'est toi qui l'a fait, ça ne me dérange absolument pas.
Effectivement, il manque la partie qui ramène le joueur à sa posistion initiale.
Elle se trouve dans OnPlayerStateChange si ma mémoire est bonne.
Donc retourne dans le GM où tu as trouvé la première partie et récupère la seconde partie (callback OnPlayerStateChange).
++
Syg
-
Merci syg ;)
++
nikko
-
J'aimerais bien cette commande, peux-tu m'indiquer de quel GM s'agit-t-il ?
Si possible le lien :)
Merci d'avance ;)
-
Salut,
Je lui est demander et il me la passer si tu veus je te la poste dans le pastebin.
Cordialement, yoyo17.
-
salut, euh yoyo17 pourrais tu me pacer le GM ? stp
je ten remerci d'avance a+
-
Tien le code pour la commande :
Tu met sa dans OnPlayerCommandText : http://pastebin.gtaonline.fr/pastebin.php?show=270
Et sa tu le met dans OnGameModeInit : SetTimer("NvTeleport", 1000, 1);
Et sa tu le met au tout début de ton GM : forward public NvTeleport();
new Float:PosNew[MAX_PLAYERS][3];
new PlayerRequestNew[MAX_PLAYERS];
Et sa tout a la fin de ton GM : http://pastebin.gtaonline.fr/pastebin.php?show=272
Voila si tu n'as pas bien comprit je te réexplique
edit: jonjon je te l'envoi pas par pm je l'es déjà poster ici sa suffit.
-
Aaah Merci bien Yoyo17 :)
A+
j0nj0n
-
De rien.
-
(c'est dans mon contrat de travail, comme tout programmeur).
Oo t'es programmeur ?? :blink
-
Oo t'es programmateur ?? :blink
Oui il l'es !
Si je me souviens bien "Expert programmeur C/C++/PAWN"
:laugh :laugh
NV.