Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki od 1 do 10 z 12

Wątek: Problem z czasem podczas treningu

  1. #1
    Zarejestrowany
    Dołączył
    May 2011
    Posty
    14

    Domyślnie Problem z czasem podczas treningu

    Witam przepraszam za kiepski tytuł ale mam pytanie.

    Mam silnik Ring (może ktoś się z nim spotkał zakupiłem go w serwisie gryviawww)
    Chciałbym dodać czas do sparingu
    Żeby każdy sparing trwał 30 sekund (tutaj ustawiłem godzinę tak dla przykładu)
    Coś mi nie wychodzi i proszę o pomoc

    Kod php:
    if(!empty($_GET['sparing']) && ($uzytkownik['sparingg'] == 0)){
        switch(
    $_GET['sparing']){
        
        if((
    $uzytkownik['sparingg'] < time())  && ($uzytkownik['sparingg'] > 0)){
        
    mysql_query("update ring_gracze set sparingg = 0, pracuje_godzin = 0, kasa = kasa + ".($uzytkownik['pracuje_godzin'] * 500)." where gracz =".$uzytkownik['gracz']);
        
    header("location: sparing.php");
    }
    if(isset(
    $_GET['przerwij']) && ($uzytkownik['sparingg'] > 0)){
        
    mysql_query("update ring_gracze set sparingg = 0, pracuje_godzin = 0 where gracz =".$uzytkownik['gracz']);
        
    header("location: sparing.php");
    }


        
        
        
        
            case 
    1:
    mysql_query("update ring_gracze set sparingg = ".(time() + 3600).", pracuje_godzin = 1 where gracz =".$uzytkownik['gracz']);
                
    header("location: sparing.php");
            
            
                if(
    $uzytkownik['akcje'] < 1) echo "<p class='error'>Za mało punktów akcji</p><br class='clear'>";
                elseif(
    $uzytkownik['zmeczenie'] < 2) echo "<p class='error'>Jesteś zbyt zmęczony</p><br class='clear'>";
                else {
                    
    $punkty_gracz 1*$uzytkownik['sila'] + 1*$uzytkownik['szybkosc'] + 1*$uzytkownik['kondycja'] + 1*$uzytkownik['Odpornosc_na_ciosy'] + 1*$uzytkownik['walka_parter'] + 1*$uzytkownik['walka_stujka'] + 1*$uzytkownik['Wysokie_kopniecia'] + 1*$uzytkownik['Niskie_kopniecia'] + 1*$uzytkownik['boksowanie'] + 1*$uzytkownik['zapasy'] + 1*$uzytkownik['dzwignie'] + 1*$uzytkownik['klincz'];

                    
    $punkty_przeciwnik 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1);
                    
                    if(
    $punkty_gracz $punkty_przeciwnik) {
                        
    mysql_query("update ring_gracze set akcje = akcje - 1, zmeczenie = zmeczenie - 2, kasa = kasa + ".($punkty_przeciwnik*2)." where gracz = ".$uzytkownik['gracz']); 
                        echo 
    "
                        <p class='note'>Wygrałeś sparing</p><br class='clear'>
                        <p>
                        <center>
                        <b>Runda 1</b><br>

                        <u><i>1 Minuta</i></u><br>
                        "
    .$uzytkownik['login']." Uderza lewym sierpowym<br>
                        "
    .$uzytkownik['login']." Otrzymuje kopnięcie<br>
                        "
    .$uzytkownik['login']." Uderza lewym podbródkowym<br>
                        "
    .$uzytkownik['login']." Blokuje uderzenie<br>
                        "
    .$uzytkownik['login']." Odskakuje<br>
                        "
    .$uzytkownik['login'].Próba klinczu<br><br>
                         
                         <u><i>2 Minuta</i></u><br>
                        "
    .$uzytkownik['login']." Uderza prawym sierpowym<br>
                        "
    .$uzytkownik['login']." Blokuje kopnięcie<br>
                        "
    .$uzytkownik['login']." Lowkick prawą nogą<br>
                        "
    .$uzytkownik['login']." Otrzymuje uderzenie<br>
                        "
    .$uzytkownik['login']." Lowkick prawą nogą<br>
                        "
    .$uzytkownik['login'].Próba klinczu<br><br>
                        
                        Wygrałeś swój sparing przez KO! Odbierasz wynagrodzenie od sponsorów w wysokości "
    .($punkty_przeciwnik*5)."$.</p>
                        "
    ;
                        
    $uzytkownik['akcje'] -= 1;
                        
    $uzytkownik['zmeczenie'] -= 2;
                        
    $uzytkownik['kasa'] += $punkty_przeciwnik*5;
                    } else {
                        
    mysql_query("update ring_gracze set akcje = akcje - 1, zmeczenie = zmeczenie - 2, kasa = kasa + ".($punkty_przeciwnik/5)." where gracz = ".$uzytkownik['gracz']);
                        echo 
    "
                        <p class='error'>Przegrałeś sparing</p><br class='clear'>
                        <p>
                        <center>
                        <b>Runda 1</b><br>
                        "
    .$uzytkownik['login']." Uderza lewym sierpowym<br>
                        "
    .$uzytkownik['login']." Otrzymuje uderzenie w nos<br>
                        "
    .$uzytkownik['login']." Uderza lewym podbródkowym<br>
                        "
    .$uzytkownik['login']." Blokuje uderzenie<br>
                        "
    .$uzytkownik['login']." Odskakuje<br>
                        "
    .$uzytkownik['login'].Próba klinczu<br>
                        "
    .$uzytkownik['login']." Upada na matę<br>
                        Przegrałeś swój sparing w pierwszej rundzie przez KO, otrzymujesz tylko 20% wynagrodzenia w wysokości "
    .($punkty_przeciwnik)."$.
                        </center></p>
                        "
    ;
                        
    $uzytkownik['akcje'] -= 1;
                        
    $uzytkownik['zmeczenie'] -= 2;
                        
    $uzytkownik['kasa'] += $punkty_przeciwnik;
                    }
                }
                
                
            break;
                }    
    }
    if(
    $uzytkownik['sparingg'] > 0){
        
    $pozostalo $uzytkownik['sparingg'] - time();
        echo 
    "
        <script type='text/javascript'>        
            function liczCzas(ile) {
                    godzin = Math.floor((ile )/ 3600);
                minut = Math.floor((ile  - godzin * 3600) / 60);
                sekund = ile  - minut * 60 - godzin * 3600;
                if (godzin < 10){ godzin = '0'+ godzin; }
                if (minut < 10){ minut = '0' + minut; }
                if (sekund < 10){ sekund = '0' + sekund; }
                if (ile > 0) {
                    ile--;
                    document.getElementById('zegar').innerHTML = godzin + ':' + minut + ':' + sekund;
                    setTimeout('liczCzas('+ile+')', 1000);
                } else {
                    document.getElementById('zegar').innerHTML = '[koniec]';
                }
            }
        </script>
        <p class='note'>
            Do końca pracy pozostało: <b><span id='zegar'></span> <a href='praca.php?przerwij' style='color:#000; text-decoration:none' title='przerwij'>[ X ]</a></b><script type='text/javascript'>liczCzas("
    .$pozostalo.")</script>  
        </p><br class='clear'>"
    ;
    } else { 
    Proszę mi powiedzieć w czym robię błąd (celowo dałem pracuje_godzin i proszę się tego nie czepiać taka nazwa)

  2. #2
    Zasłużony Awatar Rodkan
    Dołączył
    Mar 2011
    Posty
    1,465

    Domyślnie

    Jakieś błędy ci wyskakują czy co ci nie działa, bo dałeś kod do analizy, ale przyjemniej się analizuje jak się wie czego szukać (poza tym trochę dużo tego kodu).

  3. #3
    Zarejestrowany
    Dołączył
    May 2011
    Posty
    14

    Domyślnie

    wiem wiem dużo kodu wychodzi mi błąd w linijce 28

  4. #4
    Zarejestrowany
    Dołączył
    May 2011
    Posty
    14

    Domyślnie

    sry przy 4 pomyliło mi się

  5. #5
    Zasłużony Awatar Rodkan
    Dołączył
    Mar 2011
    Posty
    1,465

    Domyślnie

    Może jeszcze tak treść błędu? Bo nie jestem PHPową Wróżką.

    PS: W switch() można od tak sobie kod dawać do środka?

  6. #6
    Zarejestrowany
    Dołączył
    May 2011
    Posty
    14

    Domyślnie

    Wyskakuje mi coś takiego
    Parse error: syntax error, unexpected T_IF, expecting T_CASE or T_DEFAULT or '}' in/............... on line 28(w tym kodzie jest to linia 4)

  7. #7
    Zasłużony Awatar Rodkan
    Dołączył
    Mar 2011
    Posty
    1,465

    Domyślnie

    Bo w switch() zamieściłeś kod który nie jest w case lub default, poczytaj o budowie switch() to zobaczysz jak powinno to wyglądać dobrze.

  8. #8
    Zarejestrowany
    Dołączył
    May 2011
    Posty
    14

    Domyślnie

    Dzięki za nakierowanie mnie w dany temat, znalazłem instrukcję http://pl.wikibooks.org/wiki/PHP/Instrukcja_switch ,ale nie za bardzo kumam o co tu chodzi ponieważ jestem początkującym i dopiero się uczę
    Więc gdyby ktoś mógł to proszę o wskazanie jak ten kod miałby wyglądać
    Z góry dziękuję

  9. #9
    Zasłużony Awatar Rodkan
    Dołączył
    Mar 2011
    Posty
    1,465

    Domyślnie

    Kod php:
    switch($zmienna){
      case 
    1:
        
    //KOD
        
    break;
      case 
    2:
        
    //KOD
        
    break;
      default:
       
    //KOD

    Switch() to takie skrócenie if(), sprawdzasz zmienną $zmienna i jeśli ma wartość 1 (case 1) wykonuje się kod (po kodzie obowiązkowy break!). Jeśli chcesz aby wykonał się kod nawet jak nie wykona się kod z żadnego case to dajesz default (nie potrzeba już break).

    Przeanalizuj, zrozum swój błąd. To że jesteś początkującym nie zwalnia cię z myślenia, masz wszystko jasno opisane.

  10. #10
    Zarejestrowany
    Dołączył
    May 2011
    Posty
    14

    Domyślnie

    Mówiąc szczerzę nie wiem o jaki kod ci chodzi próbuję to zrobić i nie radzę sobie

    Teraz to trochę poprawiłem i wygląda to tak:

    Kod php:
        <?php
    //włączamy bufor
    ob_start();

    //pobieramy zawartość pliku ustawień
    require_once('var/ustawienia.php');

    //startujemy lub przedłużamy sesję
    session_start();

    //dołączamy plik, który sprawdzi czy napewno mamy dostęp do tej strony
    require_once('test_zalogowanego.php');
    if(
    $uzytkownik['sparingg'] > 0header('location: sparing.php');

    //pobieramy nagłówek strony
    require_once('gora_strony.php');


    //pobieramy zawartość menu
    require_once('menu.php');

    echo 
    "<h2>Sparingi</h2><hr/>";


    if(!empty(
    $_GET['sparing']) && ($uzytkownik['sparingg'] == 0)){
        switch(
    $_GET['sparing']){  
        
        switch((
    $uzytkownik['sparingg'] < time())  && ($uzytkownik['sparingg'] > 0)){
        
    mysql_query("update ring_gracze set sparingg = 0, pracuje_godzin = 0, kasa = kasa + ".($uzytkownik['pracuje_godzin'] * 500)." where gracz =".$uzytkownik['gracz']);
        
    header("location: sparing.php");

    }
    if(isset(
    $_GET['przerwij']) && ($uzytkownik['sparingg'] > 0)){
        
    mysql_query("update ring_gracze set sparingg = 0, pracuje_godzin = 0 where gracz =".$uzytkownik['gracz']);
        
    header("location: sparing.php");
    }


        
        
        
        
            case 
    1:
    mysql_query("update ring_gracze set sparingg = ".(time() + 3600).", pracuje_godzin = 1 where gracz =".$uzytkownik['gracz']);
                
    header("location: sparing.php");
            
            
                if(
    $uzytkownik['akcje'] < 1) echo "<p class='error'>Za mało punktów akcji</p><br class='clear'>";
                elseif(
    $uzytkownik['zmeczenie'] < 2) echo "<p class='error'>Jesteś zbyt zmęczony</p><br class='clear'>";
                else {
                    
    $punkty_gracz 1*$uzytkownik['sila'] + 1*$uzytkownik['szybkosc'] + 1*$uzytkownik['kondycja'] + 1*$uzytkownik['Odpornosc_na_ciosy'] + 1*$uzytkownik['walka_parter'] + 1*$uzytkownik['walka_stujka'] + 1*$uzytkownik['Wysokie_kopniecia'] + 1*$uzytkownik['Niskie_kopniecia'] + 1*$uzytkownik['boksowanie'] + 1*$uzytkownik['zapasy'] + 1*$uzytkownik['dzwignie'] + 1*$uzytkownik['klincz'];

                    
    $punkty_przeciwnik 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1) + 1rand(1,1);
                    
                    if(
    $punkty_gracz $punkty_przeciwnik) {
                        
    mysql_query("update ring_gracze set akcje = akcje - 1, zmeczenie = zmeczenie - 2, kasa = kasa + ".($punkty_przeciwnik*2)." where gracz = ".$uzytkownik['gracz']); 
                        echo 
    "
                        <p class='note'>Wygrałeś sparing</p><br class='clear'>
                        <p>
                        <center>
                        <b>Runda 1</b><br>

                        <u><i>1 Minuta</i></u><br>
                        "
    .$uzytkownik['login']." Uderza lewym sierpowym<br>
                        "
    .$uzytkownik['login']." Otrzymuje kopnięcie<br>
                        "
    .$uzytkownik['login']." Uderza lewym podbródkowym<br>
                        "
    .$uzytkownik['login']." Blokuje uderzenie<br>
                        "
    .$uzytkownik['login']." Odskakuje<br>
                        "
    .$uzytkownik['login'].Próba klinczu<br><br>
                         
                         <u><i>2 Minuta</i></u><br>
                        "
    .$uzytkownik['login']." Uderza prawym sierpowym<br>
                        "
    .$uzytkownik['login']." Blokuje kopnięcie<br>
                        "
    .$uzytkownik['login']." Lowkick prawą nogą<br>
                        "
    .$uzytkownik['login']." Otrzymuje uderzenie<br>
                        "
    .$uzytkownik['login']." Lowkick prawą nogą<br>
                        "
    .$uzytkownik['login'].Próba klinczu<br><br>
                        
                        Wygrałeś swój sparing przez KO! Odbierasz wynagrodzenie od sponsorów w wysokości "
    .($punkty_przeciwnik*5)."$.</p>
                        "
    ;
                        
    $uzytkownik['akcje'] -= 1;
                        
    $uzytkownik['zmeczenie'] -= 2;
                        
    $uzytkownik['kasa'] += $punkty_przeciwnik*5;
                    } else {
                        
    mysql_query("update ring_gracze set akcje = akcje - 1, zmeczenie = zmeczenie - 2, kasa = kasa + ".($punkty_przeciwnik/5)." where gracz = ".$uzytkownik['gracz']);
                        echo 
    "
                        <p class='error'>Przegrałeś sparing</p><br class='clear'>
                        <p>
                        <center>
                        <b>Runda 1</b><br>
                        "
    .$uzytkownik['login']." Uderza lewym sierpowym<br>
                        "
    .$uzytkownik['login']." Otrzymuje uderzenie w nos<br>
                        "
    .$uzytkownik['login']." Uderza lewym podbródkowym<br>
                        "
    .$uzytkownik['login']." Blokuje uderzenie<br>
                        "
    .$uzytkownik['login']." Odskakuje<br>
                        "
    .$uzytkownik['login'].Próba klinczu<br>
                        "
    .$uzytkownik['login']." Upada na matę<br>
                        Przegrałeś swój sparing w pierwszej rundzie przez KO, otrzymujesz tylko 20% wynagrodzenia w wysokości "
    .($punkty_przeciwnik)."$.
                        </center></p>
                        "
    ;
                        
    $uzytkownik['akcje'] -= 1;
                        
    $uzytkownik['zmeczenie'] -= 2;
                        
    $uzytkownik['kasa'] += $punkty_przeciwnik;
                    }
                }
                
                
            break;    
            
            default:
                echo 
    "<p class='error'>Nieprawidłowa wartość</p><br class='clear'>";
            break;
        }    
    }
            
    if(
    $uzytkownik['sparingg'] > 0){
        
    $pozostalo $uzytkownik['sparingg'] - time();
        echo 
    "
        <script type='text/javascript'>        
            function liczCzas(ile) {
                    godzin = Math.floor((ile )/ 3600);
                minut = Math.floor((ile  - godzin * 3600) / 60);
                sekund = ile  - minut * 60 - godzin * 3600;
                if (godzin < 10){ godzin = '0'+ godzin; }
                if (minut < 10){ minut = '0' + minut; }
                if (sekund < 10){ sekund = '0' + sekund; }
                if (ile > 0) {
                    ile--;
                    document.getElementById('zegar').innerHTML = godzin + ':' + minut + ':' + sekund;
                    setTimeout('liczCzas('+ile+')', 1000);
                } else {
                    document.getElementById('zegar').innerHTML = '[koniec]';
                }
            }
        </script>
        <p class='note'>
            Do końca pracy pozostało: <b><span id='zegar'></span> <a href='praca.php?przerwij' style='color:#000; text-decoration:none' title='przerwij'>[ X ]</a></b><script type='text/javascript'>liczCzas("
    .$pozostalo.")</script>  
        </p><br class='clear'>"
    ;
    } else {
            
            

            
            
        
        }    
    }


    echo 
    "
        <hr/>Sparingi Łatwe<hr/>
        <ul>
        <p class='note'>Witaj w zakładce sparingi jest obecnie 30 Łatwych Sparingów.</br>
        Przeciwnicy mają rożne statystyki ostatni przeciwnik z sparingów łatwych ma 60 wszystkich statystyk!</p><br class='clear'>
        
            <li>Sparing z Nowicjuszem (1 akcji, 2 zmęczenia) <a href='sparing.php?sparing=1'>walcz</a></li>


        </ul>
    "
    ;




    //pobieramy zawartość prawego bloku
    require_once('prawy_blok.php');

    //pobieramy stopkę
    require_once('dol_strony.php');

    //wyłączamy bufor
    ob_end_flush();
    ?>
    W czym robię błąd tylko w linijce (teraz 28?) czy mam gdzieś jeszcze błąd

Strona 1 z 2 12 OstatniOstatni

Informacje o wątku

Użytkownicy przeglądający ten wątek

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Podobne wątki

  1. php czasem zawodzi...
    Przez TorchLight w dziale Problemy przy tworzeniu własnej gry
    Odpowiedzi: 15
    Ostatni post / autor: 02-02-2012, 20:35
  2. Odliczanie czasu na treningu
    Przez patrykwich w dziale Race
    Odpowiedzi: 1
    Ostatni post / autor: 04-04-2011, 16:34
  3. Vallheru v. 1.3 (beta) Problem podczas instalacji
    Przez Daavee w dziale Support Vallheru
    Odpowiedzi: 3
    Ostatni post / autor: 05-10-2010, 09:53
  4. Problem podczas logowania
    Przez Dasionek w dziale Problemy przy tworzeniu własnej gry
    Odpowiedzi: 3
    Ostatni post / autor: 13-09-2008, 11:56
  5. PROBLEM PODCZAS INSTALACJI (baza danych)
    Przez kanaii w dziale Grand Theft Auto RPG
    Odpowiedzi: 11
    Ostatni post / autor: 31-05-2008, 14:47

Zakładki

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •