Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] Pomoc ze skryptem Jebanany


Rekomendowane odpowiedzi

Opublikowano

Witam. Mam pewien problem ze skryptem automatycznego itemshopu by Jebanany napisany pod Mineserv.eu. Ostatnio Mineserv.eu zmieniło wygląd i budowę swojej strony, w związku z czym pozmieniały się też linki zasilaczy... Jakby ktoś mógł mi pomóc w tym skrypcie to byłbym bardzo wdzięczny. Skrypt ma tylko 4 krótkie pliki PHP, a ja się kompletnie na tym nie znam i myślę, że dla kogoś kto choć trochę się na tym zna jest to 10 minut roboty... Wzamian mogę dać darmowego Vipka na moim nowo-otwartym serwerze RPG+Survival. Oto link do plików skryptu - xxx. A oto kod skryptu:

 

 

 

 

 

 

 

 

 

 

 

 

Plik index.php:

<?php
include('skrypt.php');
echo '<p>Aby otrzymac kod zwrotny wyslij SMS o tresci <b>AP.MSV</b> na numer <b>'.$numer_sms.'</b>. Calkowity koszt SMS-a to <b>'.$koszt_sms.'</b> zł</p>';
?>
<html><body>
<small>Wysylajac SMS i/lub klikajac przycisk "Kontynuuj" akceptujesz <a href="http://www.dotpay.pl/index.php?content=113&newlang=pl">regulamin sms</a>. <a href="http://www.dotpay.pl/reklamacje" target="_blank">Zglos reklamacje.</a><br></small>
<form method="post" ACTION="skrypt.php">
<table>
<tbody>
<tr>
<td>Nick Minecraft:</td>
<td><input type="text" maxlength="20" name="nick" /></td>
</tr>
<tr>
<! Pole value oznacza OPIS, który wyświetli Ci się w zasilaczu! Gracz nie może tego zmieniać!>
<td>Usluga:</td>
<td><input type="text" maxlength="20" readonly="readonly" name="opis" value="VIP 1m" /></td>
</tr>
<tr>
<td>Kod SMS:</td>
<td><input type="text" maxlength="8" name="kod" /></td>
</tr>
</tbody>
</table>
<input type="submit" name="active" value="Kontynuuj"/></form>
</body></html>

 

Plik konfiguracja.php:

<?php
//Podaj IP swojego serwera
$ip = "91.121.223.136";
//Podaj PORT HTTPConsole podany w konfiguracji pluginu
$port = "8763";
//Podaj kwotę doładowania w craftach
//Przypominam, że:
//Koszt SMS	Ilość craftów
//  3.69 zł	    1
//  4.92 zł	    2
//  6.15 zł	    3
//  7.38 zł	    4
//  11.07 zł	5
//  24.60 zł	9
//  30.75 zł	11
$kwota_doladowania = "3";
//Podaj kod zasilacza
$kod_zasilacza = "ny0ots";
/////////////////////////////////////////////
// Wpisz tak, jeśli chcesz sprawdzić, czy wpisałeś dobry numer zasilacza
$tryb_testowania_zasilacz_mineserv = "nie";
// Wpisz tak, jeśli chcesz sprawdzić czy połączenie z HTTPConsole jest poprawne
$tryb_testowania_serwera_mc = "nie";
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
// Tutaj możesz zmienić, co chcesz, aby wyświetlało się dla osoby, 
// która korzysta z formularza. 
// Można podawać kod html np. <p><br><table><img> OBRAZKI, TŁA, cokolwiek - itp.
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
//Wiadomość, która wyświetla się, jeśli wszystkie pola nie zostały wypełnione
$blad_puste_pola = "Nie wypełniłeś wszystkich pól formularza.";
//Wiadomość podczas wpisania złego kodu
$blad_zly_kod = "Podałeś zły kod SMS!";
//Wiadomość podczas pozostawienia pustego kodu SMS
$blad_brak_kodu = "Nie podałeś kodu SMS!";
//Wiadomość podczas pozostawienia pustego nicku
$blad_brak_nicku = "Nie podałeś swojego NICKU!";
//Wiadomość podczas pozostawienia pustego KODU i NICKU
$blad_pusty_formularz = "Nie wypełniłeś żadnego pola!";
//Wiadomość podczas wpisania dobrego kodu SMS
$akceptacja_dobry_kod = "Gratulacje! Stałeś się posiadaczem jakiejśtam oferty!";
?>

 

Plik komendy.php:

<?php
////////////////////////////////////////////////////////////////////////////////////////// 
//Tu wpisujesz komendy, które mają się wykonać na serwerze - przez konsolę serwera      //
//Pamiętaj! Aby nick podawać zawsze w takiej formie jak w przykładzie!                  //
//Inaczej komenda się nie wykona!                                                       //
//Uważaj również na spacje!                                                             //
//                                                                                      //
//          sleep(1) zatrzymuje wykonywanie poleceń na 1 sekundę,                       //
//          dając przerwę pomiędzy wykonującym się komendom.                            //
//          Warto to napisać po każdej komendzie.                                       //
//                                                                       Jebanany       //
//////////////////////////////////////////////////////////////////////////////////////////
konsola('give '.$nick.' diamond 64');
sleep(1);
konsola('say Gracz '.$nick.' wykupil wlasnie konto VIP na 30 dni. Gratulujemy!');
sleep(1);
konsola('say Wiecej ofert znajdziecie na naszej stronie WWW.');
sleep(1);
konsola('azsetgroup '.$nick.' vip 1mo');
?>

 

Plik skrypt.php:

<?php
include('konfiguracja.php');             //Pobieranie zmiennych dot. konsoli, zasilacza i błędów
function napraw($ciag){                 //Naprawia ciag, tak aby HTTPCONSOLE poprawnie odbieralo spacje
include('konfiguracja.php');
	$naprawiam = str_replace (" ", "%20", $ciag);
	return $naprawiam;
};
function konsola($command){				//Funkcja wywolywana aby skontakowac sie z serwerem Minecraft
include('konfiguracja.php');
	$ch = curl_init();
	$command = napraw($command);
	curl_setopt($ch, CURLOPT_URL, "http://$ip:$port/console?command=$command");		
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	$output=curl_exec($ch);
	curl_close($ch);
	return $output;
};
if($kwota_doladowania>7 || $kwota_doladowania<0){
	die("Blad: Skrypt zostal zle skonfigurowany, wybierz poprawna kwote doladowania.");
}
switch ($kwota_doladowania){
	case 1:
	$koszt_sms="3.69";
	$numer_sms="73068";
	$ilosc_craftow="1";
		break;
	case 2:
	$koszt_sms="4.92";
	$numer_sms="74068";
	$ilosc_craftow="2";
		break;
	case 3:
	$koszt_sms="6.15";
	$numer_sms="75068";
	$ilosc_craftow="3";
		break;
	case 4:
	$koszt_sms="7.38";
	$numer_sms="76068";
	$ilosc_craftow="4";
		break;
	case 5:
	$koszt_sms="11.07";
	$numer_sms="79068";
	$ilosc_craftow="5";
		break;
	case 9:
	$koszt_sms="23.37";
	$numer_sms="91958";
	$ilosc_craftow="9";
		break;
	case 11:
	$koszt_sms="30.75";
	$numer_sms="92578";
	$ilosc_craftow="11";
		break;
}
if(isset($_POST["active"])){
	$nick=$_POST["nick"];
	$opis=$_POST["opis"];
	$kod=$_POST["kod"];

$kod = preg_replace("[^A-Za-z0-9_]", "", $kod );
$nick = preg_replace("[^A-Za-z0-9_]", "", $nick );
$opis = preg_replace("[^A-Za-z0-9_]", "", $opis );


$nick_mineserv = str_replace("_", "", $nick); // chodzi o to... ze mineserv zasilacz przyjmuje nicki bez podlogi (_) i po prostu, skrypt usuwa podloge z nickow i zmienną bez podlogi przekazuje do zasilacza w mineserv - ale konsola dostaje zmienną $nick - a minserv $nick_mineserv
	if(strlen($opis)>20 || strlen($nick)>20){

		$blad="Opis oraz nick moze posiadac maksymalnie 20 znakow.";

	}
	
	if(!ctype_alnum($nick_mineserv) || !ctype_alnum(str_replace(" ","",$opis)) || !ctype_alnum($kod)){

		$blad="Zakaz stosowania znakow specjalnych.";

	}
	
	$opis=str_replace(" ","_",$opis);
	
	if($kod==NULL && $nick_mineserv==NULL)
    {
		echo $blad_pusty_formularz;
	}
    else
    if($kod==NULL)
    {
		echo $blad_brak_kodu;
	}
    else
    if($nick_mineserv==NULL)
    {
		echo $blad_brak_nicku;
	}
	else{
		$link="http://www.mineserv.eu/skrypt_zasilacz/$kod_zasilacza/$nick_mineserv/$opis/$kod";
        if($tryb_testowania_zasilacz_mineserv == "tak"){
        $link="http://www.mineserv.eu/skrypt_zasilacz/test/$kod_zasilacza";
        }
		$odpowiedz = fopen($link, 'r');
		$wynik = fgets($odpowiedz, 5);
		fclose($odpowiedz);
		if(substr($wynik,0,1) == ":"){
			if($wynik==":"){
				echo "Wpisany ID zasilacza jest niepoprawny.";
			}else{
				echo "Pomyślnie połączono się z zasilaczem. Początek nazwy Twojego konta to: <b>".$wynik."</b>";
			}
		
		}elseif($wynik == "blad"){
			echo $blad_zly_kod;
            if($tryb_testowania_serwera_mc == "tak"){
            include('komendy.php');
            echo "<center><br><font color=red size=7>UWAGA! <br><b>TRYB TESTOWY</b><br> Komendy wykonują się po wpisanie błędnego kodu SMS! <br>Jeśli chcesz wyłączyć tryb testowy, zmień wartość w pliku konfiguracyjnym.</font></center>";
            }
		}elseif(substr($wynik,0,2) == 'OK'){
			if(substr($wynik, 3) == $ilosc_craftow){
				// Kod poprawny, tu mozesz wpisac wlasne akcje ktore chcesz aby sie wykonaly po poprawnym zasileniu konta.
echo $akceptacja_dobry_kod;
include('komendy.php'); 
			}else{
				// Jezeli doladowana ilosc craftow nie jest taka jaka ustalilismy w skrypcie.
				die("Blad: Niepoprawna kwota doladowania.");
			}
		}else{
			die("Blad: Skrypt zostal zle skonfigurowany, wpisz poprawny ID zasilacza.");
		}
	}
}
?>

Skrypt wykonany przez Jebanany. Myślę, że nie złamałem żadnych zasad regulaminu itp., więc proszę o nie usuwanie.

 

Z góry dzięki za pomoc.

 

Jakby co to mój nr GG - 41266530

 

PS: Mogę jeszcze zaoferować rangę Programista/Technik ale to już ktoś musiałby zrobić całą stronę WWW z itemshopem...

  • 3 miesiące temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...