Modderecke > Coding

Upgrade für Kampfturm

(1/5) > >>

Reshef:
hi, ich versuche momentan schon länger vergebens den Angmarturm 2 Upgrades zu geben:
Einmal das normale Eispfeilupgrade mit geänderten werten und dann ein Upgrade welches erst kaufbar sein soll, nachdem eispfeile im Turm erforscht wurde.
Dieses soll dann als Projektil den Eisball von der FinalFähigkeit der Angmarfestung als Standartangriff nutzen.

Jetzt gibt es allerdings 2 Probleme:
Die buttons haben beide kein Bild, warum?
Und anklickbar sind sie auch nicht, daher nichts mit Upgrade kaufen, auch da weiss ich nicht wieso.

Hier der bisherige falsche code der map.ini:


--- Code: ---Upgrade Upgrade_Eispfeil
    Type            = OBJECT
    BuildCost        = 500
    BuildTime        = 5
    DisplayName    = CONTROLBAR:Eisschuss
End

Upgrade Upgrade_Eisball
    Type            = OBJECT
    BuildCost        = 2000
    BuildTime        = 5
    DisplayName    = CONTROLBAR:IceBall
End

Object AngmarSentryTower
CommandSet = Angmarkampfturm
AddModule
    Behavior = WeaponSetUpgrade ModuleTag_Eispfeil
        TriggeredBy = Upgrade_Eispfeil
    End
End
AddModule
    Behavior = WeaponSetUpgrade ModuleTag_Eisball
        TriggeredBy = Upgrade_Eisball
    End
End
End

CommandButton Command_PurchaseAngmarBattleTowerEisschussUpgrade
    Command           = OBJECT_UPGRADE
    Options           = CANCELABLE
    Upgrade           = Upgrade_Eispfeil
    TextLabel         = CONTROLBAR:PurchaseTechnologyAngmarIceArrows
    ButtonImage       = KUTIceArrowUpgradeIcon
    ButtonBorderType  = UPGRADE
    DescriptLabel     = CONTROLBAR:ToolTipPurchaseTowerUpgradeAngmarIceArrows
    Radial            = Yes
    InPalantir        = Yes
End

CommandButton Command_PurchaseAngmarBattleTowerEisballUpgrade
    Command              = OBJECT_UPGRADE
    Options              = NEED_UPGRADE  CANCELABLE
    Upgrade              = Upgrade_Eisball
    NeededUpgrade        = Upgrade_Eispfeil
    TextLabel            = CONTROLBAR:Eisball
    ButtonImage          = KUAngBannerCarrierUpgradeIcon
    ButtonBorderType     = UPGRADE
    DescriptLabel        = CONTROLBAR:ToolTipPurchaseUpgradeDwarvenTraining
    Radial               = Yes
    InPalantir           = Yes
    LacksPrerequisiteLabel = TOOLTIP:LackAngmarBasicTraining
End


Weapon Angmarkampfturm      ; BALANCE Archer Weapon
  AttackRange               = GONDOR_STRUCTURE_ARCHER_RANGE
  WeaponSpeed               = 321       ; dist/sec
  MinWeaponSpeed            = 241
  MaxWeaponSpeed            = 481        ; dist/sec Upper limit on scaling, when attacking past nominal "max" range
  FireFX                    = FX_RohanArcherBowWeapon
  ScaleWeaponSpeed          = Yes        ; Used for lob weapons, scales speed proportional to range
  HitPercentage             = 100        ;When this weapon is used it will hit exactly 50% of the time.
  ScatterRadius             = 16.0        ;When this weapon misses it can randomly miss by as much as this distance.
  DelayBetweenShots         = Min:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MIN Max:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MAX
  PreAttackDelay            = GONDOR_STRUCTURE_ARCHER_BOW_PREATTACKDELAY   ; 1467 is the prep time for archer.
  PreAttackType             = PER_SHOT    ; Do the delay each time we attack a new target
  FiringDuration            = GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MAX    ; Duration of the archer firing shot is 500ms.
  IsAimingWeapon            = Yes
  AntiAirborneVehicle        = Yes
  AntiAirborneMonster        = Yes
  HitPassengerPercentage    = 20%
  AcceptableAimDelta        = 360.0    ; We want to be able to shoot all round, as we canit move.

  CanBeDodged                = Yes ; Will check for a DodgePercent on the target to have a second chance at failing HitPercent


  ProjectileNugget          ; Default arrow
    ProjectileTemplateName  = EvilFactionArrow
    WarheadTemplateName     = AngmarPfeil
    ForbiddenUpgradeNames   = Upgrade_Eispfeil
  End

  ProjectileNugget          ; Upgraded arrow
    ProjectileTemplateName  = EvilFactionIceArrow
    WarheadTemplateName     = AngmarEispfeil
    RequiredUpgradeNames    = Upgrade_Eispfeil
  End

  ProjectileNugget          ; Upgraded arrow
    ProjectileTemplateName  = AngmarSanctumProjectile
    WarheadTemplateName     = AngmarEisball
    RequiredUpgradeNames    = Upgrade_Eisball
  End
