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

Odnawianie się grzybków codziennie o północy za pomocą CronJob


Rekomendowane odpowiedzi

Opublikowano

Cześć, pokażę Wam jak w prosty sposób zrobić regenerację grzybków codziennie o północy przy pomocy CronJob (można też użyć zdarzeń w mysql, ale to nie jest włączone na każdym hostingu lub musicie mieć VPSa).

Najpierw trzeba napisać skrypt. Daję Wam swój:

$dbhost = "host";
$dbname = "nazwa db";
$dbuser = "login";
$dbpass = "haslo";
$dbc = @mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Nie
mogę połączyć się z bazą danych. Przepraszamy za kłopoty.Prawdopo​dobnie serwer na ktorym stoi gra ma awarie!');
mysql_select_db ($dbname) or die ('Problemy z baza danych. Przepraszamy za kłopoty');
echo mysql_error();
$mysql = mysql_query("UPDATE user_data SET mushroom = mushroom + 5");
?>

 

Następnie edytujemy skrypt.

Ustawiamy połączenie z bazą (tego nie muszę tłumaczyć).

mushroom = mushroom + 5 - oznacza to, że system doda każdemu 5 grzybków.

Wgrywamy skrypt do FTP.

Skrypt nazywamy tak: nazwa.php musi być końcówka php.

Teraz wchodzimy w directadmin (zależy od hostingu) i szukamy opcji CronJob.

Dodajemy nowe zadanie.

W miejscu minuta i w miejscu godzina wpisujemy 0, w pozostałych gwiazdka (*) - Oznacza to, że skrypt będzie wykonywany codziennie o godzinie 00:00.

w miejscu komenda należy wprowadzić ścieżkę w ten sposób:
/usr/local/bin/php /home/norbisfb/domains/norbisf.pl/public_html/nazwa.php

 

 

PS: Jak dodać spoiler w temacie?

baner.png

 

Opublikowano

Ile można dać max grzybków ? :)

Ile dokładnie to nie wiem, ale na pewno można więcej. 

 

Jedyne co bym dodał to możliwość resetu o określonej godzinie. 

­

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||­

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Opublikowano

 

Cześć, pokażę Wam jak w prosty sposób zrobić regenerację grzybków codziennie o północy przy pomocy CronJob (można też użyć zdarzeń w mysql, ale to nie jest włączone na każdym hostingu lub musicie mieć VPSa).

Najpierw trzeba napisać skrypt. Daję Wam swój:

$dbhost = "host";

$dbname = "nazwa db";

$dbuser = "login";

$dbpass = "haslo";

$dbc = @mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Nie

mogę połączyć się z bazą danych. Przepraszamy za kłopoty.Prawdopo​dobnie serwer na ktorym stoi gra ma awarie!');

mysql_select_db ($dbname) or die ('Problemy z baza danych. Przepraszamy za kłopoty');

echo mysql_error();

$mysql = mysql_query("UPDATE user_data SET mushroom = mushroom + 5");

?>

 

Następnie edytujemy skrypt.

Ustawiamy połączenie z bazą (tego nie muszę tłumaczyć).

mushroom = mushroom + 5 - oznacza to, że system doda każdemu 5 grzybków.

Wgrywamy skrypt do FTP.

Skrypt nazywamy tak: nazwa.php musi być końcówka php.

Teraz wchodzimy w directadmin (zależy od hostingu) i szukamy opcji CronJob.

Dodajemy nowe zadanie.

W miejscu minuta i w miejscu godzina wpisujemy 0, w pozostałych gwiazdka (*) - Oznacza to, że skrypt będzie wykonywany codziennie o godzinie 00:00.

w miejscu komenda należy wprowadzić ścieżkę w ten sposób:

/usr/local/bin/php /home/norbisfb/domains/norbisf.pl/public_html/nazwa.php

 

 

PS: Jak dodać spoiler w temacie?

 

 

 

Każdy znający lokalizację skryptu może w nieskończoność ładować grzybki...

radzę to zrobić tak :

<?php
if(isset($_GET['tajnehaslo'])) {

$dbhost = "host";
$dbname = "nazwa db";
$dbuser = "login";
$dbpass = "haslo";
$dbc = @mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Nie
mogę połączyć się z bazą danych. Przepraszamy za kłopoty.Prawdopo​dobnie serwer na ktorym stoi gra ma awarie!');
mysql_select_db ($dbname, $dbc) or die ('Problemy z baza danych. Przepraszamy za kłopoty');
$mysql = mysql_query("UPDATE user_data SET mushroom = mushroom + 5");
}
else {
echo "Tak łatwo to nie u Nas :)";
}

?>
/usr/local/bin/curl --silent http://domena.tld/skrypt.php?tajnehaslo &>/dev/null

Poza tym twój skrypt nie jest poprawny, wybierasz bazę danych nie będąc połączonym do serwera mysql (brak użycia zmiennej $dbc)

Opublikowano

@Nitr0o

Nikt prócz mnie nie zna lokalizacji plik ma u mnie losową nazwę, prawdopodobieństwo, że ktoś znajdzie ten plik jest znikome.

Z tego co widzę, twój skrypt jest lepszy, jak ktoś znajdzie lokalizację to musi znać jeszcze hasło, więc jest zabezpieczone dwukrotnie.

 

PS:
O co chodzi z Silent ?

 

baner.png

 

  • 3 tygodnie później...
  • 4 tygodnie później...
  • 7 miesięcy temu...
  • 4 miesiące temu...
Gość Nerfinekk
Opublikowano

 

@czerwony_rudolf

Ile chcesz, ale nie dodaj triliarda, bo zejdą na minus.

 

@"SeterN."

Ja zrobiłem paczki dzienne.

Jak zrobic paczki dzienne w is ? :)

Są w is by ZeuSXP edited by Nerfinek w dziale poradniki, wystarczy kliknąć i pobrać

  • 2 lata później...
Opublikowano
2 godziny temu, Marvalias napisał:

Wiecie może czy sposób dalej działa?

Sposób działać, działa ale lepiej skorzystać z strtotime('tomorrow') nie dość, że nie wymaga nastawiania cronów to nie dodaje wszystkim grzybów tylko tym co wejdą do gry. Wystarczy dopisać kod w akcie logowania ex:

$newday = strtotime('tomorrow');
if($db_data['newday'] < time()){
$GLOBALS['db']->exec("UPDATE user_data SET mushroom = mushroom + 5, newday = '$newday' WHERE user_id = ".$db_data['user_id']);
}

 

 

  • 11 miesięcy temu...
Opublikowano
46 minut temu, NOFFKA napisał:

Działa to na sfgame ? Czy tylko na prywatnych serwerach ?

Niestety jest to tylko i wyłącznie dla twórców priv serwerów, w dodatku przestarzała metoda, ponieważ w najnowszych plikach jest już ta opcja w pliku req.php i nie trzeba się bawić z ustawianiem cronjoba, wystarczy w odpowiedniej linijce wstawić wartość jaka nas interesuje, zapisać i gotowe.

Pzdr.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...