Modderecke > Coding
Melkors Modding Fragen
Ealendril der Dunkle:
Du bearbeitest hier ein Object, das überhaupt nicht verwendet wird. Der Aufseher ist bei uns eine Horde, die nur aus einem Object besteht: MordorAufseher_forHorde und dementsprechend MordorAufseherHorde. Grund dafür ist das Kombinierungssystem mit anderen Horden, was nur möglich ist, wenn der Aufseher selbst in einem Hordenfilter vorliegt.
Melkor Bauglir:
Hallo nochmal!
Die Aufseher funktionieren jetzt in der Tat genau so, wie sie sollen -Vielen Dank dafür noch mal!
Ansonsten stehe ich gerade vor einem neuen Problem: Ich habe vor einiger Zeit versucht, Mordor eine neue Spellbookfähigkeit zu geben. Auch hier kenne ich mich nicht wirklich aus, habe also einfach die science.ini, die systemevil.inc und die specialpower.inc bearbeitet.
Sciene.ini:
--- Code: ---Science SCIENCE_FlammendesOrodruin
PrerequisiteSciences = SCIENCE_EVIL OR SCIENCE_MORDOR SCIENCE_Barricade OR SCIENCE_MORDOR SCIENCE_CalltheHorde
SciencePurchasePointCost = EVIL_RANK_2_COST
SciencePurchasePointCostMP = 15
IsGrantable = Yes
End
--- Ende Code ---
Systemevil.inc:
--- Code: --- Behavior = OCLSpecialPower ModuleTag_FlammendesOrodruin
SpecialPowerTemplate = SpellBookFlammendesOrodruin
OCL = OCL_SpellBookFlammendesOrodruin
CreateLocation = CREATE_AT_LOCATION
AvailableAtStart = No
RequirementsFilterMPSkirmish = SPELL_BOOK_REQUIREMENTS_FILTER
RequirementsFilterStrategic = SPELL_BOOK_REQUIREMENTS_FILTER_STRATEGIC
End
--- Ende Code ---
Specialpower.inc:
--- Code: ---SpecialPower SpellBookFlammendesOrodruin
Enum = SPECIAL_SPELL_BOOK_RAIN_OF_FIRE
RequiredSciences = SCIENCE_FlammendesOrodruin
ReloadTime = SPELL_RECHARGE_TIME_TIER_1 ; in milliseconds
InitiateSound = SpellRainOfFireMS
RadiusCursorRadius = 70.0
ViewObjectDuration = 10000
ViewObjectRange = 200
Flags = RESPECT_RECHARGE_TIME_DISCOUNT WATER_OK
End
--- Ende Code ---
In die CommandSet.inc und die CommandButton.inc habe ich den Spell ebenfalls verfrachtet:
--- Code: ---CommandSet MordorSpellBookCommandSet
1 = Command_SpellBookGeneralView
2 = Command_SpellBookUnitView
3 = Command_SpellBookTaint
4 = Command_SpellBookEndloseHorden
5 = Command_SpellBookEyeofSauron
6 = Command_SpellBookBarricade
7 = Command_SpellBookCalltheHordeMod
8 = Command_SpellBookMorannonOrks
9 = Command_SpellBookHerrderErde
10 = Command_SpellBookFlammendesOrodruin ;Command_SpellBookEvilBombard
11 = Command_SpellBookDarkness
12 = Command_SpellBookMachtvergangenerZeitalter
13 = Command_SpellBookBalrogAlly
14 = Command_SpellBookHammerderUnterwelt
End
CommandSet MordorSpellStoreCommandSet
1 = Command_PurchaseSpellTaint
2 = Command_PurchaseSpellEndloseHorden
3 = Command_PurchaseSpellEyeofSauron
4 = Command_PurchaseSpellBarricade
5 = Command_PurchaseSpellCalltheHordeMod
6 = Command_PurchaseSpellMorannonOrks
7 = Command_PurchaseSpellHerrderErde
8 = Command_PurchaseSpellFlammendesOrodruin ;Command_PurchaseSpellEvilBombard
9 = Command_PurchaseSpellDarkness
10 = Command_PurchaseSpellMachtvergangenerZeitalter
11 = Command_PurchaseSpellBalrogAlly
12 = Command_PurchaseSpellHammerderUnterwelt
End
--- Ende Code ---
--- Code: ---CommandButton Command_SpellBookFlammendesOrodruin
Command = SPELL_BOOK
SpecialPower = SpellBookFlammendesOrodruin
Options = NEED_TARGET_POS
TextLabel = CONTROLBAR:SpellBookFlammendesOrodruin
ButtonImage = SBEvil_RainofFire
ButtonBorderType = ACTION
DescriptLabel = CONTROLBAR:ToolTipSpellBookFlammendesOrodruin
RadiusCursorType = RainOfFireRadiusCursor
CursorName = AttackObj
InvalidCursorName = GenericInvalid
End
CommandButton Command_PurchaseSpellFlammendesOrodruin
Command = PURCHASE_SCIENCE
ButtonBorderType = UPGRADE
ButtonImage = SBEvil_RainofFire
Science = SCIENCE_FlammendesOrodruin ;SCIENCE_EvilBombard
TextLabel = CONTROLBAR:FlammendesOrodruin
DescriptLabel = CONTROLBAR:TooltipFlammendesOrodruin
RadiusCursorType = RainOfFireRadiusCursor
End
--- Ende Code ---
Ich sollte vielleicht noch erwähnen, dass Mordors Sperrfeuer auf Dol Guldur durch eine andere Fähigkeit ersetzt ist.
Nun zum Fehler bei dem Ganzen: Das Spiel lässt sich problemlos starten, allerdings stürzt es ohne eine Fehlermeldung ab, wenn ich ein Spiel mit irgendeinem bösen Volk starte.
Weiß irgendjemand hier vielleicht weiter?
Gruß
Melkor Bauglir
PS: Aktuell teste ich alle Dinge mit Rohan. [uglybunti]
Ealendril der Dunkle:
Wenn ein Volk direkt beim Laden abstürzt, dann ist es meistens ein Fehler im Spellbook (wie du richtig erkannt hast). Bei den hier gezeigten Codes sehe ich gerade keinen Fehler, poste bitte mal den OCL + das Object.
Melkor Bauglir:
Lang, lang ist's her, seitdem ich hier das letzte Mal eine Frage stellte. ;)
Also: Dieses Mal geht es nicht so sehr um ein konkretes Problem beim Coden (auch, wenn ich dort auch noch ein paar habe), stattdessen folgende generelle Frage:
Ich habe in meiner Freizeit mittlerweile ein wenig herumprogrammiert, damit aber angefangen, als Edain 3.8.1 noch aktuell war. Da nun ja schon 4.1 draußen ist, wollte ich eigentlich meine Ergebnisse auf diese Version übertragen. Gibt es hierbei eine konfortablere Version, als sämtliche Änderungen aus ihren eigenen .inis zu kopieren und sie in den Dateien von Edain 4.1 einzufügen?
Gruß
Melkor Bauglir
Melkor Bauglir:
Edit: Problem gelöst!
Ich habe wieder ein neues / altes Problem und zwar erneut mit dem Spellbook. Da ich ja bereits wusste, welches Problem da auftreten kann, bin ich eigentlich enorm sorgfältig vorgegangen, allerdings existiert nun der genau gleiche Bug wie davor (das Spiel stürzt ohne Fehlermeldung bzw. nur dem generischen "Runtime-Error" ab, wenn ich ein Spiel mit einem bösen Volk starte).
Also: Mein Ziel war es, die Fähigkeit "Dunkler Schleier", die aktuell Saurons Mund besitzt, ins Spellbook zu verfrachten und dafür "Endlose Horden" zu entfernen.
Ich habe also in der Science.ini folgendes geändert:
--- Code: ---//Science SCIENCE_EndloseHorden --> auskommentierte alte Science
// PrerequisiteSciences = SCIENCE_EVIL OR SCIENCE_MORDOR
// SciencePurchasePointCost = EVIL_RANK_1_COST
// SciencePurchasePointCostMP = 1
// IsGrantable = Yes
//End
Science SCIENCE_DunklerSchleierMS //--> neue Science
PrerequisiteSciences = SCIENCE_EVIL OR SCIENCE_MORDOR
SciencePurchasePointCost = EVIL_RANK_1_COST
SciencePurchasePointCostMP = 1
IsGrantable = Yes
End
--- Ende Code ---
Bei den jeweiligen darauffolgenen Sciences habe ich natürlich auch den nötigen Eintrag übersetzt. Hierbei folgende Problematik: "SCIENCE_EndloseHorden" wird zusätzlich von SCIENCE_MorannonOrcs benötigt, dort habe ich die Bedingung "SCIENCE_EndloseHorden" ersatzlos entfernt:
--- Code: ---Science SCIENCE_MorannonOrcs
PrerequisiteSciences = SCIENCE_EVIL OR SCIENCE_MORDOR SCIENCE_EyeofSauron
SciencePurchasePointCost = EVIL_RANK_2_COST
SciencePurchasePointCostMP = 2
IsGrantable = Yes
End
--- Ende Code ---
Anschließend habe ich in der Specialpower.inc folgendes verändert:
--- Zitat ---SpecialPower SpellBookDunklerSchleier MS
Enum = SPECIAL_SPELL_BOOK_INDUS TRY
ReloadTime = SPELL_RECHARGE_TIME_TIER _1_FAST
RequiredSciences = SCIENCE_DunklerSchleierM S
InitiateAtLocationSound = SpellWarChant
End
//Spellbook (Originalmod, daher auskommentiert)
//SpecialPower SpellBookEndloseHorden
// Enum = SPECIAL_SPELL_BOOK_PALAN TIR_VISION
// ReloadTime = SPELL_RECHARGE_TIME_TIER _1_VERYFAST
// RequiredSciences = SCIENCE_EndloseHorden
// InitiateAtLocationSound = SpellWarChant
//End
--- Ende Zitat ---
Da der Schleier über einen Modifier aktiviert wird (über den Umweg einer Weapon) habe ich die Fähigkeit genauso wie "Industrie" aufgebaut. Das ist der Eintrag aus der Systemevil.inc:
--- Code: --- Behavior = OCLSpecialPower ModuleTag_DunklerSchleierMS
SpecialPowerTemplate = SpellBookDunklerSchleierMS
AttributeModifer = SpellBookDunklerSchleierBonusMS
AttributeModiferRange = 50
AttributeModifierAffects = ANY +STRUCTURE ALLIES
TriggerFX = FX_SauronSchleierSound
UpdateModuleStartsAttack = No
AvailableAtStart = No
RequirementsFilterMPSkirmish = SPELL_BOOK_REQUIREMENTS_FILTER
RequirementsFilterStrategic = SPELL_BOOK_REQUIREMENTS_FILTER_STRATEGIC
End
//Originalmod (daher auskommentiert)
// Behavior = OCLSpecialPower ModuleTag_EndloseHorden
// SpecialPowerTemplate = SpellBookEndloseHorden
// OCL = OCL_EndloseHordenPing
// CreateLocation = CREATE_AT_LOCATION
// AvailableAtStart = No
// RequirementsFilterMPSkirmish = SPELL_BOOK_REQUIREMENTS_FILTER
// RequirementsFilterStrategic = SPELL_BOOK_REQUIREMENTS_FILTER_STRATEGIC
// End
--- Ende Code ---
Dann in der CommandSet.inc
--- Code: ---CommandSet MordorSpellBookCommandSet
1 = Command_SpellBookGeneralView
2 = Command_SpellBookUnitView
3 = Command_SpellBookGroundView
4 = Command_SpellBookTaint
5 = Command_SpellBookEyeofSauron
6 = Command_SpellBookDunklerSchleierMS ;;;Command_SpellBookEndloseHorden
7 = Command_SpellBookBarricade
8 = Command_SpellBookAwakenKankra
9 = Command_SpellBookSummonEasterling
10 = Command_SpellBookArrowVolleyEvil
11 = Command_SpellBookCalltheHordeMod
12 = Command_SpellBookDarkness
13 = Command_SpellBookSummonHaradrim
14 = Command_SpellBookMachtvergangenerZeitalter
15 = Command_SpellBookHammerderUnterwelt
End
CommandSet MordorSpellStoreCommandSet
1 = Command_PurchaseSpellTaint
2 = Command_PurchaseSpellEyeofSauron
3 = Command_PurchaseSpellDunklerSchleierMS ;;;Command_PurchaseSpellEndloseHorden
4 = Command_PurchaseSpellBarricade
5 = Command_PurchaseSpellAwakenKankra ;;;Command_PurchaseSpellArrowVolleyEvil
6 = Command_PurchaseSpellSummonEasterling ;;;Command_PurchaseSpellAwakenKankra
7 = Command_PurchaseSpellArrowVolleyEvil ;;;Command_PurchaseSpellSummonEasterling
8 = Command_PurchaseSpellCalltheHordeMod
9 = Command_PurchaseSpellDarkness
10 = Command_PurchaseSpellSummonHaradrim
11 = Command_PurchaseSpellMachtvergangenerZeitalter
12 = Command_PurchaseSpellHammerderUnterwelt
End
--- Ende Code ---
und in der CommandButton.inc
--- Code: ---CommandButton Command_SpellBookDunklerSchleierMS
Command = SPELL_BOOK
SpecialPower = SpellBookDunklerSchleierMS
ButtonImage = HSHeerscharenausHirngespinsten
Options = NEED_TARGET_POS ; NEED_TARGET_ALLY_OBJECT
TextLabel = CONTROLBAR:DunklerSchleierMS
ButtonBorderType = ACTION
DescriptLabel = CONTROLBAR:TooltipDunklerSchleierMS
RadiusCursorType = SummonWightsRadiusCursor
InvalidCursorName = GenericInvalid
End
CommandButton Command_PurchaseSpellDunklerSchleierMS
Command = PURCHASE_SCIENCE
ButtonBorderType = UPGRADE
ButtonImage = HSHeerscharenausHirngespinsten
Science = SCIENCE_DunklerSchleierMS
TextLabel = CONTROLBAR:DunklerSchleierMS
DescriptLabel = CONTROLBAR:TooltipDunklerSchleierMS
End
//Spellbook (Originalmod, daher auskommentiert)
//CommandButton Command_SpellBookEndloseHorden
// Command = SPELL_BOOK
// SpecialPower = SpellBookEndloseHorden
// ButtonImage = SBEvil_WarChant
// TextLabel = CONTROLBAR:EndloseHorden
// DescriptLabel = CONTROLBAR:TooltipEndloseHorden
// ButtonBorderType = ACTION
// RadiusCursorType = PalantirVisionRadiusCursor
//End
//CommandButton Command_PurchaseSpellEndloseHorden
// Command = PURCHASE_SCIENCE
// ButtonBorderType = UPGRADE
// ButtonImage = SBEvil_WarChant
// Science = SCIENCE_EndloseHorden
// TextLabel = CONTROLBAR:EndloseHorden
// DescriptLabel = CONTROLBAR:TooltipEndloseHorden
//End
--- Ende Code ---
diese Einträge geändert bzw. hinzugefügt. (Die CommandButtons sind wieder nach dem gleichen Schema wie der Spellbook-Zauber "Industrie" aufgebaut.)
Der Modifier ist dann einfach:
--- Code: ---ModifierList SpellBookDunklerSchleierBonusMS
Category = SPELL
Upgrade = Upgrade_RaiseShield
Duration = 0
End
--- Ende Code ---
Von diesen Einträgen (und der Beschreibung in lotr.str abgesehen) besteht meine gesamte .big-Datei aus nichts weiterem. Ich habe ferner in den veränderten Dateien keine weiteren Einträge von "Endlose Horden" finden können.
Ich habe alles jetzt mal möglichst ausführlich geschildert, entschuldigt bitte den langen Post.
Würde mich sehr über Hilfe freuen,
Melkor Bauglir
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln