[WB]Modül Sistem Platformu [Krallık ekleme dersi yenilendi!]

Users who are viewing this thread

Lt.Ghost said:
İsyan eklenebilir mi? :twisted:
İlk olarak,Belendor'un istila sisteminin bir değişiğini yapmak gerekir.Mesela,1 defada olmak üzere,bir zamanda ortaya çıkacak partiler.Gösterdiğimiz şehri işgal ederler.Ama o partiler bize de düşman olmalı.Eğer onları durduracaksak.Neyse.Sonra,o partilerden kaçtane olması gerektiğini yapman gerek.Yani,100 tane yapacaksan,ki bence oyunun içine eder :grin:,en az 10 tane yeter.Neyse.Daha sonra,AI yı ayarlamak gerek onların hep oraya saldırması için.Ama bir sorun daha var.Adamlar ya düşman ülkenin lordlarını görüpte ya kaçarsa veya kovalarsa ? orası sorun işte.
 
HyperCharge said:
Yeni ders Geldi!
Ülkelerin yeniden doğması!

Modumda olan,olmazsa olmaz dediğim özelliklerden birisi.

Eğer krallık yıkılırsa,ve o krallığın bir lordu size gelmişse,siz de onu üzecek birşey yaparsanız eski yıkılmış krallığı geri kuruyor.Kral da diğer lordlar da geri geliyor.Çok sinir bozucu olabiliyor.Ama Gerçekçiliğe bir adım daha yaklaşmış olunuyor.

Konu Sahibi; Source code of Restoration

Sahibi ; Rubik

Bu derste,bazı hatalar verdi.Onları düzelttim.Düzelttiğimi de veriyorum size :smile: ;

Açın module_simple_triggers'ı,şunu bulun;

Code:
(1,
   [
     (eq, "$cheat_mode", 1),
     (try_for_range, ":center_no", centers_begin, centers_end),
       (party_get_battle_opponent, ":besieger_party", ":center_no"),
       (try_begin),
         (gt, ":besieger_party", 0),
         (str_store_party_name, s2, ":center_no"),
         (str_store_party_name, s3, ":besieger_party"),
         (display_message, "@{!}DEBUG : {s2} is besieging by {s3}"),
       (try_end),
     (try_end),    
     ]),

Bunun altına da aynı hizada olacak şekilde şunu ekleyin;
Code:
# restoration begin
  # Note: make sure there is a comma in the entry behind this one
  (24,
    [
      (try_for_range, ":cur_troop", heroes_begin, heroes_end),
        (troop_slot_eq, ":cur_troop", slot_troop_occupation, slto_kingdom_hero),
        (troop_get_slot, ":original_faction", ":cur_troop", slot_troop_original_faction),
        (neg|faction_slot_eq, ":original_faction", slot_faction_state, sfs_active),
        (store_troop_faction, ":faction_no", ":cur_troop"),
        (neq, ":faction_no", ":original_faction"),
        
        (assign, ":num_walled_centers", 0),
        (try_for_range, ":walled_center", walled_centers_begin, walled_centers_end),
          (party_slot_eq, ":walled_center", slot_town_lord, ":cur_troop"),
          (val_add, ":num_walled_centers", 1),
        (try_end),
        (gt, ":num_walled_centers", 0), ## has a walled center
        
        (store_sub, ":original_king", ":original_faction", fac_kingdom_1),
        (val_add, ":original_king", "trp_kingdom_1_lord"),
        (faction_set_slot, ":original_faction", slot_faction_leader, ":original_king"),
        
        (call_script, "script_change_troop_faction", ":cur_troop", ":original_faction"),
        (try_for_range, ":cur_troop_2", heroes_begin, heroes_end),
          (troop_slot_eq, ":cur_troop_2", slot_troop_occupation, slto_kingdom_hero),
          (neg|is_between, ":cur_troop_2", pretenders_begin, pretenders_end),
          (neq, ":cur_troop_2", ":cur_troop"),
          (troop_get_slot, ":original_faction_2", ":cur_troop_2", slot_troop_original_faction),
          (store_troop_faction, ":faction_no_2", ":cur_troop_2"),
          (eq, ":original_faction_2", ":original_faction"),
          (neq, ":faction_no_2", ":original_faction"),
          (troop_set_slot, ":cur_troop_2", slot_troop_change_to_faction, ":original_faction"),
        (try_end),
        (call_script, "script_add_notification_menu", "mnu_notification_kingdom_restoration", ":cur_troop", ":faction_no"),
      (try_end),
    ]),
  ## restoration end

