امتیاز موضوع:
  • 5 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
کلمات کلیدی
آموزش رایگان پرداخت درون برنامه مارکت‌های ایرانی در گیم میکر استودیو با اکستنشن

آموزش رایگان پرداخت درون برنامه مارکت‌های ایرانی در گیم میکر استودیو با اکستنشن
#1
Star 
سلام به همه
توی این پست میخوام اکستنشن پرداخت درون برنامه مارکت‌های ایرانی رو همراه با سورس و آموزش استفاده به صورت رایگان قرار میدم.
اکستنشن بازار رو ادپلی ساخته بود ولی این نسخه من از روی همون ساخته شده واسه اینکه کدهای همه مارکت‌ها شبیه به هم بشه.

مارکت 1: پرداخت درون برنامه کافه بازار

دریافت فایل اکستنشن به همراه سورس و آموزش
آموزش
1. در گیم میکر استودیو روی پوشه Extensions راست کلیک کنید وگزینه Import extension را انتخاب کنید سپس اکستنشن موجود در فایل زیپ را انتخاب کنید.
2. یک آبجکت برای کنترل عملیات خرید بسازید و در رویداد Create آن کد زیر را قرار دهید:
کد php:
RSA="RSA KEY";
Consumables="mdIAB_coin50,mdIAB_gem5";
nonConsumables="mdIAB_adss";
MD mdBazaarIAB_init(RSA,Consumables,nonConsumables); 
*** در کد بالا بجای RSA Key کلید RSA مربوط به بازی خودتون رو قرار بدید. بجای mdIAB_coin50,mdIAB_gem5 شناسه محصولات مصرفی خود را بنویسید (شناسه ها را با , از یکدیگر جدا کنید). بجای کد mdIAB_adss شناسه محصولات غیرمصرفی را بنویسید (شناسه ها را با , از یکدیگر جدا کنید).
3. در رویداد Asynchronous->Social کد زیر را قرار دهید:
کد php:
///Social Events
var status=string(ds_map_find_value(async_load"type" ));
if(
status == "onConsumablePurchased")
{
    var 
product_id string(ds_map_find_value(async_load"element" ));
    
show_message_async("محصول "+product_id+" با موفقیت خریداری شد.");
    if(
product_id=="mdIAB_coin50")
    {
        global.
coin+=50;
    }
    else if(
product_id=="mdIAB_gem5")
    {
        global.
gem+=5;
    }
}
else if(
status == "onNonConsumablePurchased")
{
    var 
product_id string(ds_map_find_value(async_load"element" ));
    
show_message_async("محصول "+product_id+" با موفقیت خریداری شد.");
    if(
product_id=="mdIAB_adss")
    {
        global.
ads=false;
    }
}
else if(
status == "onPurchaseFail")
{
    
show_message_async("پرداخت انجام نشد.");

*** در این کد:
خط 1: تعریف متغیر برای تعیین نوع محصول
خطوط 14-2: اگر محصول از نوع مصرفی باشد عملیات داخل {} انجام شود.
خطوط 23-15 اگر محصول از نوع غیرمصرفی باشد عملیات داخل {} انجام شود.
خطوط 27-24: اگر عملیات پرداخت با مشکل مواجه شد پیغام خطا نشان داده شود.
خط 4: تعریف متغیر برای تعیین محصول مصرفی
خط 5: اجرای پیام نمایش نام محصول مصرفی
خطوط 9-6: اجرای عملیات بعد از پرداخت هزینه محصول مصرفی 1 (در این مثال اضافه شدن 50 سکه)
خطوط 13-10: اجرای عملیات بعد از پرداخت هزینه محصول مصرفی 2 (اضافه شدن 5 الماس)
*** در صورتی که محصولات مصرفی شما بیشتر هستند از خط 6 تا 9 کپی کنید.
خط 17: تعریف متغیر برای تعیین محصول غیر مصرفی
خط 18: اجرای پیام نمایش نام محصول غیر مصرفی
خطوط 22-19: اجرای عملیات بعد از پرداخت هزینه محصول غیرمصرفی (حذف تبلیغات)
*** در صورتی که محصولات غیر مصرفی شما بیشتر هستند از خط 19 تا 22 کپی کنید.

4. برای هر یک از محصولات خود (مصرفی و غیرمصرفی) یک آبجکت گزینه خرید بسازید و در رویداد mouse left pressed هر کدوم کد زیر رو بذارید:
کد php:
mdBazaarIAB_startIAB("mdIAB_adss",""); 
*** کد بالا مربوط به گزینه حذف تبلیغات میباشد. برای هر گزینه بجای mdIAB_adss شناسه محصول را بنویسید.
مارکت 2: پرداخت درون برنامه مایکت

دریافت فایل اکستنشن به همراه سورس و آموزش
آموزش
1. در گیم میکر استودیو روی پوشه Extensions راست کلیک کنید وگزینه Import extension را انتخاب کنید سپس اکستنشن موجود در فایل زیپ را انتخاب کنید.
2. یک آبجکت برای کنترل عملیات خرید بسازید و در رویداد Create آن کد زیر را قرار دهید:
کد php:
RSA="RSA KEY";
Consumables="mdIAB_coin50,mdIAB_gem5";
nonConsumables="mdIAB_adss";
MD mdMyketIAB_init(RSA,Consumables,nonConsumables); 
*** در کد بالا بجای RSA Key کلید RSA مربوط به بازی خودتون رو قرار بدید. بجای mdIAB_coin50,mdIAB_gem5 شناسه محصولات مصرفی خود را بنویسید (شناسه ها را با , از یکدیگر جدا کنید). بجای کد mdIAB_adss شناسه محصولات غیرمصرفی را بنویسید (شناسه ها را با , از یکدیگر جدا کنید).
3. در رویداد Asynchronous->Social کد زیر را قرار دهید:
کد php:
///Social Events
var status=string(ds_map_find_value(async_load"type" ));
if(
status == "onConsumablePurchased")
{
    var 
product_id string(ds_map_find_value(async_load"element" ));
    
show_message_async("محصول "+product_id+" با موفقیت خریداری شد.");
    if(
product_id=="mdIAB_coin50")
    {
        global.
coin+=50;
    }
    else if(
product_id=="mdIAB_gem5")
    {
        global.
gem+=5;
    }
}
else if(
status == "onNonConsumablePurchased")
{
    var 
product_id string(ds_map_find_value(async_load"element" ));
    
show_message_async("محصول "+product_id+" با موفقیت خریداری شد.");
    if(
product_id=="mdIAB_adss")
    {
        global.
ads=false;
    }
}
else if(
status == "onPurchaseFail")
{
    
show_message_async("پرداخت انجام نشد.");

*** در این کد:
خط 1: تعریف متغیر برای تعیین نوع محصول
خطوط 14-2: اگر محصول از نوع مصرفی باشد عملیات داخل {} انجام شود.
خطوط 23-15 اگر محصول از نوع غیرمصرفی باشد عملیات داخل {} انجام شود.
خطوط 27-24: اگر عملیات پرداخت با مشکل مواجه شد پیغام خطا نشان داده شود.
خط 4: تعریف متغیر برای تعیین محصول مصرفی
خط 5: اجرای پیام نمایش نام محصول مصرفی
خطوط 9-6: اجرای عملیات بعد از پرداخت هزینه محصول مصرفی 1 (در این مثال اضافه شدن 50 سکه)
خطوط 13-10: اجرای عملیات بعد از پرداخت هزینه محصول مصرفی 2 (اضافه شدن 5 الماس)
*** در صورتی که محصولات مصرفی شما بیشتر هستند از خط 6 تا 9 کپی کنید.
خط 17: تعریف متغیر برای تعیین محصول غیر مصرفی
خط 18: اجرای پیام نمایش نام محصول غیر مصرفی
خطوط 22-19: اجرای عملیات بعد از پرداخت هزینه محصول غیرمصرفی (حذف تبلیغات)
*** در صورتی که محصولات غیر مصرفی شما بیشتر هستند از خط 19 تا 22 کپی کنید.

4. برای هر یک از محصولات خود (مصرفی و غیرمصرفی) یک آبجکت گزینه خرید بسازید و در رویداد mouse left pressed هر کدوم کد زیر رو بذارید:
کد php:
mdMyketIAB_startIAB("mdIAB_adss",""); 
*** کد بالا مربوط به گزینه حذف تبلیغات میباشد. برای هر گزینه بجای mdIAB_adss شناسه محصول را بنویسید.
مارکت 3: پرداخت درون برنامه ایران اپس

دریافت فایل اکستنشن به همراه سورس و آموزش
آموزش
1. در گیم میکر استودیو روی پوشه Extensions راست کلیک کنید وگزینه Import extension را انتخاب کنید سپس اکستنشن موجود در فایل زیپ را انتخاب کنید.
2. یک آبجکت برای کنترل عملیات خرید بسازید و در رویداد Create آن کد زیر را قرار دهید:
کد php:
RSA="RSA KEY";
Consumables="mdIAB_coin50,mdIAB_gem5";
nonConsumables="mdIAB_adss";
MD mdIranappsIAB_init(RSA,Consumables,nonConsumables); 
*** در کد بالا بجای RSA Key کلید RSA مربوط به بازی خودتون رو قرار بدید. بجای mdIAB_coin50,mdIAB_gem5 شناسه محصولات مصرفی خود را بنویسید (شناسه ها را با , از یکدیگر جدا کنید). بجای کد mdIAB_adss شناسه محصولات غیرمصرفی را بنویسید (شناسه ها را با , از یکدیگر جدا کنید).
3. در رویداد Asynchronous->Social کد زیر را قرار دهید:
کد php:
///Social Events
var status=string(ds_map_find_value(async_load"type" ));
if(
status == "onConsumablePurchased")
{
    var 
product_id string(ds_map_find_value(async_load"element" ));
    
show_message_async("محصول "+product_id+" با موفقیت خریداری شد.");
    if(
product_id=="mdIAB_coin50")
    {
        global.
coin+=50;
    }
    else if(
product_id=="mdIAB_gem5")
    {
        global.
gem+=5;
    }
}
else if(
status == "onNonConsumablePurchased")
{
    var 
product_id string(ds_map_find_value(async_load"element" ));
    
show_message_async("محصول "+product_id+" با موفقیت خریداری شد.");
    if(
product_id=="mdIAB_adss")
    {
        global.
ads=false;
    }
}
else if(
status == "onPurchaseFail")
{
    
show_message_async("پرداخت انجام نشد.");

*** در این کد:
خط 1: تعریف متغیر برای تعیین نوع محصول
خطوط 14-2: اگر محصول از نوع مصرفی باشد عملیات داخل {} انجام شود.
خطوط 23-15 اگر محصول از نوع غیرمصرفی باشد عملیات داخل {} انجام شود.
خطوط 27-24: اگر عملیات پرداخت با مشکل مواجه شد پیغام خطا نشان داده شود.
خط 4: تعریف متغیر برای تعیین محصول مصرفی
خط 5: اجرای پیام نمایش نام محصول مصرفی
خطوط 9-6: اجرای عملیات بعد از پرداخت هزینه محصول مصرفی 1 (در این مثال اضافه شدن 50 سکه)
خطوط 13-10: اجرای عملیات بعد از پرداخت هزینه محصول مصرفی 2 (اضافه شدن 5 الماس)
*** در صورتی که محصولات مصرفی شما بیشتر هستند از خط 6 تا 9 کپی کنید.
خط 17: تعریف متغیر برای تعیین محصول غیر مصرفی
خط 18: اجرای پیام نمایش نام محصول غیر مصرفی
خطوط 22-19: اجرای عملیات بعد از پرداخت هزینه محصول غیرمصرفی (حذف تبلیغات)
*** در صورتی که محصولات غیر مصرفی شما بیشتر هستند از خط 19 تا 22 کپی کنید.

4. برای هر یک از محصولات خود (مصرفی و غیرمصرفی) یک آبجکت گزینه خرید بسازید و در رویداد mouse left pressed هر کدوم کد زیر رو بذارید:
کد php:
mdIranappsIAB_startIAB("mdIAB_adss",""); 
*** کد بالا مربوط به گزینه حذف تبلیغات میباشد. برای هر گزینه بجای mdIAB_adss شناسه محصول را بنویسید.
مارکت 4: پرداخت درون برنامه کندو

دریافت فایل اکستنشن به همراه سورس و آموزش
آموزش
1. در گیم میکر استودیو روی پوشه Extensions راست کلیک کنید وگزینه Import extension را انتخاب کنید سپس اکستنشن موجود در فایل زیپ را انتخاب کنید.
2. یک آبجکت برای کنترل عملیات خرید بسازید و در رویداد Create آن کد زیر را قرار دهید:
کد php:
RSA="RSA KEY";
Consumables="mdIAB_coin50,mdIAB_gem5";
nonConsumables="mdIAB_adss";
MD mdCandoIAB_init(RSA,Consumables,nonConsumables); 
*** در کد بالا بجای RSA Key کلید RSA مربوط به بازی خودتون رو قرار بدید. بجای mdIAB_coin50,mdIAB_gem5 شناسه محصولات مصرفی خود را بنویسید (شناسه ها را با , از یکدیگر جدا کنید). بجای کد mdIAB_adss شناسه محصولات غیرمصرفی را بنویسید (شناسه ها را با , از یکدیگر جدا کنید).
3. در رویداد Asynchronous->Social کد زیر را قرار دهید:
کد php:
///Social Events
var status=string(ds_map_find_value(async_load"type" ));
if(
status == "onConsumablePurchased")
{
    var 
product_id string(ds_map_find_value(async_load"element" ));
    
show_message_async("محصول "+product_id+" با موفقیت خریداری شد.");
    if(
product_id=="mdIAB_coin50")
    {
        global.
coin+=50;
    }
    else if(
product_id=="mdIAB_gem5")
    {
        global.
gem+=5;
    }
}
else if(
status == "onNonConsumablePurchased")
{
    var 
product_id string(ds_map_find_value(async_load"element" ));
    
show_message_async("محصول "+product_id+" با موفقیت خریداری شد.");
    if(
product_id=="mdIAB_adss")
    {
        global.
ads=false;
    }
}
else if(
status == "onPurchaseFail")
{
    
show_message_async("پرداخت انجام نشد.");

*** در این کد:
خط 1: تعریف متغیر برای تعیین نوع محصول
خطوط 14-2: اگر محصول از نوع مصرفی باشد عملیات داخل {} انجام شود.
خطوط 23-15 اگر محصول از نوع غیرمصرفی باشد عملیات داخل {} انجام شود.
خطوط 27-24: اگر عملیات پرداخت با مشکل مواجه شد پیغام خطا نشان داده شود.
خط 4: تعریف متغیر برای تعیین محصول مصرفی
خط 5: اجرای پیام نمایش نام محصول مصرفی
خطوط 9-6: اجرای عملیات بعد از پرداخت هزینه محصول مصرفی 1 (در این مثال اضافه شدن 50 سکه)
خطوط 13-10: اجرای عملیات بعد از پرداخت هزینه محصول مصرفی 2 (اضافه شدن 5 الماس)
*** در صورتی که محصولات مصرفی شما بیشتر هستند از خط 6 تا 9 کپی کنید.
خط 17: تعریف متغیر برای تعیین محصول غیر مصرفی
خط 18: اجرای پیام نمایش نام محصول غیر مصرفی
خطوط 22-19: اجرای عملیات بعد از پرداخت هزینه محصول غیرمصرفی (حذف تبلیغات)
*** در صورتی که محصولات غیر مصرفی شما بیشتر هستند از خط 19 تا 22 کپی کنید.

4. برای هر یک از محصولات خود (مصرفی و غیرمصرفی) یک آبجکت گزینه خرید بسازید و در رویداد mouse left pressed هر کدوم کد زیر رو بذارید:
کد php:
mdCandoIAB_startIAB("mdIAB_adss",""); 
*** کد بالا مربوط به گزینه حذف تبلیغات میباشد. برای هر گزینه بجای mdIAB_adss شناسه محصول را بنویسید.
مارکت 5: پرداخت درون برنامه پارس هاب

دریافت فایل اکستنشن به همراه سورس و آموزش
آموزش
1. در گیم میکر استودیو روی پوشه Extensions راست کلیک کنید وگزینه Import extension را انتخاب کنید سپس اکستنشن موجود در فایل زیپ را انتخاب کنید.
2. یک آبجکت برای کنترل عملیات خرید بسازید و در رویداد Create آن کد زیر را قرار دهید:
کد php:
RSA="RSA KEY";
Consumables="mdIAB_coin50,mdIAB_gem5";
nonConsumables="mdIAB_adss";
MD mdParshubIAB_init(RSA,Consumables,nonConsumables); 
*** در کد بالا بجای RSA Key کلید RSA مربوط به بازی خودتون رو قرار بدید. بجای mdIAB_coin50,mdIAB_gem5 شناسه محصولات مصرفی خود را بنویسید (شناسه ها را با , از یکدیگر جدا کنید). بجای کد mdIAB_adss شناسه محصولات غیرمصرفی را بنویسید (شناسه ها را با , از یکدیگر جدا کنید).
3. در رویداد Asynchronous->Social کد زیر را قرار دهید:
کد php:
///Social Events
var status=string(ds_map_find_value(async_load"type" ));
if(
status == "onConsumablePurchased")
{
    var 
product_id string(ds_map_find_value(async_load"element" ));
    
show_message_async("محصول "+product_id+" با موفقیت خریداری شد.");
    if(
product_id=="mdIAB_coin50")
    {
        global.
coin+=50;
    }
    else if(
product_id=="mdIAB_gem5")
    {
        global.
gem+=5;
    }
}
else if(
status == "onNonConsumablePurchased")
{
    var 
product_id string(ds_map_find_value(async_load"element" ));
    
show_message_async("محصول "+product_id+" با موفقیت خریداری شد.");
    if(
product_id=="mdIAB_adss")
    {
        global.
ads=false;
    }
}
else if(
status == "onPurchaseFail")
{
    
show_message_async("پرداخت انجام نشد.");

*** در این کد:
خط 1: تعریف متغیر برای تعیین نوع محصول
خطوط 14-2: اگر محصول از نوع مصرفی باشد عملیات داخل {} انجام شود.
خطوط 23-15 اگر محصول از نوع غیرمصرفی باشد عملیات داخل {} انجام شود.
خطوط 27-24: اگر عملیات پرداخت با مشکل مواجه شد پیغام خطا نشان داده شود.
خط 4: تعریف متغیر برای تعیین محصول مصرفی
خط 5: اجرای پیام نمایش نام محصول مصرفی
خطوط 9-6: اجرای عملیات بعد از پرداخت هزینه محصول مصرفی 1 (در این مثال اضافه شدن 50 سکه)
خطوط 13-10: اجرای عملیات بعد از پرداخت هزینه محصول مصرفی 2 (اضافه شدن 5 الماس)
*** در صورتی که محصولات مصرفی شما بیشتر هستند از خط 6 تا 9 کپی کنید.
خط 17: تعریف متغیر برای تعیین محصول غیر مصرفی
خط 18: اجرای پیام نمایش نام محصول غیر مصرفی
خطوط 22-19: اجرای عملیات بعد از پرداخت هزینه محصول غیرمصرفی (حذف تبلیغات)
*** در صورتی که محصولات غیر مصرفی شما بیشتر هستند از خط 19 تا 22 کپی کنید.

4. برای هر یک از محصولات خود (مصرفی و غیرمصرفی) یک آبجکت گزینه خرید بسازید و در رویداد mouse left pressed هر کدوم کد زیر رو بذارید:
کد php:
mdParshubIAB_startIAB("mdIAB_adss",""); 
*** کد بالا مربوط به گزینه حذف تبلیغات میباشد. برای هر گزینه بجای mdIAB_adss شناسه محصول را بنویسید.
[align=center][url=http://gmstudio.ir][img]http://s7.picofile.com/file/8258812634/Banner.gif[/img][/url][/align]
پاسخ
#2
واقعا جای تشکر فروان داره
خیلی ممنون بابت این آموزش خوبتون
[url=http://apksky.ir/product/%D8%B6%D8%AF-%D9%87%DA%A9-%D9%BE%D8%B1%D8%AF%D8%A7%D8%AE%D8%AA-%D8%AF%D8%B1%D9%88%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A7%DB%8C/][size=large][align=center]ضد هک پرداخت درون برنامه ای در Basic4Android[/align][/size][/url]

دنیای رنگ ها به زودی .....
پاسخ
#3
واقعا بهترین کاربر سایت هستن ایشون .... یکبار تو انجمن نوشتم مشکل درون برنامه بازار دارم خدا شاهده سه روز از طریق تلگرام باهام در ارتباط بود تا مطمعن بشه مشکلم حل شده
واقعا از کاربر a3eman واسه این شخصیتش و زحماتش ممنونم
[url=https://cafebazaar.ir/app/com.farsysgames.DEADFACTORYepisode2/?l=fa][img]http://uupload.ir/files/dn9h_banner.jpg[/img][/url]
پاسخ
#4
ممنون از این اکستنشن ولی چرا بعضی اوقات باعث فورس کلوز میشه؟
[size=x-large][b][align=center]حــــــــــــ یا ــــــــــــسین[/align][/b][/size]


[align=center][b]در صورت مشاهده پست های خلاف قوانین انجمن آن را [img]http://promakers.ir/images/bazi/persian/postbit_report.png[/img] کنید.
در صورتی که پستی را پسندیدید از آن [img]http://promakers.ir/images/bazi/postbit_thx.png[/img] کنید.
[/b][/align]
پاسخ
#5
ممنون واقعا کف کردم البته هنوز تست نکردم

برای b4a هم دارین برادر ؟؟؟
پاسخ
#6
(16/12/1394، 08:43 صبح)TakOn1 نوشته است: ممنون واقعا کف کردم البته هنوز تست نکردم

برای b4a هم دارین برادر ؟؟؟

برای بیسیک که توی مارکتا آموزشش هست جز بازار که تو این پست رایگان گذاشتم:
http://promakers.ir/showthread.php?tid=12752
[align=center][url=http://gmstudio.ir][img]http://s7.picofile.com/file/8258812634/Banner.gif[/img][/url][/align]
پاسخ
#7
آموزش کامل و مفید بود واقعا ممنون wink
[align=center]
[img]http://s6.picofile.com/file/8248672934/Burnt_City_Coming_Soon.png[/img]
[/align]
پاسخ
#8
من خروجی گرفتم همه کار هایی که گفتید مو به مو انجام دادم ولی وقتی رو اون دکمه خرید میزنم هیچی نمیاد؟؟؟
کمکم کنین لطفا
پاسخ
#9
بی نهایت سپاسگزارم a3eman عزیز ولی چرا گاهی  فورس کلوز میده !!! مشکل از کجا میتونه باشه ؟؟
پاسخ
#10
(18/10/1395، 05:12 صبح)mehdiyg نوشته است: بی نهایت سپاسگزارم a3eman عزیز ولی چرا گاهی  فورس کلوز میده !!! مشکل از کجا میتونه باشه ؟؟

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

عمو وارد می شود

http://gaming1.persianblog.ir/post/235

چقدر خلوته ادم دلش میگیره =((  
ههههههیییییی 8-|  
یادش بخیر چه برو بیایی داشت این سایت  o:-) . گذشت اون زمونا :/
[url=http://gaming1.persianblog.ir/post/235][/url]


پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تبلیغات درون برنامه پارس هاب برای گیم میکر استودیو a3eman 0 348 6/2/1395، 09:50 عصر
آخرین ارسال: a3eman
Star اکستنشن پوش نوتیفیکیشن پارسه برای گیم میکر استودیو a3eman 3 797 22/10/1394، 12:04 صبح
آخرین ارسال: shakala
Information آموزش پرداخت درون برنامه بازار در گیم میکر استدیو a3eman 28 4,763 27/9/1394، 08:09 عصر
آخرین ارسال: APKSKY
Information پرداخت درون برنامه بازار با اکستنشن a3eman 1 555 28/8/1394، 11:10 صبح
آخرین ارسال: aminj73
Question آموزش کار با فایل های ini - سیو و لود گیم میکر استودیو yasa 4 1,180 11/5/1394، 02:39 عصر
آخرین ارسال: yasa



کاربرانِ درحال بازدید از این موضوع: 1 مهمان