Native LSP 3D Art Native Onehanded Crossbows

Users who are viewing this thread

Maroon

Grandmaster Knight
I made some small meshes for Full Invasion 2 that feel quite elegant, and I figured other mods might also like to use them, so here I am.
I've created a small modification for two Native crossbows so that they can be used in one hand, as a pistol. I've included a new bolt type as well (also a modified Native mesh), which makes sure that the bolt is on the right place (normal bolts show up floating in mid-air at an angle). The only downside to this is that you have to make sure you only have these new bolts in your inventory while using the hand crossbows, otherwise that floating bolt shows up.

61ZDA2R.png


2Y98bev.png


7w3VP9n.jpg

Download link:
http://www.mediafire.com/download/6wcobg8mugugzg0/hand_crossbows.brf

Like I mentioned, these are just altered Native meshes, so no new textures are needed.

Code:
  ["hand_crossbow_a","Hand_Crossbow", [("hand_crossbow_a", 0)], itp_type_crossbow|itp_merchandise|itp_primary, itcf_shoot_pistol|itcf_carry_pistol_front_left|itcf_reload_crossbow,525, weight(1)|abundance(100)|spd_rtng(85)|shoot_speed(60)|max_ammo(1)|thrust_damage(55, pierce), imodbits_crossbow, []],
  ["hand_crossbow_b","Hand_Crossbow", [("hand_crossbow_b", 0)], itp_type_crossbow|itp_merchandise|itp_primary, itcf_shoot_pistol|itcf_carry_pistol_front_left|itcf_reload_crossbow,525, weight(1)|abundance(100)|spd_rtng(85)|shoot_speed(60)|max_ammo(1)|thrust_damage(65, pierce), imodbits_crossbow, []],
  ["hand_bolts","Pocket_Bolts", [("hand_bolt", 0),("maroon_small_bolt", ixmesh_inventory),("flying_missile", ixmesh_flying_ammo),("bolt_bag_b", ixmesh_carry)], itp_type_bolts|itp_merchandise|itp_covers_legs|itp_doesnt_cover_hair, itcf_carry_quiver_right_vertical,600, weight(2.5)|abundance(20)|weapon_length(63)|max_ammo(40)|thrust_damage(14, pierce), imodbits_missile, []],

Code:
  itm_hand_crossbow_a Hand_Crossbow Hand_Crossbow 1  hand_crossbow_a 0  4259849 2684813312 525 131082 1.000000 100 0 0 0 0 0 85 60 0 1 311 0
 0
0

 itm_hand_crossbow_b Hand_Crossbow Hand_Crossbow 1  hand_crossbow_b 0  4259849 2684813312 525 131082 1.000000 100 0 0 0 0 0 85 60 0 1 321 0
 0
0

 itm_hand_bolts Pocket_Bolts Pocket_Bolts 4  hand_bolt 0  hand_bolt 1152921504606846976  flying_missile 2305843009213693952  bolt_bag_b 3458764513820540928  16842758 1879048192 600 4398046511112 2.500000 20 0 0 0 0 0 0 0 63 40 270 0
 0
0

Basically, the crossbows are set up just like a normal crossbow would be, except the "two_handed" flag has been removed, it shoots like a pistol, and it is carried like a pistol on the left hip. The bolt is the same as a standard bolt, but with the mesh replaced.
The stats in this bit of code are pretty OP, so you might want to change them.

As usual, feel free to use/edit/wank to these models for whatever you like, as long as it's Warband related. Giving me credit is nice, though.
 
Added the module system code for the items. Stats are just a suggestion and might not all be identical to the stats in the text file code below it.
 
Those are cool man!  I would've liked to see such a thing in Native, even if it is slightly out of period for what they're going for.  Does the horseback reloading animation work properly on the ground?  Or perhaps use the first few frames of the pistol reload animation?  I guess then you'd have to take the stirrup off though.

Great OSP!
 
I haven't tried it on horseback, to be honest, but since it doesn't have the no_reload_on_horseback flag by default, it should just use the standard mounted crossbow reload animation, which, while a bit exaggerated, should still look fine I suppose.
 
Any bolts with one-handed crossbow can work properly, if used WSE.
Use vertex animation frame with correct position for bolt mesh.
And this script

