Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/irfaardy/php-gacha

🎲 Simple Items or coupons Gacha / Lottery plugin with PHP, game backend gacha
https://github.com/irfaardy/php-gacha

anime dice example fate-grand-order fgo fun gacha gacha-simulator game irfa items php plugin roll roulette roulette-wheel simple simulator spin summon

Last synced: 2 months ago
JSON representation

🎲 Simple Items or coupons Gacha / Lottery plugin with PHP, game backend gacha

Awesome Lists containing this project

README

        

🎲Simple Items Gacha with PHP

[![Code Climate Maintainabillity](https://codeclimate.com/github/irfaardy/php-gacha/badges/gpa.svg)](https://codeclimate.com/github/irfaardy/php-gacha) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/irfaardy/php-gatcha/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/irfaardy/php-gatcha/?branch=master) [![Build Status](https://scrutinizer-ci.com/g/irfaardy/php-gatcha/badges/build.png?b=master)](https://scrutinizer-ci.com/g/irfaardy/php-gatcha/build-status/master) [![Latest Stable Version](https://poser.pugx.org/irfa/php-gatcha/v/stable)](https://packagist.org/packages/irfa/php-gatcha) [![License](https://poser.pugx.org/irfa/php-gatcha/license)](https://packagist.org/packages/irfa/php-gatcha) ![PHP Composer](https://github.com/irfaardy/php-gacha/workflows/PHP%20Composer/badge.svg) [![time tracker](https://wakatime.com/badge/github/irfaardy/php-gacha.svg)](https://wakatime.com/badge/github/irfaardy/php-gacha)

Buy Me A Coffee



This package is useful for making gacha or lottery for shopping coupons, game items, etc. with the percentage of possibilities that you have specified




πŸ› οΈ Installation with Composer

```php
composer require irfa/php-gatcha
```

>You can get Composer [ here]( https://getcomposer.org/download/)

Usage in Laravel


Open config/app.php
add aliases (optional)

```php
'aliases' => [
...
'Gatcha' => Irfa\Gatcha\Roll::class,
...
];
```
**Example:**

```php
...
use Gatcha

class Example {
function index()
{
return Gatcha::put([ 'Item 1' => 29.4, 'Item 2' => 0.3])->spin();
}
}

```

Usage in PHP Native

```php
require_once "vendor/autoload.php";
use Irfa\Gatcha\Roll;`
```

πŸ’» Basic Usage

```php
$items = [
'common ITEM1' => 70, // 70% chance
'Rare ITEM 2' => 29.4, // 29.4% chance
'Super Rare ITEM' => 0.3, // 0.3% chance
'Super Rare ITEM 2' => 0.3,
'Super Super Rare ITEM' => 0.003, // 0.003% chance
];

$item_get = Roll::put($items)->spin();
echo "Congratulations you get ".$item_get;
```

πŸ’» Using DropUp

> This function is used for certain conditions such as events, bonuses, etc.

```php
use Irfa\Gatcha\Roll;
$items = [
'common ITEM1' => 70, // 70% chance
'Rare ITEM 2' => 29.4, // 29.4% chance
'Super Rare ITEM' => 0.3, // 0.3% chance
'Super Rare ITEM 2' => 0.3,
'Super Super Rare ITEM' => 0.003, // 0.003% chance
];

Roll::put($items)
if(date('Y-m-d') == '2020-03-21') //example event date
{
Roll::dropUp(['Super Rare ITEM', 'Super Rare ITEM 2'], 200)//Drop up rate 200%
->dropUp('common ITEM1', 300); //Drop up rate 300%
//Parameters items (items index in array), rate in percent
}

$item_get = Roll::spin();

echo "Congratulations you get ".$item_get;
```

πŸ’» JSON Return

> If you want return to json

```php
Roll::put($items)->jsonSpin();
```
**Result:**

```json
{
"data":{
"item":"SomeItem"
}
}
```
## How to Contributing?

1. Fork it ()
2. Commit your changes (`git commit -m 'some New Feature'`)
3. Push to the branch (`git push origin x.x`)
4. Create a new Pull Request

***
---
## Issue
If you found issues or bug please create new issues here https://github.com/irfaardy/php-gacha/issues/new
***