In einer Formel beantwortet? Kill-Ratio

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
ineptus
Sonde
Beiträge: 5
Registriert: 27.09.2011, 11:54
Liga 2vs2: Gold
Mainrace: Protoss

In einer Formel beantwortet? Kill-Ratio

Beitrag von ineptus »

Hallo zusammen;

Bau grad eine Art Unit-Test-Map auf der man sich ne Armee erstellen kann um gegen Waves zu kämpfen (INNOVATION :wink: ).
Hab´s nun hingekriegt, dass in der Rangliste angezeigt wird, wieviele Units die KI und der User gekillt haben.
In die letzte Zeile sollte die Differenz aus beidem: sprich ratio (Getötete Units User / Getötete Units CPU).

Hab es so gemacht, dass sobald eine Einheit stirb die Aktion folgt: "variable festlegen"
Variable Ratio = (Variable Kills User / Variable Kills CPU)
(arithmetisch integer)

Am Ende zeigt er mir aber immer 0 an.

Probiere es noch weiter während ich auf eure Lösung hoffe.

Seht ihr spontan wo der Fehler liegt? :shock:
Soll ich etwas posten?

:anbeten: THX A LOTT
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: In einer Formel beantwortet? Kill-Ratio

Beitrag von SaVi »

also wenn du es geteilt nimmst, solltest du aus dem Integer einen Real machen. Während Integer immer ab/aufrunden, werden beim Real Kommastellen angezeigt.
Bild
ineptus
Sonde
Beiträge: 5
Registriert: 27.09.2011, 11:54
Liga 2vs2: Gold
Mainrace: Protoss

Integer in Real umwandeln ? Please Help ! (Kill Ratio)

Beitrag von ineptus »

ah nice - tue mich mal daran !
hilft mir wer die integer zahlen in realzahlen umzuwandeln ? :denk:


edit: scheinbar kann man reelle zahlen in integer umwandeln aber nicht andersrum ?
und wenn ich alle vorher auf integer stell gibt der mir nur fehler aus ...
*TILT*
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: In einer Formel beantwortet? Kill-Ratio

Beitrag von SaVi »

Also du musst auf jeden fall schon einmal Mathe - Arithmetisch - Real nehmen. Dann kannst du es so machen, dass du die Integerzahlen zu Realzahlen umwandelst und gleichzeitig das Ergebnis als Real bekommst. Du musst natürlich die Variable die du als Ratio nimmst, als Real einstellen.

Ich hab ne kleine Testmap gemacht^^ ganz simpel und auf englisch

Variablen:

Code: Alles auswählen

Ratio = 0.0 <Real>
KillsSpieler = 25 <Integer>
KillsComputer = 28 <Integer>
Auslöser:

Code: Alles auswählen

Ratio
    Events
        UI - Player 1 presses 1 (Key) key Down with shift Require, control Allow, alt Allow
    Local Variables
    Conditions
    Actions
        Variable - Set Ratio = ((Real(KillsSpieler)) / (Real(KillsComputer)))
        UI - Display (Text(Ratio) with Any Precision decimal places) for (All players) to Subtitle area
Das ((Real)KillsSpieler)) ist eine Integerzahl zu einer Realzahl mit der Funktion "Convert Integer to real" konvertiert. Das selbe bei KillsComputer^^

Hoffe das hilft dir weiter, wenn nicht, einfach nachfragen :)

mfg SaVi
Bild
ineptus
Sonde
Beiträge: 5
Registriert: 27.09.2011, 11:54
Liga 2vs2: Gold
Mainrace: Protoss

Reale Zahl in Rangliste aktualisiert sich nicht (Kill-Ratio)

Beitrag von ineptus »

danke für die hilfe hat bis hierher geholfen ...

hab jetz 2 aktionen auf das ereignis: Einheit - Beliebige Einheit stirbt



Variable - Ratio 2 = ((Realer(Kills User)) / (Realer(Kills CPU))) festlegen



Rangliste - Gegenstandstext in (Zuletzt erstellte Rangliste) bei Spalte 2 und Zeile 3 als (Text( Ratio 2) mit 4 Dezimalstellen) festlegen

der editor gibt aber nur 0.000 aus
nehm an das ist der startwert ...

die integer zahlen aktualisieren sich auf das gleiche ereignis problemlos ....

is there any hope ?



(EDIT: Habe die Map mal hochgeladen:
http://www.2shared.com/file/dwdoIGDi/Me ... r_118.html


dann kann mir vielleicht auch wer erklären warum die upgrades nur bis level 2 funktionieren :/ )
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: In einer Formel beantwortet? Kill-Ratio

Beitrag von SaVi »

Okay ich habe deinen Fehler gefunden^^ Und zwar bei: "Rangliste - Ratio" Du hast bei dem Leaderboardbefehl anstatt "Convert Real to Text", "Convert Integer to Text" gemacht. Das heißt, obwohl deine Zahl 0,39528 irgendwas war, wurde sie beim anzeigen gerundet.

Dann sehe ich gerade, dass du in "Rangliste - Ratio", wo kein Leaderboard erstellt wird, "Last created Leaderboard" (Zuletzt erstellte Rangliste) benutzt hast. Das verhindert dann komplett die Anzeige einer neuen Zahl. Du musst deine Variable Leaderboard dafür nehmen.

