This package is useful for making gacha or lottery for shopping coupons, game items, etc. with the percentage of possibilities that you have specified
composer require irfa/php-gatcha
Open config/app.phpYou can get Composer here
add aliases (optional)
'aliases' => [
...
'Gatcha' => Irfa\Gatcha\Roll::class,
...
];
Example:
...
use Gatcha
class Example {
function index()
{
return Gatcha::put([ 'Item 1' => 29.4, 'Item 2' => 0.3])->spin();
}
}
require_once "vendor/autoload.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
];
$item_get = Roll::put($items)->spin();
echo "Congratulations you get ".$item_get;
This function is used for certain conditions such as events, bonuses, etc.
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;
If you want return to json
Roll::put($items)->jsonSpin();
Result:
{
"data":{
"item":"SomeItem"
}
}
- Fork it (https://github.com/irfaardy/php-gatcha/fork)
- Commit your changes (
git commit -m 'some New Feature'
) - Push to the branch (
git push origin x.x
) - Create a new Pull Request
If you found issues or bug please create new issues here https://github.com/irfaardy/php-gacha/issues/new