Rezolvat, cer T/C.
scuzați.
Intrebare despre itemshop client
- [HF]White
-

- Mesaje: 2684
- Membru din: 03 Iul 2018, 13:40
- Regat: Jinno
- Aprecieri: 338
- Mulţumiri: 5331
- Rezolvări prob.: 13
- Discord: Copiază ID
- Contact:
cmd_general.cpp: cauta do_in_game_mall si inlocuieste cu asta:
Editeaza secretKey cu o parola complexa si websiteUrl cu link la site-ul tau.
In website-ul tau va trebui sa verifici daca secret key este corect, iar daca este ok, sa conecteze playerul. Poti face ceva de genul:
Explicatie:
Cod: Selectaţi tot
ACMD(do_in_game_mall)
{
char buf[512+1];
char sas[33];
MD5_CTX ctx;
const char secretKey[] = "my secret key"; // <<--- EDIT THIS!!!
const char websiteUrl[] = "http://mywebsite/shop"; // <<--- EDIT THIS!!!
snprintf(buf, sizeof(buf), "%u%s", ch->GetAID(), secretKey);
MD5Init(&ctx);
MD5Update(&ctx, (const unsigned char *) buf, strlen(buf));
#ifdef __FreeBSD__
MD5End(&ctx, sas);
#else
static const char hex[] = "0123456789abcdef";
unsigned char digest[16];
MD5Final(digest, &ctx);
int i;
for (i = 0; i < 16; ++i) {
sas[i+i] = hex[digest[i] >> 4];
sas[i+i+1] = hex[digest[i] & 0x0f];
}
sas[i+i] = '\0';
#endif
snprintf(buf, sizeof(buf), "mall %s?aid=%u&secret=%s", websiteUrl, ch->GetAID(), sas);
ch->ChatPacket(CHAT_TYPE_COMMAND, buf);
}
In website-ul tau va trebui sa verifici daca secret key este corect, iar daca este ok, sa conecteze playerul. Poti face ceva de genul:
Cod: Selectaţi tot
<?php
$secretKey = $_GET['secret'];
$accountId = $_GET['aid'];
$generatedSecret = md5($accountId . $secretKey);
if ($generatedSecret == $secretKey) {
// ok, proceed with login
} else {
// invalid secret
}aid = account id
secret = md5( id-ul contului + secret key-ul pus de tine )
-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 78 vizitatori


