Erfahrung aufteilen

Habt ihr Fragen zum Galaxy Editor, oder möchtet ihr eure Karte vorstellen? Alles was mit dem Thema Editor und Modding zu tun hat, gehört hier rein.

Moderatoren: Exekutor[NHF], Deathwing, GarfieldKlon, G A F, SaVi

Antworten
Benutzeravatar
Thial
Hydralisk
Beiträge: 134
Registriert: 12.06.2009, 12:03

Erfahrung aufteilen

Beitrag von Thial »

Hallo,

ich arbeite grad an einer RPG-Karte. Mein Problem dabei ist, wie ich die Erfahrung der Gruppe zukommen lasse. Im Dateneditor kann ich zwar angeben, wieviel Erfahrung die Einheit bringt, aber diese erhält dann nur derjenige mit dem tötlichen Schlag. Wie kann ich das auf die Gruppe verteilen?

Ich bekomme durch trigger heraus, welche Helden in der Nähe waren, als die Einheit getötet wurde, aber ich weiß nicht wie ich an die Erfahrung komme, die die Einheit bringt.

Hat das einer von euch schonmal gelöst und wenn ja wie?

Was mir eigentlich reichen würde wäre eine Möglichkeit an die im Dateneditor eingestellte Erfahrung zu kommen, habe aber keine entsprechende Funktion gefunden.



Edit: Ich habs jetzt gelöst, indem ich statt Kill Erfahrung jetzt Kill Ressourcen nehme im Dateneditor. Auf auf den Wert kann ich in den Triggern zugreifen...
Oder übersehe ich da eine Möglichkeit für Kill Erfahrung?

Ich habs auch versucht, als Event statt "Einheit stribt" "Einheit erhält Erfahrung", aber da weiß ich nicht, wie ich an die Position der getöteten Einheit komme und vor allem wie ich sicher stelle, dass es nur bei kill-Erfahrung auslöst.
Benutzeravatar
Pant
Dragoner
Beiträge: 303
Registriert: 27.12.2007, 10:14
Liga 1vs1: Grandmaster

Re: Erfahrung aufteilen

Beitrag von Pant »

Ich glaube hier gibt es nicht viele die mit den Editor eine RPG-Karte machen und dir helfen können . Versuchs mal da http://www.sc2mapster.com/ ( hoffe es hilft :) ).
Bild
SaVi
Moderator des Zwielichts
Moderator des Zwielichts
Beiträge: 616
Registriert: 21.05.2008, 16:53
Liga 1vs1: Diamant
Liga 2vs2: Platin
Mainrace: Protoss

Re: Erfahrung aufteilen

Beitrag von SaVi »

Also ich hab das mal versucht, nicht getestet sondern mal versucht^^
Nämlich habe ich jetz gesagt, wenn eine Einheit stirbt, und diese Spieler 1 gehört, so sollen alle Einheiten von Spieler 2 in einem Kreisradius, der von dem Ort wo die Einheit gestorben ist nehmen und ihnen zu ihrer gesamterfahrung + 10 geben soll.
Um das dann mehreren Spielern zu geben als nur level 2, kopierst du es und änderst die 2 zu 3.

Hoffe mal es klappt so^^
Leider alles englisch ich weiß :/
Erfahrung
Events
Unit - Any Unit dies
Local Variables
Conditions
(Owner of (Triggering unit)) == 1
Actions
Unit Group - Pick each unit in (Any units in (Region((Position of (Triggering unit)), 3.0)) owned by player 2 matching Excluded: Missile, Dead, Hidden, with at most Any Amount) and do (Actions)
Actions
Unit - Set (Picked unit) Experience to ((Total experience of (Triggering unit)) + 10.0)
Unit Group - Pick each unit in (Any units in (Region((Position of (Triggering unit)), 3.0)) owned by player 3 matching Excluded: Missile, Dead, Hidden, with at most Any Amount) and do (Actions)
Actions
Unit - Set (Picked unit) Experience to ((Total experience of (Triggering unit)) + 10.0)
Unit Group - Pick each unit in (Any units in (Region((Position of (Triggering unit)), 3.0)) owned by player 4 matching Excluded: Missile, Dead, Hidden, with at most Any Amount) and do (Actions)
Actions
Unit - Set (Picked unit) Experience to ((Total experience of (Triggering unit)) + 10.0)
Bild
Benutzeravatar
Thial
Hydralisk
Beiträge: 134
Registriert: 12.06.2009, 12:03