End

Weapon AngmarEisball
  ProjectileCollidesWith = ENEMIES
  RadiusDamageAffects = ENEMIES NOT_SIMILAR

  DamageNugget                      
    Damage        = 600
    Radius        = 100.0    ; HitStoredTarget means we hurt the person we launched at.  And nobody else.  So a miss hurts nobody.
    DelayTime     = 0
    DamageType    = FROST
    DamageFXType  = EVIL_ARROW_PIERCE
    DeathType     = BURNED
    AcceptDamageAdd = No
    DamageScalar  = 25% NONE +STRUCTURE
     DamageScalar  = 0% NONE +MINE // Make sure we one shot kill mines, without risking wasting some poor hero with a torch
  End
End

Weapon AngmarEispfeil
  ProjectileCollidesWith = ENEMIES
  RadiusDamageAffects = ENEMIES NOT_SIMILAR

  DamageNugget                      
    Damage        = 200
    Radius        = 5.0    ; HitStoredTarget means we hurt the person we launched at.  And nobody else.  So a miss hurts nobody.
    DelayTime     = 0
    DamageType    = FROST
    DamageFXType  = EVIL_ARROW_PIERCE
    DeathType     = BURNED
    AcceptDamageAdd = No
    DamageScalar  = 25% NONE +STRUCTURE
     DamageScalar  = 0% NONE +MINE // Make sure we one shot kill mines, without risking wasting some poor hero with a torch
  End

  DamageNugget                      
    Damage        = 100      
    Radius        = 0.0    ; HitStoredTarget means we hurt the person we launched at.  And nobody else.  So a miss hurts nobody.
    DelayTime     = 0
    DamageType    = PIERCE
    DamageFXType  = EVIL_ARROW_PIERCE
    DeathType     = NORMAL
  End
End

Weapon AngmarPfeil
  ProjectileCollidesWith = ENEMIES
  RadiusDamageAffects = ENEMIES NOT_SIMILAR
  HitStoredTarget = Yes    ; Always hits initial target.
  DamageNugget                        ; A basic Nugget that just does damage
    Damage        = 100
    Radius        = 0.0    ; HitStoredTarget means we hurt the person we launched at.  And nobody else.  So a miss hurts nobody.
    DelayTime     = 0
    DamageType    = PIERCE
    DamageFXType  = EVIL_ARROW_PIERCE
    DeathType     = NORMAL
  End
End

CommandSet Angmarkampfturm
1 = Command_PurchaseAngmarBattleTowerEisschussUpgrade
2 = Command_PurchaseAngmarBattleTowerEisballUpgrade
    6 = Command_Sell
End
--- Ende Code ---

MCM aka k10071995:
Falsche Reihenfolge der Codes, glaube ich.
SUM läd von oben nach unten, dh. wenn du auf etwas (Commandset, Commandbutton etc.) zugreifst, muss das über dem Code sein, der auf sie zugreift.
Kann es sein, das die Commandset, die am Ende steht, normalerweise ganz oben steht und du sie nur für den Post hier andersrum hingeschrieben hast?

Lugdusch aka RDJ:
Ich denke auch, dass es das ist. Die Weapons müssen dann ebenfalls vor die ProjectileNuggets, weil letzere ja auf die Weapons verweisen.
Ansonsten konnte ich (mit meinen noch recht bescheidenen Kenntnissen) aber keine Fehler entdecken.

RDJ

Reshef:
Sry, aber dann gibt es einen Game-Crash.

MCM aka k10071995:
Also nicht ganz nach vorne.

Object AngmarSentryTower
   CommandSet = Angmarkampfturm

Davor würde ich sagen.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln