inWarcraft Forum  

Zurück   inWarcraft Forum > Allgemeine Foren > Mapping Foren > Triggerforum

Antwort
 
Themen-Optionen Ansicht
Alt 30. Juli 2012, 11:13   #1
sirenstear
 
Benutzerbild von sirenstear
Newbie
 
Registriert seit: Okt 2011
Beiträge: 3
einheit

Advertising
sry ich hab vergessen den titel fertig zu schreiben :/ damn kann ich des iwie ändern? ( eig wollt ich schreiben "einheitengruppen-aktion funktioniert nicht")

hallo,
ich triggere gerade einen spell, dieser soll ein projektil auf einen gegner abfeuern, welches langsam startet und immer weiter beschleunigt. bei kollision soll es an ihm dann schaden verursachen, welcher von der dauer des fluges abhängt.
dazu nehm ich feenfeuer als dummyspell, und erstell dann eine einheit, welche das projektil darstellt (sie heist "Soulflyprojektile01"). die einheit hat die fähigkeit heuschrecke und keinen angriff (ein dummy halt)



SatyrSoul01
Ereignisse
Einheit - A unit Beginnt, eine Fähigkeit zu wirken
Bedingungen
(Ability being cast) Gleich SoulFlight01 (Neutral feindlich)
Aktionen
Set punkt01 = (Position of (Triggering unit))
Einheit - Create 1 SoulFlyProjektil01 for (Owner of (Triggering unit)) at punkt01 facing Vorgabe für Gebäude-Ausrichtung degrees
Hashtabelle - Save Handle Of(Target unit of ability being cast) as SatyrSoulTarg01 of (Key (Last created unit)) in theHT
Hashtabelle - Save Handle Of(Triggering unit) as SatyrSoulSumm01 of (Key (Last created unit)) in theHT
Hashtabelle - Save 0.00 as SatyrSoulAge01 of (Key (Last created unit)) in theHT
Custom script: call RemoveLocation( udg_punkt01 )



das klappt soweit.
so im zweiten trigger bewege ich dann die projektile:




SatyrSoul02
Ereignisse
Zeit - Every 0.10 seconds of game time
Bedingungen
Aktionen
Set Tempgrp01 = (Units in (Playable map area) matching ((Unit-type of (Matching unit)) Gleich SoulFlyProjektil01))
Einheitengruppe - Pick every unit in Tempgrp01 and do (Actions)
Schleifen - Aktionen
Einheit - Make (Picked unit) face (Load SatyrSoulTarg01 of (Key (Picked unit)) in theHT) over 0.00 seconds
Set punkt03 = (Position of (Load SatyrSoulTarg01 of (Key (Picked unit)) in theHT))
Set punkt01 = (Position of (Picked unit))
Set punkt02 = (Point(((X of punkt01) + ((Cos((Facing of (Picked unit)))) x (2.00 + (10.00 x (Load SatyrSoulAge01 of (Key (Picked unit)) from theHT))))), ((Y of punkt01) + ((Sin((Facing of (Picked unit)))) x (2.00 + (10.00 x (Load SatyrSoulAge01 of (Key (Picked unit)) from
Einheit - Move (Picked unit) instantly to punkt02
Hashtabelle - Save ((Load SatyrSoulAge01 of (Key (Picked unit)) from theHT) + 0.10) as SatyrSoulAge01 of (Key (Picked unit)) in theHT
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
'IF'-Bedingungen
((Power(((X of punkt03) - (X of punkt02)), 2.00)) + (Power(((Y of punkt03) - ((Y of punkt02) x 1.00)), 2.00))) Kleiner als (Power(80.00, 2.00))
'THEN'-Aktionen
Set unitvar01 = (Load SatyrSoulTarg01 of (Key (Picked unit)) in theHT)
Set unitvar02 = (Load SatyrSoulSumm01 of (Key (Picked unit)) in theHT)
Set VampLifeSave01 = (Leben of unitvar01)
Einheit - Cause unitvar02 to damage unitvar01, dealing ((1.00 + (0.50 x (Load SatyrSoulAge01 of (Key (Picked unit)) from theHT))) x (((Load AP01 of (Key (Load SatyrSoulSumm01 of (Key (Picked unit)) in theHT)) from theHT) x 0.80) + (5.00 x (Real((Level of SoulFlight01 (Neutral feindlich) for unitvar02)))))) damage of attack type Zaubersprüche and damage type Magie
Set VampLife01 = (VampLifeSave01 - (Leben of unitvar01))
Set VampLife01 = (VampLife01 x (Load Spellvamp01 of (Key (Load SatyrSoulSumm01 of (Key (Picked unit)) in theHT)) from theHT))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
'IF'-Bedingungen
(VampLife01 x 1.00) Größer gleich ((Max. Leben of unitvar02) - (Leben of unitvar02))
'THEN'-Aktionen
Einheit - Set life of unitvar02 to (Max. Leben of unitvar02)
'ELSE'-Aktionen
Einheit - Set life of unitvar02 to ((Leben of unitvar02) + (1.00 x VampLife01))
'ELSE'-Aktionen
Custom script: call RemoveLocation( udg_punkt01 )
Custom script: call RemoveLocation( udg_punkt02 )
Custom script: call RemoveLocation( udg_punkt03 )
Custom script: call DestroyGroup( udg_Tempgrp01 )




allerdings bewegen sich meine projektile nicht, sie bleiben einfach an ort und stelle stehen -.-
es liegt nicht am event sondern irgendwie an der "pick every unit in unitgroup and do (multiple actions)" aktion, das hab ich schon getestet. auch das abspeichern des zieles etc. im hashtable (erster trigger) funktioniert.

wisst ihr wieso das nich läuft?
danke schonmal für hilfe, lg

Geändert von sirenstear (30. Juli 2012 um 11:15 Uhr)
sirenstear ist offline   Mit Zitat antworten
Alt 30. Juli 2012, 14:19   #2
Crigges
 
Benutzerbild von Crigges
Footman
 
Registriert seit: Mai 2011
Ort: Auf der alten Mutter Erde
BNet Acc: curryking
Beiträge: 617
Crigges eine Nachricht über Skype™ schicken
Also die Pick aktion ist doch unnötig²
Du musst nur beim casten der Fähigkeit den dummy also in die Unitgroop adden. Die Enheiten zu picken geht auch nicht, weil sie die Fähigkeit Heuschrecke haben.
Der rest sieht vernünftig aus, auch wenn man das ganze 5 mal einfacher hinbekommen hätte.
Point with polar offset und dann das Offset als geschwindigkeit hochzählen. Hättest du sogar über die custom Value machen können
__________________
Die Intelligenz des Zufalls ist unübertroffen!

So ist es richtig!!!
Crigges ist offline   Mit Zitat antworten
Alt 31. Juli 2012, 13:10   #3
sirenstear
 
Benutzerbild von sirenstear
Newbie
 
Registriert seit: Okt 2011
Beiträge: 3
ok heißt das, dass einheiten mit heuchrecke sich nicht im playable map-area aufhalten? weil ich habs jetzt so gelöst, dass ich "all units of (type)" verwende, damit funktionierts. wieso einfacher, ich brauch da doch garkeine extra gruppen-variable für, weils alles die gleichen einheiten sind, damit spar ich doch eig eher speicher oder?
was heißt point with offset? das hab ich noch nie verstanden.
also danke afjedenfall es funktioniert jetzt
sirenstear ist offline   Mit Zitat antworten
Alt 31. Juli 2012, 14:31   #4
muzzel
 
Benutzerbild von muzzel
Staff Maps
Map-Contests

Gewinner Staffquiz XV
 
Registriert seit: Sep 2008
Ort: BaWü
BNet Acc: muzzel
Beiträge: 3.049
Zitat:
Zitat von sirenstear Beitrag anzeigen
ok heißt das, dass einheiten mit heuchrecke sich nicht im playable map-area aufhalten? weil ich habs jetzt so gelöst, dass ich "all units of (type)" verwende, damit funktionierts.
Geht auch mit "pick units of player". Nur das ganz generische "pick unit" ignoriert Heuschrecke Units.
Zitat:
Zitat von sirenstear Beitrag anzeigen
wieso einfacher, ich brauch da doch garkeine extra gruppen-variable für, weils alles die gleichen einheiten sind, damit spar ich doch eig eher speicher oder?
Beim picken wird auch eine Einheitengruppe erstellt, nur dauert die pick-Schleife länger als wenn du die Einheiten beim erstellen direkt in die Gruppe steckst. Macht aber kaum einen Unterschied, ist ziemlich egal wie du es machst.
Zitat:
Zitat von sirenstear Beitrag anzeigen
was heißt point with offset? das hab ich noch nie verstanden.
Das erzeugt einen Punkt der mit gegebenem Abstand + Winkel (in Form eines Vektors) von einem gegebenen Punkt entfernt ist.
Punkt 1 = (px, py)
Abstand = (ax, ay)
neuer Punkt = (px + ax, py + ay)
__________________

<Argon]> in der zeit, in der ich das mit tikz gebastelt hab, hätt ich das als 2m^2 holzskulptur schnitzen können
<Argon]> mit nem Skalpell
Penguin World Domination - be part of it!
» LaTeX2png Converter | Gaias Retaliation ORPG | Ulumulu Entertainment | AAT
muzzel ist offline   Mit Zitat antworten
Alt 31. Juli 2012, 18:01   #5
sirenstear
 
Benutzerbild von sirenstear
Newbie
 
Registriert seit: Okt 2011
Beiträge: 3
ok das mit dem polar-offset erspart eim ja dann das ganze point(cos(facing(unit))Range,sin(facing(unit))Range) wenn man bspw projektile triggern will aber das "normale" offset is ja das gleiche wie wenn ich sag point(x of punkt1 + xverschiebung,y of punkt1 + yverschiebung) oder?
danke für die antworten, das wird mir in zukunft jede menge arbeit ersparen

Geändert von sirenstear (31. Juli 2012 um 18:04 Uhr)
sirenstear ist offline   Mit Zitat antworten
Alt 31. Juli 2012, 18:45   #6
muzzel
 
Benutzerbild von muzzel
Staff Maps
Map-Contests

Gewinner Staffquiz XV
 
Registriert seit: Sep 2008
Ort: BaWü
BNet Acc: muzzel
Beiträge: 3.049
ja
__________________

<Argon]> in der zeit, in der ich das mit tikz gebastelt hab, hätt ich das als 2m^2 holzskulptur schnitzen können
<Argon]> mit nem Skalpell
Penguin World Domination - be part of it!
» LaTeX2png Converter | Gaias Retaliation ORPG | Ulumulu Entertainment | AAT
muzzel ist offline   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einheit befehlen fähigkeit auf eine bestimmte einheit zu wirken Destroyer2442 Triggerforum 19 04. August 2009 15:52
Einheit tötet andere Einheit und soll dafür Int-Boni bekommen BallermannXP Triggerforum 10 29. April 2009 14:53
Einheit an einem zufälligen Punkt um eine bestimme Einheit herum erstellen! Ruffy- Triggerforum 1 01. April 2007 08:00
Einheit merkt, dass Verbündete Einheit angegriffen wird -> Reichweite verringern Wishmaster Allgemeine Mappingfragen 7 01. November 2006 13:41
Einheit nur produzieren wenn eine Einheit im Gebäude ist Hojo2 Triggerforum 9 03. April 2006 12:16


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:59 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.


ingame Netzwerk
Support | AGB | Probleme mit der Werbung melden
Online Werbung | Mediadaten | Unternehmen | Karriere | Presse | Impressum

© ingame GmbH, ingame™, in™ und incup™ sind eingetragene Markenzeichen der ingame GmbH. Verwendung von Inhalten nur mit schriftlicher Genehmigung.