how to attach an object to an object by a command ?
#1

The title says it all, how can I attach an object to a other object with a command,also how t can I do it that the same command can do other thing too: Example opening a gate and at the same time attaching an object to different object.


Thanks!Hope you understand what I mean!
Reply
#2

This is simple! All you have to know is basics about creating some commands!

https://sampforum.blast.hk/showthread.php?tid=280476

To attach an objecto into another object use this:

https://sampwiki.blast.hk/wiki/AttachObjectToObject

To 'open' gates, just move them using this:

https://sampwiki.blast.hk/wiki/MoveObject

To 'close' gates, just move them back to the original position.

Try, and post your doubts here

The final result should be like this:

pawn Код:
CMD:opengateandattach(playerid)
{
    //MoveObect...
    //AttachObjectToObject...
    SendClientMessage(playerid,-1,"You opened the gate!");
    // Don't forget a way to close the gate,  and a check to know if the gate is open will be also good ;)
    return 1;
}
Reply
#3

Quote:
Originally Posted by arakuta
Посмотреть сообщение
This is simple! All you have to know is basics about creating some commands!

https://sampforum.blast.hk/showthread.php?tid=280476

To attach an objecto into another object use this:

https://sampwiki.blast.hk/wiki/AttachObjectToObject

To 'open' gates, just move them using this:

https://sampwiki.blast.hk/wiki/MoveObject

To 'close' gates, just move them back to the original position.

Try, and post your doubts here

The final result should be like this:

pawn Код:
CMD:opengateandattach(playerid)
{
    //MoveObect...
    //AttachObjectToObject...
    SendClientMessage(playerid,-1,"You opened the gate!");
    // Don't forget a way to close the gate,  and a check to know if the gate is open will be also good ;)
    return 1;
}

Tried that but didn't worked out well..
Reply
#4

Quote:
Originally Posted by Jhony_Blaze
Посмотреть сообщение
Tried that but didn't worked out well..
What did you tried? Post here, so we can help you.
Reply
#5

Sure this is how I tried to make it:


Код:
CMD:bay1o(playerid, params[])
{
    AttachObjectToObject(1238, 1262, -269.2437, 1187.3073, 23.1069, 0.0000, 0.0000, 0.0000, 1);
    SendClientMessage(playerid, COLOR_GREEN,"Bay 1 is open");
    MovePlayerObject(playerid, Gate1[playerid], -254.7196, 1209.9005, 16.3944, 1);

    return 1;
}
Reply
#6

Quote:
Originally Posted by Jhony_Blaze
Посмотреть сообщение
Sure this is how I tried to make it:


Код:
CMD:bay1o(playerid, params[])
{
    AttachObjectToObject(1238, 1262, -269.2437, 1187.3073, 23.1069, 0.0000, 0.0000, 0.0000, 1);
    SendClientMessage(playerid, COLOR_GREEN,"Bay 1 is open");
    MovePlayerObject(playerid, Gate1[playerid], -254.7196, 1209.9005, 16.3944, 1);

    return 1;
}
This
pawn Код:
AttachObjectToObject(1238, 1262, -269.2437, 1187.3073, 23.1069, 0.0000, 0.0000, 0.0000, 1);
The first 2 parameters is objectid, not modelid.
Reply
#7

Quote:
Originally Posted by Kiyozi_Mu
Посмотреть сообщение
This
pawn Код:
AttachObjectToObject(1238, 1262, -269.2437, 1187.3073, 23.1069, 0.0000, 0.0000, 0.0000, 1);
The first 2 parameters is objectid, not modelid.
Those are the object ids, the first one is the object I want to attach to the other object, and the second one is the object to attach the object to
Reply
#8

Okay now I made the object to appear, this is how all the script looks like, but now the gate wont open:

Код:
CMD:bay1o(playerid, params[])
{
    Gate1[playerid] = CreateObject(1238, -269.2469, 1187.2875, 23.1069, 0.0000, 0.0000, 0.0000);
    AttachObjectToObject(1238, 1262, -269.2437, 1187.3073, 23.1069, 0.0000, 0.0000, 0.0000, 1);
    SendClientMessage(playerid, COLOR_GREEN,"Bay 1 is open");
    MovePlayerObject(playerid, Gate1[playerid], -254.7196, 1209.9005, 16.3944, 1);
	return 1;
}
Reply
#9

Quote:
Originally Posted by Jhony_Blaze
Посмотреть сообщение
Okay now I made the object to appear, this is how all the script looks like, but now the gate wont open:

Код:
CMD:bay1o(playerid, params[])
{
    Gate1[playerid] = CreateObject(1238, -269.2469, 1187.2875, 23.1069, 0.0000, 0.0000, 0.0000);
    AttachObjectToObject(1238, 1262, -269.2437, 1187.3073, 23.1069, 0.0000, 0.0000, 0.0000, 1);
    SendClientMessage(playerid, COLOR_GREEN,"Bay 1 is open");
    MovePlayerObject(playerid, Gate1[playerid], -254.7196, 1209.9005, 16.3944, 1);
	return 1;
}
objectid, is just like this.

pawn Код:
CMD:bay1o(playerid, params[])
{
     Gate1[playerid] = CreateObject(bla);
     ObjectToAttached[playerid] = CreateObject(bla);
     AttachObjectToObject(Gate1[playerid], ObjectToAttached[playerid], blablaa);
     and so on
}

Not the modelid of your object.
Reply
#10

There is a few ways to do this, in fact I just got a great idea of adding support to Texture Studio to export groups of objects to a FS that wouldn't require any kind of special editor you would just need to specify the center object all offsets can then be calculated by subtracting that objects X,Y,Z from all objects. The good news is that is such an easy extension for me to add, the bad news I'm not ready to release the next version of Texture Studio yet.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)