Daha sonra,Module_game_menus'u açın,ve En alttaki "]" işaretinden öncesine şunu ekleyin;

Code:
# restoration begin
  (
    "notification_kingdom_restoration",0,
    "Restoration^^{s11} of {s13} gets a fief from {s12}, {s13} is restored! All lords of {s13} include {s14} will come back to {s13} later.",
    "none",
    [
      (troop_get_slot, ":original_faction", "$g_notification_menu_var1", slot_troop_original_faction),
      (faction_get_slot, ":original_king", ":original_faction", slot_faction_leader),
      (str_store_troop_name, s11, "$g_notification_menu_var1"),
      (str_store_faction_name, s12, "$g_notification_menu_var2"),
      (str_store_faction_name, s13, ":original_faction"),
      (str_store_troop_name, s14, ":original_king"),
      
      (set_fixed_point_multiplier, 100),
      (position_set_x, pos0, 65),
      (position_set_y, pos0, 30),
      (position_set_z, pos0, 170),
      (try_begin),
        (is_between, ":original_faction", "fac_kingdom_1", kingdoms_end), #Excluding player kingdom
        (set_game_menu_tableau_mesh, "tableau_faction_note_mesh_for_menu", ":original_faction", pos0),
      (else_try),
        (set_game_menu_tableau_mesh, "tableau_faction_note_mesh_banner", ":original_faction", pos0),
      (try_end),
      ],
    [
      ("continue",[],"Continue...", 
        [
          (troop_get_slot, ":original_faction", "$g_notification_menu_var1", slot_troop_original_faction),
          ## start peace
          (try_for_range, ":cur_kingdom", kingdoms_begin, kingdoms_end),
            (neq, ":cur_kingdom", ":original_faction"),
            (neq, ":cur_kingdom", "$g_notification_menu_var2"),
            (call_script, "script_diplomacy_start_peace_between_kingdoms", ":cur_kingdom", ":original_faction", 0),
          (try_end),
          ## start war
          (call_script, "script_diplomacy_start_war_between_kingdoms", "$g_notification_menu_var2", ":original_faction", 1),
          (call_script, "script_update_all_notes"),
          (change_screen_return),
        ]),
     ]
  ),
  ## restoration end

Son olarak,Bu kodların bir de bugu varmış Nativenin modül sisteminde.bunu düzeltmek gerek.yoksa düzgün çalışmayacaktır.

Açın tekrardan module_simple_triggers'ı,Şunu bulun;
Code:
#checking if the party is away from his original faction parties
        (assign, ":end_cond", kingdom_heroes_end),
        (try_for_range, ":enemy_troop_no", kingdom_heroes_begin, ":end_cond"),
          (troop_get_slot, ":enemy_party_no", ":enemy_troop_no", slot_troop_leaded_party),
          (gt, ":enemy_party_no", 0),
          (store_faction_of_party, ":enemy_faction_no", ":enemy_party_no"),
          (eq, ":enemy_faction_no", ":faction_no"),
          (store_distance_to_party_from_party, ":dist", ":party_no", ":enemy_party_no"),
          (lt, ":dist", 4),
          (assign, ":end_cond", 0),
        (try_end),

Bulduktan sonra,oraya şunu ekleyin;

Code:
## bugfix - must not include himself
          (neq, ":enemy_troop_no", ":troop_no"),
          ## bugfix

Şöyle gözükmesi gerekiyor.;;

#checking if the party is away from his original faction parties
        (assign, ":end_cond", active_npcs_end),
        (try_for_range, ":enemy_troop_no", active_npcs_begin, ":end_cond"),
          ## bugfix - must not include himself
          (neq, ":enemy_troop_no", ":troop_no"),
          ## bugfix
