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