Code:
(try_begin),
    (this_or_next|eq, ":item_no", "itm_m_hand_crossbow_a"),
    (eq, ":item_no", "itm_m_hand_crossbow_b"),
    (agent_body_meta_mesh_set_vertex_keys_time_point, ":agent_no", bmm_item_1, 100),
    (agent_body_meta_mesh_set_vertex_keys_time_point, ":agent_no", bmm_item_2, 100),
    (agent_body_meta_mesh_set_vertex_keys_time_point, ":agent_no", bmm_item_3, 100),
    (agent_body_meta_mesh_set_vertex_keys_time_point, ":agent_no", bmm_item_4, 100),
(else_try),	
    (agent_body_meta_mesh_set_vertex_keys_time_point, ":agent_no", bmm_item_1, 0),
    (agent_body_meta_mesh_set_vertex_keys_time_point, ":agent_no", bmm_item_2, 0),
    (agent_body_meta_mesh_set_vertex_keys_time_point, ":agent_no", bmm_item_3, 0),
    (agent_body_meta_mesh_set_vertex_keys_time_point, ":agent_no", bmm_item_4, 0),
(try_end),
 
You can correct agent's curve pose  with WSE >= 4.3.1 and this script

Code:
(try_begin),
	(neq, ":item_type", itp_type_shield),
	
#cancel play old animation
	(agent_get_animation, ":lower_animation", ":agent_no", 0),
	(try_begin),
		(this_or_next|is_between, ":lower_animation", "anim_stand_unarmed", "anim_turn_right"),
		(this_or_next|is_between, ":lower_animation", "anim_turn_right", "anim_prepare_kick_0"),
		(this_or_next|is_between, ":lower_animation", "anim_run_forward", "anim_walk_forward"),
		(is_between, ":lower_animation", "anim_walk_forward", "anim_stand_to_crouch"),
		(agent_cancel_current_animation, ":agent_no", 0),
	(try_end),
	
	(try_begin),
		(this_or_next|eq, ":item_no", "itm_m_hand_crossbow_a"),
		(eq, ":item_no", "itm_m_hand_crossbow_b"),

