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-gatchaOpen 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


