GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Midilix le 19 Juillet 2012, 21:33:38
-
Bonjour,
Encore une fois je poste espérant ne pas être pénible avec mes questions ... Donc je fait une commande /startevent (pour les admins) et /participer pour les membres.
Sauf que : Quand l'admins tape /startevent rien ne se passe ... Et /participer aucune téléportation ... Bon je vais pas tout demander j'essayerai de faire un système /stopevent.
Voici mon code :
dcmd_startevent(playerid,params[])
{
new string[128];
new ID;
if(IsSpawned[playerid] != 1)
{
format(string,sizeof(string),"Un Administrateur à demarré un évenement, tapé /participer pour le rejoindre.",PlayerName(ID),ID);
SendClientMessageToAll(COLOR_ADMIN,string);
return 1;
}
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
return 1;
}
et la commande /participer
dcmd_participer(playerid,params[])
{
{
new ID;
new Float:x,Float:y,Float:z;
SendClientMessage(playerid,COLOR_ERROR,"Tu à été téléporté à l'évenement.");
SetPlayerPos(ID,x+1,y,z);
SetPlayerVirtualWorld(ID,GetPlayerVirtualWorld(playerid));
SetPlayerInterior(ID,GetPlayerInterior(playerid));
return 1;
}
return 1;
}
Il manque certaines choses surement, tout est biens définis. Je sais il manque des conditions je les rajouterais.
Midilix
-
Ta première commande ne fait rien de plus que de récupérer la position d'un joueur, donc :/
Et la deuxième, téléporte le joueur avec l'id 0 à une position inconnue (peut être 1.0, 0.0, 0.0)
-
Ce que je n'arrive pas à faire c'est de donné la position au joueur ... Je ne voie pas comment faire...
-
Utilise "SetPlayerPos" Et si il est dans un vehicule "SetVehiclePos"
-
Quand ladmin fait /startevent la position n'est pas envoyer au joueurs ....
-
Ce qu'il faut que tu fasse, c'est de créer 4 variables globales, si tu ne sais pas ce que c'est va lire le tuto de Gilux dans notre section tuto.
Donc 3 variables de type Float pour la position de l'event et une variable pour savoir si un event est lancé ou pas.
Quand tu tape /startevent tu récupère la position du joueur ayant tapé la commande dans les variables globales (celle de type Float) et tu mets à 1 la variable servant à savoir si un event est lancé ou pas.
Ensuite pour /joinevent c'est simple.