Skocz do zawartości
szogun

[Brak rozwiązania] Integracja pluginu shop score z sklecs

Rekomendowane odpowiedzi

Cześć, mam mały problem aby zrobić skuteczną integracje ze sklepem sam kod działa etc, tylko jest jeden problem w momencie gdy gracz jest na serwerze i kupi sobie poprzez sms X coinsów to mu się doda poprawnie lecz po około minuty sklep mu przywraca wcześniejszą ilość coinsów przez zakupem

 

Spoiler

<?php

////////////////////////////

//// API SQL WERSJA 1.0 ////

//// 03.05.2017 ////

////////////////////////////

 

// INSTRUKCJA

// 1. DODAJ NA STRONIE SKLEPCS W PANELU ADMINA USŁUGĘ DODATKOWĄ NAZWIJ JĄ NP. "KREDYTY ZEPHYRUS"

// 2. UZUPEŁNIJ PONIŻSZE DANE DO BAZY DANYCH MYSQL W KTÓREJ SĄ DANE Z ZEPHYRUS STORE I WRZUĆ TEN PLIK NA SERWER WWW

// 3. DODAJ PAKIET PRZEZ STRONE WWW

// 3.1 W MIEJSCE API WPISZ ADRES GDZIE WRZUCISZ TEN PLIK

// 3.2 W MIEJSCE CYFRY WPISZ ILE KREDYTÓW MA DOSTAĆ GRACZ CO TO KUPI

// 4. PRZETESTUJ CZY DZIAŁA ?

//

// INSTRUKCJA JAK TO SKONFIGUROWAĆ NA PRZYKŁĄDZIE PLUGINU ZEPHYRUS STORE:

// https://youtu.be/WsSiNmT9qcI
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!



 

// KLUCZ API Z PANELU ADMINA sklepcs.pl

$api_key = "xxx";

 

// DANE DO BAZY DANYCH

$db_host = "xx.xx.xx.xxx";

$db_user = "xxx";

$db_pass = "xxx";

$db_name = "xx";



 

// SKRYPT

// PRZYDATNE ZMIENNE - NIE ZMIENIAJ TEGO

if ($_GET['api'] != $api_key) {

    echo "blad_1";

    exit;

}

 

$funkcja = $_GET['funkcja'];

$db1 = mysqli_connect("$db_host", "$db_user", "$db_pass", "$db_name");

if (mysqli_connect_errno()) {

printf("Blad polaczenia z MySQL: %s\n", mysqli_connect_error());

exit();

}

if (mysqli_ping($db1)) {

//printf ("Wszystko gra");

} else {

printf ("Blad MySQL: %s\n", mysqli_error($db1));

    exit();

}


 

$steam64 = $_GET['steam64'];                                    //np. 76561197980575184

if (!is_numeric($steam64)) {

    echo "blad_2";

    exit;

}

$steamid = toSteamID($steam64);                                 //np. STEAM_0:0:10154728

$steamid_pieces = explode(":", $steamid);

$steamid_bar = $steamid_pieces[2];                              //końcówka z steamid, np. 10154728

$userid = toUserID($steam64);                                   //końcówka z steamid3, np. 20309456

$cyfra1 = mysqli_real_escape_string($db1, $_POST['cyfra1']);    //cyfra1 przekazana z sklepu

$cyfra2 = mysqli_real_escape_string($db1, $_POST['cyfra2']);    //cyfra2 przekazana z sklepu

$tekst = mysqli_real_escape_string($db1, $_POST['tekst']);      //tekst przekazany z sklepu




 

// EDYTUJ SKRYPT NIŻEJ

// MUSISZ DOSTOSOWAĆ GO ABY WYKONAŁ ODPOWIEDNIE OPERACJE NA BAZIE DANYCH. JEŚLI OPERACJA PRZEBIEGNIE PRAWIDŁOWO NALEŻY ZWRÓCIĆ "ok"

if ($funkcja == "dodaj")

{

    $sql = mysqli_query($db1, "UPDATE shop_players SET money = money + $cyfra1 WHERE auth LIKE '%$steamid_bar';");

    

    

    if (mysqli_affected_rows($db1) > 0)

    {

        echo "ok";

    }

    else echo "blad_0";

}








 

// FUNKCJE

// NIC TU NIE ZMIENIAJ CHYBA, ŻE WIESZ CO ROBISZ

function toSteamID($id)

{

if (is_numeric($id) && strlen($id) >= 16) {

$z = bcdiv(bcsub($id, '76561197960265728'), '2');

} elseif (is_numeric($id)) {

$z = bcdiv($id, '2'); // Actually new User ID format

} else {

return $id; // We have no idea what this is, so just return it.

}

$y = bcmod($id, '2');

return 'STEAM_0:' . $y . ':' . floor($z);

}


 

function toUserID($id)

{

if (preg_match('/^STEAM_/', $id)) {

$split = explode(':', $id);

return $split[2] * 2 + $split[1];

} elseif (preg_match('/^765/', $id) && strlen($id) > 15) {

return bcsub($id, '76561197960265728');

} else {

return $id; // We have no idea what this is, so just return it.

}

}


 

?>

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość

Jeżeli gracz jest na serwerze, to gdy wyjdzie to nadpisuje starą wartość.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Właśnie to tak nie działa, gdy jest na serwerze i to kupi to mu nadpisuje wartość w bazie a zaraz plugin ją nadpisuję na stara i wychodzi że po kupnie tego nie ma

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Temat został zamknięty i przeniesiony do działu "Przestarzałe tematy". Powodem jest brak rozwiązania problemu zawartego w temacie lub brak zainteresowania autora w jego rozwiązaniu.

 

Jeśli się z tym nie zgadzasz, zaraportuj ten post z prośbą o ponowne otwarcie i kontynuację dyskusji.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...