Modding Union

Modderecke => Tutorials => Thema gestartet von: Ealendril der Dunkle am 9. Jun 2010, 22:54

Titel: Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: Ealendril der Dunkle am 9. Jun 2010, 22:54
http://modding-union.com/?path=codingtuts#lebensabzug

Ein neues Tutorial von mir, viel Spaß damit.
Titel: Re: Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: Arathorn101 am 9. Jun 2010, 23:15
VIelen Dank Ea ich werde es brauchen xD
Titel: Re: Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: Sanalf 2 am 10. Jun 2010, 15:30
Schönes Tutorial, auch wenn ich das mittlerweile schon mit deiner Hilfe gepackt habe  xD

By the way: War das das Tutorial, das du in meinem Fragethread erwähnt hast?

mfg
sanalf 2
Titel: Re: Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: Dwar am 10. Jun 2010, 20:14
Vielen Danke für eine weiteres, sehr gut verständlich geschriebenes Tutorial Ea. Ich werde zwar erstmal net dazukommen es umzusetzen, allerdings wird ich es in einer späteren Version von Lorfon sehr gut gebrauchen können. Danke!
Titel: Re: Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: Rogash am 10. Jun 2010, 20:28
Danke, das rettet unserer Mod den Hals, besser gesagt: Es erspart uns unnötiges herumprobieren xD
Titel: Re: Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: Ealendril der Dunkle am 10. Jun 2010, 20:32
Nix zu danken, Jungs. :) Ja das war das Tut Squaddy  [ugly]
Titel: Re: Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: König Legolas am 10. Jun 2010, 22:17
Zitat
Nix zu danken, Jungs.

Pf, wenn du nicht möchtest, dann nicht :P

Nein Scherz, sehr gut gemacht. Auch wenn ich das Spiel nicht mehr installiert habe,
bedanke ich mich. Einfach toll, das du dir solche Mühen machst :)
Titel: Re:Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: Shadowleake, Eis des Nordens am 9. Nov 2011, 12:17


ich hätte mal eine Frage zu dem Lebensabzug-Tuturial:
Und zwar habe ich einem Helden die Fähigkeit gegeben, dass er sich selbst Leben nimmt um mit diesem eine Armee zu schaffen. ich habe also einfach nach dem Tuturial folgendes gecodet:
Hero.ini:

;----------EisigesBlutbad------------------------------------
 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_ZaphragorSchmerz
SpecialPowerTemplate = SpecialAbilitZaphragorSchmerz
TriggeredBy = Upgrade_EisigesBlutbad
End
Behavior = SpecialPowerModule ModuleTag_ZaphragorSchmerzStarter
SpecialPowerTemplate = SpecialAbilitZaphragorSchmerz
StartsPaused = Yes
UpdateModuleStartsAttack = Yes
;TriggerFX = FX_ZaphragorSchmerzBlutFX
End
Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_ZaphragorSchmerzBlastWeaponFireUpdate
SpecialPowerTemplate = SpecialAbilitZaphragorSchmerz
WhichSpecialWeapon = 5
SkipContinue = Yes
FreezeAfterTriggerDuration = 200
UnpackTime = 1700
PreparationTime = 1
PackTime = 1000
AwardXPForTriggering = 0
StartAbilityRange = 300
SpecialWeapon = ZaphragorSchmerzWeapon_New
;TriggerSound = GulzarVoiceFlammendeVergeltung
End
Hier habe ich lediglich das Upgrade geändert
Specialpower.ini:

SpecialPower SpecialAbilitZaphragorSchmerz
Enum = SPECIAL_ARROW_STORM
ReloadTime = 0
RadiusCursorRadius = 120
Flags = NEEDS_OBJECT_FILTER
;InitiateAtLocationSound = NecroFellStrength
ObjectFilter = ANY +INFANTRY +CAVALRY -MONSTER -MACHINE -SHIP -HERO ENEMIES
End

Weapon.ini:


Weapon ZaphragorSchmerzWeapon_New
IdleAfterFiringDelay = 0
LeechRangeWeapon = Yes
AttackRange = 200
RadiusDamageAffects = ENEMIES NEUTRALS NOT_SIMILAR

WeaponOCLNugget ; A Nugget that should only be used for the rarest of super special weapons. I better not catch a Fire Field in here.
WeaponOCLName = OCL_EisigesBlutbad
End
End


Weapon ZaphragorSchmerzWeaponSelfDamage
RadiusDamageAffects = ALLIES NEUTRALS SELF
DelayBetweenShots = 0 ; 5000 time between shots, msec
PreAttackDelay = 0 ;2600
PreAttackType = PER_ATTACK ; Do the delay each time we attack a new target
FiringDuration = 2000
DamageNugget ; A basic Nugget that just does damage
Damage = 9000
Radius = 800
DamageType = MAGIC
DamageFXType = MAGIC
DeathType = EXPLODED
DamageScalar = 0% ALL ALLIES -MordorShadowleake
DamageScalar = 0% ALL ENEMIES
End
End

Hier habe ich den damagenugget weg, da meine fähigkeit keinen schaden machen soll

objectcreationlist.ini:



ObjectCreationList OLC_EisigesBlutbad
 
   CreateObject
        ObjectNames = ZaphragorSchmerzWeaponSelfDamage
        Count = 1
        Disposition = LIKE_EXISTING
   End

  CreateObject
    ObjectNames = MordorEiskriegerHorde
    Count = 1
    FadeIn = Yes
    FadeTime = 1000
    IgnoreCommandPointLimit = Yes
  End

  CreateObject
    ObjectNames = MordorEiskriegerHorde
    Count = 1
    FadeIn = Yes
    FadeTime = 1000
    IgnoreCommandPointLimit = Yes
  End

   
  CreateObject
    ObjectNames = MordorEiskriegerHorde
    Count = 1
    FadeIn = Yes
    FadeTime = 1000
    IgnoreCommandPointLimit = Yes
  End

  CreateObject
    ObjectNames = MordorEiskriegerHorde
    Count = 1
    FadeIn = Yes
    FadeTime = 1000
    IgnoreCommandPointLimit = Yes
  End

  CreateObject
    ObjectNames = MordorEiskriegerHorde
    Count = 1
    FadeIn = Yes
    FadeTime = 1000
    IgnoreCommandPointLimit = Yes
  End

  CreateObject
    ObjectNames = MordorEiskriegerHorde
    Count = 1
    FadeIn = Yes
    FadeTime = 1000
    IgnoreCommandPointLimit = Yes
  End
End
hier habe ich zu beschwörenden einheiten und das selfdamageobject definiert

system.ini (da ich in sum 2 keine projectile.ini finden kann):


Object ZaphragorSchmerzWeaponSelfDamage
Draw = W3DScriptedModelDraw ModuleTag_Draw
DefaultModelConditionState
Model = None
End
End
KindOf = INERT IMMOBILE UNATTACKABLE
Body = ActiveBody ModuleTag_MakesKillWork
MaxHealth = 1
End
Behavior = LifetimeUpdate ModuleTag_HatchTrigger
MinLifetime = 0.0
MaxLifetime = 0.0
End
Behavior = SlowDeathBehavior ModuleTag_HatchProcess
DestructionDelay = 10
;FX = FINAL FX_ZaphragorSchmerzBlutFX Hier könnt ihr einen FX für das Zielgebiet angeben.
Weapon = FINAL ZaphragorSchmerzWeaponSelfDamage
End
End

commandbutton.ini:



CommandButton Command_SpawnEiskriegerShadowleake
  Command           = SPECIAL_POWER
  SpecialPower      = SpecialAbilitZaphragorSchmerz
  TextLabel         = CONTROLBAR:EisigesBlutbad
  ButtonImage       = EisigesBlutbad
  Options           = NEED_TARGET_POS CONTEXTMODE_COMMAND
  RadiusCursorType  = SummonOathBreakersRadiusCursor
  CursorName        = Bombard
  InvalidCursorName = GenericInvalid 
  ButtonBorderType  = ACTION
  DescriptLabel     = CONTROLBAR:EisigesBlutbadD
  InPalantir        = Yes
 ;UnitSpecificSound = AragornVoiceSummonOathbreakers
 ;AutoAbility        = Yes ;
 ;TriggerWhenReady    = Yes ;
End

und zum schluss
commandset.ini:


CommandSet MordorShadowleakeCommandSet
    1    = Command_ToggleStance
    2    = Command_ShadowleakeMagischeNordwinde
    3    = Command_ShadowleakeEispraesenz
    4     = Command_ShadowleakeKaltesGemezel
    5     = Command_SpawnEiskriegerShadowleake
    12     = Command_CaptureBuilding
    13     = Command_AttackMove
    14     = Command_Stop
End

ich habe so viel wie möglich einfach kopiert, um fehler zu vermeiden.

so, nun zu meinem problem:
die fähigkeit ist im spiel anwählbar und man kann auch ein gebiet zum beschwören auswählen. tut man dies jedoch, so kommen keine einheiten und kein schaden wird zugefügt.
ich wäre euch sehr verbunden, wenn ihr mir helfen könntet. sollte die mod irgendwann einmal veröffentlicht werden kommt natürlich auch jede hilfe in den readme :P

danke schonmal dein shadowleake

Titel: Re:Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: thepinking am 9. Nov 2011, 15:10
Ein ziemlich offensichtlicher Fehler:

WeaponOCLNugget ; A Nugget that should only be used for the rarest of super special weapons. I better not catch a Fire Field in here.
WeaponOCLName = OCL_EisigesBlutbad
End

OCL_EisigesBlutbad exestiert nicht, nur OLC_EisigesBlutbad.
Titel: Re:Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: Shadowleake, Eis des Nordens am 9. Nov 2011, 16:00
xD hui vielen dank, gerade solche flüchtigkeitsfehler unterlaufen mir viel zu viele :/ sorry, dass ich wegen so ner kleinigkeit so nen aufwand gemacht hab

EDIT: wobei jetzt das problem ist, dass der cursor immer rot bleibt und man gar kein gebiet mehr auswählen kann
Titel: Re:Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: thepinking am 9. Nov 2011, 17:33
ObjectFilter = ANY +INFANTRY +CAVALRY -MONSTER -MACHINE -SHIP -HERO ENEMIES Diese Zeile in der Specialpower sagt das Infantry oder Cavalry im Zielgebiet sein muss, und das (zumindest für diesen Spell) Monster, Maschinen, Schiffe und Helden nicht als Infantry bzw Cavalry zählen.
Also passt du jetzt den Filter an oder du löscht ihn raus (dan bitte aber auch die Zeile "Flags" da die ja sagt das ein Filter vorhanden ist).
Titel: Re:Lebensabzug durch Aktivierung einer Fähigkeit
Beitrag von: Shadowleake, Eis des Nordens am 10. Nov 2011, 07:51
DANKE!!! jetzt geht alles...
sorry, dass ich mich so blöd anstell aber coding ist nicht so meins^^