Search results for query: *

  1. yusuf00ozer

    [WB][SP] Fracture Moment: Rise of Ottoman [V0.860]

    daha bir pach paylaşılmadı paylaşıldığı zaman ilk sayfadan takip ederek indirebilirsin
    tamam eyvallah
  2. yusuf00ozer

    [WB][SP] Fracture Moment: Rise of Ottoman [V0.860]

    çıktı ya ilerlyen zamanlarda pach çıkartırsa çıkartır
    Kale isimleri fln düzeltildi mi ?
    Düzeltildiyse link atabilir misin ?
  3. yusuf00ozer

    [WB][SP]Genç Osman Modu V2

    Başarılan devamı dilerim kanka,modun gerçekten de güzel samimi söylüyorum benim moddan da güzel.
  4. yusuf00ozer

    [Ders]OSP Türkçe Çevirileri [Yetenekler]

    HemŞehri(huseyinotlu12) said:
    Bu kod oyuna düşmanların size tekme atmasını sağlıyor.Cihat ve Haçlılar'da olduğu gibi.

    Kodun sahibi : Zarthas

    kodu kullanmanız için sahibine teşekkür etmelisiniz.

    module_mission_templates'de aratın.

    Code:
    pilgrim_disguise = [itm_pilgrim_hood,itm_pilgrim_disguise,itm_practice_staff, itm_throwing_daggers]
    af_castle_lord = af_override_horse | af_override_weapons| af_require_civilian

    altına ise şunu ekleyin.

    Code:
    AI_kick =  (
             2, 0, 0,
           [], [
    	(get_player_agent_no,":player"),
    	(try_for_agents, ":agent"),
    		(neq, ":agent", ":player"),
    		(agent_is_alive, ":agent"),
    		(agent_is_human, ":agent"),#Only humans can kick....FOR NOW
    		(agent_is_active, ":agent"),
    		(agent_slot_eq, ":agent", slot_agent_is_running_away, 0),#Isn't fleeing the battle.
    		##He's an eligible human.  Now see if he's in a position to kick.
    		(agent_get_attack_action, ":attack_action", ":agent"), #returned values: free = 0, readying_attack = 1, releasing_attack = 2, completing_attack_after_hit = 3, attack_parried = 4, reloading = 5, after_release = 6, cancelling_attack = 7
    		(agent_get_defend_action, ":defend_action", ":agent"),#
    		(this_or_next|eq,":attack_action",4),#Just got parried
    		(this_or_next|eq,":defend_action",1),#Parrying an enemy
    		##So he'll only try to kick if he just parried an enemy attack, or his own attack just got parried.
    		(agent_get_team, ":team", ":agent"),
    		(assign, ":maximum_distance", 100),
    		#Target Acquisition
    		(agent_ai_get_look_target,":suspect",":agent"),
    		(gt,":suspect",0),#Make sure there is someone.
    		(agent_is_alive, ":suspect"),
    		(agent_is_human, ":suspect"),#Only kick humans
    		(agent_is_active, ":suspect"),
    		(agent_get_team, ":suspect_team", ":suspect"),
    		(neq, ":suspect_team", ":team"),#Friends don't let friends kick friends.
    		(agent_get_position, pos1, ":agent"),#Distance check
    		(agent_get_position, pos2, ":suspect"),
    		(neg|position_is_behind_position, pos2, pos1), #Suspect can't be behind kicker.
    		(get_distance_between_positions, ":distance", pos1, pos2),
    		(le, ":distance", ":maximum_distance"),
    		#Check chance
    		(store_random_in_range,":kickchance", 1, 10),
    		(try_begin),
    			(eq,":kickchance",1), #10% chance per check
    				(display_message, "@Agent kicks."),
    				(agent_set_animation, ":agent", "anim_prepare_kick_0"),
    				(agent_deliver_damage_to_agent, ":agent", ":suspect", 3),
    				(agent_set_animation, ":suspect", "anim_strike3_abdomen_front"),#Get Kicked
    			(try_end),
    	   (try_end),])
    a
    Bitmiştir.

    Not : Kodun çalışması için herhangi bir saldırı misyonuna AI_kick eklemelisiniz.

    Bot tekmesi konusunda en son yeri anlamadım bir savaş misyonun altına ekleyin diye ben yeniyimdeBen Yusuf ÖZER
  5. yusuf00ozer

    Kodcu Yardım & Destek Hattı

    Sa ben özel yetenek kodu eklemiştim ama module_scripts hata veriyor bana yardım edebiliecek var mı acaba

    JO4g9W.png



    burda resim

    https://i.hizliresim.com/JO4g9W.png
  6. yusuf00ozer

    [Ders] Warband'da Uyumak ! [Basit]

    Ya abi en alta eklesem hata alıyorum neden bide senin anlattığını anlamadım
  7. yusuf00ozer

    Türkçe OSP Çevirileri[Black Dead'in Kod Çevirisi]

    gloss said:
    module_party_templates de hata alıyom avcılık kodunda :sad:

    Kardeşim ben düzelttim o hatayı en alta ekleyemeyeceksin ortaya birisini arasına ekle sorun kalkacaktır.
  8. yusuf00ozer

    Kodcu Yardım & Destek Hattı

    Efe Karacar said:
    ---
    anasayfanın yazıları
    ---

    Yaralanma kodunu nereye ekleyecez hiçbir şey yok ya

    Moderatör editi

    lütfen alıntı yaparken koca koca alıntılar yapmamaya dikkat edelim.
  9. yusuf00ozer

    Kodcu Yardım & Destek Hattı

    BayEjderya said:
    yusuf00ozer said:
    Efe Karacar said:
    assasins said:
    Öncelikle işlerinizde başarılar,
    Emirlere ses ekleme veya oyunun herhangi bir yerine ses ekleme konusunda bir kod yazabilir misiniz? Kodlamadan fazla anlamıyorum uğraştıysam da yapamadım.

    "module_mission_templates.py" dosyasında

    Code:
    common_battle_order_panel = (
      0, 0, 0, [],
      [
        (game_key_clicked, gk_view_orders),
        (neg|is_presentation_active, "prsnt_battle"),
        (start_presentation, "prsnt_battle"),
        ])

    Bu kodlar backspace tuşu yani default emir verdiğin ekranı getiren tuşa basıldığı an oluşan operasyonlar. O kodu bunla değiştir:

    Code:
    common_battle_order_panel = (
      0, 0, 0, [],
      [
        (game_key_clicked, gk_view_orders),
        (neg|is_presentation_active, "prsnt_battle"),
        (start_presentation, "prsnt_battle"),
        (get_player_agent_no, ":agent_id"),
        (agent_play_sound, ":agent_id" , snd_sound_id) #modules_sound.py 'de ilk olarak onu tanıtman lazım.
        ])

    hata alıyorum yardım

    Aldığın hata nedir ?

    Bunları ekledim build_module dedim bir sürü garip garip hata verdi...
  10. yusuf00ozer

    Kodcu Yardım & Destek Hattı

    HyperCharge said:
    FoulMonster said:
    Arkadaşlar doğru yeremi soruyorum bilmiyorum ama oyunun dosyalarından atların. Hızını nasıl değişicem?

    Oyunun dosyalarından değiştiremezsin. Morghs tool'u indirip oradan itemler kısmından atların hızlarını değiştirebilirsin.

    Değiştirilir abi item_kinds.txtyi açıp ordan kodlarla aran iyiyse düzeltirsin canını hızını falan...
  11. yusuf00ozer

    [OSP][Kod] Jenerik Ekran

    BayEjderya said:
    yusuf00ozer said:
    HyperCharge said:
    Kendim bir açık kaynak kod paylaşayım, modumun film temasına oturmasının önemli bir detayıydı.  :grin: Ben adına Jenerik ekran dedim.

    -Nedir bu kod ?

    + Efendime söyleyeyim, bazı filmlerde kara ekranda tarih, yer belirtilip, sonra ekranı aydınlatılıyor du. Benim senaryo da film temasına oturması gerektiğini düşündüğümden böyle bir şey yapma ihtiyacı duydum. Presentation'lar ile her şeyi yapabilirsiniz. Yeter ki hayal gücünüz geniş olsun.  :razz:

    module_presentations;

    Code:
    # screen write
    ("screen_write",prsntf_read_only,0,[
    	(ti_on_presentation_load,
    	[
    	(assign, "$g_presentation_obje_1", -1),
    	(assign, "$g_presentation_obje_2", -1),
    	
    	(assign, "$g_presentation_obje_1_alpha", 0),
            (assign, "$g_presentation_obje_2_alpha", 0),
    	 
    	 
    		(mission_cam_set_screen_color, 0xFF000000), #Ekrani karart
    	]),
    	(ti_on_presentation_run,
    	[
    	(store_trigger_param_1, ":cur_time"),
            (set_fixed_point_multiplier, 1000),
            (presentation_set_duration, 1000000),
    		
    		(try_begin),
    		
    		  (lt, "$g_presentation_obje_1", 0), 
              (str_store_string, s1, "str_tarih_stringi"),#birinci yazi
              (create_text_overlay, "$g_presentation_obje_1", s1, tf_center_justify|tf_double_space|tf_vertical_align_center),
    		  (overlay_set_color, "$g_presentation_obje_1", 0xFF0000),
              (overlay_set_alpha, "$g_presentation_obje_1", 0),
              (position_set_x, pos1, 1750),
              (position_set_y, pos1, 1750),
              (overlay_set_size, "$g_presentation_obje_1", pos1),
              (position_set_x, pos1, 500),
              (position_set_y, pos1, 375),
              (overlay_set_position, "$g_presentation_obje_1", pos1),
              (overlay_animate_to_alpha, "$g_presentation_obje_1", 2000, 0xFF),
    		
    		  (else_try),
    		  
    		   (gt, ":cur_time", 6000), # 6 saniye gectiyse
              (lt, "$g_presentation_obje_2", 0), #ikinci yazi
              (str_store_string, s2, "str_yer_stringi"),
              (create_text_overlay, "$g_presentation_obje_2", s2, tf_center_justify|tf_double_space|tf_vertical_align_center),
    		  (overlay_set_color, "$g_presentation_obje_2", 0xFF0000),
              (overlay_set_alpha, "$g_presentation_obje_2", 0),
              (position_set_x, pos1, 1500),
              (position_set_y, pos1, 1500),
              (overlay_set_size, "$g_presentation_obje_2", pos1),
              (position_set_x, pos1, 500),
              (position_set_y, pos1, 295),
              (overlay_set_position, "$g_presentation_obje_2", pos1),
              (overlay_animate_to_alpha, "$g_presentation_obje_2", 2000, 0xFF),
    		  
    		  (else_try),
    		  
    		   (gt, ":cur_time", 7500), #7.5 saniye gectiyse
    		   (eq, "$g_presentation_obje_1_alpha", 0),
              (assign, "$g_presentation_obje_1_alpha", 1),
    		  (overlay_animate_to_alpha, "$g_presentation_obje_1", 1500, 0x00), #yazilari kaybet
    		  
    		  (else_try),
    		  
    		   (gt, ":cur_time", 8500), #8.5 saniye gectiyse
    		   (eq, "$g_presentation_obje_2_alpha", 0),
              (assign, "$g_presentation_obje_2_alpha", 1),
    		  (overlay_animate_to_alpha, "$g_presentation_obje_2", 1500, 0x00),#yazilari kaybet
    		 
    		  (else_try),
    		  
    		   (gt, ":cur_time", 11000), #11 saniye gectiyse
    		   
    		    (mission_cam_animate_to_screen_color, 0x00000000, 3000), # ekrani 3 saniyede aydinlat
    		  
    		  
    		  (else_try),
    		  
    		(gt, ":cur_time", 15000), # 15 saniye gectiyse
    		  (presentation_set_duration, 0), #presentationu sonlandir
    		  
    		  (try_end),
    		  ]),
    		 ]),
    # screen write ends

    module_strings;

    Code:
    # screen write
    ("yer_stringi", "Söğüt yakınları..."),
      ("tarih_stringi", "27 Ocak 1300..."),
    # screen write ends

    Mission_templates'te herhangi bir misyon;

    Code:
    # screen write
    		  (ti_after_mission_start, 0, ti_once, [],
    		  [(start_presentation, "prsnt_screen_write"),]),
              # screen write ends

    Bu kodu eklentinizde-modunuzda kullanacaksanız, benim ve bu açık kaynağın ismini link olarak teşekkürlere koymanız gerekmektedir. Örneğin;

    İzin almanıza gerek yok, bu dediklerimi yapmanız yeterli.

    Çalıştığının kanıtı  :smile:;



    ben yapamadım yardım lütfen


    Presentations kodunu module_presentations'ta en alttaki ] ' dan önce yapıştır.
    Strings kodunu module_strings'te en alttaki ] ' dan önce yapıştır.
    Mission templates kodunu module_mission_templates'te herhangi bir misyonun içine ekle. (town_default olabilir.)
    Burada dikkat edilmesi gereken triggerın içine bir daha trigger koymaman.


    Bir misyonun diyorsun misyon ne on bilmiyorum ondan dolayı yapamadım lütfen acil cevap
  12. yusuf00ozer

    Kodcu Yardım & Destek Hattı

    Efe Karacar said:
    assasins said:
    Öncelikle işlerinizde başarılar,
    Emirlere ses ekleme veya oyunun herhangi bir yerine ses ekleme konusunda bir kod yazabilir misiniz? Kodlamadan fazla anlamıyorum uğraştıysam da yapamadım.

    "module_mission_templates.py" dosyasında

    Code:
    common_battle_order_panel = (
      0, 0, 0, [],
      [
        (game_key_clicked, gk_view_orders),
        (neg|is_presentation_active, "prsnt_battle"),
        (start_presentation, "prsnt_battle"),
        ])

    Bu kodlar backspace tuşu yani default emir verdiğin ekranı getiren tuşa basıldığı an oluşan operasyonlar. O kodu bunla değiştir:

    Code:
    common_battle_order_panel = (
      0, 0, 0, [],
      [
        (game_key_clicked, gk_view_orders),
        (neg|is_presentation_active, "prsnt_battle"),
        (start_presentation, "prsnt_battle"),
        (get_player_agent_no, ":agent_id"),
        (agent_play_sound, ":agent_id" , snd_sound_id) #modules_sound.py 'de ilk olarak onu tanıtman lazım.
        ])

    hata alıyorum yardım
  13. yusuf00ozer

    [Zendar Halk Konseyi] - soru & cevap konusu

    buz said:
    Aklınıza takılan soruları burada sorabilirsiniz.

    Senaryoyu nasıl uzatabiliriz...
  14. yusuf00ozer

    [OSP][Kod] Jenerik Ekran

    HyperCharge said:
    Kendim bir açık kaynak kod paylaşayım, modumun film temasına oturmasının önemli bir detayıydı.  :grin: Ben adına Jenerik ekran dedim.

    -Nedir bu kod ?

    + Efendime söyleyeyim, bazı filmlerde kara ekranda tarih, yer belirtilip, sonra ekranı aydınlatılıyor du. Benim senaryo da film temasına oturması gerektiğini düşündüğümden böyle bir şey yapma ihtiyacı duydum. Presentation'lar ile her şeyi yapabilirsiniz. Yeter ki hayal gücünüz geniş olsun.  :razz:

    module_presentations;

    Code:
    # screen write
    ("screen_write",prsntf_read_only,0,[
    	(ti_on_presentation_load,
    	[
    	(assign, "$g_presentation_obje_1", -1),
    	(assign, "$g_presentation_obje_2", -1),
    	
    	(assign, "$g_presentation_obje_1_alpha", 0),
            (assign, "$g_presentation_obje_2_alpha", 0),
    	 
    	 
    		(mission_cam_set_screen_color, 0xFF000000), #Ekrani karart
    	]),
    	(ti_on_presentation_run,
    	[
    	(store_trigger_param_1, ":cur_time"),
            (set_fixed_point_multiplier, 1000),
            (presentation_set_duration, 1000000),
    		
    		(try_begin),
    		
    		  (lt, "$g_presentation_obje_1", 0), 
              (str_store_string, s1, "str_tarih_stringi"),#birinci yazi
              (create_text_overlay, "$g_presentation_obje_1", s1, tf_center_justify|tf_double_space|tf_vertical_align_center),
    		  (overlay_set_color, "$g_presentation_obje_1", 0xFF0000),
              (overlay_set_alpha, "$g_presentation_obje_1", 0),
              (position_set_x, pos1, 1750),
              (position_set_y, pos1, 1750),
              (overlay_set_size, "$g_presentation_obje_1", pos1),
              (position_set_x, pos1, 500),
              (position_set_y, pos1, 375),
              (overlay_set_position, "$g_presentation_obje_1", pos1),
              (overlay_animate_to_alpha, "$g_presentation_obje_1", 2000, 0xFF),
    		
    		  (else_try),
    		  
    		   (gt, ":cur_time", 6000), # 6 saniye gectiyse
              (lt, "$g_presentation_obje_2", 0), #ikinci yazi
              (str_store_string, s2, "str_yer_stringi"),
              (create_text_overlay, "$g_presentation_obje_2", s2, tf_center_justify|tf_double_space|tf_vertical_align_center),
    		  (overlay_set_color, "$g_presentation_obje_2", 0xFF0000),
              (overlay_set_alpha, "$g_presentation_obje_2", 0),
              (position_set_x, pos1, 1500),
              (position_set_y, pos1, 1500),
              (overlay_set_size, "$g_presentation_obje_2", pos1),
              (position_set_x, pos1, 500),
              (position_set_y, pos1, 295),
              (overlay_set_position, "$g_presentation_obje_2", pos1),
              (overlay_animate_to_alpha, "$g_presentation_obje_2", 2000, 0xFF),
    		  
    		  (else_try),
    		  
    		   (gt, ":cur_time", 7500), #7.5 saniye gectiyse
    		   (eq, "$g_presentation_obje_1_alpha", 0),
              (assign, "$g_presentation_obje_1_alpha", 1),
    		  (overlay_animate_to_alpha, "$g_presentation_obje_1", 1500, 0x00), #yazilari kaybet
    		  
    		  (else_try),
    		  
    		   (gt, ":cur_time", 8500), #8.5 saniye gectiyse
    		   (eq, "$g_presentation_obje_2_alpha", 0),
              (assign, "$g_presentation_obje_2_alpha", 1),
    		  (overlay_animate_to_alpha, "$g_presentation_obje_2", 1500, 0x00),#yazilari kaybet
    		 
    		  (else_try),
    		  
    		   (gt, ":cur_time", 11000), #11 saniye gectiyse
    		   
    		    (mission_cam_animate_to_screen_color, 0x00000000, 3000), # ekrani 3 saniyede aydinlat
    		  
    		  
    		  (else_try),
    		  
    		(gt, ":cur_time", 15000), # 15 saniye gectiyse
    		  (presentation_set_duration, 0), #presentationu sonlandir
    		  
    		  (try_end),
    		  ]),
    		 ]),
    # screen write ends

    module_strings;

    Code:
    # screen write
    ("yer_stringi", "Söğüt yakınları..."),
      ("tarih_stringi", "27 Ocak 1300..."),
    # screen write ends

    Mission_templates'te herhangi bir misyon;

    Code:
    # screen write
    		  (ti_after_mission_start, 0, ti_once, [],
    		  [(start_presentation, "prsnt_screen_write"),]),
              # screen write ends

    Bu kodu eklentinizde-modunuzda kullanacaksanız, benim ve bu açık kaynağın ismini link olarak teşekkürlere koymanız gerekmektedir. Örneğin;

    İzin almanıza gerek yok, bu dediklerimi yapmanız yeterli.

    Çalıştığının kanıtı  :smile:;



    ben yapamadım yardım lütfen
  15. yusuf00ozer

    [Ders] Warband'da Uyumak ! [Basit]

    STaRDuST10 said:
    Efe Bozkurt said:
    YusufPaşa said:
    STaRDuST10 said:
    YusufPaşa said:
    STaRDuST10 said:
    YusufPaşa said:
    STaRDuST10 said:
    ya yapamadım hata alıyorum build_module de herşeyi yaptım ama hata oluyo

    bak hata su:
    Error in game menu:
    ("uyu",[(31, 1, 0)], "x", [(1, "script_uyu")]), "Uyu")

    ("uyu",[(eq, 1, 0)], "x", [(call_script, "script_uyu")]), "Uyu"),
    Şimdi ise module_game_menus'te menünüzün en altına ] işaretinin bir üstüne şu kodu ekleyiniz.

    ("uyu",[(eq,1,0)],"x",[(call_script,"script_uyu")],"Uyu"),
    Yazmış arkadaş,hangi menüye ekledin sen? Uyumanın kullanılacağı menüye mi?

    Tam olarak anlamadım.

    module_game_menus 'e ekledim ben bu kodu
    Tamamda game_menus'te nereye ekledin?

    En sondaki ] dan önce
    Yanlış eklemişsin işte.Nereye ekleyeceğini özelden söyle bana anlatayım :smile:

    Bende kullanıcaktım uzun zamandır Native'de kullanayım dedim aynı hata oldu w.t.f?  :evil:  banada özelden at veya burdan at herkes yararlansın  :wink:
    Sen nereye ekleyeceksin ben yardımcı olayım

    bana yardım eder misin
  16. yusuf00ozer

    Sahne İçindeki Troopları Hareket Ettirmek

    Bende olmadı lütfen yardım
  17. yusuf00ozer

    Sahne İçindeki Troopları Hareket Ettirmek

    Deli Kurt said:
    Osmanlı Senaryosu V2 ile uğraşmaya bir 10 dakikalık ara verdim :smile: Bu 10 dakika da size bir ders hazırlayım diye düşündüm. Neyse daha fazla lafı uzatmadan derse geçelim.

    Bugün sizlere sahne içindeki troopları entry pointler arasında nasıl dolaştıracağımızı göstereceğim. Sahneye dolaşacak troop'u eklediğinizi varsayıyorum;

    1) Module_Scripts'den aşağıdakini bulun;

      # script_init_town_walker_agents
      # Input: none
      # Output: none
      ("init_town_walker_agents",
        [(assign, ":num_walkers", 0),
        (try_for_agents, ":cur_agent"),
          (agent_get_troop_id, ":cur_troop", ":cur_agent"),
            (is_between, ":cur_troop", walkers_begin, walkers_end),
          (val_add, ":num_walkers", 1),
          (agent_get_position, pos1, ":cur_agent"),
          (try_for_range, ":i_e_p", 9, 40),#Entry points
            (entry_point_get_position, pos2, ":i_e_p"),
            (get_distance_between_positions, ":distance", pos1, pos2),
            (lt, ":distance", 200),
            (agent_set_slot, ":cur_agent", 0, ":i_e_p"),
          (try_end),
          (call_script, "script_set_town_walker_destination", ":cur_agent"),
        (try_end),
      ]),

    Bunu aşağıdaki ile değiştirin;

      # script_init_town_walker_agents
      # Input: none
      # Output: none
      ("init_town_walker_agents",
        [(assign, ":num_walkers", 0),
        (try_for_agents, ":cur_agent"),
          (agent_get_troop_id, ":cur_troop", ":cur_agent"),
    (eq, ":cur_troop", "trp_TROOP"),
            (this_or_next|is_between, ":cur_troop", walkers_begin, walkers_end),
          (val_add, ":num_walkers", 1),
          (agent_get_position, pos1, ":cur_agent"),
          (try_for_range, ":i_e_p", 9, 40),#Entry points
            (entry_point_get_position, pos2, ":i_e_p"),
            (get_distance_between_positions, ":distance", pos1, pos2),
            (lt, ":distance", 200),
            (agent_set_slot, ":cur_agent", 0, ":i_e_p"),
          (try_end),
          (call_script, "script_set_town_walker_destination", ":cur_agent"),
        (try_end),
      ]),

    Kırmızı ile belirttiğim TROOP yazısına kendi istediğiniz troop'u.

    2) Module_Scripts'den şimdi de bunu bulun;

      # script_set_town_walker_destination
      # Input: arg1 = agent_no
      # Output: none
      ("set_town_walker_destination",
        [(store_script_param_1, ":agent_no"),
        (assign, reg0, 9),
        (assign, reg1, 10),
        (assign, reg2, 12),
        (assign, reg3, 32),
        (assign, reg4, 33),
        (assign, reg5, 34),
        (assign, reg6, 35),
        (assign, reg7, 36),
        (assign, reg8, 37),
        (assign, reg9, 3:cool:,
        (assign, reg10, 39),
        (try_for_agents, ":cur_agent"),
          (agent_get_troop_id, ":cur_troop", ":cur_agent"),
          (is_between, ":cur_troop", walkers_begin, walkers_end),
          (agent_get_slot, ":target_entry_point", ":cur_agent", 0),
          (try_begin),
            (eq, ":target_entry_point", 9),
            (assign, reg0, 0),
          (else_try),
            (eq, ":target_entry_point", 10),
            (assign, reg1, 0),
          (else_try),
            (eq, ":target_entry_point", 12),
            (assign, reg2, 0),
          (else_try),
            (eq, ":target_entry_point", 32),
            (assign, reg3, 0),
          (else_try),
            (eq, ":target_entry_point", 33),
            (assign, reg4, 0),
          (else_try),
            (eq, ":target_entry_point", 34),
            (assign, reg5, 0),
          (else_try),
            (eq, ":target_entry_point", 35),
            (assign, reg6, 0),
          (else_try),
            (eq, ":target_entry_point", 36),
            (assign, reg7, 0),
          (else_try),
            (eq, ":target_entry_point", 37),
            (assign, reg8, 0),
          (else_try),
            (eq, ":target_entry_point", 3:cool:,
            (assign, reg9, 0),
          (else_try),
            (eq, ":target_entry_point", 39),
            (assign, reg10, 0),
          (try_end),
        (try_end),
        (assign, ":try_limit", 100),
        (assign, ":target_entry_point", 0),
        (try_for_range, ":unused", 0, ":try_limit"),
          (shuffle_range, 0, 11),
          (gt, reg0, 0),
          (assign, ":target_entry_point", reg0),
          (assign, ":try_limit", 0),
        (try_end),
        (try_begin),
          (gt, ":target_entry_point", 0),
          (agent_set_slot, ":agent_no", 0, ":target_entry_point"),
          (entry_point_get_position, pos1, ":target_entry_point"),
          (try_begin),
            (lt, ":target_entry_point", 32),
            (init_position, pos2),
            (position_set_y, pos2, 250),
            (position_transform_position_to_parent, pos1, pos1, pos2),
          (try_end),
          (agent_set_scripted_destination, ":agent_no", pos1, 0),
          (agent_set_speed_limit, ":agent_no", 5),
        (try_end),
      ]),

    Aşağıdaki ile değiştirin;

      # script_set_town_walker_destination
      # Input: arg1 = agent_no
      # Output: none
      ("set_town_walker_destination",
        [(store_script_param_1, ":agent_no"),
        (assign, reg0, 9),
        (assign, reg1, 10),
        (assign, reg2, 12),
        (assign, reg3, 32),
        (assign, reg4, 33),
        (assign, reg5, 34),
        (assign, reg6, 35),
        (assign, reg7, 36),
        (assign, reg8, 37),
        (assign, reg9, 3:cool:,
        (assign, reg10, 39),
        (try_for_agents, ":cur_agent"),
          (agent_get_troop_id, ":cur_troop", ":cur_agent"),
          (eq, ":cur_troop", "trp_TROOP"),
          (this_or_next|is_between, ":cur_troop", walkers_begin, walkers_end),
          (agent_get_slot, ":target_entry_point", ":cur_agent", 0),
          (try_begin),
            (eq, ":target_entry_point", 9),
            (assign, reg0, 0),
          (else_try),
            (eq, ":target_entry_point", 10),
            (assign, reg1, 0),
          (else_try),
            (eq, ":target_entry_point", 12),
            (assign, reg2, 0),
          (else_try),
            (eq, ":target_entry_point", 32),
            (assign, reg3, 0),
          (else_try),
            (eq, ":target_entry_point", 33),
            (assign, reg4, 0),
          (else_try),
            (eq, ":target_entry_point", 34),
            (assign, reg5, 0),
          (else_try),
            (eq, ":target_entry_point", 35),
            (assign, reg6, 0),
          (else_try),
            (eq, ":target_entry_point", 36),
            (assign, reg7, 0),
          (else_try),
            (eq, ":target_entry_point", 37),
            (assign, reg8, 0),
          (else_try),
            (eq, ":target_entry_point", 3:cool:,
            (assign, reg9, 0),
          (else_try),
            (eq, ":target_entry_point", 39),
            (assign, reg10, 0),
          (try_end),
        (try_end),
        (assign, ":try_limit", 100),
        (assign, ":target_entry_point", 0),
        (try_for_range, ":unused", 0, ":try_limit"),
          (shuffle_range, 0, 11),
          (gt, reg0, 0),
          (assign, ":target_entry_point", reg0),
          (assign, ":try_limit", 0),
        (try_end),
        (try_begin),
          (gt, ":target_entry_point", 0),
          (agent_set_slot, ":agent_no", 0, ":target_entry_point"),
          (entry_point_get_position, pos1, ":target_entry_point"),
          (try_begin),
            (lt, ":target_entry_point", 32),
            (init_position, pos2),
            (position_set_y, pos2, 250),
            (position_transform_position_to_parent, pos1, pos1, pos2),
          (try_end),
          (agent_set_scripted_destination, ":agent_no", pos1, 0),
          (agent_set_speed_limit, ":agent_no", 5),
        (try_end),
      ]),

    Aynı şekilde TROOP yazan yere kendi troop'unuzu yazın.

    3) Bunları uyguladıktan sonra sahneye girdiğinizde 9,10,12,32,33,34,35,36,37,38,39 entry pointlerini elips* şeklinde sahneye dizin. Entry pointlerin arasında nesne olmamasına dikkat edin. Yapay zeka karşısında bir nesne gördüğü zaman kendisine en yakın entry pointe gitmeyi tercih edecektir. Kendisine yakın entry point nesnenin arkasında ise o nesneye çarpacaktır.

    *Elips olması zorunlu değil Çember vs. şekillerde olabilir. Kolay gelsin şimdiden.



    ANALİZ

    1. aşama da yaptığımız trp_TROOP trop'unu hareket eden troopların arasına almak oldu. burada :cur_troop yerel değişkeni yürüyen troopları belirtiyordu. bizde :cur_troop değişkenini kendi troop'umuza eşitledik. Böylece troop'umuzu yürüyen troopların arasına aldık.

    :cur_troop= yürüyen troopları belirten yerel değişken
    eq= eşit demek
    is_between= arasında
    this_or_next= Ya da demek.
    walkers_begin= bunlar module_constants'da bulunur ve muhtemelen birşeye eşdeğerdir. Mesela "trp_town_walker"a eşdeğerdir.
    walkers_end= Yukarıdakiyle hemen hemen aynı.

    (eq, ":cur_troop", "trp_TROOP"),
            (this_or_next|is_between, ":cur_troop", walkers_begin, walkers_end),

    2.Aşamada hangi walkerların  9,10,12,32,33,34,35,36,37,38,39 entry pointleri arasında dolaşacağını belirttik. yukarıdakinin aynısını yaptık belirtmek için. Peki  9,10,12,32,33,34,35,36,37,38,39 entry pointleri arasında dolaşacağını nasıl anladık? 2. aşamadaki script'i incelerseniz, :target_entry_point yerel değişkenlerinde hangi entry pointlere gitmesi gerektiğini belirtmiş. bakınız;

      # script_set_town_walker_destination
      # Input: arg1 = agent_no
      # Output: none
      ("set_town_walker_destination",
        [(store_script_param_1, ":agent_no"),
        (assign, reg0, 9),
        (assign, reg1, 10),
        (assign, reg2, 12),
        (assign, reg3, 32),
        (assign, reg4, 33),
        (assign, reg5, 34),
        (assign, reg6, 35),
        (assign, reg7, 36),
        (assign, reg8, 37),
        (assign, reg9, 3:cool:,
        (assign, reg10, 39),
        (try_for_agents, ":cur_agent"),
          (agent_get_troop_id, ":cur_troop", ":cur_agent"),
          (eq, ":cur_troop", "trp_TROOP"),
          (this_or_next|is_between, ":cur_troop", walkers_begin, walkers_end),
          (agent_get_slot, ":target_entry_point", ":cur_agent", 0),
          (try_begin),
            (eq, ":target_entry_point", 9),
            (assign, reg0, 0),

          (else_try),
            (eq, ":target_entry_point", 10),
            (assign, reg1, 0),
          (else_try),
            (eq, ":target_entry_point", 12),
            (assign, reg2, 0),
          (else_try),
            (eq, ":target_entry_point", 32),
            (assign, reg3, 0),
          (else_try),
            (eq, ":target_entry_point", 33),
            (assign, reg4, 0),
          (else_try),
            (eq, ":target_entry_point", 34),
            (assign, reg5, 0),
          (else_try),
            (eq, ":target_entry_point", 35),
            (assign, reg6, 0),
          (else_try),
            (eq, ":target_entry_point", 36),
            (assign, reg7, 0),
          (else_try),
            (eq, ":target_entry_point", 37),
            (assign, reg8, 0),
          (else_try),
            (eq, ":target_entry_point", 3:cool:,
            (assign, reg9, 0),
          (else_try),
            (eq, ":target_entry_point", 39),
            (assign, reg10, 0),
          (try_end),
        (try_end),
        (assign, ":try_limit", 100),
        (assign, ":target_entry_point", 0),
        (try_for_range, ":unused", 0, ":try_limit"),
          (shuffle_range, 0, 11),
          (gt, reg0, 0),
          (assign, ":target_entry_point", reg0),
          (assign, ":try_limit", 0),
        (try_end),
        (try_begin),
          (gt, ":target_entry_point", 0),
          (agent_set_slot, ":agent_no", 0, ":target_entry_point"),
          (entry_point_get_position, pos1, ":target_entry_point"),
          (try_begin),
            (lt, ":target_entry_point", 32),
            (init_position, pos2),
            (position_set_y, pos2, 250),
            (position_transform_position_to_parent, pos1, pos1, pos2),
          (try_end),
          (agent_set_scripted_destination, ":agent_no", pos1, 0),
          (agent_set_speed_limit, ":agent_no", 5),
        (try_end),
      ]),

    Burada mavi ile belirttiğim yerde reg0'a 9 değerini atamış böylece reg0=9 oldu. Ardından turuncu ile belirttiğim yerde walker 9.entry point'e geldiğinde reg0 değerine 0'ı atamış(reg0=0). Böylece bir kere 9. entry point'e uğrayan walker bir daha aynı entry point'e uğramaya çalışmayacak ve bugta kalmayacaktır.

    assign= değer atamak.  Yukarıdaki reg0 örneği gibi.
    :target_entry_point= hedef entry point

    assign ve eq operasyonlarını anlamayanlar oluyor. Birçok kişi işin başlarında bu operasyonları sürekli karıştırırlar. Tüfekçi başı aşağıda bunları çok güzel tanıtmış.

    Tüfekçi Başı said:
    assign yani ata demek "sana 10 numaralı formayı veriyorum" demek.
    eq yani eşit demek "senin forman numaran 10" demek.

    Şimdi yüklüyo inşallah olmuştur...
  18. yusuf00ozer

    Sahneye Canlı İnsan ekleme Kodu

    Lazhier said:
    Arkadaşlar uğraşlarım sonucunda sahneye insan ekleme kodunu buldum öncelikle ilham aldığım arkadaşım buz onun canlı at ekleme kodundan ilham aldım biraz kod üzerinde oynadım deneme yanılma ile buldum forumda kimse bu konuda bilgi vermiyor okadar soruldu cevap verenler ise çok karmaşık bir kod ile anlatıyordu ama en basit yöntemle siz anlatayım öncelikle modul_troopsda
    şu satırı buluyoruz
    Code:
    ["spy_walker_1","Townsman","Townsmen",tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_commoners,[itm_short_tunic,itm_linen_tunic,itm_coarse_tunic,itm_tabard,itm_leather_vest,itm_robe,itm_leather_apron,itm_shirt,itm_woolen_hose,itm_nomad_boots,itm_blue_hose,itm_hide_boots,itm_ankle_boots,itm_leather_boots,itm_fur_hat,itm_leather_cap,itm_straw_hat,itm_felt_hat],def_attrib|level(4),wp(60),knows_common,man_face_middle_1,man_face_old_2],
    ["spy_walker_2","Townswoman","Townswomen",tf_female|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_commoners,[itm_blue_dress,itm_dress,itm_woolen_dress,itm_peasant_dress,itm_woolen_hose,itm_blue_hose,itm_wimple_a,itm_wimple_with_veil,itm_female_hood],def_attrib|level(2),wp(40),knows_common,woman_face_1,woman_face_2],

    hemen altına istediğiniz tropu ekliyorsunuz
    ben şöyle yaptım

    Code:
    ["spy_walker_1","Townsman","Townsmen",tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_commoners,[itm_short_tunic,itm_linen_tunic,itm_coarse_tunic,itm_tabard,itm_leather_vest,itm_robe,itm_leather_apron,itm_shirt,itm_woolen_hose,itm_nomad_boots,itm_blue_hose,itm_hide_boots,itm_ankle_boots,itm_leather_boots,itm_fur_hat,itm_leather_cap,itm_straw_hat,itm_felt_hat],def_attrib|level(4),wp(60),knows_common,man_face_middle_1,man_face_old_2],
    ["spy_walker_2","Townswoman","Townswomen",tf_female|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_commoners,[itm_blue_dress,itm_dress,itm_woolen_dress,itm_peasant_dress,itm_woolen_hose,itm_blue_hose,itm_wimple_a,itm_wimple_with_veil,itm_female_hood],def_attrib|level(2),wp(40),knows_common,woman_face_1,woman_face_2],
    ["Muhafiz", "Faroz Koruma Askeri", "Faroz Koruma Askeri", tf_guarantee_all|tf_male|tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_gloves|tf_guarantee_horse|tf_guarantee_shield, scn_askerikamp|entry(3), reserved, fac_commoners, [itm_strange_armor,itm_strange_boots,itm_strange_helmet,itm_strange_sword,itm_strange_great_sword,itm_strange_short_sword,itm_leather_gloves], def_attrib|level(200), wp(100), knows_common|knows_riding_10|knows_ironflesh_10|knows_shield_10|knows_power_strike_10, mercenary_face_1, mercenary_face_2 ],

    daha sonra build module deyip tropumuzu kaydediyoruz

    sonra module scane propsda en alta ] işaretinden önce şu kodu ekliyoruz

    ###muhafiz
    ("muhafiz",sokf_invisible,"walker","0",[(ti_on_init_scene_prop,
    [
    (store_trigger_param_1, ":instance_no"),
    (prop_instance_get_position, pos1, ":instance_no"),
    (set_spawn_position, pos1),
    (spawn_agent,"trp_muhafiz")   
    ])]),
    ###muhafiz

    burda dikkat edilecek nokta kırmızı ile yazdığım yer buraya verdiğiniz isim edit menüde görünecek isim mavi le yazdığım yer ise tropunuzun ismi

    ama isterseniz ben şehrimde birkaç şehirli daha dolaşşsın istiyorum derseniz direk hiç trop eklmeden şu kodu girin scane propsada en alta

    ###insanekleme
    ("erkek",sokf_invisible,"walk_forward","0",[(ti_on_init_scene_prop,
    [
    (store_trigger_param_1, ":instance_no"),
    (prop_instance_get_position, pos1, ":instance_no"),
    (set_spawn_position, pos1),
    (spawn_agent,"trp_spy_walker_1")   
    ])]),

    ###insanekleme

    ###insanekleme
    ("Kadin",sokf_invisible,"walk_forward","0",[(ti_on_init_scene_prop,
    [
    (store_trigger_param_1, ":instance_no"),
    (prop_instance_get_position, pos1, ":instance_no"),
    (set_spawn_position, pos1),
    (spawn_agent,"trp_spy_walker_2")   
    ])]),

    ###insanekleme

    daha sonra sahnenize gelin ctrl+e ile edit menüyü açıp ordan ekleyein burda dikkat edilecek tek şey sahnenin doğru noktasına eklerseniz dolaşıyor aksi taktirde önünde engel varsa öyle sap gibi kalıyor :grin: yani yönünü boşluğa vermeniz gerek

    kolay gelsin

    bana yardım edebilir misiniz baştaki yeri anlamadımda
  19. yusuf00ozer

    [OSP][ANIM] Hz. Whitehead'ın Animasyon Şatosu

    BayEjderya said:
    buz said:
    sana helal olsun ejder çok güzel bi konu!  :party:

    bence buralar yakın zamanda önerilerle dolup taşar. ben şimdilik bu videoyu bırakıp kaçayım daha sonra yine uğrarım.

    Teşekkür ederim.  :party:

    yenilerini de yap lütfen
Back
Top Bottom