Autor Zpráva
Light King
Profil
Ahoj, pokousim se udelat online hru, a netusim jak udelat prepocet, ze treba ve 14:00 se mu pridaj suroviny atp. jenze nevim jak na to :( Poradi nekdo ?
djlj
Profil
Cronem.
Light King
Profil
pls co to je ? a jak to pouzit ??
djlj
Profil
Tobě Google dnes nefunguje? Mně jede bez problému: http://www.google.cz/search?q=cron
Light King
Profil
nj diky :)
Light King
Profil
No cron asi nepujde bo sem cetl ze to je pro linuxy, a navic kazdej hrac si nastavi kdy chce ten prepocet takze sem myslel nejak v php...slo by to ?
djlj
Profil
No já předpokládám, že když dotaz vkládáš do sekce php, tak hostuješ na Linuxu. Pokud na Windows, tak tam lze tuším použít Plánovač úloh, nabízí-li to hosting.

Nevím, jestli sis četl to, co je napsáno na těch stránkách, které vyhledal Google, ale cron právě použiješ tak, že jím spustíš php skript. Bez cronu to můžeš udělat taky, a to tak, že při každém načtení budeš kontrolovat, zda je správný čas pro provedení nějaké akce.
Light King
Profil
Pls poradte jak na to v to php, v jakym formatu mam ulozit cas prepoctu (kdy bude) a jak to kontrolovat...Co uz jsem zkousel, tak mi to pokazde kdyz sem se prihlasil pridalo suroviny atd...:(
djlj
Profil
v jakym formatu mam ulozit cas prepoctu
Třeba unix timestamp.
Flavicius
Profil
Co třeba to kontrolovat až po přihlášení uživatele. Když bude nad 14:00 přidají se mu suroviny. Můžeš ukládat čas jeho poslední akce, abys zjistil, kolik surovin máš přidat v případě, že se přihlásí třeba jednou za pár dní. Žádné plánované úlohy nepotřebuješ, nebo ano?
sequencer
Profil *
no dívej já mám taky onlineovku v tvorbě a mám to takhle: při každym reloadu stránky se mi připočtou suroviny, speciálně pro tohle sem optimalizoval dotazy na mysql a php kód, aby to co nejmíň zatěžovalo server, mám to na 6 řádků a běhá to v pohodě
sequencer
Profil *
a ještě něco: nepokoušej se - udělej to, rikej si musim to udělat, jinak se na to vykasles, jesli delas neco vetsiho tak asi jo
sequencer
Profil *
já se snažim o co největší reálnost, proto to dělám takhle
Light King
Profil
Flavicius
Jak jsem psal, pokazdy kdyz by se prihlasil a bylo po 14:00 dostal by suroviny. Chtel bych aby je dostal jen jednou...
sequencer
To pokazde kdyz reloadne stranku dostane suroviny ???

Jeste to nejak zkusim, kdyz se nepovede, udelam to jinak no...
BetaCam
Profil
Jak jsem psal, pokazdy kdyz by se prihlasil a bylo po 14:00 dostal by suroviny. Chtel bych aby je dostal jen jednou...

Zdřejmě to bylo mysleno tak, že pokazde když se přihlasi tak si načteš z DB kdy se mu naposledy updatovaly suroviny k tomu si zjistis současnej časovej udaj vypočitaš kolikrát mezi těmito hodnotami bylo 14:00 podletoho přičtes suroviny a do DB zapišeš jako čas updatu současnej čas.

sequencer
To pokazde kdyz reloadne stranku dostane suroviny ???


Zdřejmě to bylo myšleno tak, že v DB je uložen cas updatu surovin ten si vyberes a porovnas se současnim časem a podle nejakyho poměru určis kolik surovin mu maš přičist. Např když se mu ma přidavat 6000 suroviny za hodinu tak kdyz bude relodovat stranku každou minutu tak mu to bude přičitat 100, když každe 2 minuty tak 200 atd.
Light King
Profil
Aha diky!! ted jsem to pochopil!! :)
sequencer
Profil *
POTLESK PRO BETACAMA!!!!!!!!
BetaCam
Profil
POTLESK PRO BETACAMA!!!!!!!!

To zní trochu ironicky :)
sequencer
Profil *
betacam
klid, jen že's na to přišel
Light King
Profil
Uz mi to funguje :)) Diky za rady ;)
sequencer
Profil *
a jak's to udělal??? stačí postup
Light King
Profil

$sql_prepocet=mysql_query('SELECT id,prepocet_h,prepocet_last,penize,jidlo,energie,uhli,ropa,tanky,letou ny FROM uzivatele');
while($prepocet=mysql_fetch_array($sql_prepocet)){

if($prepocet['prepocet_h']<=date("H") && $prepocet['prepocet_last']!=date("d")){


$penize=$prepocet['penize']+1000000;
$jidlo=$prepocet['jidlo']+10000;
$energie=$prepocet['energie']+10000;
$uhli=$prepocet['udli']+10000;
$ropa=$prepocet['ropa']+10000;
$tanky=$prepocet['tanky']+10;
$letouny=$prepocet['letouny']+5;


mysql_query('UPDATE uzivatele SET

penize="'.$penize.'",
prepocet_last="'.date("d").'",
jidlo="'.$jidlo.'",
energie="'.$energie.'",
uhli="'.$uhli.'",
ropa="'.$ropa.'",
tanky="'.$tanky.'",
letouny="'.$letouny.'"


WHERE id="'.$prepocet['id'].'"');

}

}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: