PDA

View Full Version : سوال: سوال در مورد Time سایت travian



Dead Space
پنج شنبه 03 شهریور 1390, 10:14 صبح
سلام دوستان
اگر تا الان تراوین رفته باشید متوجه این سوالم میشید نرفته باشید هم توضیحاتش رو میگم.
در تراوین وقتی یک عملی انجام میدید که ۲۰ دقیقه زمان میبره این تایمر شروع می کنه از ۲۰ دقیقه تا ۰ بشه و اون عمل انجام بشه
اگر شما در سایت حضور داشته باشید اون تایمر رو خوب میبینید که داره ازش کم میشه
اگر توی سایت هم نباشید مثلا سایت رو ببندید و ۱۰ دقیقه بعد بازش کنید اون تایمر هنوز داره کار می کنه و ۱۰ دقیقه هم از زمانش کم شده.
میخواستم ببینم شیوه کار به چه صورت هستش مگر نباید یک فایل PHP اجرا بشه تا بشه بانک رو دستکاری کرد و مقادیرش رو تغییر داد
این سیستم به چه صورت داره کار می کنه که حتی با بسته بودن صفحه هم تایمر داره کاره خودش رو می کنه
؟
ممنون

amin1softco
پنج شنبه 03 شهریور 1390, 10:29 صبح
خوب برای آیپیه شما و نام کاربریتون یک تایمر تعریف کرده شما با یک آیپیه جدید وارد بشید ببنید چی می شه........

Dead Space
پنج شنبه 03 شهریور 1390, 11:04 صبح
منظورتون رو دقیق متوجه نشدم
ولی travian کاری با IP نداره شما از کافی نت می تونید مثلا یک خونه بزاری بسازه که ۶۰ دقیقه بعد آماده میشه بعد ۴۰ دقیقه بعد میایی خونه از خونه چک می کنی شده ۲۰ دقیقه به ساختن خانه.

HamidTatalo
پنج شنبه 03 شهریور 1390, 11:19 صبح
خوب دوست عزیز روال کار اینطوره که اون میزان زمانی که گذشته رو ذخیره نمی کنه !!!

وقتی شما یه ساختمون رو مزنی تا بسازه . توی پایگاه داده ، ساختمون مورد نظر ثبت میشه و زمانی رو که شما درخواست ایجاد دادی و ساختمون ایجاد شده رو ثبت می کنه . یعنی فقط یک زمان ثبت میشه که اونم زمان درخواست شماست .

حالا فرض کن که این ساختمون 60 دقیقه زمان داره و شما بعد از درخواستت داخل سایت هستی
خوب این شمارنده شروع میکنه از 60 دقیقه بطور معکوس میشماره . تا اینجا که فکر نکنم مشکلی باشه ؟!

حالا سوال شما اینجا بود میام بیرون و بعد مثلا 20 دقیقه دوباره وارد سایت میشم .
وقتی وارد سایت میشی باید تایمر از 40 دقیقه شروع بکنه به پایین بیاد . درسته ؟

حالا اینکار انجام میشه .
زمان ورود شما به سایت بدست میاد . مثلا با تابع time .
بعد از اون میاد زمان ساخت کلیه ساختمان هایی که درحال ساخت هستند رو از پایگاه داده درمیاره .
حالا این زمان های شروع به ساخت رو منهای زمان فعلی میکنه .
به این روش زمانی که گذشته رو بدست میاره و باقی زمان رو هم به راحتی با منها کردن زمان گذشته با زمان کل بدست میاره

مثال میزنم
زمان مورد نیاز برای ایجاد ساختمان : 60 دقیقه
ارسال دستور ساخت ساختمان یا همون کلیک بر روی دکمه ساختن ساختمان : در ساعت 10 و 30 دقیقه
ثبت زمان 10:30 برای شروع ساخت ساختمان در پایگاه داده
(یعنی باید ساختمان ساعت 11 و 30 دقیقه کامل بشه)
-----شروع تایمر معکوس از 60 دقیقه------
-----خروج از سایت ------

-----ورود به سایت در ساعت 10 و 50 دقیقه ----
(یعنی 20 دقیقه بعد که حالا تایمر باید از 40 شروع کنه و معکوس بشماره)
بدست آوردن ساعت ورود و زخیره آن در متغیر time$
بدست آوردن ساعت شروع به ساخت ساختمان و قرار دادن آن در متغیر startTime$
(یعنی مقدار متغیر time$ برابر 10:50 و مقدار متغیر startTime$ برابر 10:30 می باشد)

حالا مقدار زمان گذشته شده رو بدست میاریم :
time - $startTime$
نتیجه برابر 20 میشه . درسته ؟
حالا 20 رو از زمان کلی مورد نیاز برای ساخت که 60 باشه کم میکنیم و عدد 40 بدست میاد
حالا شروع به شمردن شمارنده معکوس از 40 به پایین می کنیم

Dead Space
پنج شنبه 03 شهریور 1390, 11:24 صبح
خیلی ممنون جناب حمید.توضیحاته خیلی خوبی بود
تشکر

amin1softco
پنج شنبه 03 شهریور 1390, 17:16 عصر
من یکی که از این تریپ بازیا خوشم نمیاد ............. ولی با HamidTatalo (http://barnamenevis.org/member.php?147988-HamidTatalo) موافقم باشید همینطوری باشه