30. Apr 2024, 23:18 Hallo Gast.
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge. Hierbei werden gemäß Datenschutzerklärung Benutzername und Passwort verschlüsselt für die gewählte Dauer in einem Cookie abgelegt.


Select Boards:
 
Language:
 


Autor Thema: Upgrade für Kampfturm  (Gelesen 3933 mal)

Reshef

  • Edain Team
  • Istar
  • *****
  • Beiträge: 7.028
  • Größenwahn ist ein Typisch menschliches Laster.
Upgrade für Kampfturm
« am: 30. Mär 2010, 18:13 »
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:

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
« Letzte Änderung: 31. Mär 2010, 17:57 von Reshef »

MCM aka k10071995

  • Bezwinger der Toten
  • ****
  • Beiträge: 3.846
Re: Upgrade per map.ini
« Antwort #1 am: 30. Mär 2010, 19:44 »
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?

Es kommt immer darauf an, etwas zu tun, was der Gegner nicht erwartet.


Lugdusch aka RDJ

  • Gefährte der Gemeinschaft
  • **
  • Beiträge: 417
Re: Upgrade per map.ini
« Antwort #2 am: 30. Mär 2010, 19:51 »
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
Zurzeit inaktiv.

Reshef

  • Edain Team
  • Istar
  • *****
  • Beiträge: 7.028
  • Größenwahn ist ein Typisch menschliches Laster.
Re: Upgrade per map.ini
« Antwort #3 am: 30. Mär 2010, 20:02 »
Sry, aber dann gibt es einen Game-Crash.

MCM aka k10071995

  • Bezwinger der Toten
  • ****
  • Beiträge: 3.846
Re: Upgrade per map.ini
« Antwort #4 am: 30. Mär 2010, 20:20 »
Also nicht ganz nach vorne.

Object AngmarSentryTower
   CommandSet = Angmarkampfturm

Davor würde ich sagen.

Es kommt immer darauf an, etwas zu tun, was der Gegner nicht erwartet.


Lugdusch aka RDJ

  • Gefährte der Gemeinschaft
  • **
  • Beiträge: 417
Re: Upgrade per map.ini
« Antwort #5 am: 30. Mär 2010, 21:44 »
Und davor die Commandbuttons. Sonst dürfte es auch nicht funktionieren.

RDJ
Zurzeit inaktiv.

Reshef

  • Edain Team
  • Istar
  • *****
  • Beiträge: 7.028
  • Größenwahn ist ein Typisch menschliches Laster.
Re: Upgrade per map.ini
« Antwort #6 am: 30. Mär 2010, 22:10 »
Funktioniert auch so nicht, da steht weiterhin: Einheit kann upgrade nicht benutzen.

Lugdusch aka RDJ

  • Gefährte der Gemeinschaft
  • **
  • Beiträge: 417
Re: Upgrade per map.ini
« Antwort #7 am: 30. Mär 2010, 23:16 »
Die Buttons werden aber immerhin richtig angezeigt, oder? Wäre schonmal ein Fortschritt. Könntest du vielleicht die aktuelle Version der map.ini noch hochladen, nur um auf dem aktuellsten Stand zu sein.
Bei der Upgradedefinition steht CONTROLBAR:IceBall, sonst sind die aber alle auf deutsch. Im Commandbutton hast du auch CONTROLBAR:Eisball stehen. Sind das zwei verschiedene Sachen, die auch zweimal definiert sind? Das hat zwar nichts mit dem Problem zu tun, ist mir aber halt aufgefallen.
Ansonsten hab ich keine Fehler gefunden. Bin grade überfragt. Das einzige, woran es liegen könnte, wäre die Reihenfolge. Kurze Frage: In den Behaviorn steht "WeaponSetUpgrade ModuleTag_Eispfeil;/Eisball". Braucht das WeaponSetUpgrade die einzelnen Weapons, weil bisher sind die drunter definiert. Wenn ja müsste die Reihenfolge so aussehen: Upgrades > Commandbuttons > Commandset > Weapons > Object.
Wenn nein, schadet die Reihenfolge trotzdem nicht und es liegt an was anderem.

RDJ
Zurzeit inaktiv.

