Autor | Zpráva | ||
---|---|---|---|
leorond Profil |
#1 · Zasláno: 18. 2. 2016, 13:29:13
Ahoj, dejme tomu že mám řetězec dlouhý několik tisíc znaků a uložený v MSSQL databázi Varbinary(8000).
Tento řetězec se rozděluje po 32 znakách které vypadají například následovně 06102AFFFFFF9C000080000000000000 nyní mne zajímá pouze jediná část řetězce a to FFFFFF9C, je to serial key který by se měl normálně automaticky měnit ale bohužel se tak neděje a já bohužel nevlastním zdrojové kódy od aplikace abych to mohl opravit. Potřebuji tedy najít všechny tyto části řetězce a nahradit je za unikátní čísla tak aby neexistoval jiný stejný zápis, to znamená je například uchovávat v DB nebo textovém souboru. Vím přibližně jak to bude vypadat ale s čím potřebuji pomoct je jak v jednom řetězci upravit několik různých částí tak aby každá ta část byla originální. Například aby se začalo na 10000000 a postupně se došlo až do 99999999 a poté by tam začali skákat třeba písmena jako A0000000 => A1000000 atd... |
||
Martin02 Profil |
leorond:
Jestli ti stačí rozsah 00000000 - FFFFFFFF, což je 2^32 možností, můžeš použít php funkci dechex($i) . Při každém dalším řetězci zvýšíš $i o 1 a stačí ukládat pouze to jedno číslo $i.
|
||
Zechy Profil |
leorond:
Stále MuServer? :) Většinou MuServer mívá v databázi tabulku (Něco ve stylu GameServerInfo), kde má uložený počet itemů na serveru. Pokud jsem pochopil dobře, z procedury GetItemSerial, jedná se o toto číslo navýšené o +1, pak už samozřejmě item serial ve varbinary vyjádření je převedené decimální číslo do hexa. EDIT: Což mě tak napadá, že při vlastním generování itemu můžeš vlastně volat již zmíněnou GetItemSerial a máš vyřešeno :). |
||
Časová prodleva: 9 let
|
0