Ticaret Sisteminde Sayıyı Basamaklara Göre Ayırma (1.000.000)

Whistle

Ruhsuz Filozof
Kurucu
Kurumsal Üye
Geliştirici
Yardımsever Üye
Mesaj
11.558
Çözümler
550
Beğeni
12.227
Puan
5.915
Ticaret Puanı
2
root/uiexchange.py açılıp aşağıdaki kod aratılır;

Python:
self.OwnerMoney.SetText(str(exchange.GetElkFromSelf()))
self.TargetMoney.SetText(str(exchange.GetElkFromTarget()))

Aşağıda yazan kodlarla değiştirilir.
Python:
self.OwnerMoney.SetText(localeInfo.NumberToMoneyString(str(exchange.GetElkFromSelf())))
self.TargetMoney.SetText(localeInfo.NumberToMoneyString(str(exchange.GetElkFromTarget())))

Not: Bazı pack dosyalarında localeInfo.py yerine locale.py yazmaktadır. Eğer root içinde localeInfo yerine locale.py varsa kodları şu şekilde uiexchange'ye yazmanız gerek.

Python:
self.OwnerMoney.SetText(locale.NumberToMoneyString(str(exchange.GetElkFromSelf())))
self.TargetMoney.SetText(locale.NumberToMoneyString(str(exchange.GetElkFromTarget())))

Bu işlemleri yaptıktan sonra ticaretteki para miktarı şu şekilde gözükür;
Ticaret Yang Noktalama 1.png


Sayı yazı stilini locale'den çektiğimiz için envanterimizdeki yang miktarı gibi yazmaktadır. Eğer ticaret ekranın Yang yazısını kaldırmak istiyorsanız şu adımları uygulayınız;

1. Yöntem (Direk uiexchance üzerinden düzeltmek için.);
root/uiexchange.py açılıp aşağıdaki kod aratılır;
Python:
self.OwnerMoney.SetText(str(exchange.GetElkFromSelf()))
self.TargetMoney.SetText(str(exchange.GetElkFromTarget()))

Aşağıda yazan kodlarla değiştirilir.
Python:
self.OwnerMoney.SetText(str(('.'.join([ i-3<0 and str(exchange.GetElkFromSelf())[:i] or str(exchange.GetElkFromSelf())[i-3:i] for i in range(len(str(exchange.GetElkFromSelf()))%3, len(str(exchange.GetElkFromSelf()))+1, 3) if i ]))))
self.TargetMoney.SetText(str(('.'.join([ i-3<0 and str(exchange.GetElkFromTarget())[:i] or str(exchange.GetElkFromTarget())[i-3:i] for i in range(len(str(exchange.GetElkFromTarget()))%3, len(str(exchange.GetElkFromTarget()))+1, 3) if i ]))))

2. Yöntem (Locale'den çekmek isteyenler için.)
LocaleInfo.py
açılır. (Root dosyasında LocaleInfo.py olmayanlar Locale.py'yi açmaları gerekmektedir.) Şu kod blogu aratılır.
Python:
def NumberToMoneyString(n) :

        if n <= 0 :
            return "0 %s" % (MONETARY_UNIT0)

        return "%s %s" % ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ]), MONETARY_UNIT0)

Aşağıda yazan kodlarla değiştirilir.
Python:
def NumberToMoneyString(n,y=0) :
        if n <= 0 :
            if y == 0:
                return "0 %s" % (MONETARY_UNIT0)
            else:
                return "0"
        if y == 0:
            return "%s %s" % ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ]), MONETARY_UNIT0)
        else:
            return "%s" % ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ]))


Bu işlemden sonra root/uiexchange.py açılıp aşağıdaki kod aratılır;
Python:
self.OwnerMoney.SetText(str(exchange.GetElkFromSelf()))
self.TargetMoney.SetText(str(exchange.GetElkFromTarget()))


Aşağıda yazan kodlarla değiştirilir.
Python:
self.OwnerMoney.SetText(localeInfo.NumberToMoneyString(exchange.GetElkFromSelf(),1))
self.TargetMoney.SetText(localeInfo.NumberToMoneyString(exchange.GetElkFromTarget(),1))


Not: Bazı pack dosyalarında localeInfo.py yerine locale.py yazmaktadır. Eğer root içinde localeInfo yerine locale.py varsa kodları şu şekilde uiexchange'ye yazmanız gerek.
Python:
self.OwnerMoney.SetText(locale.NumberToMoneyString(exchange.GetElkFromSelf(),1))
self.TargetMoney.SetText(locale.NumberToMoneyString(exchange.GetElkFromTarget(),1))
İşlemler tamamlandığında şu şekilde gözükür;
Ticaret Yang Noktalama 2.png
 
Son düzenleme:
Geri
Üst