Ich würde das nicht über die Bossleiste machen, das ist meiner Meinung nach eine Sackgasse. Soweit ich weiß ist es damit nicht möglich es nur für einen Spieler anzeigen zu lassen, zudem richtet sie sich ja nach den Hitpoints einer Einheit.
Der richtige Ansatz ist schon einmal der klassische "
Dialog"
_____________________________________________________
Dialog erstellen
--> Progress Bar erstellen
--> Größe einstellen/Minimum 0 und Maximum 100 einstellen
--> Dialog Hintergrund ausblenden
--> Dialog anzeigen für alle Spieler
_____________________________________________________
Somit hast du schon einmal den Dialog mit der Leiste für alle Spieler erstellt.
Dann brauchst du noch Variablen: Dialog[1 Index], Dialog-Gegenstand[1 Index] und weißt sie richtig zu. Zusätzlich brauchst du eine "Integer-Variable" Erfahrung[8 Indexe], eine Level[8] und ErfahrungNötig[so viele Indexe wie du level hast]
Wenn du jetzt zum Beispiel den Befehl benutzt um den Wert der Progressbar zu ändern,
Dialog - Set (Last created dialog item) current value to 0.0 for (All players)
So wird dir sicher auffallen, dass am Ende (All Players) steht, was ja wohl bedeuted, dass du es auch für einzelne Spieler ändern kannst.
_____________________________________________________
Danach erstellst du eine "Funktion" (Ctrl + Alt + R) benennst sie wie du möchtest und erstellst in ihr einen "Parameter" (Ctrl + M) und nennst ihn "Spieler"
Bau einfach den Auslöser nach^^
Code: Alles auswählen
ProgressBarUpdaten
Options: Action
Return Type: (None)
Parameters
Player = 0 <Integer>
Grammar Text: ProgressBarUpdaten(Player)
Hint Text: (None)
Custom Script Code
Local Variables
ZwischenInteger = 0 <Integer>
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
Erfahrung[Player] >= ErfahrungNötig[Level[Player]]
Then
Variable - Set ZwischenInteger = (Erfahrung[Player] - ErfahrungNötig[Level[Player]])
Variable - Modify Level[Player]: + 1
Dialog - Set ProgressBar current value to ((100 / ErfahrungNötig[Level[Player]]) * Zwischeninteger) for (Player group(Player))
Else
Dialog - Set ProgressBar current value to ((100 / ErfahrungNötig[Level[Player]]) * Erfahrung[Player]) for (Player group(Player))
Als nächstes einen neuen Auslöser erstellen mit dem Ereignis "Unit Dies". Bedingungen musst du dir selbst überlegen, wahrscheinlich sowas wie "Besitzer von Auslösende Einheit != 1" oder sowas^^
Dann unter Aktionen einfach mit einem "Switch" (Vertauschen-Befehl) abfragen welcher Einheitentyp es war und eben darauf hin entsprechend die Variable Erfahrung für den "Killing Player" erhöhen. Ganz unten dann noch die Funktion mit "killing Player".
Jetzt bist du fast fertig. Das einzige was noch fehlt, sind die Werte für "ErfahrungNötig", die du in der Karteninitialisierung definieren musst.
z.B. ErfahrungNötig[1] == 50
ErfahrungNötig[2] == 150
usw..
Mfg SaVi