Ders: Shield Bash kit.(kalkan ile saldırı yapmak)

Users who are viewing this thread

Orjinal Konu: Shield Bash kit. Bug fixed and expanded!
Orjinal Konu sahibi: Mirathei
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

kullanımı çok kolay, tek yapmanız gereken Blok tuşunu(varsayılan: sağ mause tuşu) basılı tutarken atak tuşuna(varsayılan:sol mause tuşu) basmak. Geri kalanı Yapay Zeka kendisi halledecektir.
Doğacak sonuçlar kısmen kalkan beceriniz ile alakalıdır (sanırım bu özellik Zaro tarafından eklenmiş.)

Kurmak için aşağıdaki kodu module_scripts içine yapıştırın:
Code:
("cf_agent_shield_bash",
    [(store_script_param, ":agent",1),
     (agent_get_position,pos1,":agent"),
     (agent_set_animation, ":agent", "anim_release_bash"),
     (agent_play_sound,":agent","snd_man_grunt"),
     (assign,":victim",-1),
     (try_for_agents,":possible_victim"),
        (agent_is_alive,":possible_victim"),
        (agent_is_human,":possible_victim"),
        (neq,":possible_victim",":agent"),
        (agent_get_class ,":class", ":possible_victim"),
        (neq,":class",grc_cavalry),
        (agent_get_position,pos2,":possible_victim"),
        (get_distance_between_positions,":dist",pos1,pos2),
        (lt,":dist",150),
        (neg|position_is_behind_position,pos2,pos1),
        (assign,":victim",":possible_victim"),
     (end_try),
     (gt,":victim",-1),
     (store_random_in_range,":rand",0,2),
     (store_agent_hit_points,":hp",":victim",1),
     (val_sub,":hp",":rand"),
     (store_random_in_range,":hit_reaction",1,101),
     (store_skill_level,":a_shield",skl_shield,":victim"),
     (store_skill_level,":v_shield",skl_shield,":agent"),    
     (try_begin),
         (gt,":hp",0),
         (agent_set_hit_points,":victim",":hp",1),
         (agent_play_sound,":agent","snd_shield_hit_wood_wood"),
         (agent_play_sound,":victim","snd_blunt_hit"),
         (try_begin),       
           (gt,":a_shield", ":v_shield"),
              (try_begin),       
                (is_between,":hit_reaction",0,10),    
                (agent_set_animation, ":victim", "anim_bash_unsuccessful"),
              (else_try),       
                (is_between,":hit_reaction",11,20),    
                (agent_set_animation, ":victim", "anim_bash_crouch"),            
              (else_try),
                (is_between,":hit_reaction",21,30),    
                (agent_set_animation, ":victim", "anim_bash_mini_stun"),
              (else_try),
                (is_between,":hit_reaction",21,79),    
                (agent_set_animation, ":victim", "anim_bash_stun"),            
              (else_try),
                (is_between,":hit_reaction",80,100),    
                (agent_set_animation, ":victim", "anim_bash_knocked"),
              (end_try),            
         (else_try),
           (lt,":a_shield", ":v_shield"), 
              (try_begin),       
                (is_between,":hit_reaction",0,20),    
                (agent_set_animation, ":victim", "anim_bash_unsuccessful"),
              (else_try),       
                (is_between,":hit_reaction",21,42),    
                (agent_set_animation, ":victim", "anim_bash_crouch"),            
              (else_try),
                (is_between,":hit_reaction",43,65),    
                (agent_set_animation, ":victim", "anim_bash_mini_stun"),
              (else_try),
                (is_between,":hit_reaction",66,92),    
                (agent_set_animation, ":victim", "anim_bash_stun"),            
              (else_try),
                (is_between,":hit_reaction",93,100),    
                (agent_set_animation, ":victim", "anim_bash_knocked"),
              (end_try),
         (else_try),
           (eq,":a_shield", ":v_shield"),
              (try_begin),       
                (is_between,":hit_reaction",0,16),    
                (agent_set_animation, ":victim", "anim_bash_unsuccessful"),
              (else_try),       
                (is_between,":hit_reaction",17,33),    
                (agent_set_animation, ":victim", "anim_bash_crouch"),            
              (else_try),
                (is_between,":hit_reaction",34,50),    
                (agent_set_animation, ":victim", "anim_bash_mini_stun"),
              (else_try),
                (is_between,":hit_reaction",51,89),    
                (agent_set_animation, ":victim", "anim_bash_stun"),            
              (else_try),
                (is_between,":hit_reaction",90,100),    
                (agent_set_animation, ":victim", "anim_bash_knocked"),
              (end_try),
         (end_try),       
     (else_try),
         (agent_play_sound,":agent","snd_shield_hit_wood_wood"),
         (agent_play_sound,":victim","snd_blunt_hit"),
         (agent_deliver_damage_to_agent,":agent",":victim"),
     (end_try),
   ]),

module_mission_templates içinde herhangi bir yere yapıştırmanızda sorun yok
Code:
      (ti_before_mission_start, 0, 0, [], [(assign,"$bash_readiness",0)]),


      (0.1, 0, 0, [], [(val_add,"$bash_readiness",1),]),


      (0, 0, 0, [(game_key_is_down, gk_defend),(game_key_clicked, gk_attack),],
       [(assign,":continue",0),
        (get_player_agent_no,":player"),
        (agent_is_alive,":player"),
        (try_for_range,":shield","itm_wooden_shield","itm_heraldic_mail_with_surcoat"),## kullanılan eşya hazvuzu
            (agent_has_item_equipped,":player",":shield"),
            (assign,":continue",1),
        (end_try),
        (eq,":continue",1),
        (agent_get_horse,":horse",":player"),
        (neg|gt,":horse",0),
        (ge,"$bash_readiness",10),
        (assign,"$bash_readiness",0),
        (call_script,"script_cf_agent_shield_bash",":player"),
        ]),

      (1.0, 0, 0, [],
       [(get_player_agent_no,":player"),
        (try_for_agents,":agent"),
           (agent_is_alive,":agent"),
           (agent_is_human,":agent"),
           (neq,":agent",":player"),
           (agent_get_class ,":class", ":agent"),
           (neq,":class",grc_cavalry),
           (assign,":continue",0),
           (try_for_range,":shield","itm_wooden_shield","itm_heraldic_mail_with_surcoat"),## kullanılan eşya hazvuzu
               (agent_has_item_equipped,":agent",":shield"),
               (assign,":continue",1),
           (end_try),
           (eq,":continue",1),
           (assign,":chances",0),
           (agent_get_team,":team",":agent"),
           (agent_get_position,pos1,":agent"),
           (try_for_agents,":other"),
                (agent_is_alive,":other"),
                (agent_is_human,":other"),
                (agent_get_class ,":class", ":other"),
                (neq,":class",grc_cavalry),
                (agent_get_team,":otherteam",":other"),
                (neq,":team",":otherteam"),
                (agent_get_position,pos2,":other"),
                (get_distance_between_positions,":dist",pos1,pos2),
                (neg|position_is_behind_position,pos2,pos1),
                (lt,":dist",200),
                (val_add,":chances",1),
           (end_try),
           (store_agent_hit_points,":health",":agent",0),
           (val_mul,":health",-1),
           (val_add,":health",100),
           (val_div,":health",10),
           (val_mul,":chances",":health"),
           (store_random_in_range,":rand",1,25),
           (lt,":rand",":chances"),
           (call_script,"script_cf_agent_shield_bash",":agent"),
        (end_try),]),

Ve aşağıdakileri de module_animations'a ekleyin (DİKKAT!: bu kodlar kullanılmayan animasyonların üst kısmına eklenmelidir.)
Code:
# strike_fall_back_rise_after_bashed 
 ["bash_knocked", acf_enforce_all|acf_align_with_ground,
   [2.0, "anim_human", blow+5400, blow+5453, arf_blend_in_2], 
 ],
