搜索结果: *

  • 用户:Koozer
  • 按日期排序
  1. Koozer

    Modding Q&A [For Quick Questions and Answers]

    I've just noticed that not a single piece of armour/clothing stops at the waist, instead extending down to just above the knee or further. I was planning on making some armours involving chest parts that stop at the waist with a belt and trousers below, but is there some weird limitation in the engine they've covered up here that would cause me a headache?
  2. Koozer

    Rigging body armour bones

    So I exported full_plate_armor with OpenBRF to SMD, stole its skeleton and rigged it to my own armour in Blender. One tiny problem: When importing to OpenBRF it gives me a warning that I've used 6 bones, but M&B uses 4. So which bones does M&B actually use? EDIT: never mind, I didn't read it...
  3. Koozer

    Official 3D art thread - Warband

    Wireframe:

    fe_solder_helmet_wireframe_render.png


    Sorry, I used the wrong word; not recesses, but actual slits in the visor. I tried modelling them, but it was too high poly so I thought painting them on and using a nice bump map would be better.

    It's from Fire Emblem - the helmet of the generic castle guards.
  4. Koozer

    Can't install SMD tool for Blender

    ...dammit, couldn't you pretend it was a more complicated solution so I don't look bad?

    (ps. it worked, thanks  :grin:)
  5. Koozer

    Official 3D art thread - Warband

    Could I get some feedback on my first 3D model + texture please? In particular, would there be a good way to make the (quickly scribbled) black areas look recessed? The normal map does have those areas as recessed, but they still look quite flat. I haven't found out how to do in-game screenshots yet, so a quick Blender render will have to do:

    fe_soldier_helmet_render.png
  6. Koozer

    Can't install SMD tool for Blender

    Why is nothing ever easy? I've made a full body armour model, but can't rig it because the SMD plugin refuses to be enabled. Using File > User Preferences > Addons > install from file Makes the addon show up in the window, but it refuses to let me tick the box and just won't work. Google also...
  7. Koozer

    swycartographer not exporting .obj properly

    Nice job, Swyter, thanks!
  8. Koozer

    swycartographer not exporting .obj properly

    Aah, thanks Swyter. I guess I'll have to import my colourmap with Thorgrim's, export the OBJ file with swycartographer, edit the mesh with Blender, import it back into swycartographer, export map.txt, then do the terrain types in Thorgrim's. Simple  :grin:
  9. Koozer

    swycartographer not exporting .obj properly

    Hi, thanks for fixing the mesh! I've attached the original map.txt:

    https://dl.dropbox.com/u/12272750/map.txt

    I tried it on another computer and it still didn't work properly.  I've already tweaked it a bit with Thorgrim's, if that has anything to do with it.

    EDIT: Just tried creating a fresh map in Thorgrim's from my colourmap without modifying the mash. Imported it into swycartographer, and the exported OBJ is fine.
  10. Koozer

    swycartographer not exporting .obj properly

    Hi Swyter, I've put two OBJ files in the folder below:

    https://dl.dropbox.com/u/12272750/map%20meshes.7z

    Jugdral_mapmesh is an old one that works, Magvel_mapmesh is the one that's just vertices. Thanks for your time!

    PS. swycartographer is a godsend  :grin:
  11. Koozer

    swycartographer not exporting .obj properly

    As the title says. It worked a few days ago on a different map, but now for some reason it is only exporting vertices, but not faces or materials, so Blender just reads it as a big field of orange blobs.
  12. Koozer

    Replacing sounds?

    Replacing the current files with your own renamed ones would work, but if you use the module system things are easier in the long run - it's not as permanent for one. If you have it, open up module_sounds.py. You'll see lines like this:

    插入代码块:
    ("throw_axe",sf_vol_7, ["throw_axe_1.ogg"]),

    Just replace the part in quotation marks with the name of whatever you want to use instead. I'm not sure if MP3 works, but you can convert them to OGG pretty easily with the free Audacity if they don't.

    Your sounds should be placed in the folder Mount&Blade Warband\Modules\Native\Sounds, or whichever module it is you want to change the sounds for. You will also need to open Module.ini, in the module's folder, and change scan_module_sounds = 0 to scan_module_sounds = 1 so it finds your new sounds.
  13. Koozer

    Fireball problems

    Dear god...looking over that grenade script, I noticed they used "itm_sniper_crossbow" as the missile creator.

    So I tried it out, and lo and behold my fireballs now don't start firing in an infinite stream! So the problem was that referencing the tome in add_missile caused the ti_on_missile_hit script to keep running and getting stuck in an infinite loop. Thanks Xenoargh! Why the hell is that item field in add_missile? What does it even noticeably do besides ruin my day?

    Still fires fireballs off at random z rotations, but one step at a time...
  14. Koozer

    Fireball problems

    Do not be fooled by my rudimentary grasp on trigonometry, I am wholly confident there are better people than I to help on this board alone. If you want to PM me any details I can have a stab at the problem, but be warned!
  15. Koozer

    Fireball problems

    So I did it the long way:

    插入代码块:
    (ti_on_missile_hit, [
    	(display_message, "@HIT"),
    	(set_fixed_point_multiplier, 100),
    	(store_trigger_param_1, reg1),		#casting agent
    	(agent_get_position, pos2, reg1),
    	(position_move_z, pos2, 300, 1),	#moves up 2 metres
    	
    	#pos1 = target, pos2 = fireball spawn point
    	(position_get_x, ":pos1x", pos1),	#pos1 x
    	(position_get_y, ":pos1y", pos1),	#pos1 y
    	(position_get_z, ":pos2z", pos2),	#pos2 z
    	
    	(init_position, pos3),
    	(position_set_x, pos3, ":pos1x"),	#same position on x-y plane as pos1
    	(position_set_y, pos3, ":pos1y"),
    	(position_set_z, pos3, ":pos2z"),	#same height as pos2
    	
    	(get_distance_between_positions, ":dist23", pos2, pos3),	#opposite
    	(get_distance_between_positions, ":dist13", pos1, pos3),	#adjacent
    	(val_div, ":dist13", ":dist23"),							#o/a
    	(store_atan, ":xangle", ":dist13"),							#arctan(o/a)
    	
    	(get_angle_between_positions, ":zangle", pos2, pos1),	#z rotation
    	
    	(position_rotate_x, pos2, ":xangle", 1),	#FINALLY apply new rotations
    	(position_rotate_z, pos2, ":zangle", 1),
    	
    	(add_missile, reg1, pos2, 3000, "itm_fe_tome_of_fire2", 0, "itm_fe_fireball", 0),
    ]),

    Still registers multiple hits and it still pings off at a random z rotation. X rotation is a little high too. It is eminently possible that my maths is off here, but I can't explain why the z rotation would change every time I chuck a spell at the same spot without moving. I commented out add_missile again and it only registers one hit as it should.

    I think for now it would be best to find a way around using ti_on_missile_hit the way I am doing. I found store_proficiency_level, so maybe I can use that along with agent_get_look_position...somehow...

    To Google!
  16. Koozer

    Fireball problems

    Alright, here's where I'm up to:

    插入代码块:
    (ti_on_missile_hit, [
    	(display_message, "@HIT"),
    	(store_trigger_param_1, reg1),		#casting agent
    	(agent_get_position, pos2, reg1),
    	(set_fixed_point_multiplier, 100),
    	#pos1 = target, pos2 = spawn point
    	
    	(get_angle_between_positions, ":zangle", pos2, pos1),	#z axis only
    	(position_rotate_z, pos2, ":zangle"),
    
    	#(position_copy_rotation, pos2, pos1),	#copies rotation of target to new missile (ROUGH)
    	(position_move_z, pos2, 300, 1),		#moves up 3 metres
    	
    	(add_missile, reg1, pos2, 3000, "itm_fe_tome_of_fire2", 0, "itm_fe_fireball", 0),
    ]),

    Thanks for the get_angle_between_positions tip-off. I read that get_angle_between_positions only uses the z-axis, so that's all I've used here. I might be in for some trigonometry to work out the angle on every axis.

    The fireball now spawns at the correct height, but still causes multiple triggers of ti_on_missile_hit - when a fireball hits, it launches another from wherever I am. It may be to do with the call to create a fireball being nested inside a ti_on_missile_hit trigger, at a guess. The frequency of multiple hits also increases with the speed of the tome too for some reason.

    Oh, and it launches the fireballs off at varying angles around the z-axis in front of me, but I dare to hope that that may be easy to solve compared to the rest of the problems.

    This module system has given me a new-found appreciation for good code documentation.

    PS. what does set_fixed_point_multiplier actually do..?
  17. Koozer

    Fireball problems

    Ah yes, that was a copy/paste error. Please find it in your heart to forgive me.

    It does display "HIT," repeatedly until they scroll off screen. I took this as an infinite call to the contents of ti_on_missile_hit breaking the message system.

    I tried the following instead as a test:
    插入代码块:
    (ti_on_weapon_attack, [
    	(store_trigger_param_1, reg1),
    	(copy_position, pos2, pos1),		#pos1 = caster pos
    	#(position_move_z, pos2, 200, 0),	#pos2 = fireball spawn pos - moves up 2 metres
    	(add_missile, reg1, pos2, 3000, "itm_fe_tome_of_fire2", 0, "itm_fe_fireball", 0),
    ]),

    This version does spawn a fireball, but that for some reason pings off slightly to the left and downwards. I think you're right Zsar, something's up with pos2 - it needs a vector of motion, somehow. Also, it only fires at anything approaching the correct speed if I multiply it by 100, and using position_move_z makes the missile disappear.

    Nnngh.
  18. Koozer

    Fireball problems

    I wanted to avoid the inevitable extra fiddling involved in creating a new "bow" with unique ammo, but if that's the only way...

    Another part of what I am trying to do is actually make the fireball fire from above the agent's head. My current idea is shoot an invisible target painter-type projectile from the magic tome at 999 speed, then use the impact location to aim a fireball-type missile at that point, spawning above the caster's head. The only alternative I could find is using where the agent is looking directly, but that doesn't take accuracy or being mounted into account. I've scripted the following:

    插入代码块:
    ["fe_tome_of_fire2", "Tome of Fire MKII", [("book_a",0)], itp_type_thrown|itp_no_pick_up_from_ground|itp_merchandise|itp_primary|itp_can_penetrate_shield|itp_bonus_against_shield|itp_ignore_friction|itp_ignore_gravity, itcf_throw_stone, 420, weight(1)|difficulty(0)|spd_rtng(70)|shoot_speed(999)|thrust_damage(0,pierce)|max_ammo(35)|weapon_length(20), imodbit_cracked|imodbit_bent|imodbit_masterwork|imodbit_heavy|imodbit_strong,
    [
    (ti_on_missile_hit, [
            (display_message, "@HIT"),
    	(store_trigger_param_1, ":caster"),
    	(missile_remove_on_hit),
    
    	#save location for fireball to aim at
    	(agent_get_position, pos2, ":caster"),
    	(store_trigger_param_1, ":caster"),
    	(add_missile, ":caster", pos2, 30, "itm_fe_tome_of_fire2", 0, "itm_fe_fireball", 0),
    ]),

    It doesn't work properly though. When fired, a loud buzzing noise is heard and the missile is nowhere to be seen. The same happens with any type of missile. I think it's constantly triggering ti_on_missile_hit, and my use of add_missile is probably off too...
  19. Koozer

    Fireball problems

    Thanks for the help guys, it now looks like it's working fine. The damage for inner and outer should actually be different, that's a mistake in the code up there. It's also intentional that if if it is not a direct hit it does not deal full damage.

    It now looks like this:
    插入代码块:
    ["fe_tome_of_fire", "Tome of Fire", [("book_a",0)], itp_type_thrown|itp_no_pick_up_from_ground|itp_merchandise|itp_primary|itp_can_penetrate_shield|itp_bonus_against_shield|itp_ignore_friction, itcf_throw_stone, 420, weight(1)|difficulty(0)|spd_rtng(70)|shoot_speed(30)|thrust_damage(50,pierce)|max_ammo(35)|weapon_length(20), imodbit_cracked|imodbit_bent|imodbit_masterwork|imodbit_heavy|imodbit_strong,
    [
    (ti_on_missile_hit,[
    (try_begin),
        (store_trigger_param_1, ":caster"),
       (assign, ":inner_damage", 25),
       (assign, ":outer_damage", 10),
       
        (try_for_agents,":agent"),
    
          (agent_is_alive, ":agent"),
          (agent_get_position, pos2, ":agent"),
          (position_move_z, pos2, 50),
          (get_distance_between_positions, ":dist", pos1, pos2),
          
          # inner damage
          (try_begin), 
             (le, ":dist", 100),
             (gt, ":dist", 0),   #don't hit primary target with splash
             (agent_deliver_damage_to_agent, ":caster", ":agent", ":inner_damage"),
             
          # outer damage
          (else_try),
             (le, ":dist", 200),
             (gt, ":dist", 100),
             (agent_deliver_damage_to_agent, ":caster", ":agent", ":outer_damage"),
            (try_end),
    
        (try_end),
    (try_end),
    ]),
    ]],

    Bonus question: can I change/remove the mesh used once it is thrown? ie. I don't really want my mages to be throwing their books at people, as hilarious as it is to see them jam in people's skulls.
  20. Koozer

    Modding Q&A [For Quick Questions and Answers]

    Two small questions: is is possible to change/remove the mesh used by a thrown object once it is released? Also, is it possible to move where the object is thrown from at the same moment, eg. a metre above the agent's head?
后退
顶部 底部