Въпрос за време!

HunteR

Super Moderator
Значи имам си онлайн игра и искам следното
Значи искам да има някакав час в играта дето той да не се влияе от часа на потребителя, който му е в компютъра!Защото гледайте сега искам например да се натисне сгради и да се построи и почнва да се строи обаче ако, потребителя преварти на пред чесовника на компютъра му и ще му изпоше че се е построила сградата, а той трябва още да не е!
Сещате ли се какво искам да направя!
 
Да виж как форумите си имат абсолютно точен час мисля че го взимат от самия сървър не от потребителя защото моя часовник на компютъра винаги е с 2 часа на зад :lol: но винаги когато постна нещо във някой форум ми изписва точния час мисля че така ще стане но как програмно да го реализираш не знам :( :oops:
 
мисля че и bulfleet е на този принцип ...
 
manahilov каза:
Да виж как форумите си имат абсолютно точен час мисля че го взимат от самия сървър не от потребителя защото моя часовник на компютъра винаги е с 2 часа на зад :lol: но винаги когато постна нещо във някой форум ми изписва точния час мисля че така ще стане но как програмно да го реализираш не знам :( :oops:

Има функция date().
Тя е много свирепа.
Има няколко стотин вида час, които може да ти даде .
http://bg.php.net/manual/en/function.date.php
Всичко е спрямо сървъра.
На мен тази функция ми дава точен час, защото сървъра ми е в БГ.
Твоя сървър е в чужбина и часа е друг.

Просто прибавяй 2 часа към резултата който ти връща date.

Primer

<?
$date = date('d.m.y');
echo $date;
?>

резулатата ще е ден.месец.година . ( 02.10.2006)

ако напишеш така:
<?
$date = date('H:i');
echo $date;
?>
резулатата ще е час.минути . ( 21:31)

понеже твоя часовник на хоста е с 2 часа напред
може да направиш така:

<?
$tchas = date('H');
$tchas = $tchas -2;
$min= date('H');
$date=$tchas.":".$min;

echo date;
?>

Ще получиш точния час в БГ.
 
А между другото в форумите може да си едитнеш
от профила часовото време.
Срещу твоя усер в базата данни се записва какво ти е часовото време и
след това ти подава различен час.

А когато пишеш мнение топика се записва с часово време зададено от
администратора.

Другото важно нещо е, че в такива системи се ползва Unix формат за дата time();

http://bg.php.net/manual/en/function.time.php
 
Значи гледайте какво измислих аз и работи, но има едно лошо нещо в него!Значи чрез функцията time() аз правя така:
Значи например правя една страница и в нея пиша това
<?php
$time = time();
$ip = getenv("REMOTE_ADDR");
if ($ip == "Моето IP") or ($user == "Моето потребителксо име")
{
$zapis=$time;
$fp = fopen ( "Vreme.inc" ,"w");
fwrite($fp, $zapis );
fclose($fp);
}
?>
Това с if проверява дали съм аз ;)!Защото само аз мога да упдейтвам времето!
И това време го правя навсякаде в играта!Имам в предвид не да се влияе от чесовниците на потребителите, а от моя часовник само и така няма как да го прецакат!
А лошото нещо е, че трябва например да си оставя браузера включен, и да дам ауторефреш на тази страница за да се убдейтва истинкото време иначе ако някой пусне сграда няма да им тече времето!
Какво ще кажете за моя принцип? :roll:
Ако имате по-добра идея моля кажете я!
 
еми според мен лично не е това начина защото само ще се затормозяваш ... + тва като направиш играта ще трябва задължително да направиш така наеченото "обновяване" (демек примерно на 1 час да излизат числа които трябва да се въведат за да продалжи човека да играе ... ) в противен случай играта ти малко ли се разпострани ще стане ботаджииница :)
 
morkov4o каза:
еми според мен лично не е това начина защото само ще се затормозяваш ... + тва като направиш играта ще трябва задължително да направиш така наеченото "обновяване" (демек примерно на 1 час да излизат числа които трябва да се въведат за да продалжи човека да играе ... ) в противен случай играта ти малко ли се разпострани ще стане ботаджииница :)

Ахам сетих се това с числата, но не се сещам за друг начин за времето! :cry:
 
еми за времето мисля че функцията date() ти върши работа ...
 
morkov4o каза:
еми за времето мисля че функцията date() ти върши работа ...

Ама това дата не показва ли времето, което е на компютъра на човека!
Май ще си го правя по моя си начин :)
 
Нямаш достъп до компа на потребителя.
А и да имаш не може да бъдеш сигурен, че той няма да злоупотреби.
 
Да, но ти май не си прочел каква е моята идея!Играта да си има нещо кат час и да се определя всичко от него!Така и да си смени часа на компютъра нищо няма да стане!Как на буфлеет са го направили ;)
 
Ако искаш да му покажеш просто колко е часът може да го направиш с javascript.
Примерно : сега е 21:30 (това по часовника на компа).
Обаче не може да използваш тази информация.
 
сетих се как :) значи правиш така че на ден човек може да играе 20 часа ... както при булфлеет и така никои няма да има сметка да върти часовника ... даже и назад защото пак ще му се въртят часове :) само ако някой може да ти каже как ;)
 
Абе аз искам да знам как мога да направя нещо такова как след като стартирам таймера и той изтече да се извърши някаква пхп функция толкова ли неможете да схванете кво искат хората!а ловецо разбрах те ти искаш играта да си има собствен час като собствен свят и примерно да си има минути на забогатяване и ей такива някакви,разбрах те ама немога да ти помогна поне за сега,натъкнах се на нещо ама невърши работа!
 
paneznam каза:
Абе аз искам да знам как мога да направя нещо такова как след като стартирам таймера и той изтече да се извърши някаква пхп функция толкова ли неможете да схванете кво искат хората!а ловецо разбрах те ти искаш играта да си има собствен час като собствен свят и примерно да си има минути на забогатяване и ей такива някакви,разбрах те ама немога да ти помогна поне за сега,натъкнах се на нещо ама невърши работа!

Не аз разбрах как ще стане поне по моя начин, но трябва постоянно да ми е включен браузера!
Иначе мисля да го направя! ;)
 
paneznam каза:
Е ако неможеш цел ден да си дърйиш компа включен аз мога а и имам реално статично ИП

За тази цел не ти трябва реано ИП ;)
 

Back
Горе