پلاگین زمان DateFull برای کانستراکت 2
#1
باسلام به همه دوستان .

چند وقت پیش Master Badfar یک تاپیک به اسم زمان یونیکس یا به عبارتی تایم استمپ گذاشته بود ، آموزش جامعی بود ، اما خداوکیلی حتی منم حوصله ندارم این همه بخوام از کد استفاده کنم . غیر از اون استفاده از پلاگین بروزر توی برخی از خروجی ها گاها با مشکل مواجه میشه . پست ایشون باعث شد تا تصمیم بر این بگیرم این مشکل رو هم یک بار برای همیشه حلش کنم بره پی کارش .

اینقدرم الان خوابم میاد که حوصله نداشتم کلا چیزی بنویسم  =)) ‌

فقط این پلاگین ادیت شده پلاگین رکس هست که بنده با تغییراتی و همچنین اضافه کردن اکسپرشن  TimeStampNow کلا کارشو تموم کردم  :d ‌ ;) ‌
این موضوع رو هم برای رعایت قانون کپی رایت مطرح کردم ( هرچند اصلا به این چرندیات توجهی نکردم تو کل زندگیم  :d ‌ )

چیز فوق العاده ای در اومد ؛ خودمم تا چند وقت دیگه قصد دارم ازش استفاده کنم ، چیز خوبی دراومد و عالیه برای ساخت بازی هایی که توشون زمان میخواید .

ی نکته مهم این هست که مثلا میتونید مثل بازی کلش ( آفلاین البته ) مثلا TimeStamp رو بگیرید و بعد از ورود دوباره کاربر TimeStamp جدید رو دریافت کنید و براش زمان رو محاسبه کنید . * البته به موضوع عوض کردن تایم هم توجه کنید ( هنوز تست نکردم ) اما از اونجایی که تایم لوکال میگیره احتمالا با اینور و اونور شدن تاریخ هم بهم بریزه ولی بازم خودتون تست کنید .
===============================

داشتم روی یکی از پروژه های شخصیم کار میکردم که احتیاج به یک ثانیه شمار ( منتها ) با این امکان که اگر ثانیه شمار من از 6 ساعت شروع شد ، خودش شروع کنه به بصورت اتومات به این صورت بشه -> 5:59:59 ... 5:58:23 ... ... . یعنی به این صورت نمایش داده بشه ، خب این کارو ما میتونیم با کانستراکت و تعداد زیادی شرط انجام بدیم ، این کار خوبه ، اما هر بار بخواید این شرایط و حساب و کتاب هارو انجام بدید ضمن اینکه اگر بخواید تعداد دفعات بیشتری استفاده کنید ، دو تا راه دارید . یا اینکه مثال لقمه رو دور سر بچرخونی و هر بار این کد هارو کپی پیست کنی ، روش دوم این هست که عاقلانه رفتار کنی و از فانکشن ها استفاده کنی ، متاسفانه افراد تازه کار و حتی حرفه ای ها هم کلا با فانکشن قهرن .
در هر حال این پلاگین دیگه کارتونو ساده میکنه ، نه احتیاجی به ایونت و اکشن نویسی هست نه فانکشن و نه خانواده دگر پلاگین ها .
برای خود من که میخوام ده ها بار از ثانیه شمار استفاده کنم ، بهترین راه حل ساخت یک پلاگین جدید بود ، دیگه دیدم این پلاگین رو قبلا با نام تاریخ و زمان داده بودم ، همینو بروز کردم .
نکته مهم این هست که اگر بخواید میتونید هم به عنوان باقی مانده زمان ازش استفاده کنید ، هم به عنوان افزایش زمان .

پلاگین فوق به نسخه 1.1.0 بروز شد ، اطلاعات بروز رسانی :

* اضافه شدن امکان تبدیل ثانیه به ساعات باقی مانده یا افزایشی ( در کل ثانیه به ساعت تبدیل میشه )
مثلا 120 ثانیه به پلاگین میدی -> 0:2:0 تحویل میده .
58550 ثانیه میدی -> 16:15:50 تحویل میده .
3600 ثانیه میدی -> 1:0:0 تحویل میده .
3599 ثانیه میدی -> 0:59:59 تحویل میده .

کاربرد برای بازی یا برنامه هایی است که میخواهند از تایمر در بازی خودشون استفاده کنند ، به این صورت که هر 1 ثانیه ( با ایونت Every X seconds ) به ثانیه های خود اضافه یا کسر کنید .

یک نکته مهم درباره ثانیه های بیشتر از 23:59:59 هست که اون ها به این صورت نمایش داده میشوند :
کد:
21 day 11:42:44
متاسفانه فعلا راه حلی به ذهنم نرسید که بتونم از حروف فارسی راست چین شده استفاده کنم ، بخاطر همین 21 روز و ... رو به این صورت خواهیم داشت .
حالا اگر راه حلی به ذهنم رسید یا اینکه از دوستان راه حلی داشت ، همینجا بگه تا تصحیح کنم .
===============================
خلاصه ؛ مثل همیشه میتونید این پلاگین رو سایت شخصی بنده دانلود کنید :

آخرین نسخه بروز شده : 1.3.0

پلاگین DateFull برای کانستراکت 2

موفق باشید .
  پاسخ


 سپاس شده توسط: kakmamad ، mhp ، amin COD ، nariman ، Master Badfar ، ghasem ، oak ، M.gh ، shazde ، amin hosseini ، Amirhesam.KH ، ᔕinaᗪehghani ، shifter
#2
سلام. ممنون حسام جان بخاطر این پلاگین کاربردی.
متاسفانه اون مشکل دستکاری زمان رو تقریبا هیچ جوره نمیشه به طور آفلاین حل کرد. تو انجمن دیده بودم دوستان گفته بودن با پلاگین time away L میشه ولی اون هم با دستکاری زمان به هم میریزه. 
فقط هم مشکل کانستراکت نیست بازی های تاپ چارت بازار هم من تست کردم اونایی که جایزه ساعتی آفلاین دارن به راحتی میشه توشون تقلب کرد.
  پاسخ


 سپاس شده توسط: ghasem ، hasansanaei ، M.gh ، shazde ، ᔕinaᗪehghani
#3
سلام 
دم شما گرم 
کار با این سون تره یا 
time away L ؟
من یک چند روز دنبال پیاده سازی این جایزه روزانه تو بازیم هستم ولی کسی بهم کمک نمیکنه 
انگار یه سورس بدن ما یادبگیریم از اونا چیزی کم میشه 
غایب
  پاسخ


 سپاس شده توسط: hasansanaei ، ᔕinaᗪehghani
#4
حسام جان من حدس میزدم که با دستکاری ساعت و تاریخ زمان مشکل پیش میاد و تست کردم و ساعت سیستم رو دستکاری کردم و دیدم که بله چون زمان رو لوکال میگیره مشکل پیش میاد.
البته میشه یه سیستمی (یه گروه ایونت) توی بازی قرار داد که بتونه تا حدی تقلب بازیکن رو شناسایی کنه. مثلاً وقتی بازی ما 18 دسامبر 2020 منتشر شده اگر زمان یه کاربر از اون رنج خیلی کمتر یا بیشتر باشه یعنی یه کاسه ای زیر نیم کاسه است. البته این بیشتر برای تاریخ موثره و بستگی به کاربر داره که چقدر تابلو تاریخ رو دستکاری کنه و برای ساعت چندان به کار نمیاد.
یا میشه از یه الگوریتم پایه ماشین لرنینگ مثل الگوریتم Naive Bayes classifier (الگوریتم طبقه بندی کننده بیز ساده) استفاده کرد تا با توجه به رکوردهای آماری که از زمان کاربر داریم با یه کسر احتمال بیان کنیم که محتملاً کاربر مشغول تقلبه یا خیر. 
به هر حال همینطور که mhp عزیز هم اضافه کرد هیچ راه صد درصدی برای بستن راه تقلب برای بحث زمان توی بازی های آفلاین وجود نداره چون کاملاً تحت سلطه کاربره.
غایب
  پاسخ


 سپاس شده توسط: ghasem ، hasansanaei ، oak ، mhp ، shazde
#5
اگر شما کارتون رو با ثانیه انجام بدید ، مشکلی پیش نخواهد آمد
البته ممکنه با دستکاری تاریخ سیستم یه سری تاثیراتی هم بزاره ولی اگر برنامه در بک گراند اجرا شود و هر ثانیه به متغیر اضافه شود ، میتونیم بدون ترس از دستکاری زمان ، تاحدودی کار خودمون رو راه بندازیم ولی مساله بزرگیه و فیچر ضایه و خاک بر سریه که یه بازی با اون همه بالا و پایین سر  یه زمان عقب جلو کردن کلا از هم بپاشه
برای حل این مشکل تا حدودی ، باید کلا از سیستم لوکال جدا باشیم و اگر میشد ثانیه های سپری شده از زمان خروج و ورود کاربر رو به نرم افزار بدست بیاریم این مشکل مرتفع میشد
از آقای ثنایی میخوام که این تغییرات رو در پلاگین بدهند.
 