Re: Erfahrung aufteilen

Beitrag von Thial »

Mein Editor ist auch englisch ;)

Auf ähnliche Art wie du setze ich momentan auch die Erfahrung, aber etwas generischer :-)
So sieht das jetzt bei mir aus, aber ich bin wie gesagt unzufrieden damit, dass ich die Erfahrung aus den Kill Resources auslesen muss.

Code: Alles auswählen

killExperience
    Events
        Unit - Any Unit dies
    Local Variables
        herosNear = No Unit Group <Unit Group>
        experience = ((Triggering unit) Bounty (Custom) (Current)) <Real>
    Conditions
        (Owner of (Triggering unit)) == hostile
    Actions
        Variable - Set herosNear = (Units in (Region((Position of (Triggering unit)), 16.0)) having alliance Enemy with player hostile matching Excluded: Structure, Missile, Item, Dead, with at most Any Amount)
        Unit Group - Remove all units in (Units in herosNear within regeneration well, with at most Any Amount) from herosNear
        Variable - Set experience = (experience * (0.9 ^ ((Real((Number of Living units in herosNear))) - 1.0)))
        Unit Group - Pick each unit in herosNear and do (Actions)
            Actions
                Unit - Set (Picked unit) Experience to (((Picked unit) Experience (Current)) + experience)
Wie man vielleicht sieht les ich da "Bounty (Custom)" aus für die Erfahrung, weil ich die Kill Erfahrung nicht ausgelesen bekomme.
SaVi
Moderator des Zwielichts
Moderator des Zwielichts
Beiträge: 616
Registriert: 21.05.2008, 16:53
Liga 1vs1: Diamant
Liga 2vs2: Platin
Mainrace: Protoss

Re: Erfahrung aufteilen

Beitrag von SaVi »

Ja hätte ich mehr Liebe investiert wäre ich vll. auch so weit gekommen :)
Diesen Auslöser könnte man meiner Meinung nach auch noch als Funktion aufbauen.
Falls das Sinn machen würde^^
Bild
Benutzeravatar
Thial
Hydralisk
Beiträge: 134
Registriert: 12.06.2009, 12:03

Re: Erfahrung aufteilen

Beitrag von Thial »

Was würdest du denn bei den fünf Zeilen auslagern wollen? Ich war am überlegen Erfahrung einer Einheit zu erhöhen auszulagern, aber es bisher als unnötig erachtet :P

Wo wir grad bei Funktionen sind - kann man die eigentlich über die UI aufrufen? Ich habs bisher immer nur über custom script gemacht ( gf_foo(param) )
SaVi
Moderator des Zwielichts
Moderator des Zwielichts
Beiträge: 616
Registriert: 21.05.2008, 16:53
Liga 1vs1: Diamant
Liga 2vs2: Platin
Mainrace: Protoss

Re: Erfahrung aufteilen

Beitrag von SaVi »

das geht genauso wie du nen neuen auslöser erstellst^^
rechtsklick --> Neu --> Neue Funktion (Aktions-, Bedigungs-, und Eventsfunktion)
Hab aber so nen bischen das gefühl ich hab deine frage falsch verstanden^^
Bild
Benutzeravatar
Thial
Hydralisk
Beiträge: 134
Registriert: 12.06.2009, 12:03

Re: Erfahrung aufteilen

Beitrag von Thial »

Wie ich Funktionen erstelle weiß ich, aber nicht, ob ich sie anders aufrufen kann als über "General - Custom Script".
Einen Trigger kann ich ja auch über "Trigger - Run Trigger" aufrufen - gibts sowas auch für Funktionen?
SaVi
Moderator des Zwielichts
Moderator des Zwielichts
Beiträge: 616
Registriert: 21.05.2008, 16:53
Liga 1vs1: Diamant
Liga 2vs2: Platin
Mainrace: Protoss

Re: Erfahrung aufteilen

Beitrag von SaVi »

Ich hab mal im Editor geschaut und wenn du eine neue aktion erstellen willst, musst du ganz oben bei - Generell (im englischen - General) schauen.
Dort müsste es eine neue Option geben, die den gleichen Namen trägt wie deine Funktion.

mfg savi
Bild
Antworten