Als nächstes hab ich dann nach ein wenig rumprobieren bemerkt, dass du ebenfalls bei "Rangliste - Ratio" (den haste irgendwie geschlampt^^) bei der Leaderboardausgabe "Any Precisions" stehen hast, anstatt die 4 Stellen nach dem Komma.

Sonst kann ich nur sagen, dass ich mich bei der Anzahl der Auslöser erschreckt habe^^
Ich hab ein wenig durchgesehen und muss dir sagen, dass du das recht ungeschickt machst. Du könntest die Anzahl deiner Auslöser radikal verringern, wenn du mehr Funktionen des Editors benutzen würdest.
z.B. Wenn dann sonst, Vertauschen
Ich hab zum Beispiel mal die 3 Auslöser für die Rangliste in einem zusammengefasst:

Code: Alles auswählen

Rangliste - Aktualisieren
    Events
        Unit - Any Unit dies
    Local Variables
    Conditions
    Actions
        ------- Befehl "Switch" auf deutsch "Vertauschen"
        General - Switch (Actions) depending on (Owner of (Triggering unit))
            Cases
                General - If (1)
                    Actions
                        ------- Wenn Einheit Spieler 1 gehört hat
                        Variable - Modify Kills CPU: + 1
                        Leaderboard - Set Leaderbord item text at column 2 and row 2 to (Text(Kills CPU))
                General - If (2)
                    Actions
                        ------- Wenn Einheit Spieler 2 gehört hat
                        Variable - Modify Kills User: + 1
                        Leaderboard - Set Leaderbord item text at column 2 and row 1 to (Text(Kills User))
            Default
                ------- Falls keins der beiden zutrifft // Was hier einfach leer bleibt
        ------- Ratio berechnen
        Variable - Set  Ratio 2 = ((Real(Kills User)) / (Real(Kills CPU)))
        Leaderboard - Set Leaderbord item text at column 2 and row 3 to (Text( Ratio 2) with 4 decimal places)
Ich lade die Map nicht hoch, da ich den englischen Editor benutze und oft gesehen hab, dass das dann anfängt zu buggen wenn man das mischt^^ (englisch <-> deutsch)
Schönes Intro und Lichteffekte btw. :)

mfg SaVi
Bild
Benutzeravatar
Thial
Hydralisk
Beiträge: 134
Registriert: 12.06.2009, 12:03

Re: In einer Formel beantwortet? Kill-Ratio

Beitrag von Thial »

Sobald die Intro zu Ende ist, ist bei mir alles verschwommen und die Blickrichtung is gen Westen statt Norden. Das sind beides Sachen die die Map für mich unspielbar machen würden.

Ansonsten teile ich auch Savis Meinung, dass du echt viele Trigger hast, die nicht alle zwangsläufig von nöten sind. Ich würde dir, wenn du so viele hast, empfehlen bei der Namensgebung und Sortierung von Triggern, Variablen und ähnlichem immer zu überlegen, ob du selbst alles noch verstehst und wiederfindest, wenn du zwei Wochen lang nichts dran machst. Der Auslöser "danach" wäre vielleicht besser durch "Nach intro" oder "Spieler 1 bereit" bezeichnet und Trigger 5 könnte "Nach 5 Sekunden" heißen oder noch besser: "Auf Brutalisk zoomen". Vor allem sollten die Trigger sortiert sein, in diesem Fall wohl am besten nach Ablauf.

Richtig interessant wirds dann auch bei falsch bezeichneten Trigger: Scharbe 2 (das Ding heißt übrigens Schabe, ohne "r") spawnt ein Mutterschiff - wie willst du das später wiederfinden, wenn du mal was ändern willst?
ineptus
Sonde
Beiträge: 5
Registriert: 27.09.2011, 11:54
Liga 2vs2: Gold
Mainrace: Protoss

Re: In einer Formel beantwortet? Kill-Ratio

Beitrag von ineptus »

kicher auch immer wenn ich das nochmal lese (scharbe)

grade bei den kameras ist mir das auch aufgefallen, dass man bei den auslösern den überblick verliert ...


würde übrigens auch gerne nochmal die karte drehen -was aber nicht möglich ist (oder?)- eben nur die kamera ... und dann sieht die map doof aus

nehm an das ich ne kameraeinstellung versaut hab und das das bild deswegen bei dir verschwimmt (glaubst du ein verschwommenes bild würde für mich die map nicht unspielbar machen?) hab aber eigt nur am entfernungs clip rumgestellt ...
ich versuche mal einfach eine neue standartkamera ans ende vom intro zu setzen

ansonsten funktioniert jetzt alles;
wollte sowieso nur eine art unittestmap für mich, was dann ein bisschen ausgeartet ist

danke 10x für die hilfe - TOLLES FORUM
gg hf



edit: übrigens; das ist ein ultralisk
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: In einer Formel beantwortet? Kill-Ratio

Beitrag von SaVi »

Scheu dich nicht weitere Fragen zu stellen^^
Ich bin ehrlich gesagt über jeden Post in diesem Foren-Bereich, wo ich mich dann ransetzen und überlegen kann, erfreut. :)

mfg SaVi
Bild
ineptus
Sonde
Beiträge: 5
Registriert: 27.09.2011, 11:54
Liga 2vs2: Gold
Mainrace: Protoss

Re: In einer Formel beantwortet? Kill-Ratio

Beitrag von ineptus »

perfekt ...
ok ...
sobald ich den 2-spieler modus getestet ab komm ich mit weiteren fehlern ... x)

hf hf
Antworten