1. Bitcoin адрес для пожертвований: 1dapfB97R98wg8J3hknWpMDJ7P61CWjNn
    Скрыть объявление
  2. Участникам форума доступна Skype конференция. Присоединяйтесь!
  3. Наши основные группы и каналы: VK, Twitter. Подписывайтесь!
  4. Скрыть объявление

Функция дропа кр\зл и т.д. [by AlexPro]

Тема в разделе "Готовые модули", создана пользователем ALIGARX, 10 апр 2010.

  1. ALIGARX Старейшина

    Репутация

    21 / 11


    Т.к. у меня теперь новая система боев, мнеприйдется думать новую формулу для дропа денег в боях...

    А вам отдаю свою старую:

    PHP:
    1. // ----- # Функция расчёта золотых # ----- //
    2. function get_gold () {
    3.  
    4.                    global $stat, $levelup, $addgold, $offer, $now, $level, $w_img, $participant, $opp_stat;
    5.  
    6.         $levelup=mysql_fetch_array(mysql_query("SELECT `id` FROM levels WHERE level = ".$stat['level']." AND up = ".$stat['up'].""));
    7.         $level=mysql_fetch_array(mysql_query("SELECT `exp` FROM levels WHERE id=".$levelup['id']."+1"));
    8.  
    9.  
    10.  
    11. // Если противник "Живой" умножаем на 2
    12. if ($opp_stat['rank'] == 60) { $opp = 1;}
    13. else $opp = 2;
    14.  
    15. // Учитываем статы противника
    16. $s = $opp_stat['strenght'] ;
    17. $l = $opp_stat['agility'] ;
    18. $i = $opp_stat['dex'] ;
    19. $v = $opp_stat['vitality'] ;
    20.  
    21. // Делаем рандомное отяние опыта..
    22. //$rand = rand('1', '3');
    23. //$off = ($rand + $stat['level']);
    24.  
    25. // Высчитываем разницу между левелами противника и игрока.
    26. if ($opp_stat['level'] == $stat['level']) { $lev = 1;}
    27. elseif ($opp_stat['level'] <= ($stat['level'] - 9)) { $lev = 5;}
    28. elseif ($opp_stat['level'] <= ($stat['level'] - 8)) { $lev = 5;}
    29. elseif ($opp_stat['level'] <= ($stat['level'] - 7)) { $lev = 5;}
    30. elseif ($opp_stat['level'] <= ($stat['level'] - 6)) { $lev = 5;}
    31. elseif ($opp_stat['level'] <= ($stat['level'] - 5)) { $lev = 5;}
    32. elseif ($opp_stat['level'] <= ($stat['level'] - 4)) { $lev = 4;}
    33. elseif ($opp_stat['level'] <= ($stat['level'] - 3)) { $lev = 3;}
    34. elseif ($opp_stat['level'] <= ($stat['level'] - 2)) { $lev = 2;}
    35. elseif ($opp_stat['level'] <= ($stat['level'] - 1)) { $lev = 1;}
    36. else $lev = 1;
    37.  
    38.  
    39. // Если соперник сильнее игрока
    40. if ($opp_stat['level'] == $stat['level']) { $vel = 1;}
    41. elseif ($stat['level'] <= ($opp_stat['level'] - 9)) { $vel = 9 * $stat['level'];}
    42. elseif ($stat['level'] <= ($opp_stat['level'] - 8)) { $vel = 9 * $stat['level'];}
    43. elseif ($stat['level'] <= ($opp_stat['level'] - 7)) { $vel = 8 * $stat['level'];}
    44. elseif ($stat['level'] <= ($opp_stat['level'] - 6)) { $vel = 7 * $stat['level'];}
    45. elseif ($stat['level'] <= ($opp_stat['level'] - 5)) { $vel = 7 * $stat['level'];}
    46. elseif ($stat['level'] <= ($opp_stat['level'] - 4)) { $vel = 6 * $stat['level'];}
    47. elseif ($stat['level'] <= ($opp_stat['level'] - 3)) { $vel = 4 * $stat['level'];}
    48. elseif ($stat['level'] <= ($opp_stat['level'] - 2)) { $vel = 3 * $stat['level'];}
    49. elseif ($stat['level'] <= ($opp_stat['level'] - 1)) { $vel = 2 * $stat['level'];}
    50. else $vel = 1;
    51.  
    52. $rand = rand('1','5');
    53. $my_lvl = (($rand + $stat['level']) / 1000);
    54. $random = rand ('1','3');
    55.  
    56. // Сама формула
    57. $addgold = $s + $l + $i + $v / 4 + $random / 1000 - $my_lvl ;
    58. $addgold = round($addgold, 3);
    59. }
    60. // ----- Конец ----- //
    в battle.php там где победа, вставите
    PHP:
    1. get_gold();
    Как и с формулой опыта - скобки в конечной формуле расставите сами :)

    Спасибо ставим сосочки :super:

  2. ActualizeR Школьник

    Репутация

    0 / 5


    а где какие то апдейты? вижу только рандумайз бабла.

     
  3. ALIGARX Старейшина

    Репутация

    21 / 11


    Эмм.. И дальше та где победа манипулируйте переменной $addgold т.е. апдейты с деньгами делайте по этой переменной..