[M2:TW] Proseminar Scripting - Lehreinheit IV

Hier wird das modden erlernt

Moderatoren: Modding - Moddingschule, Moderatoren

Benutzeravatar
Matze_THe_OnE
Princeps Posterior
Princeps Posterior
Beiträge: 1140
Registriert: 3. Dezember 2010 14:47

Re: [M2:TW] Proseminar Scripting - Lehreinheit IV

Beitragvon Matze_THe_OnE » 15. Januar 2011 19:50

Macht echt nichts. :) :strategie_zone_4:
Das mit dem Gebäude funktioniert. Da macht das ä oder ü oder ö nichts aus. Das ist schon ausprobiert.
Das mit dem inc_event_counter muss ich noch ändern.

Dann mein letzter monitor Problem Spezialerklärung:
Wenn ich es so lassen würde ohne den letzten Monitor, dann würde ich, wenn ich in 3 Städten den Holzfäller hab und nix mehr erobere trotzdem nach 20 Runden der Counter auf über 50 sein und ich will ja, dass sich der nur erhöht, wenn man in einer neuen Stadt einen Holzfäller baut. Und deswegen will ich den praktisch jede Runde neu überprüfen lassen, damit das ganze dynamisch ist.
Problem dabei ist nur, dass ich ja trotzdem will, dass man das zusätzliche Geld auch bekommt. Wenn ich den Counter nämlich vor dem Geldbekommen auf 1 wieder setzte und er erst nach dem Geldbekommen wieder auf 5 oder so wächst, dann bekomm man ja garkein extra Geld durch die Holzsägerei. Ich hoff, dass es jetzt klarer ist.
Heutzutage ist kaum etwas Realistischer als Utopien.

"Es gibt ein sizilianisches Sprichwort: Ich habe nichts gesehen, ich habe nichts gehört, ich war nie dort, und wenn doch, habe ich geschlafen." (Pater Vitorio - Hitman 2: Silent Assassin)

Benutzeravatar
Amon Amarth 930
Hastatus Prior
Hastatus Prior
Beiträge: 1694
Registriert: 19. November 2010 16:58
Wohnort: Xanten
:
Modder

Re: [M2:TW] Proseminar Scripting - Lehreinheit IV

Beitragvon Amon Amarth 930 » 15. Januar 2011 19:52

Ach so, jetzt kapier ich das Problem auch mal genau ^^

Gut, das Problem ist hier, dass es über die EDB gar nicht wirklich möglich ist. Ich würde hier dann vll. viel mehr mit If arbeiten und einen bestimmten Geld-Betrag hinzufügen mit add_money.

Benutzeravatar
Matze_THe_OnE
Princeps Posterior
Princeps Posterior
Beiträge: 1140
Registriert: 3. Dezember 2010 14:47

Re: [M2:TW] Proseminar Scripting - Lehreinheit IV

Beitragvon Matze_THe_OnE » 15. Januar 2011 19:58

Darüber könnte ich mal nachdenken. :strategie_zone_41: :strategie_zone_41: Ich glaube, dass ich das dann auch machen werde. :strategie_zone_50:
Dann kann ich gleich noch den Fehler mit dem inc_event_counter verbessern.

Offtopic: Hast du schon einen Coder für dein Gothic TW Team gefunden? Ich will, das die Mod mit den genialen Einheiten endlich rauskommt. :strategie_zone_5: :)
Heutzutage ist kaum etwas Realistischer als Utopien.

"Es gibt ein sizilianisches Sprichwort: Ich habe nichts gesehen, ich habe nichts gehört, ich war nie dort, und wenn doch, habe ich geschlafen." (Pater Vitorio - Hitman 2: Silent Assassin)

Benutzeravatar
Amon Amarth 930
Hastatus Prior
Hastatus Prior
Beiträge: 1694
Registriert: 19. November 2010 16:58
Wohnort: Xanten
:
Modder

Re: [M2:TW] Proseminar Scripting - Lehreinheit IV

Beitragvon Amon Amarth 930 » 15. Januar 2011 20:01

Ist zumindest praktischer und anwenderfreundlicher.
Die EDB hat leider die etwas unschöne Eigenschaft ständig ärger zu machen... sei es in Form von CtD´s oder der einfachen Sturheit das nichts funktioniert. Wie oft habe ich mich schon über die Datei aufgeregt wenn ich über das Script damit arbeiten wollte :strategie_zone_45:

