Aller au contenu

Messages recommandés

Posté(e) (modifié)

Bonjour, je voudrais savoir comment faire bouger un objet dans sa:mp à partir d'une commande.

Je voudrais faire une barrière qui monte et qui decend avec les commandes /ouvrir, /fermer et si possible comment la faire à proximiter de l'objet !

 

EDIT: J'ai trouvé ça

 

MoveObject(objectid, Float:X, Float:Y, Float:Z, Float:Speed);

Modifié par thomasleroi
Posté(e)

J'ai peut etre une solution (mais elle n'est pas fiable a 100%) ca rje n'arrive pas a le daire non plus

 

 

 

Tout en haut de ton GM (game mode)

Avec les autre New

 

new obja; //porte c’est ce qui defini l’object

-----------------------------------------------------------------------------------------------------/

//////////DANS GAMEMODEINIT///////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////

-----------------------------------------------------------------------------------------------------/

obja = CreateObject (11111, -2032.215942, 409.041168, 34.243126, 0, 0, 0); /

/

On donne les position de l’object /

-----------------------------------------------------------------------------------------------------/

//////////////////////////////////////////////////////////////////////////////////////////////////////

// ///////DANS ONPLAYERCOMMANDTEXT////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////

-----------------------------------------------------------------------------------------------------/

if(strcmp(cmd, "/bouge", true) == 0)

{

MoveObject (PORTE, -2033.160034, 409.493530, 67.065811, 4.0);

return 1;

}

 

On fait bouger l'object "PORTE" juste les cordoné !

 

FINI

 

Si quelqu'un pourait me dire comment faire ceci moi je n'y arrive pas

Posté(e) (modifié)
J'ai peut etre une solution (mais elle n'est pas fiable a 100%) ca rje n'arrive pas a le daire non plus

 

 

 

Tout en haut de ton GM (game mode)

Avec les autre New

 

new obja; //porte c'est ce qui defini l'object

-----------------------------------------------------------------------------------------------------/

//////////DANS GAMEMODEINIT///////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////

-----------------------------------------------------------------------------------------------------/

obja = CreateObject (11111, -2032.215942, 409.041168, 34.243126, 0, 0, 0); /

/

On donne les position de l'object /

-----------------------------------------------------------------------------------------------------/

//////////////////////////////////////////////////////////////////////////////////////////////////////

// ///////DANS ONPLAYERCOMMANDTEXT////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////

-----------------------------------------------------------------------------------------------------/

if(strcmp(cmd, "/bouge", true) == 0)

{

MoveObject (PORTE, -2033.160034, 409.493530, 67.065811, 4.0);

return 1;

}

 

On fait bouger l'object "PORTE" juste les cordoné !

 

FINI

 

Si quelqu'un pourait me dire comment faire ceci moi je n'y arrive pas

 

 

Je n'est pas tout compris si quelqu'un pourrais éclairer la lumière du seigneur ? :unsure:

Modifié par thomasleroi
Posté(e) (modifié)
Je n'est pas tout compris si quelqu'un pourrais éclairer la lumière du seigneur ? :unsure:

 

Moi nn plus je ne comprend rien, dit moi juste si Tu a le CreateObject (....)

 

si oui copie/colle les coordonées

Modifié par davidpolak
Posté(e)

Je suis en train d'apprendre à faire ca. Voilà alors si tu veux créer un objet pour le déplacer voilà comment procéder:

 

En haut du script :

new idOBJ

On créé l'objet en attribuant l'ID:

idOBJ = CreateObject(1000, 0, 0, 0, 0, 0, 0);

On utilises l'ID : (si tu n'utilises pas l'ID ca t'afficheras une erreur)

MoveObject(idOBJ, 10.0, 10.0, -1.0, 0.5);

La fonction MoveObject:

MoveObject(idOBJ, X, Y, Z, S);

X: Coordonnée X de destination

Y: Coordonnée Y de destination

Z: Coordonnée Z de destination

S: Vitesse de déplacement

  • 2 semaines après...
Posté(e) (modifié)
C'est pas compliqué a faire, il faut juste chercher un peu si c'est la 1ere fois. Sinon avec ce que Vico a dit tu devrais y arriver ^^

 

 

j'ai reussi a faire tout sa l'objet bouge mais...

pour le faire revenir a son origine ca marche pas...

Voici mon script

#include 
#include 
// This is a comment
// uncomment the line below if you want to write a filterscript
#define FILTERSCRIPT
new bus;

#if defined FILTERSCRIPT


public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}

public OnFilterScriptExit()
{
return 1;
}

#else

main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}

#endif

public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
   bus = CreateObject(1479, 2039.790649, 1187.502441, 11.076869, 0.0000, 0.0000, 270.0000);
return 1;
}

public OnGameModeExit()
{
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}

public OnPlayerRequestSpawn(playerid)
{
return 1;
}

public OnPlayerConnect(playerid)
{
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
return 1;
}

public OnPlayerSpawn(playerid)
{
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}

public OnVehicleSpawn(vehicleid)
{
return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}

public OnPlayerText(playerid, text[])
{
return 1;
}

public OnPlayerPrivmsg(playerid, recieverid, text[])
{
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/bus", cmdtext, true, 0) == 0)
{
MoveObject (bus, 2039.807129, 1187.337891, 39.624138,4.0) ;
return 1;
}
if (strcmp("/sub", cmdtext, true, 0) == 0)
{
DestroyObject(bus);
return 1;
}
return 0;
}

public OnPlayerInfoChange(playerid)
{
return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}

public OnRconCommand(cmd[])
{
return 1;
}

public OnObjectMoved(objectid)
{
return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}

public OnPlayerExitedMenu(playerid)
{
return 1;
}

Modifié par davidpolak
Posté(e)

dans ta commande /sub tu as mis destroyobject tu l'as donc supprimé tu ne l'as pas remis a sa place

 

pour le remettre a sa place fait juste un MoveObject avec les coordonnée d'origine avant son déplacement il y reviendra

Posté(e) (modifié)

Tu peut aussi lui mettre des conditions, si le player a fait la commande, l'objet bouge, si le player refait la commande alors que l'objet a déjà été bougé, un message s'affiche pour dire que ce n'est pas possible, ainsi que si le player fait la commande pour remettre l'objet en place alors qu'il y est djà, un autre message s'affiche, tout ça c'est possible :

 

Dans le haut de ton script :

 

new bus[MAX_OBJETS];

 

dans ton OnGameModeInit

 

bus = CreateObject(1479, 2039.790649, 1187.502441, 11.076869, 0.0000, 0.0000, 270.0000);// tu mettra les bonnes valeurs de l'objet dans sa position BOUGé
bus[objetid] = 0;

 

Dans ton OnPlayerCommandesText

 

if (strcmp("/bus", cmdtext, true, 0) == 0)
{
MoveObject (bus, 2039.807129, 1187.337891, 39.624138,4.0);
bus[objetid] = 1;
SendClientMessage(playerid, COLOR_YELLOW, "tu viens de faire bouger l'objet");
return 1;
}

if (strcmp("/sub", cmdtext, true, 0) == 0)
{
MoveObject (bus, 2039.807129, 1187.337891, 39.624138,4.0); // Tu mettra les valeur de l'objet dans sa position INITIAL, les mêmes que dans ton bus = creatobjet
SendClientMessage(playerid, COLOR_YELLOW, "Tu à remis l'objet dans sa position Initial");
bus[objetid] = 0;
return 1;
}

if(bus[objetid] = 1);
{
SendClientMessage(playerid, COLOR_RED, "tu ne peut pas bouger l'objet s'il est déjà en position modifié");
}
if(bus[objetid] = 0);
{
SendClientMessage(playerid, COLOR_RED, "tu ne peut pas remettre l'objet à sa position initial si il y est déjà);
}

 

Bon après tu améliore, je ne sais pas si c'est juste j'ai fait ça vite fait, mais ça devrait fonctionner ^^

Modifié par superpompier

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...