Unicode argument data types Experience Character

Odpowiedz Nowy wątek
2015-02-10 19:38
Trat
0

cześć mam taki kod
ten kod jest nie pełny jak będzie trzeba mogę wrzucić cały na wklej.pl
binnary:

PyObject * playerGetEXP(PyObject* poSelf, PyObject* poArgs)
{
    Dword dwEXP = CPythonPlayer::Instance().GetStatus(POINT_EXP);
    return Py_BuildValue("l", dwEXP);
}

db:

size_t CreatePlayerSaveQuery(char * pszQuery, size_t querySize, TPlayerTable * pkTab)
{
    size_t queryLen;

    queryLen = snprintf(pszQuery, querySize,
            "exp = %u, "

python:

 def unsigned32(n):
    return n & 0xFFFFFFFFL

                 try:
            self.GetChild("Level_Value").SetText(str(player.GetStatus(player.LEVEL)))
            self.GetChild("Exp_Value").SetText(str(unsigned32(player.GetEXP())))
            self.GetChild("RestExp_Value").SetText(str(unsigned32(player.GetStatus(player.NEXT_EXP)) - unsigned32(player.GetStatus(player.EXP))))

chciałbym to przerobić na unsigned long long ale nie daje rady próbowałem tak
binnary:

PyObject * playerGetEXP(PyObject* poSelf, PyObject* poArgs)
{
    unsigned long long dwEXP = CPythonPlayer::Instance().GetStatus(POINT_EXP);
    return Py_BuildValue("K", dwEXP);
}

db:

 size_t CreatePlayerSaveQuery(char * pszQuery, size_t querySize, TPlayerTable * pkTab)
{
    size_t queryLen;

    queryLen = snprintf(pszQuery, querySize,
            "exp = %llu, "

python:

 def unsigned64(n):
    return n & 0xffffffffffffffff

    try:
            self.GetChild("Level_Value").SetText(str(player.GetStatus(player.LEVEL)))
            self.GetChild("Exp_Value").SetText(str(unsigned64(player.GetEXP())))
            self.GetChild("RestExp_Value").SetText(str(unsigned64(player.GetStatus(player.NEXT_EXP)) - unsigned64(player.GetStatus(player.EXP))))

w grze mam taki problem ze mam experience do 2147483647 normalnie idzie ale po przekroczeniu wywala liczbę unsigned long long w bazie danych w mysql mam exp tyle ile wbiłem np 5147483647 ale jest wyswietlana liczba unsigned long long w wymaganym doświadczeniu czasem wywala na -wymagane a wtedy unsigned long long (liczba) pokazuje się w wbitym doświadczeniu

Pozostało 580 znaków

2015-02-10 20:02
0

gdzieś masz narrowing conversion, printuj w kazdym miejscu programu (gdzie zmieniasz scope), także w funkcji pobierającej z bazy danych

edit:

może ten Dword

edytowany 2x, ostatnio: gośćabc, 2015-02-10 20:04

Pozostało 580 znaków

2015-02-10 20:26
Trat
0
gośćabc napisał(a):

gdzieś masz narrowing conversion, printuj w kazdym miejscu programu (gdzie zmieniasz scope), także w funkcji pobierającej z bazy danych

edit:

może ten Dword

chodzi ci o ten dwExp?
jest od komendy w c++ w char.cpp
SetExp(t->dwExp);

poprintuj i zobacz gdzie Ci się pojawia niepożądany wynik (najwcześniej) - gośćabc 2015-02-10 21:32

Pozostało 580 znaków

2015-02-11 17:15
Trat
0

może wrzucę cały kod na wklej.pl i może ktoś znajdzie ten mój błąd ale raczej nie bo wszystko dokładnie zrobiłem
binnary:
http://wklej.org/id/1631968/
Client:
uicharacter.py: http://wklej.org/id/1631971/
uitaskbar.py: http://wklej.org/id/1631972/
Game:
char.cpp: http://wklej.org/id/1631974/
char.h: http://wklej.org/id/1631975/
constants.cpp: http://wklej.org/id/1631976/
constants.h: http://wklej.org/id/1631977/
folder common:
tables.h http://wklej.org/id/1631979/
DB:
ClientManagerPlayer.cpp: http://wklej.org/id/1631984/

wiem ze coś jest nie tak z binarnym z tym dodaniem unsigned long long bo jak dodaje np unsigned int i inne rodazaje do 4kkk działają prawidłowo ale jak dodaje unsigned long long nie działa tak do końca

pomoże ktoś? albo chociaż ktoś podpowie co mam źle w tym kodzie?

odświezam pomoże ktoś?

Pozostało 580 znaków

2015-02-14 19:25
0

Chłopie, załozysz jeszcze ze 3 tematy o tym samym i wtedy na pewno ktoś ci pomoże! Bo to już jest 3... Mówiłem ci już 2 razy: zapomnij sie w tym kodzie debugerem i zobacz gdzie się coś psuje. Innej drogi nie ma i już.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2015-02-14 19:55
Tajger
0

Człowieku. Weź naucz się wysławiać. Widać, po sposobie pisania, że masz nie więcej niż 12 lat.
Odpal to w degugerze i daj wynik tutaj na forum.

Pozostało 580 znaków

2015-02-14 20:07
Jeżozwierz Czarny
0
Tajger napisał(a):

Człowieku. Weź naucz się wysławiać. Widać, po sposobie pisania, że masz nie więcej niż 12 lat.
Odpal to w degugerze i daj wynik tutaj na forum.

A mam Ci ujebać chuja, za to co powiedziałeś?

Pozostało 580 znaków

2015-02-14 20:12
Trat
0
Tajger napisał(a):

Człowieku. Weź naucz się wysławiać. Widać, po sposobie pisania, że masz nie więcej niż 12 lat.
Odpal to w degugerze i daj wynik tutaj na forum.

mam 17lat z polskim zawsze miałem duże problemy nie wiem o co ci chodzi myślisz ze jesteś fajny ze mi tu dowaliłeś czy co?
jestem ciekaw jak mam odpalić debugger na freebsd bo nigdy tego nie robiłem oświeć mnie specu

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0