thomasleroi Posté(e) le 3 février 2008 Signaler Posté(e) le 3 février 2008 (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é le 3 février 2008 par thomasleroi Citer
davidpolak Posté(e) le 9 février 2008 Signaler Posté(e) le 9 février 2008 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 Citer
thomasleroi Posté(e) le 9 février 2008 Auteur Signaler Posté(e) le 9 février 2008 (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 ? Modifié le 9 février 2008 par thomasleroi Citer
davidpolak Posté(e) le 9 février 2008 Signaler Posté(e) le 9 février 2008 (modifié) Je n'est pas tout compris si quelqu'un pourrais éclairer la lumière du seigneur ? Moi nn plus je ne comprend rien, dit moi juste si Tu a le CreateObject (....) si oui copie/colle les coordonées Modifié le 9 février 2008 par davidpolak Citer
Vicolaships Posté(e) le 9 février 2008 Signaler Posté(e) le 9 février 2008 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 Citer
StAfF MaN Posté(e) le 10 février 2008 Signaler Posté(e) le 10 février 2008 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 ^^ Citer
davidpolak Posté(e) le 23 février 2008 Signaler Posté(e) le 23 février 2008 (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é le 23 février 2008 par davidpolak Citer
MageBlanc Posté(e) le 24 février 2008 Signaler Posté(e) le 24 février 2008 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 Citer
StAfF MaN Posté(e) le 26 février 2008 Signaler Posté(e) le 26 février 2008 (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é le 26 février 2008 par superpompier Citer
Messages recommandés
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.