GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nikko™ le 27 Décembre 2007, 20:34:47
-
Bonjour a tous,
Voila jai téléchargé le FS yrace et je l'ai installé sur mon serveur.
Jai mis du temps a comprendre son fonctionnement,
mais pk quand les joueurs font /join, il ne sont pas téléporté à la ligne de départ ????
J'ai remarqué que sur lalu quand on faisait /join, on se téléporté a la ligne de départ.
Est ce qu'il faut que je rajoute quelque chose dans le script ??
Merci de me repondre a+
-
Ben c'est assès facile, Dans la commande Join ajoute ça :
new target;
SetPlayerPos(playerid,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2]);
C'est tout...
-
Merci beaucoup pour le coup de main ;)
a+
-
Jai un autre soucis, jai fais comme tu m'a dit mais quand une personne est dans un vehicule,
ca ne telep pas le vehicule a la ligne de depart..:s comment faire ???
Merci d'avance
-
utilises le PutPlayerInVehicle ;)
++
R@f
-
Non non, Tu remplace la ligne SetPlayerPos par SetVehiclePos
-
sa sort pas le joueur du véhicule si on oublie le PutPlayerInVehicle ?
++
R@f
-
Non, La preuve :
if(strcmp(cmdtext,"/stunt", true)==0){
if(IsPlayerInAnyVehicle(playerid)){
SetVehiclePos(GetPlayerVehicleID(playerid),1887.0294,-1359.1926,19.1406);
} else {
SetPlayerPos(playerid,1887.0294,-1359.1926,19.1406);
GameTextForPlayer(playerid, "Bienvenue au ~r~Skate Park",5000,5);
SetPlayerInterior(playerid,0);
}
return 1;
}
-
Merci pour le coup de main raf ca marche ;)
Voila jai un autre probleme:
Pour mes teleportations, il y a une phrase qui dit %s s'est telep a lv, sf ...
Mais le probleme c'est que jai voulu enlever ses phrase inutile qui gache le chat,
mais jai remarqué qu'en les enevant une moidre telep ca ferme samp-serv.exe :blink
Qu'est ce que je doit enlever pour qu'il n'y est aucun bug dans le code suivant:
if(strcmp(cmdtext, "/ls", true) == 0) {
if(IsPlayerInAnyVehicle(playerid)) {
new Float:X;
new Float:Y;
new Float:Z;
new VehicleID;
GetPlayerPos(playerid, X, Y, Z);
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID, 1684.9930,-2247.1221,13.5446);
GameTextForPlayer(playerid,"~g~Vous etes a Los Antos",3000,3);
new PlayerName[30], str[256];
GetPlayerName(playerid, PlayerName, 30);
format(str, 256, "%s s'est rendu a Los Santos", PlayerName);
SendClientMessageToAll( 0x33AA33AA, str);
} else {
new Float:X;
new Float:Y;
new Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, 1684.9930,-2247.1221,13.5446);
GameTextForPlayer(playerid,"~g~Vous etes a Los Antos",3000,3);
new PlayerName[30], str[256];
GetPlayerName(playerid, PlayerName, 30);
format(str, 256, "%s s'est rendu a Los Santos", PlayerName);
SendClientMessageToAll( 0x33AA33AA, str);
}
return 1;
}
-
if(strcmp(cmdtext, "/ls", true) == 0) {
if(IsPlayerInAnyVehicle(playerid)) {
new Float:X;
new Float:Y;
new Float:Z;
new VehicleID;
GetPlayerPos(playerid, X, Y, Z);
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID, 1684.9930,-2247.1221,13.5446);
GameTextForPlayer(playerid,"~g~Vous etes a Los Antos",3000,3);
} else {
new Float:X;
new Float:Y;
new Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, 1684.9930,-2247.1221,13.5446);
GameTextForPlayer(playerid,"~g~Vous etes a Los Antos",3000,3);
}
return 1;
}
Voila pour toi !
NV.
-
Euh NV, La le gars il va faire copier/coller sans rien comprendre à ce que t'as fais, c'est ce que tu veux ?
-
Euh NV, La le gars il va faire copier/coller sans rien comprendre à ce que t'as fais, c'est ce que tu veux ?
Je lui est expliquer sur MSN !
NV.
-
Et toc! ;)
heu ... merci a tous :king
-
Voila j'ai Yrace tout marche bien mais jaimeré savoir un truc,
Comment faire pour que quand les joueurs font /join, ca les place sur la ligne de départ automatiquement et ca les frezze.
Mais quand je parle de les placer sur la ligne, cest qu'il soit deja aligné.
Puis commen faire pour que ce soi l'admin qui lance la course au lieu que tout les personne fon /ready
Merci de me repndre
++
nikko
-
Comme sur lalu quoi lol
-
Voila j'ai Yrace tout marche bien mais jaimeré savoir un truc,
Comment faire pour que quand les joueurs font /join, ca les place sur la ligne de départ automatiquement et ca les frezze.
Mais quand je parle de les placer sur la ligne, cest qu'il soit deja aligné.
Puis commen faire pour que ce soi l'admin qui lance la course au lieu que tout les personne fon /ready
Merci de me repndre
Il y a deja un sujet sur ca !
Cherche dans Pawn Center
NV.
-
Moi j'ai remplacé SetPlayerPos par SetVehiculePos, Mais ça ne marche pas! Avec player ça marchait (Sans la voiture bien sur :P)
Quelqu'un a une idée a mon probleme ???
Merci
-
Deja pour native, je ne l'ai pas toruvé le pb que je pose sinon je l'aurai posé.
Pour toi jykay moi ken on fais /join ac une voiture ca telporte bien. Voila le code a metre dans join:
new target;
if(IsPlayerInAnyVehicle(playerid)){
SetVehiclePos(GetPlayerVehicleID(playerid), RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2]);
} else {
SetPlayerPos(playerid,RaceCheckpoints[target][0],RaceCheckpoints[target][1],RaceCheckpoints[target][2]);
}
Avec ca ca marche ;).
Pour mister fred efectivement jaimeré que ca fasse la meme chose que lalu :).
++
nikko
-
Et tu le met ou exactement se code ? je ne sais pas ou le mettre dans la commande /join sa ne marche pas ;)
-
Salut,
Tu repère deja la ligne vers 706, il y a marqué ca: "dcmd_join(playerid,params[])"
tu met le code ke jai donné dans cette catégorie tu met ca en dessous de: "Participants++;"
Esseye...
++
nikko
-
Bonsoir,
nikkocz121, tu pourrait me donner le lien pour télécharger Yrace stp ?
Cordialement, yoyo17.
-
ICI => http://forum.sa-mp.com/index.php?topic=20637.0
Et merci nikkcoz j'avait mis 2 fois le meme code sur des lignes différente et j'avait supprimer le mauvais , thx :)
-
Ya pas de quoi, mais moi j'aimeré que ca fasse comme lalu, au moin les gens ne parte pas apré avoir fais /join.
Si qq1 peut me dire ce que je doit faire pour faire comme lalu ;) merci a tous
++
nikko
-
Merci nikko!! Ca marche!
-
Dsl je relance un peu mon pb sur yrace,
Si quelqu'un peu me dire comment faire pour (comme lalu) on fais /join et on est freezé a la ligne de départ et ke se soit l'admin qui lance la course.
Merci
++
nikko
-
Je ne te donnerais pas de code pour ça puisque je ne vais pas donner le script de Lalu
juste la façon dont je m'y suis pris pour le faire sur Lalu :
Tout d'abord, il s'agit de déterminer la direction dans laquelle la course va partir (le sens de la flèche du permier CP). Car dans YS, le joueur arrive sur le premier CP dans n'importe quel sens.
Pour faire ça, il faut déterminer l'angle que forme le segment déterminé par les deux premiers CP avec l'axe des X (axe Est-Ouest).
Ca c'est des maths donc pas forcement facile à expliquer. Toujours est-il, qu'il faut utiliser la fonction asin pour trouvé l'angle après avoir trouvé le sinus de ce même angle.
Ensuite, il faut définir un grille de départ avec des offsets par rapport au centre du premier CP mais il faut aussi faire une rotation pour que la grille soit orientée dans la bonne direction. Là encore, c'est des math.
Une fois que tu as fait tout ça, tu peux faire une SetVehiclePos et un SetVehicleZAngle.
Bon courage.
++
Syg
-
Je ne te donnerais pas de code pour ça puisque je ne vais pas donner le script de Lalu
juste la façon dont je m'y suis pris pour le faire sur Lalu :
Tout d'abord, il s'agit de déterminer la direction dans laquelle la course va partir (le sens de la flèche du permier CP). Car dans YS, le joueur arrive sur le premier CP dans n'importe quel sens.
Pour faire ça, il faut déterminer l'angle que forme le segment déterminé par les deux premiers CP avec l'axe des X (axe Est-Ouest).
Ca c'est des maths donc pas forcement facile à expliquer. Toujours est-il, qu'il faut utiliser la fonction asin pour trouvé l'angle après avoir trouvé le sinus de ce même angle.
Ensuite, il faut définir un grille de départ avec des offsets par rapport au centre du premier CP mais il faut aussi faire une rotation pour que la grille soit orientée dans la bonne direction. Là encore, c'est des math.
Une fois que tu as fait tout ça, tu peux faire une SetVehiclePos et un SetVehicleZAngle.
Bon courage.
++
Syg
Moi je cherche comment savoir l'angle a l'intérieur du chekpoint Mais j'ai pas compris SYG je pourait avoir un exemple ou qu'elle fonction utiliser
EDIT: Désoler de remonter un vieux topic mes j'éssaye de trouver comment faire