Tak to jest jak się bierze za coś bardziej skomplikowanego nie mając podstaw. Nawet niezbyt rozumiem co tutaj napisałeś. Dlaczego loop i definiowanie zakresu pasków są w dwóch oddzielnych funkcjach i jeszcze są od siebie niezależne (tzn. nie wywołujesz tej swojej drugiej - zbędnej - w loopie)? I co ma znaczyć ta ostatnia funkcja? Wartości w Bar_SetMax i Bar_SetValue to są kolejno maksymalna wartość paska i to, co definiuje wypełnienie paska. Na przykład wpisanie
Bar_SetMax(MyBar, hero.exp_next);
oznacza, że maksymalną wartością paska będzie doświadczenie do następnego poziomu, a
Bar_SetValue(MyBar, hero.exp);
że pasek będzie wypełniany na podstawie ilości doświadczenia postaci. Oczywiście pasek trzeba też zainicjować, bo sama się ta funkcja nie wywoła. Ale póki nie umiesz nawet go poprawnie stworzyć - nawet nie wiesz, co tworzysz - to możesz sobie darować zastanawianie się nad tym.
Tak w ogóle to stamina w Gothicu jako dynamiczna wartość nie istnieje, więc musiałbyś stworzyć też sam atrybut staminy.