Reshef

  • Edain Team
  • Istar
  • *****
  • Beiträge: 7.028
  • Größenwahn ist ein Typisch menschliches Laster.
Re: Upgrade per map.ini
« Antwort #8 am: 30. Mär 2010, 23:43 »
Du Buttons wurden erst angezeigt nachdem ich die Buttons so gemacht habe wie in diesen map.ini tutorial beschrieben (danke an mcm für den link ;) )
http://www.the3rdage.net/item-215?addview

Momentan sieht der teil so aus:
Upgrade Upgrade_EispfeilTrigger
    Type            = OBJECT
    BuildCost        = 500
    BuildTime        = 5
    DisplayName    = CONTROLBAR:Eisschuss
End

Upgrade Upgrade_Eispfeil
    Type            = OBJECT
End

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

Upgrade Upgrade_Eisball
    Type            = OBJECT
End


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

CommandButton Command_PurchaseUpgradeAngmarFortressSanctum
    Command              = OBJECT_UPGRADE
    Options              = NEED_UPGRADE  CANCELABLE
    Upgrade              = Upgrade_EisballTrigger
    NeededUpgrade        = Upgrade_Eispfeil
    TextLabel            = CONTROLBAR:Eisball
    ButtonImage          = KUAngBannerCarrierUpgradeIcon
    ButtonBorderType     = UPGRADE
    DescriptLabel        = CONTROLBAR:ToolTipPurchaseUpgradeDwarvenTraining
    Radial               = Yes
    InPalantir           = Yes
    LacksPrerequisiteLabel = TOOLTIP:LackAngmarBasicTraining
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

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

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_PurchaseUpgradeAngmarFortressIceMunitions
2 = Command_PurchaseUpgradeAngmarFortressSanctum
    6 = Command_Sell
End

Reshef

  • Edain Team
  • Istar
  • *****
  • Beiträge: 7.028
  • Größenwahn ist ein Typisch menschliches Laster.
Re: Upgrade für Kampfturm
« Antwort #9 am: 31. Mär 2010, 18:02 »
So, hab das ganze nun auf big umgestellt:
Ergebnis ich kann hoffentlih mehr machen und buttons sind sichtbar.
Allerings kann man immer noch nicht die Upgrades kaufen.
Hier die Codes:

map.ini:
Object AngmarSentryTower
CommandSet = AngmarTurmTWCommandSet
  WeaponSet
    Conditions            = None
    Weapon                = PRIMARY AngmarTurmTW 
    AutoChooseSources    = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
  End
AddModule
    Behavior = HordeGarrisonContain ModuleTag_Weg
         ObjectStatusOfContained            = UNSELECTABLE ENCLOSED CAN_ATTACK
         ContainMax                      = 0
         DamagePercentToUnits            = 0%
         PassengerFilter                    = GENERIC_FACTION_GARRISONABLE
        AllowEnemiesInside                = No
        AllowAlliesInside                = No
        AllowNeutralInside                = No
        AllowOwnPlayerInsideOverride    = Yes
         NumberOfExitPaths               = 1        ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
         PassengerBonePrefix             = PassengerBone:ARROW_ KindOf:INFANTRY
         EntryPosition                    = X:0.0 Y:0.0 Z:0.0
        EntryOffset                        = X:75.0 Y:-25.0 Z:0.0
        ExitOffset                        = X:75.0 Y:-25.0 Z:0.0
        EnterSound                        = RuinedTowerEnterSound
        KillPassengersOnDeath            = No
        ShowPips                        = No
    End
End
End

commandset.ini
CommandSet AngmarTurmTWCommandSet
    InitialVisible = 2
    //Main Menu
    1    = Command_AngmarMoreRadiusTW   
    2    = Command_AngmarFasterShootingTW

    //Radius
    3    = Command_PurchaseUpgradeEispfeilTW
    4    = Command_PurchaseUpgradeEisgeschosseTW
    5    = Command_PurchaseUpgradeEisballTW
    6    = Command_RadialBack

    //Schneller
;    7    = Command_PurchaseUpgradeEisspeed1TW
;    8    = Command_PurchaseUpgradeEisspeed2TW
;    9    = Command_RadialBack
             
End

commandbutton
CommandButton Command_AngmarMoreRadiusTW
Command = PUSH_VISIBLE_COMMAND_RANGE
TextLabel = Angmarmenu1
ButtonImage = KUBattleTowerIcon
ButtonBorderType = SYSTEM
DescriptLabel = Angmarmenu1desc
Radial = Yes
CommandRangeStart = 2
CommandRangeCount = 4
End

CommandButton Command_AngmarFasterShootingTW
Command = PUSH_VISIBLE_COMMAND_RANGE
TextLabel = Angmarmenu2
ButtonImage = KUBattleTowerIcon
ButtonBorderType = SYSTEM
DescriptLabel = Angmarmenu2desc
Radial = Yes
CommandRangeStart = 6
CommandRangeCount = 3
End

CommandButton Command_PurchaseUpgradeEispfeilTW
   Command           = OBJECT_UPGRADE
   Upgrade           = Upgrade_EispfeilTW
   Options           = CANCELABLE
   TextLabel         = Eispfeil
   ButtonImage       = KUTIceArrowUpgradeIcon
   ButtonBorderType  = UPGRADE
   DescriptLabel     = Eispfeildesc
   Radial            = Yes
   InPalantir        = No
End

CommandButton Command_PurchaseUpgradeEisgeschosseTW
    Command           = OBJECT_UPGRADE
    Options              = NEED_UPGRADE CANCELABLE
    Upgrade           = Upgrade_EisgeschossTW
    NeededUpgrade      = UpgradeEispfeilTW
    TextLabel         = Eisschuss
    ButtonImage       = KUIceShotIcon
    ButtonBorderType  = UPGRADE
    DescriptLabel     = Eisschussdesc
    Radial            = Yes
    InPalantir             = No
    LacksPrerequisiteLabel        = Eisschussvor
End

CommandButton Command_PurchaseUpgradeEisballTW
    Command           = OBJECT_UPGRADE
    Options              = NEED_UPGRADE CANCELABLE
    Upgrade           = Upgrade_EisballTW
    NeededUpgrade      = UpgradeEisgeschossTW
    TextLabel         = Eisball
    ButtonImage       = KUWinterWrathIcon
    ButtonBorderType  = UPGRADE
    DescriptLabel     = Eisballdesc
    Radial            = Yes
    InPalantir             = No
    LacksPrerequisiteLabel        = Eisballvor
End

upgrade.ini
Upgrade Upgrade_EispfeilTW
    DisplayName = UPGRADE:Abgeschlossen
    Type            = OBJECT
    BuildCost        = 200
    BuildTime        = 5
End

Upgrade Upgrade_EisgeschossTW
    DisplayName = UPGRADE:Abgeschlossen
    Type            = OBJECT
    BuildCost        = 1000
    BuildTime        = 5
End

Upgrade Upgrade_EisballTW
    DisplayName = UPGRADE:Abgeschlossen
    Type            = OBJECT
    BuildCost        = 2500
    BuildTime        = 5
End

weapon.ini
Weapon TWAngmarEispfeilWarhead
  ProjectileCollidesWith = ENEMIES
  RadiusDamageAffects = ENEMIES NOT_SIMILAR
  HitStoredTarget = Yes    ; Always hits initial target.
  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        = 200       
    Radius        = 5.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 TWAngmarEisgeschossWarhead
  ProjectileCollidesWith = ENEMIES
  RadiusDamageAffects = ENEMIES NOT_SIMILAR
  HitStoredTarget = Yes    ; Always hits initial target.
  DamageNugget                       
    Damage        = 200
    Radius        = 30.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        = 200       
    Radius        = 30.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 TWAngmarEisballWarhead
  ProjectileCollidesWith = ENEMIES
  RadiusDamageAffects = ENEMIES NOT_SIMILAR
  HitStoredTarget = Yes    ; Always hits initial target.
  DamageNugget                       
    Damage        = 200
    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

  DamageNugget                       
    Damage        = 200       
    Radius        = 100.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 AngmarTurmTW       ; 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     = AngmarArcherBowWarhead
    ForbiddenUpgradeNames   = Upgrade_EispfeilTW Upgrade_EisgeschossTW Upgrade_EisballTW
  End

  ProjectileNugget          ; Upgraded arrow
    ProjectileTemplateName  = EvilFactionIceArrow
    WarheadTemplateName     = TWAngmarEispfeilWarhead
    ForbiddenUpgradeNames   = Upgrade_EisgeschossTW Upgrade_EisballTW
    RequiredUpgradeNames    = Upgrade_EispfeilTW
  End

  ProjectileNugget          ; Upgraded arrow
    ProjectileTemplateName  = AngmarStoneThrowerIceProjectile
    WarheadTemplateName     = TWAngmarEisgeschossWarhead
    ForbiddenUpgradeNames   = Upgrade_EisballTW
    RequiredUpgradeNames    = Upgrade_EisgeschossTW
  End

  ProjectileNugget          ; Upgraded arrow
    ProjectileTemplateName  = AngmarSanctumProjectile
    WarheadTemplateName     = TWAngmarEisballWarhead
    RequiredUpgradeNames    = Upgrade_EisballTW
  End