# strike_chest_front_stop 
 ["bash_stun", acf_enforce_all,
   [1.5, "anim_human", blow+5000, blow+5010, arf_blend_in_3], 
 ],
# strike_chest_front_stop 
 ["bash_mini_stun", acf_enforce_all,
   [0.6, "anim_human", blow+5000, blow+5010, arf_blend_in_3], 
 ], 
 # anim jump end
 ["bash_crouch", acf_enforce_all|acf_enforce_lowerbody,
   [0.5, "anim_human", 280, 290, arf_blend_in_3],
 ],  
# strike_head_front_left 
 ["bash_unsuccessful", acf_enforce_all,
   [0.55, "anim_human", blow+0, blow+10, arf_blend_in_3], 
 ],

 ["release_bash", acf_enforce_all|acf_right_cut|acf_parallels_for_look_slope,
   [0.62, "anim_human", combat+5710, combat+5740, blend_in_release], 
 ],

Dikkat edilmesi egereken bir nokta: Shield Bash sadece yaya birliklere karşı yaya iken kullanılabilir. Yani at üstündeyken veya atlı bir birime karşı kullanamazsınız.

Ayrıca sadece  itm_wooden_shield ile itm_heraldic_mail_with_surcoat arasında kalan kalan kalkanlar ile bu özelliği kullanabilirsiniz. Eğer kendi yaptığınız kalkan ile de bu özelliği kullanmak istiyorsanız lütfen bu ki itemin arasında bir yere ekleyiniz.

Uzun zaman sonra yaptığım ilk çeviridir, hatam varsa affola...
Ç.N.:Tarafımdan denenmemiştir. Ama ilk boş vaktimde deneyeceğim kodlardan birisi(şuan daha çok oyuna kral olarak başlamak üzerine çalışıyorum da)
 
Kullanılmayan animasyonların üstüne derken neyi kastettin anlamadım
 
Güzel olmuş hemde çok ama ben modelleme üzerine ugraştığım için dikkatli okuma zahmetine giremedim  :grin:  :grin:  :grin:
 
dediklerini yaptım module batı çalıştırdım sorun çıkmadı oyuna girdim hiçbir kalkan ile vuramıyorum yardımmmm
 
şahsen denemedim (aslında tam deneyecektim, sistem çöktü, sonra inux'a geçtim ve Linux'da Wardand pek stabil çalışmadı vs) ama eğer orjinal konuda bir değişiklik olmuşsa oradaki değişiklikleri buraya aktarmaya çalışırım.

edit:
Ben bu konuyu açtıktan sonra bir değişiklik olmamış, ama başka bir konuyu buldum.
http://forums.taleworlds.com/index.php/topic,134163.0.html
Anlatım ingilizce, ama yazan arkadaş hanig kodların hangi dosyaya eklendiğini açıkça belirtmiş. Sorun çıkacağını sanmam
 
Warband 1,143 için var mı? O kocaman eksiklerinden küçük bir tanesi ama çok güzel olur olsa.!
 
Silverlight said:
modül sistemi zerinden yapılan bir işlem ki bu, yani sürüm ayırt etmez kolay kolay.
bir dene, batın hata veriyor hatanın nerede olduğuna bakarak orayı düzeltmeye çalış

Module_animations'u bulamadım. Actions'a yapıştırıyorum oyun acılmıyor. Nerede bu module_animations?
 
Kardeşim hatayı çözdümde.Oyundayken kalkanla hiçbirşey yapmıyor.Animasyonun yerini değiştirdim  kalkanla vuruyor ama karşıdakinin canı gitmiyor hiç bir tepki vermiyor ve bazı animasyonlarla karışıyor.
 
olmuyor hata veriyor adam gibi anlatsanız olmuyor mu be kardeşim ya
 
Back
Top Bottom