GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Bl4st3r67 le 30 Août 2010, 22:05:38
-
Bonsoir, depuis ce matin je m'amuse a scripter un petit TDM (Oui je debute) en partant de rien, je lis tout les tutos que je trouve et vais voir sur le wiki SAMP, mais je bute un peu sur cette partit la; je souhaiterais faire une commande qui fais apparaitre un objet en face de soi, puis au bout de 10sec le faire avancer et enfin le faire disparaitre au bout de 25sec.. Oui c'est compliqué :happy
Mais je bloque dès le debut; l'objet apparait mais jamais devant moi (sauf quand je me tourne) et de plus je n'ai aucune idée de comment faire pour le deplacer puis le detruire.. Si vous pouviez m'aider ^^ :-[
Voici le code:
if (strcmp("/e2", cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
if(InfosJoueur[playerid][Faction]==2)
{
GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
GetPlayerFacingAngle(playerid,Pos[playerid][3]);
CreateObject(10841,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2], 0.0, 0.0,Pos[playerid][3]);
}
else if(InfosJoueur[playerid][Faction]==1)
{
SendClientMessage(playerid, COLOR_RED, "Interdit.");
}
}
return 1; // if(InfosJoueur[playerid][Faction]==***)
Merci :) Bonne soirée
-
Eh bien si tu le fait apparaître aux coordonnées de ton personnage forcement tu vas pas le voir donc par exemple ajoute 8 aux coordonnées X et Y , puis pour bouger l'objet tu utilises MoveObject que tu associe a SetTimer pour l'intervalle de temps entre les actions .
Et pour plus d'aide sur les fonctions regarde sur le samp wiki ou demande ici .
-
DestroyObject pour le supprimer.
-
Et avant le timer pour le bouger tu met ça
MoveObject(Tonobject,X,Y,Z,la vitesse);
X, Y et Z étant les coordonnées vers lesquelles , tu désires , que ton objet se déplace
-
Merci pour le timer et le destroyobject :-[ (je connaissais pas ^^'), Seulement, quand je met +8 et +8 aux X et Y l'objet n'est pas en face de moi sauf, j'avais lu dans un message qu'il fallais se servir des cos et des sin mais je ne vois pas comment.. ^^'. Et aussi j'aimerais savoir comment faire pour donner un nom (pour le script seulement) a l'objet que je fais apparaitre (Genre Mur1) et comment faire pour que plusieurs joueurs puissent faire la commande en même temps. (Car si deux joueurs crée un objets qui s'appelle Mur1 je pense que sa risque de bugger lorsque qu'il est censé bouger ou se detruire..) Merci, bonne journée :) :happy
-
pour lui donner un nom :
en haut de ton gm :
new Mur1;
dans ta commande :
Mur1 = CreateObject(............);
-
Voila ce que j'ai fais en allant voir sur Wiki SAMP Comment fonctionnais les timer mais sa ne fonctionne pas.. La tour monte quand je la spawn, mais de descends pas.. :dry
Voici mon code : ^^'
forward MoveTour(playerid,tour1);
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/n3", cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
if(InfosJoueur[playerid][Faction]==1)
{
new tour1;
GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
GetPlayerFacingAngle(playerid,Pos[playerid][3]);
tour1 = CreateObject(9132,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]-38,0,0,Pos[playerid][3]);
MoveObject(tour1,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]+15,8);
SetTimerEx("MoveTour",10000,false,"playerid","tour1");
}
else if(InfosJoueur[playerid][Faction]==2)
{
SendClientMessage(playerid, COLOR_RED, "Vous n'etes pas de la Famille Noah.");
}
}
return 1;
}
return 0;
}
public MoveTour(playerid,tour1)
{
GetObjectPos(tour1,PosO[tour1][0],PosO[tour1][1],PosO[tour1][2]);
MoveObject(tour1,PosO[tour1][0],PosO[tour1][1],PosO[tour1][2]-30,8);
return 1;
}
Si vous pouviez m'eclairer ^^
Merci Bonne soirée :)