(troop_slot_eq, ":enemy_troop_no", slot_troop_occupation, slto_kingdom_hero),
          (troop_get_slot, ":enemy_party_no", ":enemy_troop_no", slot_troop_leaded_party),
          (party_is_active, ":enemy_party_no"),
          (store_faction_of_party, ":enemy_faction_no", ":enemy_party_no"),
          (eq, ":enemy_faction_no", ":faction_no"),
          (store_distance_to_party_from_party, ":dist", ":party_no", ":enemy_party_no"),
          (lt, ":dist", 4),
          (assign, ":end_cond", 0),
        (try_end),
Kırmızılar,Nativede ki kodlar.Maviler,size koymanızı istediğim kodlar.Bunun gibi yapmanızı tavsiye ederim.

Bu gün kü son ders.Veya bu hafta ki :smile:

Bir daha ki derste İsyan sistemi ile karşınızda olacağım. :wink:

Hep aradığım şey eline sağlık :grin:

Yeni görev ekleme dersini yapabilir misin?
 
KhergitKhan said:
HyperCharge said:
Yeni ders Geldi!
Ülkelerin yeniden doğması!

Modumda olan,olmazsa olmaz dediğim özelliklerden birisi.

Eğer krallık yıkılırsa,ve o krallığın bir lordu size gelmişse,siz de onu üzecek birşey yaparsanız eski yıkılmış krallığı geri kuruyor.Kral da diğer lordlar da geri geliyor.Çok sinir bozucu olabiliyor.Ama Gerçekçiliğe bir adım daha yaklaşmış olunuyor.

Konu Sahibi; Source code of Restoration

Sahibi ; Rubik

Bu derste,bazı hatalar verdi.Onları düzelttim.Düzelttiğimi de veriyorum size :smile: ;

Açın module_simple_triggers'ı,şunu bulun;

Code:
(1,
   [
     (eq, "$cheat_mode", 1),
     (try_for_range, ":center_no", centers_begin, centers_end),
       (party_get_battle_opponent, ":besieger_party", ":center_no"),
       (try_begin),
         (gt, ":besieger_party", 0),
         (str_store_party_name, s2, ":center_no"),
         (str_store_party_name, s3, ":besieger_party"),
         (display_message, "@{!}DEBUG : {s2} is besieging by {s3}"),
       (try_end),
     (try_end),    
     ]),

Bunun altına da aynı hizada olacak şekilde şunu ekleyin;
Code:
# restoration begin
  # Note: make sure there is a comma in the entry behind this one
  (24,
    [
      (try_for_range, ":cur_troop", heroes_begin, heroes_end),
        (troop_slot_eq, ":cur_troop", slot_troop_occupation, slto_kingdom_hero),
        (troop_get_slot, ":original_faction", ":cur_troop", slot_troop_original_faction),
        (neg|faction_slot_eq, ":original_faction", slot_faction_state, sfs_active),
        (store_troop_faction, ":faction_no", ":cur_troop"),
        (neq, ":faction_no", ":original_faction"),
        
        (assign, ":num_walled_centers", 0),
        (try_for_range, ":walled_center", walled_centers_begin, walled_centers_end),
          (party_slot_eq, ":walled_center", slot_town_lord, ":cur_troop"),
          (val_add, ":num_walled_centers", 1),
        (try_end),
        (gt, ":num_walled_centers", 0), ## has a walled center
        
        (store_sub, ":original_king", ":original_faction", fac_kingdom_1),
        (val_add, ":original_king", "trp_kingdom_1_lord"),
        (faction_set_slot, ":original_faction", slot_faction_leader, ":original_king"),
        
        (call_script, "script_change_troop_faction", ":cur_troop", ":original_faction"),
        (try_for_range, ":cur_troop_2", heroes_begin, heroes_end),
          (troop_slot_eq, ":cur_troop_2", slot_troop_occupation, slto_kingdom_hero),
          (neg|is_between, ":cur_troop_2", pretenders_begin, pretenders_end),
          (neq, ":cur_troop_2", ":cur_troop"),
          (troop_get_slot, ":original_faction_2", ":cur_troop_2", slot_troop_original_faction),
          (store_troop_faction, ":faction_no_2", ":cur_troop_2"),
          (eq, ":original_faction_2", ":original_faction"),
          (neq, ":faction_no_2", ":original_faction"),
          (troop_set_slot, ":cur_troop_2", slot_troop_change_to_faction, ":original_faction"),
        (try_end),
        (call_script, "script_add_notification_menu", "mnu_notification_kingdom_restoration", ":cur_troop", ":faction_no"),
      (try_end),
    ]),
  ## restoration end