End

Eingefügter teil beim Angmar turm:
    Behavior = WeaponSetUpgrade ModuleTag_ForgedBlades1
        TriggeredBy = Upgrade_EispfeilTW
    End
   
    Behavior = WeaponSetUpgrade ModuleTag_ForgedBlades2
        TriggeredBy = Upgrade_EisgeschossTW
    End

    Behavior = WeaponSetUpgrade ModuleTag_ForgedBlades3
        TriggeredBy = Upgrade_EisballTW
    End
gelöscht wurden keine teile.

Reshef

  • Edain Team
  • Istar
  • *****
  • Beiträge: 7.028
  • Größenwahn ist ein Typisch menschliches Laster.
Re: Upgrade für Kampfturm
« Antwort #10 am: 1. Apr 2010, 17:35 »
Mir ist gerade aufgefallen das es anscheinend nicht am button zu liegen scheint, denn im Worldbuilder wird mir auch nur IceArrows als Upgrade angezeigt.
Daher es scheint so das der Turm nicht erkennt das die Upgrades auf ihm bezogen sind.
Allerdings wüsste ich nicht was bei andern Upgrades anders ist als bei meinen...

Reshef

  • Edain Team
  • Istar
  • *****
  • Beiträge: 7.028
  • Größenwahn ist ein Typisch menschliches Laster.
Re: Upgrade für Kampfturm
« Antwort #11 am: 2. Apr 2010, 00:55 »
Ok, weiter gehts:
Ich habs hinbekommen das man die Upgrades kaufen kann, und sie auch die gewünschte weaponänderung mit sich bringen :)
Das einzigste was dafür nötig war, war die einträge in der *.inc reinzuschreiben.

So weiter gehts: Was muss ich in der  attributemodifier.inc angeben um die schussgeschwindigkeit zu erhöhen?
Ich habe bisjetzt     
Modifier     = RATE_OF_FIRE 500%
ausprobiert mit einer extra hohen zahl, allerdings merke ich keinen unterschied in der schussgeschwindigkeit.
« Letzte Änderung: 2. Apr 2010, 03:13 von Reshef »

Flinkbaum

  • Gastwirt zu Bree
  • **
  • Beiträge: 113
Re: Upgrade für Kampfturm
« Antwort #12 am: 2. Apr 2010, 07:58 »
Ich würde sagen das kommt drauf an ob es ne Fx ist oder ein Model.
Bei der Fx musst du das in der fxparticlesystem.ini verändern.
Außerdem gibts da auch noch ne angabe in der Weapon.ini ->heißt glaubich Weaponspeed.
Hoffe ich konnte helfen.

Flinkbaum

Reshef

  • Edain Team
  • Istar
  • *****
  • Beiträge: 7.028
  • Größenwahn ist ein Typisch menschliches Laster.
Re: Upgrade für Kampfturm
« Antwort #13 am: 2. Apr 2010, 17:48 »
Nein, ich meine nicht das dass Projectil schneller sein soll, sondern das der interval zwischen den abfeuern zweier projectile kürzer wird.

Simbyte

  • Administrator
  • Schwanenritter
  • *****
  • Beiträge: 4.091