#set new animation
		(agent_set_personal_animation, ":agent_no", "anim_stand_crossbow", "anim_stand_single"),
		(agent_set_personal_animation, ":agent_no", "anim_turn_right_staff", "anim_turn_right_single"),
		(agent_set_personal_animation, ":agent_no", "anim_turn_left_staff", "anim_turn_left_single"),
		(agent_set_personal_animation, ":agent_no", "anim_run_forward_staff", "anim_run_forward_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_run_forward_right_staff", "anim_run_forward_right_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_run_forward_left_staff", "anim_run_forward_left_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_run_backward_staff", "anim_run_backward_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_run_backward_right_staff", "anim_run_backward_right_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_run_backward_left_staff", "anim_run_backward_left_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_run_right_polearm", "anim_run_right_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_run_left_polearm", "anim_run_left_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_forward_staff", "anim_walk_forward_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_backward_staff", "anim_walk_backward_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_right_polearm", "anim_walk_right_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_left_polearm", "anim_walk_left_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_forward_right_polearm", "anim_walk_forward_right_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_forward_left_polearm", "anim_walk_forward_left_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_backward_left_polearm", "anim_walk_backward_left_onehanded"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_backward_right_polearm", "anim_walk_backward_right_onehanded"),
	(else_try),	

#restore default animation
		(agent_set_personal_animation, ":agent_no", "anim_stand_crossbow", "anim_stand_crossbow"),
		(agent_set_personal_animation, ":agent_no", "anim_turn_right_staff", "anim_turn_right_staff"),
		(agent_set_personal_animation, ":agent_no", "anim_turn_left_staff", "anim_turn_left_staff"),
		(agent_set_personal_animation, ":agent_no", "anim_run_forward_staff", "anim_run_forward_staff"),
		(agent_set_personal_animation, ":agent_no", "anim_run_forward_right_staff", "anim_run_forward_right_staff"),
		(agent_set_personal_animation, ":agent_no", "anim_run_forward_left_staff", "anim_run_forward_left_staff"),
		(agent_set_personal_animation, ":agent_no", "anim_run_backward_staff", "anim_run_backward_staff"),
		(agent_set_personal_animation, ":agent_no", "anim_run_backward_right_staff", "anim_run_backward_right_staff"),
		(agent_set_personal_animation, ":agent_no", "anim_run_backward_left_staff", "anim_run_backward_left_staff"),
		(agent_set_personal_animation, ":agent_no", "anim_run_right_polearm", "anim_run_right_polearm"),
		(agent_set_personal_animation, ":agent_no", "anim_run_left_polearm", "anim_run_left_polearm"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_forward_staff", "anim_walk_forward_staff"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_backward_staff", "anim_walk_backward_staff"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_right_polearm", "anim_walk_right_polearm"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_left_polearm", "anim_walk_left_polearm"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_forward_right_polearm", "anim_walk_forward_right_polearm"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_forward_left_polearm", "anim_walk_forward_left_polearm"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_backward_left_polearm", "anim_walk_backward_left_polearm"),
		(agent_set_personal_animation, ":agent_no", "anim_walk_backward_right_polearm", "anim_walk_backward_right_polearm"),
	(try_end),
(try_end),
 
I'm having some issues with this OSP, well, small issues that are just annoying. Maybe someone can help me?

Getting an error when trying to add these in with the Module System code.
Code:
itcf_reload_crossbow
Is not a valid line, removing it fixes any compile errors. Did you mean to put something else there? Because the reload animation is very exaggerated...

Also, the icon for Hand Bolts is invisible in the inventory slots. Still selectable and equipable, even shows up on your character

Great job with this! Will most likely be using this!

 
Ah, my module system skills are very limited, so I'm not sure what the cause of that would be. Perhaps the mod that was taken from has those itcf_ set up, while Native doesn't?
I'll look into making a separate mesh for in the inventory, I've seen several other mods do that.
 
I see, thanks for responding. Most likely it's specific to another mod, maybe it was even attached to another animation. Sadly, my mod is based around 1450, which is a bit to early for one handed crossbows :sad: this is pretty cool, so I wanted to use it.
 
Hey, I'm a kind of a newbie when it come to modding so i was wondering if I could get some help.
I'm not sure where to insert the text code or the module system code. And also, am I supposed to use some other mod for this ?
EDIT: Also, I realize this is an old thread so I apologize for bumping it.
 
No problem, I'm still around sometimes!

The module system code is supposed to be pasted in module_items of the module system, which can be found here.
Working with the module system is tricky though, so if you don't want to use it, you can paste the text code in item_kinds1.txt, which is found in your module's main directory. Make sure you overwrite existing items if you do it this way, though. The game can't handle new entries being added to that text file, so you'll have to overwrite existing ones (there's a few items in Native that are not used by the game, such as the bride items, or the samurai set).
 
Maroon said:
No problem, I'm still around sometimes!

The module system code is supposed to be pasted in module_items of the module system, which can be found here.
Working with the module system is tricky though, so if you don't want to use it, you can paste the text code in item_kinds1.txt, which is found in your module's main directory. Make sure you overwrite existing items if you do it this way, though. The game can't handle new entries being added to that text file, so you'll have to overwrite existing ones (there's a few items in Native that are not used by the game, such as the bride items, or the samurai set).
You can add new items to the text files as long as you add them at the very bottom, and increase the number at the very top by however many you add.
 
Ruthven said:
Maroon said:
No problem, I'm still around sometimes!

The module system code is supposed to be pasted in module_items of the module system, which can be found here.
Working with the module system is tricky though, so if you don't want to use it, you can paste the text code in item_kinds1.txt, which is found in your module's main directory. Make sure you overwrite existing items if you do it this way, though. The game can't handle new entries being added to that text file, so you'll have to overwrite existing ones (there's a few items in Native that are not used by the game, such as the bride items, or the samurai set).
You can add new items to the text files as long as you add them at the very bottom, and increase the number at the very top by however many you add.

Oh, yeah, you're right. Adding them that way doesn't add them to the cheat menu list, which is what I normally use to check if my items were implemented correctly, so that's why I had that in mind. Thanks for the correction!
 
sorry to bump but i have a problem, i added you crossbows.brf to the resource folder of my mod and added the load_resource = hand_crossbows to the module_info of module system, all worked fine but when i run my mod  i get an RGL error unable to open file: CommonRes/hand_crossbows.brf,  if i put it on the base game Commonres Folder it work just fine even i tested them. what can i do?

im using warband latest version. and diplomacy module system as base.
 
Back
Top Bottom