Modding Union

Modderecke => Coding => Thema gestartet von: onlylies am 19. Mai 2009, 20:33

Titel: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: onlylies am 19. Mai 2009, 20:33
was muss ich verändern, damit beispielsweise Galadhrim aus Lothlorien, die ich per spellbook ability von Imladris gerufen habe, Silberdornpfeile nutzen können? Ich habe schon per mapedit ein Heiligtum eingefügt und das Techupgrade erforscht. also muss es da noch n andres Hindernis geben.
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: onlylies am 10. Jun 2009, 20:06
dies Problem besteht immernoch. besser gesagt: es ist schon wieder aufgetreten.
Diesmal sollte die ImladrisFortress  (Faction: Lothlorien) das Upgrade_ZornWälder erhalten, damit ich FangornPorter baun kann.
Fehler: der CommandButton Command_PurchaseUpgradeZ ornWälder bleibt grau, ist somit nicht anklichbar. fehlermeldung: Diese Einheit kann dieses Upgrade nicht benutzen.
Commandset.inc, CommandButton.inc, upgrade.inc hab ich so verändert, dass es meiner Meinung nach keinen Fehler geben dürfte.

hat keiner ne Lösung? oder gabs das Thema schon?
was muss ich alles beachten, damit ein upgrade reibungslos funktioniert?
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: Meriath Ifisti am 11. Jun 2009, 13:03
Ich tippe mal auf die Special Ability oder du hats dich in den Inis irgendwie verschrieben. Der Fehler war bei mir schon öfters.
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: Ealendril der Dunkle am 27. Jun 2009, 21:53
Poste mal alle Eintraege, sprich Upgrade, Commandbutton und ini-part.
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: onlylies am 1. Jul 2009, 19:10
CommandSet ImladrisFortressCommandS et
   InitialVisible = 8
   //Main Menu
   1   = Command_RingMechanikLoth lorien
   2   = Command_SpecialAbilitySa atdesgoldenenWaldes
   3   = Command_SelectUpgradesLo thlorienFaction
   4   = Command_SelectUpgradesMe lian
   5   = Command_SelectUpgradesDü sterwaldFaction
   6   = Command_SelectUpgradesFa ngornFaction
   7   = Command_SelectRevivables LothlorienFortressGaladC ele
   8   = Command_Sell

   //Improvements
   9    = Command_ConstructLothlor ienPorter                     ;;;Command_ConstructLothlor ienAloneWorker
   10   = Command_PurchaseUpgradeL othlorienFortressLichter
   11   = Command_PurchaseUpgradeL othlorienFortressSchutzb annn       ;;;
   12   = Command_PurchaseUpgradeL othlorienFortressMallorn baum
   13   = Command_PurchaseUpgradeL othlorienFortressBlessed Mist
   14   = Command_SpecialAbilitySc hutzbannLoriens
   15   = Command_PurchaseUpgradeL othlorienFortressGaladri elsSpiegel
   16   = Command_SpecialAbilityMa chtdesSpiegels                     ;;;
   17   = Command_SpecialAbilityGa ladrielsSpiegelRestorati on
   18   = Command_RadialBack

   //Melian
   19   = Command_PurchaseUpgradeL othlorienFortressBlessed Mist
   20   = Command_PurchaseUpgradeL othlorienFortressBann
   21   = Command_PurchaseUpgradeL othlorienFortressBannder dunklenHerrin
   22   = Command_RadialBack

   //Düsterwald
   23   = Command_PurchaseUpgradeB ündnisWaldelben
   24   = Command_ConstructMirkwoo dPorter
   25   = Command_RadialBack

   //Fangorn
   26   = Command_PurchaseUpgradeZ ornWälder
   27   = Command_ConstructFangorn Porter
   28   = Command_RadialBack

   //Herren von Lothlorien
   29   = Command_ConstructLothlor ienCeleborn
   30   = Command_ConstructLothlor ienGaladriel
   31   = Command_RadialBack      
End


CommandButton Command_PurchaseUpgradeZ ornWälder
    Command               = OBJECT_UPGRADE
    Upgrade               = Upgrade_ZornWälderTrigge r
    Options               = CANCELABLE
    TextLabel             = CONTROLBAR:PurchaseUpgradeFortressZ ornWälder
    ButtonImage           = IUFortress_ZornWälder
    ButtonBorderType      = UPGRADE
    DescriptLabel         = CONTROLBAR:ToolTipPurchaseUpgradeFo rtressZornWälder
    Radial                = Yes
    InPalantir            = No
End


Upgrade Upgrade_ZornWälderTrigge r
   Type         = OBJECT
   BuildCost      = 800 ;MORDOR_MORGULSORCERY_BUI LDCOST
   BuildTime      = MORDOR_MORGULSORCERY_BUI LDTIME
   DisplayName          = UPGRADE:FortressZornWälder
        UpgradeFX      = FX_AllFortressUpgrade
   ResearchSound      = UpgradeNaturFortressZorn Wälder
   SkirmishAIHeuristic     = AI_UPGRADEHEURISTIC_FORT RESS
End

Das ist jetzt mal der Datensatz zum Zorn Fangorns, welches als Voraussetzung für die Rekrutierung des Fangorn-Porters gedacht war.
Reicht das, oder werden noch weitere ini-Daten benötigt? (offtopic: ich wüsst ja auch gerne mal, was die "UpgradeFX" und die "SkirmishAIHeuristic" Termini für ne Funktion haben...)
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: Meriath Ifisti am 1. Jul 2009, 20:25
Die
(offtopic: ich wüsst ja auch gerne mal, was die "UpgradeFX" und die "SkirmishAIHeuristic" Termini für ne Funktion haben...)
UpgradeFX stellt die FX fest die bei dem Upgrade ausgelöst wird.
Die SkirmishAIHeuristic sichert glaub ich das reibungslose Ablaufen mit dem Upgrade gegen die AI im Skirmish.

Zu dem Rest:
Normalerweise ist das richtig gecodet. Ich seheh auf anhieb keine Fehler. Schon Probiert?

CommandButton Command_PurchaseUpgradeZ ornWälder
    Command               = OBJECT_UPGRADE
    Upgrade               = Upgrade_ZornWälderTrigge r
    Options               = CANCELABLE
    TextLabel             = CONTROLBAR:PurchaseUpgradeFortressZ ornWälder
    ButtonImage           = IUFortress_ZornWälder
    ButtonBorderType      = UPGRADE
    DescriptLabel         = CONTROLBAR:ToolTipPurchaseUpgradeFo rtressZornWälder
    Radial                = Yes
    InPalantir            = No
End


Nicht im Palantir?
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: Alien aka Infiltrator am 2. Jul 2009, 13:26
Die InPalantir Zeile sagt nur aus ob der Button unten beim Einheiten/Gebäudebild angzeigt wird oder nicht, das beeinflusst in keinster weise die Funktion
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: Ealendril der Dunkle am 2. Jul 2009, 14:27
Ist ein Upgrade-Eintrag in der Festungsini angegeben? Falls nein, musst du dort noch den Verweis angeben.
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: onlylies am 7. Jul 2009, 13:47

    Behavior = CastleUpgrade ModuleTag_FangornUpgrade
        TriggeredBy    = Upgrade_ZornWälderTrigge r
        Upgrade        = Upgrade_ZornWälder
    End

damit hat's geklappt. danke schön. also immer nen entsprechenden Verweis in der ini angeben, damit die upgrades klappen.

@Meriath: was bedeutet FX ???
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: Anoverion am 7. Jul 2009, 14:24
Eine FX ist ein Grafikeffekt in Sum, der zB für das geschmiedete-Klingen-Upgrade oder auch für Spezialfähigkeiten von Einheiten und Helden oder auch für Spells aus dem Spellbook genutzt wird.
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: onlylies am 11. Jul 2009, 17:47
Also bei Festungen klappts super. Allerdings ist wieder ein Problem aufgetreten: beim Kaltdrachen. eigentlich müsste alles funktionieren, aber wieder: "Diese Einheit kann dieses Upgrade nicht benutzen."

hier die codes:
Zitat


CommandSet WildKaltdracheCommandSet
   1    = Command_ToggleStance
   2   = Command_SpecialAbilityKa ltdracheScreech
   3   = Command_PurchaseUpgradeD racheArmor
   13    = Command_AttackMove
   14    = Command_Stop
   16     = Command_SetStanceBattle         
   17    = Command_SetStanceAggress ive
   18     = Command_SetStanceHoldGro und
End

CommandButton Command_PurchaseUpgradeD racheArmor
    Command                  = OBJECT_UPGRADE
    Options                  = OK_FOR_MULTI_SELECT CANCELABLE
    Upgrade                  = Upgrade_DrachenArmor
    TextLabel                = CONTROLBAR:PurchaseUpgradeDrachenAr mor
    ButtonImage              = UCDrachenpanzer
    ButtonBorderType         = UPGRADE
    DescriptLabel            = CONTROLBAR:ToolTipPurchaseUpgradeDr achenArmor
    InPalantir               = Yes
End

Upgrade Upgrade_DrachenArmor
   DisplayName       = UPGRADE:DrachenArmor
   Tooltip        = TOOLTIP:DrachenArmor
   Type              = OBJECT
   BuildCost     = GONDOR_PERSONAL_HEAVY_AR MOR_BUILDCOST
   BuildTime     = GONDOR_PERSONAL_HEAVY_AR MOR_BUILDTIME
   ResearchSound     = UpgradeMordorFortressMor gulSorcery
   UpgradeFX     = FX_PorterDeliverHeavyArm or
   RequiredObjectFilter = NONE +WildTreasureTrove
   StrategicIcon   = AptStrategicUnitUpgradeA rmor
End

;und ein Auszug aus der Kaltdrache.ini:

    ArmorSet
        Conditions      = PLAYER_UPGRADE
        Armor           = ColdDrakeHeavyArmor
        DamageFX        = FellBeastDamageFX
    End

    Behavior = ArmorUpgrade ArmorUpgradeModuleTag
        TriggeredBy       = Upgrade_DrachenArmor
        ArmorSetFlag      = PLAYER_UPGRADE
    End



Beim Colddrake (der Eisdrache, der nur kriechen kann) hab ichs haargenauso gemacht und da klappts.
Also falls jemand ne Idee hat, wo der Fehler liegt, ich wär euch wirklich dankbar.
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: Alien aka Infiltrator am 11. Jul 2009, 22:10
Eine FX ist ein Grafikeffekt in Sum, der zB für das geschmiedete-Klingen-Upgrade oder auch für Spezialfähigkeiten von Einheiten und Helden oder auch für Spells aus dem Spellbook genutzt wird.

FX sind die Grafischen Effekt, also jede Explosion, jede Druckwelle und jedes aufblitzen bei einem Schwerthieb, jede Aura, und jedes Funkeln Fx sind also so ziemlich alles was nicht aus Modeln besteht^^ (wobei... es gibt ja auch model fx [forged blades zum teil] :P )
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: Ealendril der Dunkle am 12. Jul 2009, 18:20
Ein FX bezeichnet einen grafischen Effeckt und das hieße Model-FX gehören auch dazu.  ;) Er hat das schon richtig wiedergegeben. Genug jetzt zu dem Thema, der eigentliche Punkt:
Hast du das ProductionUpdate in der ini? Das ist dafür zuständig, dass eine Einheit Upgrades kaufen kann. Findest du in jeder Gebäude.ini, dort steht etwas in der Art: gixenoXP = Yes
Diesen Behaviour musst du irgendwo in der ini einfügen.
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: onlylies am 14. Jul 2009, 14:04
öhm... also ich habe den string nicht finden können:  gixenoXP = Yes
Weder bei Gebäude inis, noch bei Einheiten inis. sicher, dass da kein Typo drin is?
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: Ealendril der Dunkle am 14. Jul 2009, 15:56
Es war aus dem Kopf geschrieben, deswegen sagte ich ja du musst schauen. ;)
Suche einfach nach "ProductionBehaviour". Dieser muss auch in der Einheiten.ini sein. Bei Standard-Truppen ist er in der Horde verfügbar, bei einzelnen Units aber nicht, also musst du ihn folglich einfügen. Es erlaubt einem Object etwas zu "kaufen", sprich ein Upgrade per Button freizuschalten.
Titel: Re: "einheit kann dieses upgrade nicht benutzen"
Beitrag von: onlylies am 23. Jul 2009, 18:43
so. ich hab folgendes eingefügt:

Zitat
    Behavior = StatusBitsUpgrade ModuleTag_ProductionLega lity
        TriggeredBy = Upgrade_DrachenArmor
    End
   
    Behavior = ProductionUpdate ProductionUpdateModuleTa g
        GiveNoXP = Yes
    End
entnommen hab ichs GondorFighterHorde.
aber es hat trotzdem nicht geklappt. nu gehn die Möglichkeiten aus, oder?
so langsam hab ich das Gefühl, die Matrix hat mich... 8-|