[تصویر:  default-yellow.svg]
غایب
  پاسخ


 سپاس شده توسط: hasansanaei ، shazde
#6
(1399/2/21، 04:58 صبح)mhp نوشته است: سلام. ممنون حسام جان بخاطر این پلاگین کاربردی.
متاسفانه اون مشکل دستکاری زمان رو تقریبا هیچ جوره نمیشه به طور آفلاین حل کرد. تو انجمن دیده بودم دوستان گفته بودن با پلاگین time away L میشه ولی اون هم با دستکاری زمان به هم میریزه. 
فقط هم مشکل کانستراکت نیست بازی های تاپ چارت بازار هم من تست کردم اونایی که جایزه ساعتی آفلاین دارن به راحتی میشه توشون تقلب کرد.
سلام

پس ظاهرا اگر مشکل اینطوری باشه ؛ عملا مهم نیست ؛ بله دیدم که بازی های تاپ هم همین مشکلات رو دارن / راه کار عقلانی و علمی برای این موضوع وجود نداره .
  پاسخ


 سپاس شده توسط: mhp ، shazde
#7
(1399/2/21، 07:00 صبح)mohammadslt نوشته است: سلام 
دم شما گرم 
کار با این سون تره یا 
time away L ؟
من یک چند روز دنبال پیاده سازی این جایزه روزانه تو بازیم هستم ولی کسی بهم کمک نمیکنه 
انگار یه سورس بدن ما یادبگیریم از اونا چیزی کم میشه 
سلام

به طور صد درصدی با پلاگین تایم اوی کار نکردم ، اما در حد ی خنده از کنارش توی گیم جم رد شدم ( بخاطر زمان کم ) .
اما موضوعی که به طور حتم بهش اعتقاد دارم ، کار کردن با این سیستم راحت تره . چون شما تنها کاری که باید بکنی این هست که دو تا متغیر طویل ثانیه ای رو با هم مقایسه کنی.

بخاطر همین کل سیستمی که شما میگی توی این پلاگین ( به طور خلاصه و البته در حد آموزشی ) کلا 3 . 4 تا ایونت شیت و چند تا اکشن میخواد .
ولی کار کردن با این حدس میزنم از تایم اوی راحت تر هست .
  پاسخ


 سپاس شده توسط: Morj7 ، shazde ، ᔕinaᗪehghani
#8
(1399/2/21، 08:17 صبح)Master Badfar نوشته است: حسام جان من حدس میزدم که با دستکاری ساعت و تاریخ زمان مشکل پیش میاد و تست کردم و ساعت سیستم رو دستکاری کردم و دیدم که بله چون زمان رو لوکال میگیره مشکل پیش میاد.
البته میشه یه سیستمی (یه گروه ایونت) توی بازی قرار داد که بتونه تا حدی تقلب بازیکن رو شناسایی کنه. مثلاً وقتی بازی ما 18 دسامبر 2020 منتشر شده اگر زمان یه کاربر از اون رنج خیلی کمتر یا بیشتر باشه یعنی یه کاسه ای زیر نیم کاسه است. البته این بیشتر برای تاریخ موثره و بستگی به کاربر داره که چقدر تابلو تاریخ رو دستکاری کنه و برای ساعت چندان به کار نمیاد.
یا میشه از یه الگوریتم پایه ماشین لرنینگ مثل الگوریتم Naive Bayes classifier (الگوریتم طبقه بندی کننده بیز ساده) استفاده کرد تا با توجه به رکوردهای آماری که از زمان کاربر داریم با یه کسر احتمال بیان کنیم که محتملاً کاربر مشغول تقلبه یا خیر. 
به هر حال همینطور که mhp عزیز هم اضافه کرد هیچ راه صد درصدی برای بستن راه تقلب برای بحث زمان توی بازی های آفلاین وجود نداره چون کاملاً تحت سلطه کاربره.
سلام ؛ متاسفانه الگوریتم فوق بدرد این موضوع نمیخوره ، ضمن اینکه نمیتونیم زمان رو محدود به زمان بندی حدودی خودمون بکنیم ؛ همونطور که خودتون هم اشاره کردید اگر کاربر زرنگ باشه و بخواد دستکاری بکنه ، اگر تابلو بازی در نیاره اتفاقی نمیوفته ؛ مثلا ما اطمینان داریم کاربر بالاخره بعد از 20 روز به بازی سر میزنه ، و بعد از اون تابلو هست ، اما مثلا اگر کاربری بخواد در حد ی ساعت دستکاری کنه ، نهایتا تاریخ گوشیشو 1 هفته ببره جلو ! این موضوع توی ی روز و دو روزم همینطوریه و نمیشه حدس زد دقیقا چه اتفاقی میوفته .
در هر حال دقیقا همون موضوع راه کار علمی وجود نداره .
  پاسخ


 سپاس شده توسط:
#9
(1399/2/21، 09:44 صبح)oak نوشته است: اگر شما کارتون رو با ثانیه انجام بدید ، مشکلی پیش نخواهد آمد
البته ممکنه با دستکاری تاریخ سیستم یه سری تاثیراتی هم بزاره ولی اگر برنامه در بک گراند اجرا شود و هر ثانیه به متغیر اضافه شود ، میتونیم بدون ترس از دستکاری زمان ، تاحدودی کار خودمون رو راه بندازیم ولی مساله بزرگیه و فیچر ضایه و خاک بر سریه که یه بازی با اون همه بالا و پایین سر  یه زمان عقب جلو کردن کلا از هم بپاشه
برای حل این مشکل تا حدودی ، باید کلا از سیستم لوکال جدا باشیم و اگر میشد ثانیه های سپری شده از زمان خروج و ورود کاربر رو به نرم افزار بدست بیاریم این مشکل مرتفع میشد
از آقای ثنایی میخوام که این تغییرات رو در پلاگین بدهند.
 
این راه کار فقط در حد گفتنه ، یعنی شما برای اجراش باید هم پدر خودتو در بیاری ، هم پدر گوشی کاربر ( این مهم تره )
اگر قرار باشه سیستم همیشه به صورت بک گراند در حال اجرا باشه ، اتفاق خیلی بدی برای گوشی کاربر میوفته .
حالا اگر ی مقدار بازی توسط فردی که توی ایونت نویسی حرفه ای هست نوشته بشه میشه تا جایی خوش بینانه به این موضوع نگاه کرد ؛ اما اگر قرار باشه بازی توسط ی فرد غیر حرفه ای یا حالا حتی به دست ی مثلا حرفه ای بد نوشته بشه و بخواد توی بک گراند هم اجرا بشه ، رسما گوشی کاربر و به فنا میده ...

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

راه کار هست ، عقلانی هم هست ، اما علمی نیست . مسلما اگر راه کار خوبی بود ، همون خارجی های بی دین و ایمون کار درست با اون بازی های تاپ گوگل پلیشون زود تر به ذهنشون میرسید ( رسیده اما خودشون میدونن مشکل درست میکنه ) .
کاربر اگر بعدا مثلا میگم ، گوشیش کند بشه و ی نگاه ساده بندازه ببینه اپ ما داره مثلا 10 درصد از سی پی یو رو میخوره ، فکرای بد به سرش میزنه و درجا بازیو حذف میکنه . ضمن اینکه اگر گزارش بازیو به مارکت ها بدن ، بعید نمیدونم مارکت بازیو حذف کنه و حتی بهتون اخطار های جدی هم نده ! / به هر حال هیچ چیز مهم تر از کاربر مصرف کننده نیست .
  پاسخ


 سپاس شده توسط: Master Badfar ، oak ، M.gh
#10
خو پس کلا از این ماجرا ها نداریم
[تصویر:  default-yellow.svg]
غایب
  پاسخ


 سپاس شده توسط: hasansanaei


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Star پلاگین پرداخت درون برنامه تمام مارکت ها miladesign 94 62,369 1403/11/10، 04:25 عصر
آخرین ارسال: ya mahdi
Information پلاگین درون پرداخت بازار، مایکت، ایران اپس، پارس هاب، کندو و اول مارکت miladesign 120 82,299 1403/10/22، 07:49 عصر
آخرین ارسال: Tggi
  پلاگین فارسی ارسال نوتیفیکشن آفلاین rezamms 11 9,953 1401/8/7، 03:50 عصر
آخرین ارسال: kamran_cn
  پلاگین درخواست لینک دانلود مثال های مجموعه پلاگین REX'S PLUGINS firooz 0 4,199 1401/6/13، 11:26 عصر
آخرین ارسال: firooz
  پلاگین درخواست پلاگین table یا 2d dictionary aliCo 0 1,610 1401/5/9، 03:24 صبح
آخرین ارسال: aliCo

پرش به انجمن: