Autor Zpráva
leorond
Profil
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 :).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: