- 15, May 2024
- #1
Привет,
Я работаю над игрой, над которой работал в прошлом году.
Я получаю в базе данных кое-какие материалы для алхимических ингредиентов.
Рыночный ценник дает мне завышенные цены.
Когда я оцениваю боевой мод, например +1 бой, он дает хорошую низкую цену, но мод восприятия увеличивает цену до тысяч. Вы увидите, что у меня есть все в одном файле для тестирования.
Пытаюсь увеличить цену в зависимости от количества модов и сопротивления элементам.
Если цена равна нулю, ставка зависит от редкости или бонуса к рейтингу брони. Спасибо за прочтение.
Результат неожиданный, потому что нет значений сопротивления стихиям, это должен быть только 1 модификатор статистики для добавляемого предмета. Цена должна быть меньше 100 золотых по следующим причинам:
Я получаю в базе данных кое-какие материалы для алхимических ингредиентов.
Рыночный ценник дает мне завышенные цены.
Когда я оцениваю боевой мод, например +1 бой, он дает хорошую низкую цену, но мод восприятия увеличивает цену до тысяч. Вы увидите, что у меня есть все в одном файле для тестирования.
Пытаюсь увеличить цену в зависимости от количества модов и сопротивления элементам.
Если цена равна нулю, ставка зависит от редкости или бонуса к рейтингу брони. Спасибо за прочтение.
case 1:
$marketPrice += mt_rand(35, 78);
echo $stat . ' : ' . $mod . '<br>';
break;
Код (разметка): Вывод
бой : 0
магия : 0
жизненная сила: 0
восприятие : 1
рыночная цена моддинга до четной: 50
сила: 0
ловкость : 0
интеллект : 0
творчество : 0
харизма: 0
интервал (1600)
Результат неожиданный, потому что нет значений сопротивления стихиям, это должен быть только 1 модификатор статистики для добавляемого предмета. Цена должна быть меньше 100 золотых по следующим причинам:
<?php include('php/classes/RandomHelper.php'); class MarketHelper{ // price alchemy modded item function price_alchemy_mod($stat, $mod, $marketPrice) { switch($mod) { case 0: $marketPrice += 0; echo $stat . ' : ' . $mod . '<br>'; break; case 1: $marketPrice += mt_rand(35, 78); echo $stat . ' : ' . $mod . '<br>'; break; case 2: $marketPrice += mt_rand(100, 212); echo $stat . ' : ' . $mod . '<br>'; break; case 3: $marketPrice += mt_rand(300, 1000); echo $stat . ' : ' . $mod . '<br>'; break; case 4: $marketPrice += mt_rand(1200, 5000); echo $stat . ' : ' . $mod . '<br>'; break; case 5: $marketPrice += mt_rand(6000, 10000); echo $stat . ' : ' . $mod . '<br>'; break; case 6: $marketPrice += mt_rand(30000, 100000); echo $stat . ' : ' . $mod . '<br>'; break; } if($mod >= 6) { $marketPrice += mt_rand(500000, 5000000); echo 'In above 6: ' . '<br>'; } if($marketPrice > 0) { while($marketPrice % 2 != 0) { $marketPrice++; echo 'modding market price to even: ' . $marketPrice . '<br>'; } } return $marketPrice; } // price resistance on alchemy item function price_alchemy_resistance($percent, $marketPrice) { $addedPrice = 0; switch($percent) { case 0: $addedPrice += 0; return $addedPrice; break; case 0.05: $addedPrice += 100; return $addedPrice; break; case 0.1: $addedPrice += 275; return $addedPrice; break; case 0.15: $addedPrice += 1000; return $addedPrice; break; case 0.20: $addedPrice += 2000; return $addedPrice; break; case 0.25: $addedPrice += 3000;; return $addedPrice; break; } echo 'Added Price: ' . $addedPrice . '<br>'; } function price_rarity($rarity, $marketPrice) { switch($rarity) { case 'common': $marketPrice += mt_rand(5, 10); while($marketPrice % 2 != 0) { $marketPrice++; } break; case 'uncommon': $marketPrice += mt_rand(50, 100); while($marketPrice % 2 != 0) { $marketPrice++; } break; case 'unique': $marketPrice += mt_rand(200, 400); while($marketPrice % 2 != 0) { $marketPrice++; } break; case 'rare': $marketPrice += mt_rand(500, 2000); while($marketPrice % 2 != 0) { $marketPrice++; } break; case 'extremely rare': $marketPrice += mt_rand(2000, 5000); while($marketPrice % 2 != 0) { $marketPrice++; } break; } return $marketPrice; } function price_armour_rating($rating, $marketPrice) { switch($rating) { case 0: return $marketPrice += 0; case 10: return $marketPrice += 15; break; case 20: return $marketPrice += 50; break; case 30: return $marketPrice += 250; break; case 40: return $marketPrice += 1000; break; case 50: return $marketPrice += 1250; break; } } } // // Class End Test Start // $marketHelper = new MarketHelper; $randomHelper = new RandomHelper; mt_srand($randomHelper->make_seed()); $marketPrice = 0; // Set values $_POST['combat'] = 0; $_POST['magic'] = 0; $_POST['vitality'] = 0; $_POST['perception'] = 1; $_POST['strength'] = 0; $_POST['dexterity'] = 0; $_POST['intelligence'] = 0; $_POST['creativity'] = 0; $_POST['charisma'] = 0; $_POST['holyResistance'] = 0; $_POST['fireResistance'] = 0; $_POST['waterResistance'] = 0; $_POST['iceResistance'] = 0; $_POST['earthResistance'] = 0; $_POST['airResistance'] = 0; $_POST['lightningResistance'] = 0; $_POST['darkResistance'] = 0; $_POST['rarity'] = 'common'; $_POST['armourRating'] = 0; // Price all stat mods.
$marketPrice += $marketHelper->price_alchemy_mod('combat',$_POST['combat'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_mod('magic',$_POST['magic'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_mod('vitality',$_POST['vitality'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_mod('perception',$_POST['perception'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_mod('strength',$_POST['strength'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_mod('dexterity',$_POST['dexterity'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_mod('intelligence',$_POST['intelligence'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_mod('creativity',$_POST['creativity'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_mod('charisma',$_POST['charisma'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_resistance($_POST['holyResistance'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_resistance($_POST['fireResistance'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_resistance($_POST['waterResistance'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_resistance($_POST['iceResistance'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_resistance($_POST['earthResistance'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_resistance($_POST['airResistance'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_resistance($_POST['lightningResistance'], $marketPrice); $marketPrice += $marketHelper->price_alchemy_resistance($_POST['darkResistance'], $marketPrice); // If no mods: Price skill level as base.
if($marketPrice <= 0) { $marketPrice += $marketHelper->price_rarity($_POST['rarity'], $marketPrice); $marketPrice += $marketHelper->price_armour_rating($_POST['armourRating'], $marketPrice); } var_dump($marketPrice); ?>
Код (разметка):