Re: Upgrade für Kampfturm
« Antwort #14 am: 2. Apr 2010, 18:03 »
Allein von der englischen Bedeutung her klingt dieser Eintrag nach dem Passenden:

  DelayBetweenShots         = Min:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MIN Max:GONDOR_STRUCTURE_ARCHER_BOW_DELAYBETWEENSHOTS_MAX

Gliding o’er all, through all,   
Through Nature, Time, and Space,   
As a ship on the waters advancing,   
The voyage of the soul—not life alone,   
Death, many deaths I’ll sing.

 
 - Walt Whitman, Leaves of Grass

Reshef

  • Edain Team
  • Istar
  • *****
  • Beiträge: 7.028
  • Größenwahn ist ein Typisch menschliches Laster.
Re: Upgrade für Kampfturm
« Antwort #15 am: 2. Apr 2010, 18:31 »
Ja klar, aber ich will später per fähigkeit die man kauft die schussgeschwindigkeit erhöhen.
Daher müsste ich ein modifier in der attributemodifier.inc erstellen.
Das ganze sähe dann so aus:
ModifierList AngmarTurmSpeed1
    Category     = BUFF
    Modifier     = RATE_OF_FIRE 500%
    Duration     = 0                 
End
Nur anscheinend bewirkt das garnichts beim Turm.

Flinkbaum

  • Gastwirt zu Bree
  • **
  • Beiträge: 113
Re: Upgrade für Kampfturm
« Antwort #16 am: 2. Apr 2010, 18:41 »
Geht Duration = 0 überhaupt?
Ich glaub da muss was anderes hin.
Oder ne andere Idee:
Du machst ne neue Weapon mit kürzerer Zeit, sonst natürlich gleich.
Wenn das Upgrade gekauft wurde, wechselt der Turm zu Weaponset2 mit der neuen
Weapon.

Flinkbaum

Reshef

  • Edain Team
  • Istar
  • *****
  • Beiträge: 7.028
  • Größenwahn ist ein Typisch menschliches Laster.
Re: Upgrade für Kampfturm
« Antwort #17 am: 2. Apr 2010, 18:44 »
Das wäre natürlich auch eine schöne möglichkeit  :)
Wie müsste den dann das behavior in der ini des turmes aussehen?

Flinkbaum

  • Gastwirt zu Bree
  • **
  • Beiträge: 113
Re: Upgrade für Kampfturm
« Antwort #18 am: 2. Apr 2010, 19:00 »
Also, ich würd sagen(sind alles Beispiele, das musst du noch verändern):
Model Condition:
        ModelConditionState                = WEAPONSET_PLAYER_UPGRADE
            Model                        = eulindonwar
            Skeleton                    = ruelfwar_skl
            WeaponLaunchBone            = PRIMARY ARROW
            WeaponLaunchBone            = SECONDARY ARROWNOCK    ; when upgraded to
        End
Die Weaponset:
   
;bow upgrade
    WeaponSet
        Conditions = PLAYER_UPGRADE
        Weapon = PRIMARY    ElvenLindonBow ; RohanElvenBowFireArrow
        AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
    End
Der Behavior:
      ;Heavy Armor
    Behavior = ArmorUpgrade ArmorUpgradeModuleTag
        TriggeredBy = Upgrade_
        ArmorSetFlag            = PLAYER_UPGRADE
    End

Reshef

  • Edain Team
  • Istar
  • *****
  • Beiträge: 7.028
  • Größenwahn ist ein Typisch menschliches Laster.
Re: Upgrade für Kampfturm
« Antwort #19 am: 3. Apr 2010, 00:46 »
Habs ein bischen weiter rumprobiert, und plötzlich gings  :o
Keine ahnung wo der fehler jetzt lag, aber es geht, trotzdem danke für deine Hilfe ;)

König Legolas

  • Ritter Gondors
  • ***
  • Beiträge: 1.839
  • Menschen, Zwerge,Elben kämpft für Mittelerde! Sieg
Re: Upgrade für Kampfturm
« Antwort #20 am: 3. Apr 2010, 00:51 »
Hallo,

kannst du mir mal die Codes schicken?

Das würde mich allerdings interessieren....