Benutzeravatar
Matze_THe_OnE
Princeps Posterior
Princeps Posterior
Beiträge: 1140
Registriert: 3. Dezember 2010 14:47

Re: [M2:TW] Proseminar Scripting - Lehreinheit IV

Beitragvon Matze_THe_OnE » 15. Januar 2011 20:07

Mit der edb hatte ich bisher noch keine großen Probleme. Nur mit der edb zusammen mit der export_buildings.txt. Wenn man da etwas zu viel rauslöscht, kann man Suchen bis man nur noch schwarz vor den Augen sieht. Oder man hat Glück und findet den Fehler schon nach 2 Stunden. ^^ :strategie_zone_103:
Heutzutage ist kaum etwas Realistischer als Utopien.

"Es gibt ein sizilianisches Sprichwort: Ich habe nichts gesehen, ich habe nichts gehört, ich war nie dort, und wenn doch, habe ich geschlafen." (Pater Vitorio - Hitman 2: Silent Assassin)

Benutzeravatar
Matze_THe_OnE
Princeps Posterior
Princeps Posterior
Beiträge: 1140
Registriert: 3. Dezember 2010 14:47

Re: [M2:TW] Proseminar Scripting - Lehreinheit IV

Beitragvon Matze_THe_OnE » 17. Januar 2011 21:23

Hab das Script überarbeitet (mit add_money usw.). Und jetzt funktioniert es auch, so wie ich will.
Beschreibung: Es bleibt alles gleich, außer dass man jetzt keine besseren Gebäudeboni bekommt sondern das Geld per console_command am Anfang der Runde.

script:
Spoiler (Öffnen)

Code: Alles auswählen

;;;;;;;;;;;
;; 03.UE ;;
;;;;;;;;;;;
;Test, ob in Novgorod der große Holzfäller gebaut ist.

declare_counter holdnovgorod

monitor_event FactionTurnStart FactionIsLocal
and I_LocalFaction russia
and I_SettlementOwner Novgorod = russia
and FactionBuildingExists >= holzsägerei
set_counter holdnovgorod 1
end_monitor

;wenn ja dann event_counter holz erschaffen

monitor_event FactionTurnStart FactionIsLocal
and I_CompareCounter holdnovgorod = 1
add_events
event historic holz
end_add_events
set_event_counter holz 0
end_monitor

; Holzscript Novgorod
monitor_event SettlementTurnEnd FactionIsLocal
and SettlementBuildingExists = holzfäller
and I_SettlementOwner Novgorod = russia
and I_LocalFaction russia
and I_CompareCounter holdnovgorod = 1
inc_event_counter holz 1
end_monitor

; Holzscript Helsinki
monitor_event SettlementTurnEnd FactionIsLocal
and SettlementBuildingExists = holzfäller_c
and I_SettlementOwner Helsinki = russia
and I_LocalFaction russia
and I_CompareCounter holdnovgorod = 1
inc_event_counter holz 1
end_monitor

; Holzscript Vilnius
monitor_event SettlementTurnEnd FactionIsLocal
and SettlementBuildingExists = holzfäller_c
and I_SettlementOwner Vilnius = russia
and I_LocalFaction russia
and I_CompareCounter holdnovgorod = 1
inc_event_counter holz 1
end_monitor

; Holzscript Riga
monitor_event SettlementTurnEnd FactionIsLocal
and SettlementBuildingExists = holzfäller
and I_SettlementOwner Riga = russia
and I_LocalFaction russia
and I_CompareCounter holdnovgorod = 1
inc_event_counter holz 1
end_monitor

; Holzscript Smolensk
monitor_event SettlementTurnEnd FactionIsLocal
and SettlementBuildingExists = holzfäller_c
and I_SettlementOwner Smolensk = russia
and I_LocalFaction russia
and I_CompareCounter holdnovgorod = 1
inc_event_counter holz 1
end_monitor

; Holzscript Moscow
monitor_event SettlementTurnEnd FactionIsLocal
and SettlementBuildingExists = holzfäller
and I_SettlementOwner Moscow = russia
and I_LocalFaction russia
and I_CompareCounter holdnovgorod = 1
inc_event_counter holz 1
end_monitor

; Holzscript Kiev
monitor_event SettlementTurnEnd FactionIsLocal
and SettlementBuildingExists = holzfäller
and I_SettlementOwner Kiev = russia
and I_LocalFaction russia
and I_CompareCounter holdnovgorod = 1
inc_event_counter holz 1
end_monitor

; Holzscript Ryazan
monitor_event SettlementTurnEnd FactionIsLocal
and SettlementBuildingExists = holzfäller_c
and I_SettlementOwner Ryazan = russia
and I_LocalFaction russia
and I_CompareCounter holdnovgorod = 1
inc_event_counter holz 1
end_monitor

; Endlich Geldbekommen

monitor_event PreFactionTurnStart FactionIsLocal
and I_CompareCounter holdnovgorod = 1

if I_EventCounter holz = 1
console_command add_money russia, 800
end_if

if I_EventCounter holz = 2
console_command add_money russia, 1600
end_if

if I_EventCounter holz = 3
console_command add_money russia, 2800
end_if

if I_EventCounter holz = 4
console_command add_money russia, 3900
end_if

if I_EventCounter holz = 5
console_command add_money russia, 5000
end_if

if I_EventCounter holz = 6
console_command add_money russia, 6100
end_if

if I_EventCounter holz = 7
console_command add_money russia, 7200
end_if

if I_EventCounter holz = 8
console_command add_money russia, 8300
end_if

end_monitor

;Refresh
monitor_event FactionTurnStart FactionIsLocal

and I_LocalFaction russia
and I_EventCounter holz > 0
set_event_counter holz 0

end_monitor


edb:
Spoiler (Öffnen)

Code: Alles auswählen

building holzfäller
{
    levels holzfäller
    {
        holzfäller city requires factions { russia, }
        {
            capability
            {
                trade_base_income_bonus bonus 1
            }
            material wooden
            construction  1
            cost  1200
            settlement_min town
            upgrades
            {
            }
        }
    }
    plugins
    {
    }
}
building holzfäller_c
{
    levels holzfäller_c
    {
        holzfäller_c castle requires factions { russia, }
        {
            capability
            {
                trade_base_income_bonus bonus 1
            }
            material wooden
            construction  1
            cost  1200
            settlement_min town
            upgrades
            {
            }
        }
    }
    plugins
    {
    }
}
building holzsägerei
{
    levels holzsägerei
    {
        holzsägerei city requires factions { russia, } and hidden_resource novgorod
        {
            capability
            {
            trade_base_income_bonus bonus 3
            }
            material wooden
            construction  1
            cost  2400
            settlement_min town
            upgrades
            {
            }
        }
    }
    plugins
    {
    }
}
Heutzutage ist kaum etwas Realistischer als Utopien.

"Es gibt ein sizilianisches Sprichwort: Ich habe nichts gesehen, ich habe nichts gehört, ich war nie dort, und wenn doch, habe ich geschlafen." (Pater Vitorio - Hitman 2: Silent Assassin)

Benutzeravatar
Amon Amarth 930
Hastatus Prior
Hastatus Prior
Beiträge: 1694
Registriert: 19. November 2010 16:58
Wohnort: Xanten
:
Modder

Re: [M2:TW] Proseminar Scripting - Lehreinheit IV

Beitragvon Amon Amarth 930 » 17. Januar 2011 21:30

Supi wenns jetzt funktioniert.
Gute Idee und schönes Script übrigens!

Auch wenns vll. ein bischen viel geld ist :strategie_zone_9:

Benutzeravatar
Matze_THe_OnE
Princeps Posterior
Princeps Posterior
Beiträge: 1140
Registriert: 3. Dezember 2010 14:47

Re: [M2:TW] Proseminar Scripting - Lehreinheit IV

Beitragvon Matze_THe_OnE » 17. Januar 2011 21:32

Könnte man ja am Anfang mit ja / nein event Fragen, ob der Spieler das will oder einfach nur die Zahlen senken. Aber das müsste ich noch weiter ausprobieren.
Heutzutage ist kaum etwas Realistischer als Utopien.

"Es gibt ein sizilianisches Sprichwort: Ich habe nichts gesehen, ich habe nichts gehört, ich war nie dort, und wenn doch, habe ich geschlafen." (Pater Vitorio - Hitman 2: Silent Assassin)

Benutzeravatar
Vivar
Pilus Posterior
Pilus Posterior
Beiträge: 1262
Registriert: 14. November 2010 17:42
:
Teilnahme an einem Contest

Re: [M2:TW] Proseminar Scripting - Lehreinheit IV

Beitragvon Vivar » 23. Januar 2011 11:11

Sorry, bin gerade erst wieder drauf gestoßen.
Ich fang mal mit dem Konzept an, mach mal mit TA, da ich es zurzeit am meisten spiele:

Die Waldelben erobern die Siedlungen Mistrand, Burth Ermanarikis und Rhunaer.
Dann erscheint ein Event, dass die Menschen aus Thal sehr erfreut über die Zerstörung der Bedrohung der Ostlinge sind und einige von ihnen gerne an der Seite eures (Waldelben König) Königs kämpfen würden.
Das ganze müsste dann bisher so aussehen:

monitor_conditions I_TurnNumber = 1
and I_LocalFaction mongols
and I_SettlementOwner Mistrand Burth_Ermanarikis Rhunaer= mongols
kommen hier die Regions oder Siedlungsnamen rein?, die für die Regionen hatte ich gerade nicht. Geht es denn das man mehrere Siedlungen einfügt?
historic_event thal
terminate_monitor
end_monitor


Jetzt noch der Eintrag im Event Ordner:

{thal_BODY}Ihr habt die Ostlinge nun endgültig aus ihren Kerngebieten vertrieben und sie so stark dezimiert, dass die Menschen aus Thal wieder in Frieden leben können, doch wollen trotzdem einige der Männer weiter Krieg führen, sie würden stolz darauf sein an eurer Seite zu kämpfen.
{thal_TITLE}Vertreibung der Ostlinge

So, jetzt hätte man nur ein Event ohne Wirkung, da ich aber zu blöd bin ein eigenes Gebäude zu erstellen könnte man ja einfach die schwächsten Einheiten Thals mit einer hidden_ressource, die man den 3 Siedlungen gibt, in die Rekrutierungsliste der Waldelben Gebäude einfügen. Ich versuche es trotzdem mal mit einem Gebäude, welches ich faul kopiert habe und leicht abgeändert habe:


building thal_academy
{
levels thal_academy professional_thal_academy
{
military_academy city requires factions { mongols, } and event_counter thal 1
{
capability
{
recruit_pool "Hearth_Watchmen" 2 0.5 3 0 requires factions { mongols, }
recruit_pool "Dalesmen" 1 0.5 2 0 requires factions { mongols, }
weapon_melee_blade 1
}
material wooden
construction 2
cost 3400
settlement_min town
upgrades
{
officers_academy
}
}


Ok, das wars erstmal.
Natürlich werd ich das alles noch berichtigen, da ich bisher noch nicht wirklich durchgeblickt habe. :strategie_zone_41:

Benutzeravatar
Amon Amarth 930
Hastatus Prior
Hastatus Prior
Beiträge: 1694
Registriert: 19. November 2010 16:58
Wohnort: Xanten
:
Modder

Re: [M2:TW] Proseminar Scripting - Lehreinheit IV

Beitragvon Amon Amarth 930 » 23. Januar 2011 15:07

Code: Alles auswählen

monitor_conditions

monitor_event wäre deutlich besser (s. Lehreinheit I)

Code: Alles auswählen

I_SettlementOwner Mistrand Burth_Ermanarikis Rhunaer= mongols  kommen hier die Regions oder Siedlungsnamen rein?, die für die Regionen hatte ich gerade nicht. Geht es denn das man mehrere Siedlungen einfügt?

Hier kommt der genaue Siedlungsname aus den Dateien rein.
Mehrere Siedlungen werden pro Linie gemacht, also z.B.:

Code: Alles auswählen

and I_SettlementOwner Wolfsclan = denmark
and I_SettlementOwner Hammerclan = denmark
and I_SettlementOwner Feuerclan = denmark
and I_SettlementOwner Hochofen = denmark
and I_SettlementOwner NKloster = denmark
and I_SettlementOwner AkashaGrab = denmark
and I_SettlementOwner SnorreGrab = denmark
and I_SettlementOwner BaldarGrab = denmark


Ansonsten sehe ich keine Fehler, nicht schlecht.

:strategie_zone_20: