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

Wątek: Czas tury rundy; czyli systematyka gry

  1. #1
    Zarejestrowany
    Dołączył
    Sep 2007
    Posty
    34

    Domyślnie Czas tury rundy; czyli systematyka gry

    My?l? ?e ten temat oka?e si? pomocny wielu osobom i jak to bywa na tym forum najbardziej mi bo to ja tu mocno miel? o pomoc

    Chodzi o problem z czasem turami, jak to ka?dy w wielu grach widzia?.

    Jak zrobi? odmierzanie czasu w grze co 60 minut co 20 minut

    i co najwa?niejsze jak zrobi? by po przekroczeniu czasu w bazie danych zapisywane by?y ró?ne sprawy ( ale to juz proste my?l? jest ilo?? z?ota b?d? do?adowanie energii wszystkim graczom.....

  2. #2
    Zarejestrowany Awatar piraci
    Dołączył
    Sep 2007
    Posty
    534

    Domyślnie Czas tury rundy; czyli systematyka gry

    Robisz plika który dodaje energie itp.
    Rejestrujesz si? na cronie Webcron.pl
    Ustawiasz wywo?ywanie skryptu co x czasu i ju?. :mrgreen:
    Pomog?em? ;-)

  3. #3
    Zarejestrowany
    Dołączył
    Sep 2007
    Posty
    34

    Domyślnie Czas tury rundy; czyli systematyka gry

    Mimo jak by kto? zna? skrypty albo miejsca gdzie mo?na je znale?? to prosz? wpisa? tutaj


    Dzi?kuje piraci za pomoc. czeka mna linka aktywacyjnego zobaczymy co oni maja tam do zaoferowanjia

  4. #4
    WAN
    WAN jest nieaktywny
    Grupa MmoCenter
    Dołączył
    Sep 2007
    Posty
    976

    Domyślnie Czas tury rundy; czyli systematyka gry

    jakby kto? zna? inne spoosby by zrobic odliczanie turowe i reakcje bazy danych na to to niech piszeL
    Jesli pod pojeciem "odliczanie turowe" masz na mysli dodawanie energii to jest pewien sposob niestandardowy... Nie probowalem go w akcji wiec moze nie byc tak dobry jak mi sie wydaje no ale opisac nie zaszkodzi.
    Powiedzmy ze po takim "tiku" u kazdego gracza ma przybyc X energii i ubyc Y zlota (podatek :P). No to zamiast co 60 minut robic globalne podliczenie, mozna je robic inaczej, byc moze nawet oszczedniej. Gdy gracz sie loguje 1 raz dostaje ilestam energii startowej i podczas wejscia zapisujesz w bazie czas jego logowania. I nastepuje spokoj... Az do momentu w ktorym gracz ponownie sie loguje. W momencie kolejnego logowania system sprawdza ile czasu minelo od poprzedniego logowania i przelicza je na "tury"... Mnozy pojedynczy przyrost energii i ubytek kasy przez ta liczbe... i tyle energii dodaje temu graczowi i tyle tez pieniedzy odejmuje, od razu tez updatujac w bazie czas na aktualny. Tadam! I oto masz zrobione "tury"
    Oczywiscie wiaze sie to z malym dyskomfortem dla graczy - koniecznosc relogowania celem odswiezenia sobie energii, no ale metode te mozna rozwijac dalej aby w kluczowych miejscach w czasie grania tez nastepowalo "odswiezenie" itp. Coz... nie pisalem ze jest to rozwiazanie pozbawione wad

  5. #5
    Zarejestrowany
    Dołączył
    Sep 2007
    Posty
    34

    Domyślnie Czas tury rundy; czyli systematyka gry

    Dzi?ki WAN ale raczej chyba my?l? o globalnym odswierzaniu do baz danych , danych co 60 minuty

    chocby np uczenie sie jakis tam zawodow w grze ze trwa to 60 minut

    jesli ktos atakuje to zeby osoba nie mogla atakowac drugi raz to np mozna zapsiac tabele last kiled ta i ta



    w ten spsob co 60 inut bedzie czyszczona tabela i taka osoba moze znowu po godzince atakowac

    Ehh ten webcorn jest beznadziejny jednak b?de musia? zrobi? co? tylko na moim servisie a nie korzysta? z innych servisów- nie pisz posta pod postem. Piraci

  6. #6
    WAN
    WAN jest nieaktywny
    Grupa MmoCenter
    Dołączył
    Sep 2007
    Posty
    976

    Domyślnie Czas tury rundy; czyli systematyka gry

    Cytat Zamieszczone przez japanica
    chocby np uczenie sie jakis tam zawodow w grze ze trwa to 60 minut
    jesli ktos atakuje to zeby osoba nie mogla atakowac drugi raz to np mozna zapsiac tabele last kiled ta i ta
    w ten spsob co 60 inut bedzie czyszczona tabela i taka osoba moze znowu po godzince atakowac
    No wlasnie w tym rozumieniu to bardziej moj sposob wydaje sie lepszy no bo jak chcesz globalnie co 60 minut robic uczenie sie jak jeden gracz zacznie nauke o 14:01, a drugi o 14:59 i jednakowy efekt to da? Tak samo te ataki... Takie cos wlasnie powinno byc robione indywidualnie?

  7. #7
    Zarejestrowany
    Dołączył
    Sep 2007
    Posty
    34

    Domyślnie Czas tury rundy; czyli systematyka gry

    Oki zadam raz jeszcze pytanie czy kto? zna skrypt który bedzie liczy? czas w grze. za?ó?my ze liczymy czas taki jaki jest dobowy od 24 do 24

    a nastpeni skrypt który po okreslonym czasie b?dzie dodawa? do bazy danych wszelkie wyniiki???

    jest mi to bardzo potrzebne

  8. #8
    Zarejestrowany
    Dołączył
    Sep 2007
    Posty
    34

    Domyślnie Czas tury rundy; czyli systematyka gry

    Podczas rozmow z Wanem udalo mi sie wkoncu dojsc do tego jak zrobic by byl odliczany na stronie



    oto fragment naszej rozmowy



    Na tym polega php - wszystko dzieje sie na kompie na ktorym gra stoi. Wiec time() bedzie dzialac jak najbardziej poprawnie.

    Cytat:
    if ($start != $time )

    Pamietaj, ze time() zmienia sie co sekunde. nie musisz tam dawac tego if.
    Cytat:

    // tutaj chce uzyskac ile to juz tur minelo od ost logowania sie i teraz ta premie mozna wykorzystac

    mysql_query( update player into energy energu=Energy +100)
    mysql_query( update player into energy energu=Energy +100)
    mysql_query( update player into energy energu=Energy +100)
    mysql_query( update player into energy blalla=Energy +100)

    to juz lepiej zrobic zmienna a nastepnie ja zwiekszyc odpowiednia ilosc razy:
    Kod:
    $premia = 100;
    $tur_minelo = $tura - $stat[wiek];
    $premia = $premia * $tur_minelo + $aktualna_energia; //to ostatnie musialbys wczesniej zczytac
    mysql_query("UPDATE player SET energy='$premia' WHERE jakiswarunek"); //warunek czyli najprawdopodobniej ID aby gracza rozpoznac.


    Cytat:
    teraz mam problem bo nie wiem gdzie zamknac nawias za if:P

    Ogolnie powiem tak: if ma sprawdzic czy graczowi nalezy sie premia. Jesli tak, to nalicza ile tej premii, zapisuje premie i updatuje tabele z aktualnym czasem. Jesli zas nie... to na dobra sprawe moze sie nic nie dziac, aczkolwiek wskazane byloby zupdatowanie wtedy tabeli z czasem aby zaoszczedzic pozniej podwojnych obliczen. Zadne exity nie sa potrzebne


    WNIOSKI

    NA GLOWNEJ SYTRONIE UMIESICIC MOZNA


    <?php

    $ctime = time();
    $suma = ceil($ctime /3600);
    $zero = 330967;
    $liczbatur = ($suma - $zero);

    print "<center>aktualna tura gry $liczbatur </center>" ;

    ?>

    CO ZLICZA NAM CZAS Od wyzerowania tur gry czyli sami sobie ustawicie czas $zero


    nastepnie ja w stronie logowania wprowadzilem taki kod


    $ctime = time();
    $suma = ceil($ctime /3600);
    $zero = 330967;
    $liczbatur = ($suma - $zero);

    $stat = mysql_fetch_array(mysql_query("select * from players where id='$stat[id]' "));



    $tur_minelo = $liczbatur - $stat[wiek];
    $premia = 110;
    $premia1= 110 * $tur_minelo;

    $jesli = ($stat[energy]+$premia1);



    //poczatek
    if ($stat[wiek] != $liczbatur ){

    if ($jesli >= $stat[max_energy]) {


    //energia
    mysql_query("update players set energy=max_energy where id=$stat[id]");

    }else{

    mysql_query("update players set energy=energy+$premia1 where id=$stat[id]");
    }



    jak widzicie bada on tury w polaczeniu z wiekiem postaci dzieki czemu mozemy \sobie swobodnie podczas zalogowania doliczac energi zycie co kto woli



    .

  9. #9
    Zarejestrowany
    Dołączył
    Sep 2007
    Posty
    258

    Domyślnie Czas tury rundy; czyli systematyka gry

    Jeden problem.
    Jeżli zaniast energi będą surowce, jak w travianie.
    To jesli gracz zaloguje sie o 5 rano, wyda all surowce.
    O 23 wieczorem ktoż go zatakuje to zaniast zdobycia jego surki dostanie nic! Więdz cron wygrywa.

  10. #10
    Zarejestrowany
    Dołączył
    Nov 2007
    Posty
    130

    Domyślnie Czas tury rundy; czyli systematyka gry

    Helid, za przeproszeniem, gadasz bez sensu.

    Wystarczy liczenie dać do funkcji (lub obiektu :]) i wywoływać dla celu ataku przed samym atakiem. A cronem można jedynie ukatrupić serwer. EOF

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. czas serwera, czas xnovy
    Przez mordoklej w dziale Pytania dotyczące silnika Xnova
    Odpowiedzi: 2
    Ostatni post / autor: 26-04-2010, 23:34
  2. Nihil Novi, czyli Witam ;)
    Przez Emhyrus w dziale Przedstaw się
    Odpowiedzi: 12
    Ostatni post / autor: 28-03-2010, 21:55
  3. Czyli wszystko od początku ?
    Przez Widney w dziale Pytania dotyczące silnika Xnova
    Odpowiedzi: 10
    Ostatni post / autor: 27-09-2009, 20:17
  4. Reset gry, czyli rozpoczęcie nowej ery...
    Przez Aelfric w dziale Support Vallheru
    Odpowiedzi: 18
    Ostatni post / autor: 21-05-2008, 22:45

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
  •