Well, I'd not recommend to buy Intense X if the goal only is attaching a gun to the player...
However, Intense X is great and everything, but attaching the gun to the player and let him shoot through it indeed IS simple. But how to do that still depends on the kind of game you are making, first person or third person?
The principe is the same anyway. In both modes, you have to define a position for the gun model, a vector of course.
For example:

VECTOR gun_position;

Then you have to update that vector; the x, y and z values have to be set. So you have a function, call it update_gun_pos or whatever.
Now, in third person mode, you would attach the gun to the player's hand vertices, using vec_for_vertex:

function update_gun_pos()
{
while(1)
{
vec_for_vertex(gun_position,my,2230);
// change the vertex number to the desired!!!

wait(1);
}
}

This is very basic;
Now, in first person mode, you would set the vector relative to the camera:

function update_gun_pos()
{
while(1)
{
vec_set(gun_position,vector(30,-20,-10));
// play with the vector values
vec_rotate(gun_position.x,camera.pan);
vec_add(gun_position.x,camera.x);


wait(1);
}
}

I suppose you understand all of these vector functions.

The last thing to do is to set the actual model to the position;
This can now easily be done. The following code works with both of the snippets above. It turns a weapon model to a item that can be picked up and will stay at the desired position all the time:

action sample_gun()
{
while(vec_dist(my.x,player.x)<30)
{
wait(1);
}

while(1)
{
vec_set(my.x,gun_position.x);
// now decide: if in third person mode, write this line:
my.pan = player.pan;
// if in first person mode, write this line:
vec_set(my.pan,camera.pan);

wait(1);
}
}

The gun won't fire yet; I unfortunaly don't have the time to write this down now. If you want, I can try and write a little tutorial for gun code. But someone'll have to tell me how to upload it...