Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++] Konwersja formatu czasu.


Rekomendowane odpowiedzi

Opublikowano (edytowane)

Dziś przedstawię Wam sposób, by uczynić wyświetlanie czasu w przedmiotach bardziej intuicyjnym.
Chciałbym Wam pokazać, jak dodać brakującą jednostkę sekund oraz jak zamienić skrócone nazwy jednostek czasu na ich pełne wersje,
tak aby były one bardziej zrozumiałe dla każdego gracza. Dodatkowo dostosujemy wyświetlanie ich do polskiej lokalizacji jednostek czasu.


Plik: root -> localeInfo.py

Szukamy:

Cytat

def SecondToDHM(time):


Zamieniamy całą funkcje na:
 

Cytat

 

def SecondToDHM(time):
    text = ""

    second = int(time % 60)
    minute = int((time / 60) % 60)
    hour = int((time / 3600) % 24)
    day = int(time / 86400)

    if day > 0:
        text += "{} {}".format(day, getPolishTimeUnit(day, ["dzień", "dni", "dni"]))
        text += " "

    if hour > 0:
        text += "{} {}".format(hour, getPolishTimeUnit(hour, ["godzina", "godziny", "godzin"]))
        text += " "

    if minute > 0:
        text += "{} {}".format(minute, getPolishTimeUnit(minute, ["minuta", "minuty", "minut"]))
        text += " "

    if second > 0:
        text += "{} {}".format(second, getPolishTimeUnit(second, ["sekunda", "sekundy", "sekund"]))
        text += " "

    return text.strip()

 


nad def SecondToDHM(time):

dodajemy:

Cytat

def getPolishTimeUnit(n, forms):
    if n == 1:
        return forms[0]
    elif 10 < n % 100 < 20:
        return forms[2]
    elif n % 10 == 2 or n % 10 == 3 or n % 10 == 4:
        return forms[1]
    else:
        return forms[2]


root -> uiToolTip.py

Szukamy:

 

Cytat

def AppendUniqueItemLastTime(self, restMin):


Zamieniamy na :

 

Cytat

def AppendUniqueItemLastTime(self, restMin):
    restSecond = restMin * 60
    self.AppendSpace(5)
    self.AppendTextLine(localeInfo.LEFT_TIME, self.LEFT_TIME_COLOR)
    self.AppendTextLine(localeInfo.SecondToDHM(restSecond), self.NORMAL_COLOR)


Szukamy:

 

Cytat

def AppendMallItemLastTime(self, endTime):


Zamieniamy na :

 

Cytat

def AppendMallItemLastTime(self, endTime):
    leftSec = max(0, endTime - app.GetGlobalTimeStamp())
    self.AppendSpace(5)
    self.AppendTextLine(localeInfo.LEFT_TIME, self.LEFT_TIME_COLOR)
    self.AppendTextLine(localeInfo.SecondToDHM(leftSec), self.NORMAL_COLOR)


Szukamy: 

 

Cytat

LOW_PRICE_COLOR = grp.GenerateColor(0.7, 0.7, 0.7, 1.0)


Dodajemy pod:

 

Cytat

LEFT_TIME_COLOR = 0xFFFFA500


Jak to wygląda? Filmik poniżej.
 

 

Edytowane przez Nathan.
  • 1 rok później...
Opublikowano

Temat został opublikowany w nie tym dziale co trzeba, tematy z C++ powinny być publikowane w tym dziale Metin2 - Questy, Dify, C++, Python - MPCforum.pl - MultiPlayer Community

ostrzegam na przyszłość a sam temat zostanie przeniesiony do odpowiedniego działu. 

╔═▣◎▣═══ SILENCE ═══▣◎▣═╗
» Cień ostrza. Cisza przed burzą. «
☯ Wojownik starego świata ☯

⛩️Droga bushido ⛩️

Szept nocy... znikam, zanim mnie zauważysz.

════════════════════════

1.gif

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...