Problema Lingouri

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
Methorion1
Nou Venit

Nou Venit
Mesaje: 40
Membru din: 29 Ian 2018, 15:08
Server: e in metenanta ba
Regat: Jinno
Aprecieri: 77  
Mulţumiri: 0
Medalii

*Problemă/Întrebare:Am facut dupa sistemul lui dr3amer lingourile functioneaza se deschid ,functioneaza si functia daca am ajuns la maxim yang definit in lenght.h ,dar problema este ca daca dau reboot la server se face overflow si imi da 2kkk in inventar in loc sa mi dea suma de yang care am ramas in inventar (exemplu am deschis 200 lingouri 1kkk ,normal trebuia sa mi ramana 200kkk in inventar... (am sistemul long long la yang ...am trecut pe long lingourile din int ...
Tipologie server:
*Resursă folosită:
*ServerFiles utilizat:
*Syserr:
Poză:
*Detalii suplimentare: switch (item->GetVnum())
{
case 80003:
case 80004:
case 80005:
case 80006:
case 80007:
{
static const long long sGold[5] =
{
10000000 ///< 80003
50000000, ///< 80004
100000000, ///< 80005
500000000, ///< 80006
1000000000 ///< 80007
};

if (IsOpenSafebox() || GetExchange() || GetMyShop() || IsCubeOpen())
{
ChatPacket(CHAT_TYPE_INFO, "Nu poti folosi lingouri in timp ce negociezi.");
return false;
}

const long long amount = sGold[item->GetVnum() - 80003];
if ((GOLD_MAX - amount) <= GetGold())
{
ChatPacket(CHAT_TYPE_INFO, "Nu poti detine mai mult de 2kkk Yang.");
return false;
}

item->SetCount(item->GetCount() - 1);
PointChange(POINT_GOLD, amount, true);
}
break;
default:
break;
}
Avatar utilizator
[RaffaeL]
Software Developer

Software Developer
Mesaje: 3223
Membru din: 19 Mar 2016, 12:58
Server: ...
Aprecieri: 15  
Mulţumiri: 2502  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

De ce long long amount(fara data_type)? Puteai folosi de ex long long int amount, desi 2kkk yang(2 miliarde/2.000.000.000) nu depasesc int data_type value

int ~= -2.147.483.648 -> 2.147.483.647
long int ~= -2.147.483.648 -> 2.147.483.647

Diferenta intre int si long int este marimea in biti(int=4/long int=8), insa au acelasi range.
Imagine
Imagine
https://www.youtube.com/watch?v=GhYkCIETEto
Do everything, if you know what you're doing, else... Imagine
Ma gasesti si aici: Discord https://discord.gg/5J5GnyZVSR
Afișează semnătura
Avatar utilizator
Methorion1
Nou Venit

Nou Venit
Mesaje: 40
Membru din: 29 Ian 2018, 15:08
Server: e in metenanta ba
Regat: Jinno
Aprecieri: 77  
Mulţumiri: 0
Medalii

[RaffaeL] scrie: ↑29 Mar 2021, 22:11 De ce long long amount(fara data_type)? Puteai folosi de ex long long int amount, desi 2kkk yang(2 miliarde/2.000.000.000) nu depasesc int data_type value

int ~= -2.147.483.648 -> 2.147.483.647
long int ~= -2.147.483.648 -> 2.147.483.647

Diferenta intre int si long int este marimea in biti(int=4/long int=8), insa au acelasi range.
Si cum as putea sa l fac functional?.Ce ma sfatuiesti sa pun?
Avatar utilizator
[RaffaeL]
Software Developer

Software Developer
Mesaje: 3223
Membru din: 19 Mar 2016, 12:58
Server: ...
Aprecieri: 15  
Mulţumiri: 2502  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

Methorion1 scrie: ↑29 Mar 2021, 22:15
[RaffaeL] scrie: ↑29 Mar 2021, 22:11 De ce long long amount(fara data_type)? Puteai folosi de ex long long int amount, desi 2kkk yang(2 miliarde/2.000.000.000) nu depasesc int data_type value

int ~= -2.147.483.648 -> 2.147.483.647
long int ~= -2.147.483.648 -> 2.147.483.647

Diferenta intre int si long int este marimea in biti(int=4/long int=8), insa au acelasi range.
Si cum as putea sa l fac functional?.Ce ma sfatuiesti sa pun?
Cat ai maxim yang definit in lenght.h?
Imagine
Imagine
https://www.youtube.com/watch?v=GhYkCIETEto
Do everything, if you know what you're doing, else... Imagine
Ma gasesti si aici: Discord https://discord.gg/5J5GnyZVSR
Afișează semnătura
Avatar utilizator
Methorion1
Nou Venit

Nou Venit
Mesaje: 40
Membru din: 29 Ian 2018, 15:08
Server: e in metenanta ba
Regat: Jinno
Aprecieri: 77  
Mulţumiri: 0
Medalii

[RaffaeL] scrie: ↑29 Mar 2021, 22:42
Methorion1 scrie: ↑29 Mar 2021, 22:15
[RaffaeL] scrie: ↑29 Mar 2021, 22:11 De ce long long amount(fara data_type)? Puteai folosi de ex long long int amount, desi 2kkk yang(2 miliarde/2.000.000.000) nu depasesc int data_type value

int ~= -2.147.483.648 -> 2.147.483.647
long int ~= -2.147.483.648 -> 2.147.483.647

Diferenta intre int si long int este marimea in biti(int=4/long int=8), insa au acelasi range.
Si cum as putea sa l fac functional?.Ce ma sfatuiesti sa pun?
Cat ai maxim yang definit in lenght.h?
Cam atat 1000000000000001LL,
Avatar utilizator
[RaffaeL]
Software Developer

Software Developer
Mesaje: 3223
Membru din: 19 Mar 2016, 12:58
Server: ...
Aprecieri: 15  
Mulţumiri: 2502  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

Atunci foloseste int64_t care este egal cu 2^63 − 1 adica 9.223.372.036.854.775.807
Imagine
Imagine
https://www.youtube.com/watch?v=GhYkCIETEto
Do everything, if you know what you're doing, else... Imagine
Ma gasesti si aici: Discord https://discord.gg/5J5GnyZVSR
Afișează semnătura
Avatar utilizator
Methorion1
Nou Venit

Nou Venit
Mesaje: 40
Membru din: 29 Ian 2018, 15:08
Server: e in metenanta ba
Regat: Jinno
Aprecieri: 77  
Mulţumiri: 0
Medalii

[RaffaeL] scrie: ↑29 Mar 2021, 22:56 Atunci foloseste int64_t care este egal cu 2^63 − 1 adica 9.223.372.036.854.775.807
il las doar int64 sau pun si long long int64 sau doar long int64?
Avatar utilizator
Methorion1
Nou Venit

Nou Venit
Mesaje: 40
Membru din: 29 Ian 2018, 15:08
Server: e in metenanta ba
Regat: Jinno
Aprecieri: 77  
Mulţumiri: 0
Medalii

nu merge...
Avatar utilizator
Methorion1
Nou Venit

Nou Venit
Mesaje: 40
Membru din: 29 Ian 2018, 15:08
Server: e in metenanta ba
Regat: Jinno
Aprecieri: 77  
Mulţumiri: 0
Medalii

T/c
Avatar utilizator
BRTSERGIU
Nivel 3

Nivel 3
Mesaje: 370
Membru din: 21 Apr 2019, 17:40
Server: Diverse
Regat: Chunjo
Aprecieri: 127  
Mulţumiri: 4408  
Medalii

Subiect arhivat.
Închis
Răspunsuri
5
Vizualizări
278
Răspunsuri
3
Vizualizări
54
Răspunsuri
3
Vizualizări
391
Răspunsuri
1
Vizualizări
126

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie