Битка след време...

Spamerchots

Registered
Как да записвам биките между играчите
Примерно един играч атакува друг и да неможе да го в следващият 1 час
 
Записваш time(); в базата от данни. При опит за атака изваждаш записаното време и ако сегашното време е по-малко от сбора на записаното време с 3600, то не е минал един час.

Код:
if ($timenow < $lastattack + 3600) {
// Не е изтекъл 1 час.
}
 
да но така някой няма да може да бие играч през този 1 час
аз искам да играча да не може да бъде бит от играч който го е пребил в рамките на час

защото сън го направил да могат да се бият на 10 мин но искам различни хора да се бият затова искам да стане така
като те набиеш някой да може да го биеш след 1-2 часа
 
Ще запишеш в отделна таблица битките - кой кого е атакувал и по същия начин ще го направиш деден играч да не може да бие друг играч в рамките на 1 час. Начина е същия.
 
Например имаш файл ataka.php и във него $_SESSION['name'] напримерно е AtakaTest и когато AtakaTest избере да атакува противник линка "атакувай" да е ataka.php?id=5 като юзъра ,който съответства на id 5 е Test това го записваш в таблица ataki където има полета atakuvan = юзъра ,който отговаря на съответното ид , atakuvasht = стойността на $_SESSION['name'] time = времето записано от time().За да извадиш кога е атакувал $_SESSION['name'] ,който отново атакува id 5 правиш така :
да приемем ,че $user = юзъра който съответства на ид 5 ,а $name = $_SESSION['name']

Код:
<?php 
//kod
$sql = "SELECT * FROM ataki WHERE atakuvan = '$user' AND atakuvasht = '$name' ";
?>
извеждаш си с mysql_fetch_assoc времето и проверяваш дали времето сега е по-малко от времето ,когато последно са се атакували + 3600 и извеждаш ,че не е изтекъл 1 чак даваш му else и си пишеш кода ,за атаката
 
всичко е Ок само mysql_fetch_assoc това не ми е ясно как трябва да стане

пп. lam3r4370
Оправих се много ти благодаря + 1
 

Back
Горе