parent
7d4842607f
commit
1034f25eab
71
Home.md
71
Home.md
@ -1,3 +1,72 @@
|
||||
# YARRR!
|
||||
PHP 7.2+
|
||||
MARIADB 10+
|
||||
|
||||
*Однажды я допишу эту сраную игру хоть до какого-то релиза...*
|
||||
|
||||
|
||||
## Текущий старндарт дизайна
|
||||

|
||||
|
||||
## Абстрактные мысли
|
||||
…которым пока нет места в отдельных разделах.
|
||||
* Магазин: обмен итемов на итемы. Деньги тоже становятся итемом. И тяжелым. Поэтому банк — ячейка для денежных итемов.
|
||||
* Лабиринт: двумерный массив где: проходимость / номер картинки / номер монстра / номер ивента / (телепорт:куда)
|
||||
* Бои: только групповые. видимость противника — только одетые вещи и процентник жизни. рассмотреть урон в секунду. У каждой атаки - кулдаун. Защита - пассивна.
|
||||
* Реферальная система: чем солиднее в игре **текущий** онлайн, тем больше бонусы всем.
|
||||
* https://github.com/WalkWeb/Browser-MMORPG-Level-System
|
||||
* https://habrahabr.ru/post/123391/
|
||||
|
||||
### Дроп итемов с шансом выпадения
|
||||
```PHP
|
||||
<?php
|
||||
function numberOfDecimals($value)
|
||||
{
|
||||
if ((int)$value == $value) {
|
||||
return 0;
|
||||
}
|
||||
else if (! is_numeric($value)) {
|
||||
return false;
|
||||
}
|
||||
return strlen($value) - strrpos($value, '.') - 1;
|
||||
}
|
||||
|
||||
function roulette($items)
|
||||
{
|
||||
$sumOfPercents = 0;
|
||||
foreach($items as $itemsPercent) {
|
||||
$sumOfPercents += $itemsPercent;
|
||||
}
|
||||
|
||||
$decimals = numberOfDecimals($sumOfPercents);
|
||||
$multiplier = 1;
|
||||
for ($i=0; $i < $decimals; $i++) {
|
||||
$multiplier *= 10;
|
||||
}
|
||||
|
||||
$sumOfPercents *= $multiplier;
|
||||
$rand = rand(1, $sumOfPercents);
|
||||
$rangeStart = 1;
|
||||
foreach($items as $itemKey => $itemsPercent) {
|
||||
$rangeFinish = $rangeStart + ($itemsPercent * $multiplier);
|
||||
if($rand >= $rangeStart && $rand <= $rangeFinish) {
|
||||
return $itemKey;
|
||||
}
|
||||
$rangeStart = $rangeFinish + 1;
|
||||
}
|
||||
}
|
||||
|
||||
$items = array('item-1' => 0.25, 'item-2' => 0.5, 'item-3' => 5, 'item-4' => 4.25333);
|
||||
echo roulette($items);
|
||||
```
|
||||
|
||||
### Принцип модераторской затычки прямо из чата
|
||||
```PHP
|
||||
# Надо запомнить и дать паладинам возможность затыкать из чата.
|
||||
if(strstr($_GET['text'], "/mute")) {
|
||||
$tmp = str_replace('/mute', '', $_GET['text']);
|
||||
mysql_query("UPDATE `users` SET ... WHERE `id` = ... ");
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Однажды я допишу эту сраную игру хоть до какого-то релиза...
|
Loading…
x
Reference in New Issue
Block a user