Daha sonra,Module_game_menus'u açın,ve En alttaki "]" işaretinden öncesine şunu ekleyin;

Code:
# restoration begin
  (
    "notification_kingdom_restoration",0,
    "Restoration^^{s11} of {s13} gets a fief from {s12}, {s13} is restored! All lords of {s13} include {s14} will come back to {s13} later.",
    "none",
    [
      (troop_get_slot, ":original_faction", "$g_notification_menu_var1", slot_troop_original_faction),
      (faction_get_slot, ":original_king", ":original_faction", slot_faction_leader),
      (str_store_troop_name, s11, "$g_notification_menu_var1"),
      (str_store_faction_name, s12, "$g_notification_menu_var2"),
      (str_store_faction_name, s13, ":original_faction"),
      (str_store_troop_name, s14, ":original_king"),
      
      (set_fixed_point_multiplier, 100),
      (position_set_x, pos0, 65),
      (position_set_y, pos0, 30),
      (position_set_z, pos0, 170),
      (try_begin),
        (is_between, ":original_faction", "fac_kingdom_1", kingdoms_end), #Excluding player kingdom
        (set_game_menu_tableau_mesh, "tableau_faction_note_mesh_for_menu", ":original_faction", pos0),
      (else_try),
        (set_game_menu_tableau_mesh, "tableau_faction_note_mesh_banner", ":original_faction", pos0),
      (try_end),
      ],
    [
      ("continue",[],"Continue...", 
        [
          (troop_get_slot, ":original_faction", "$g_notification_menu_var1", slot_troop_original_faction),
          ## start peace
          (try_for_range, ":cur_kingdom", kingdoms_begin, kingdoms_end),
            (neq, ":cur_kingdom", ":original_faction"),
            (neq, ":cur_kingdom", "$g_notification_menu_var2"),
            (call_script, "script_diplomacy_start_peace_between_kingdoms", ":cur_kingdom", ":original_faction", 0),
          (try_end),
          ## start war
          (call_script, "script_diplomacy_start_war_between_kingdoms", "$g_notification_menu_var2", ":original_faction", 1),
          (call_script, "script_update_all_notes"),
          (change_screen_return),
        ]),
     ]
  ),
  ## restoration end

Son olarak,Bu kodların bir de bugu varmış Nativenin modül sisteminde.bunu düzeltmek gerek.yoksa düzgün çalışmayacaktır.

Açın tekrardan module_simple_triggers'ı,Şunu bulun;
Code:
#checking if the party is away from his original faction parties
        (assign, ":end_cond", kingdom_heroes_end),
        (try_for_range, ":enemy_troop_no", kingdom_heroes_begin, ":end_cond"),
          (troop_get_slot, ":enemy_party_no", ":enemy_troop_no", slot_troop_leaded_party),
          (gt, ":enemy_party_no", 0),
          (store_faction_of_party, ":enemy_faction_no", ":enemy_party_no"),
          (eq, ":enemy_faction_no", ":faction_no"),
          (store_distance_to_party_from_party, ":dist", ":party_no", ":enemy_party_no"),
          (lt, ":dist", 4),
          (assign, ":end_cond", 0),
        (try_end),

Bulduktan sonra,oraya şunu ekleyin;

Code:
## bugfix - must not include himself
          (neq, ":enemy_troop_no", ":troop_no"),
          ## bugfix

Şöyle gözükmesi gerekiyor.;;

#checking if the party is away from his original faction parties
        (assign, ":end_cond", active_npcs_end),
        (try_for_range, ":enemy_troop_no", active_npcs_begin, ":end_cond"),
          ## bugfix - must not include himself
          (neq, ":enemy_troop_no", ":troop_no"),
          ## bugfix
(troop_slot_eq, ":enemy_troop_no", slot_troop_occupation, slto_kingdom_hero),
          (troop_get_slot, ":enemy_party_no", ":enemy_troop_no", slot_troop_leaded_party),
          (party_is_active, ":enemy_party_no"),
          (store_faction_of_party, ":enemy_faction_no", ":enemy_party_no"),
          (eq, ":enemy_faction_no", ":faction_no"),
          (store_distance_to_party_from_party, ":dist", ":party_no", ":enemy_party_no"),
          (lt, ":dist", 4),
          (assign, ":end_cond", 0),
        (try_end),
Kırmızılar,Nativede ki kodlar.Maviler,size koymanızı istediğim kodlar.Bunun gibi yapmanızı tavsiye ederim.

Bu gün kü son ders.Veya bu hafta ki :smile:

Bir daha ki derste İsyan sistemi ile karşınızda olacağım. :wink:

Hep aradığım şey eline sağlık :grin:

Yeni görev ekleme dersini yapabilir misin?

İşine yaradıysa Ne mutlu bana :smile:

Onu da eklerim.Ama önce isyan sisteminin eksiklerini giderip modumda denemem gerek :grin:

Modül sistem hakkında geniş bir ders yapacağım.Klavye rahmetli olacak sanırım :grin:
 
Arkadaşlar sanırım boy farklılıkları ile ilgili bir ders buldum.Çevireyimmi dersiniz ?(Modumda fena olur be !!!)

http://forums.taleworlds.com/index.php/topic,168513.msg4093586.html#msg4093586
 
HyperCharge said:
Arkadaşlar sanırım boy farklılıkları ile ilgili bir ders buldum.Çevireyimmi dersiniz ?(Modumda fena olur be !!!)

http://forums.taleworlds.com/index.php/topic,168513.msg4093586.html#msg4093586

Mıodunda da çok güzel durur diye düşünüyorum.Erkekler biraz daha uzun felan.Mesela Lezalit ile Marnid arasına bir boy farkı koyarsın.Sonuçta Lezalit savaşçı boyunun daha uzun olması normal.

Çevirmen de harika olacak.Bence yap :grin:
 
KhergitKhan said:
HyperCharge said:
Arkadaşlar sanırım boy farklılıkları ile ilgili bir ders buldum.Çevireyimmi dersiniz ?(Modumda fena olur be !!!)

http://forums.taleworlds.com/index.php/topic,168513.msg4093586.html#msg4093586

Mıodunda da çok güzel durur diye düşünüyorum.Erkekler biraz daha uzun felan.Mesela Lezalit ile Marnid arasına bir boy farkı koyarsın.Sonuçta Lezalit savaşçı boyunun daha uzun olması normal.

Çevirmen de harika olacak.Bence yap :grin:

Şu isyan sistemi bitsin paso buna odaklanacağım.modda lezalit diye birşey geçmeyecek :grin:

Harbiden harika olur ya.ama detayı fazla olur.İçinden çıkılamayacak kadar.Mesela,her troopun boyu falan zibilyon tane troop var oyunda.Ama buna bir çare olarak da,o trooplardan 1 tane yaratıp 1000000 tane üretmek çok iyi birşey.Yani,troop işi hiç sıkmayacaktır.Hatta bununla çocuk bile yaparım ben :grin:
 
KhergitKhan said:
Modun tüm forumu yerinden oynatıcak diye düşünüyorum.Başarılar :grin:

Peki modunu konu olarak ne zaman açacaksın? Sabırsızım da :grin:

Bittiği zaman açacağım.gerçekçiliğe çok önem verdim.Bu boy özelliği de onlardan biri olacak.
 
Black Dead said:
Ya hocam senle bir mod yapalım ya :grin:

Senin moda ne oldu yav ?

Farketmez benim için. :smile:

Ama senin de modun yani yaptığın bir mod varsa,buna hayır derim.Gerçii kardeş mod olabiliriz. :smile:.Ama Caliph buna izin verirmi bilemem.Mod geliştirmedeki kurallara bakın isterseniz.Orada yazar.
 
Black Dead said:
Yok o olaylar biterse.
Olur vallaha.Yardımcı kodlamacıya ihtiyacım var.İtemleri kaplayacak biri ve iskelet eklemesini bilen biri gerek malum çocuk eklemeye çalışıyorum oyuna D:

Neyse.Bunu özelden konuşalım. :smile:
 
Back
Top Bottom