Вход Регистрация
Файл: element_function/element_function_item.php
Строк: 343
<?php
    $quality_name 
= array('Обычное','Эпическое','Легендарное','Дары Богов','Трофейное''Уникальное');
    
    
$array_1 = array('helmet' => array('lost_params_heatpoints''здоровья'),
                     
'cape' =>      array('lost_params_heatpoints''здоровья'),
                     
'armor' =>  array('lost_params_heatpoints''здоровья'),
                     
'zone' =>   array('lost_params_strlen''силы'),
                     
'feet' =>   array('lost_params_protection''защиты'),
                     
'hands' => array('lost_params_strlen''силы'),
                     
'shield' => array('lost_params_protection''защиты'),
                     
'weapon' => array('lost_params_strlen''силы'),
                     
'shoes' => array('lost_params_protection''защиты'));
    
    function 
item_params_type($mesto) {
        global 
$array_1;
        return 
$array_1[$mesto];
    }
    
// item_params_type();
    
function item_razbor($quality) {
        
$count = array(10,20,30,40,50);
        return 
$count[$quality];
    }
    
    function 
SelectItemUser($user$bag$mesto) {
        if (
$mesto) return mysql_fetch_array(mysql_query("SELECT * FROM `element_item` WHERE `lost_id` = '$user' AND `lost_bag` = '$bag' AND `lost_mesto` = '$mesto' LIMIT 1"));
    else return 
mysql_fetch_array(mysql_query("SELECT * FROM `element_item` WHERE `lost_id` = '$user' AND `lost_bag` = '$bag' LIMIT 1"));
    }
    
    
// Функция переобразирует тип вешей на русский
    
function name_item_mesto($mesto) {
        
$name_mesto = array('helmet' => 'Голова''weapon' => 'Правая рука''shield' => 'Левая рука'
                            
'zone' => 'Пояс''armor' => 'Тело''cape' => 'Накидка',
                            
'feet' => 'Ноги''hands' => 'Руки''shoes' => 'Обувь');
        return 
$name_mesto[$mesto];
    }
    
    function 
item_enchants_quality($quality$params_name) {
        if (
$quality >= 0) {
            
$array_enchants = array(=> 50=> 75=> 150=> 250=> 350=> 500);
            
$image quality_item_name($quality);
            return array(
'params' => $array_enchants[$quality], 'quality' => $quality'image' => $image['image'], 'name' => $params_name);
        } return 
false;
    }
    
    
///////////////////////////////////////////////////////
    //////////////////сила//////здоровье//////защита///////
    // Голова     ////   10    ///      17    /////     13     //////        здоровье
    // Оружие    ////   17    ///   10     /////     13   //////        сила
    // Щит      ////   10     ///   13    /////   17     //////     защита
    // Пояс        ////    9     ///    9     /////      9      //////        сила
    // Брониров ////   10     ///   13    /////     13      //////        здоровье
    // Накидка     ////    9    ///   11    /////      9     //////        здоровье
    // Штаны    ////   11    ///    9     /////    9     //////        защита
    // Перчатки    ////   13    ///    9    /////    9   //////        сила
    // Обувь    ////   13    ///   10    /////   10      //////        защита
    // Сумма    ////  102    ///  101    /////  102     //////        
    ///////////////////////////////////////////////////////
    
    
function item_generation_quality($quality) {
        if (
$quality == 0) return rand(  025);
        if (
$quality == 1) return rand2650);
        if (
$quality == 2) return rand51,100);
        if (
$quality == 3) return rand(101,150);
        if (
$quality == 4) return rand(151,250);
        if (
$quality == 5) return rand(251,400);
    }
    
    function 
item_generation_params($strlen$heatpoints$protection$comparison) {
        
$array_params = array(explode(':'$strlen), explode(':'$heatpoints), explode(':'$protection));
        
$array_genera = array(params($array_params[0][0], $array_params[0][1]),params($array_params[1][0], $array_params[1][1]),params($array_params[2][0], $array_params[2][1]));
        
        if (
$comparison 0) {
            
$pr $comparison 5;
            
$array_genera[0][0] = (int)(($array_genera[0][0] / 100) * (100 $pr));
            
$array_genera[1][0] = (int)(($array_genera[1][0] / 100) * (100 $pr));
            
$array_genera[2][0] = (int)(($array_genera[2][0] / 100) * (100 $pr));
        }
        
$summa $array_genera[0][0] + $array_genera[1][0] + $array_genera[2][0];
        
        return array(
'strlen' => $array_genera[0][0], 'strlen_pr' => $array_genera[0][1],
                     
'heatpoints' => $array_genera[1][0], 'heatpoints_pr' => $array_genera[1][1],
                     
'protection' => $array_genera[2][0], 'protection_pr' => $array_genera[2][1],
                     
'summa' => $summa);
    }
    
    

    
    
// Функция создания вещей: 0 - айди юзера, 1 - массив с вещами, 2 - качество, 3 - пр. сила, 4 - пр. хп, 5 - пр. бр
    // 6 - чара силы, 7 - чара хп, 8 - чара защиты, 9 - новая/личная
    
function create_item($user_id$bag$quality$pr_str$pr_hp$pr_prot$enchants$new$set$type$comparison) {
    if (
count($bag) < 20) {
        if (!
$quality$quality 0;                                    // Если не указан шанс, генерируем его
        
if (!$pr_str)  $pr_str item_generation_quality($quality);        // Если не указан процент, генерируем его
        
if (!$pr_hp)   $pr_hp item_generation_quality($quality);        // Если не указан процент, генерируем его
        
if (!$pr_prot$pr_prot item_generation_quality($quality);    // Если не указан процент, генерируем его

        
if (!$enchants$enchants = -1;
        
        if (!
$new$new 0;
        
        if (!
$type) {
            global 
$array_type;
            
$type $array_type[array_rand($array_type)];
        }
        
        if (!
$comparison$comparison 0;
        
        
$item mysql_fetch_array(mysql_query("SELECT * FROM `element_equipment` WHERE `lost_quality` = '$quality' AND `lost_mesto` = '$type' LIMIT 1"));
        
        if (
$item) {
            
mysql_query("INSERT INTO `element_item` SET `lost_name` = '$item[lost_name]',
                                                        `lost_quality` = '
$quality',
                                                        `lost_user` = '
$user_id',
                                                        `lost_strlen` = '
$item[lost_strlen]:$pr_str',
                                                        `lost_heatpoints` = '
$item[lost_heatpoints]:$pr_hp',
                                                        `lost_protection` = '
$item[lost_protection]:$pr_prot',
                                                        `lost_mesto` = '
$item[lost_mesto]',
                                                        `lost_set` = '
$item[lost_set]',
                                                        `lost_avatar` = '
$item[lost_avatar]',
                                                        `lost_bag` = '0',
                                                        `lost_new` = '
$new',
                                                        `lost_enchants` = '
$enchants',
                                                        `lost_comparison` = '
$comparison'");
                                                        echo 
mysql_error();
            
$insert mysql_insert_id();
            
$bag[$insert] = $insert;    // Записываем в массив вещей в рюкзаку
            
writecache('element_shoot_item_user_id'.$user_id$bag);
            return 
$insert;
        }
    } else return 
false;
    }
    
//create_item($user, 5, 1000, false, false);
    
    
    
function delete_item($user$item$shoot$header) {
        if (
$item['lost_user'] == $user['lost_id'] AND $item['lost_bag'] == 0) {
            
$genaration_params item_generation_params($item['lost_strlen'], $item['lost_heatpoints'], $item['lost_protection'], $item['lost_comparison']);
            if (
$item['lost_quality'] >= 4
                
mysql_query("UPDATE `element_item` SET `lost_bag` = '2' WHERE `lost_id` = '$item[lost_id]' LIMIT 1");
            else 
mysql_query("DELETE FROM `element_item` WHERE `lost_id` = '$item[lost_id]' LIMIT 1");
            
$summa_del = ((int)(($genaration_params['summa'] / 100) * 50));
            
update_money_exp($user0$summa_del00);
            unset(
$shoot[$item['lost_id']]);
            
writecache('element_shoot_item_user_id'.$user['lost_id'], $shoot);
            if (
$headerheader('Location: /bag');
        }
    }
    
// element_item_id_
    
    // Функция снятия вещи
    
function shoot_item($user$item$shoot$wear$header) {
        
// Если вещь моя, и она одета, работаем
        
if ($user['lost_id'] == $item['lost_user'] AND $item['lost_bag'] == 1) {
            unset(
$wear[$item['lost_mesto']]);                // Удаляем с массива надетых вещей    
            
$shoot[$item['lost_id']] = $item['lost_id'];    // Записываем в массив вещей в рюкзаку
            
            
$params item_generation_params($item['lost_strlen'], $item['lost_heatpoints'], $item['lost_protection'], $item['lost_comparison']);
        
            if (
$item['lost_enchants'] >= 0) {
                
$it_pr_tp item_params_type($item['lost_mesto']);
                
$qwerty item_enchants_quality($item['lost_enchants'], '');
                
$user[$it_pr_tp[0]] = $user[$it_pr_tp[0]] - $qwerty['params'];
            }
        
            
// Обновляем данные
            
mysql_query("UPDATE `element_item` SET `lost_bag` = '0' WHERE `lost_id` = '$item[lost_id]' AND `lost_user` = '$user[lost_id]' LIMIT 1");

            
$user SetParams($user, -$params['strlen'], -$params['heatpoints'], -$params['protection'], true);
            
            
// Записываем данные в кэш
            
writecache('element_wear_item_user_id'.$user['lost_id'], $wear);
            
writecache('element_shoot_item_user_id'.$user['lost_id'], $shoot);
            
            if (!empty(
$header)) {
                
header('Location: '.$header);
            } else return array(
'wear' => $wear'shoot' => $shoot'user' => $user);
        }
    return 
false;
    }

    
    
    function 
wear_item($user$item$shoot$wear$header$new) {
        if (
$user['lost_id'] == $item['lost_user'] AND $item['lost_bag'] == 0) {
            
            
// Если на мне уже одета такая вещь, снимаем
            
if (!empty($wear[$item['lost_mesto']])) {
                
$cache_item cache_item($wear[$item['lost_mesto']]);
                
$shoot_item shoot_item($user$cache_item$shoot$wear'');
                
$shoot $shoot_item['shoot'];
                
$wear $shoot_item['wear'];
                
$user $shoot_item['user'];
            }
            
            
$wear[$item['lost_mesto']] = $item['lost_id'];
            unset(
$shoot[$item['lost_id']]);
            
$item['lost_bag'] = 1;
            if (
$new$item['lost_new'] = 1;
        
            
$params item_generation_params($item['lost_strlen'], $item['lost_heatpoints'], $item['lost_protection'],  $item['lost_comparison']);
        
            if (
$item['lost_enchants'] >= 0) {
                
$it_pr_tp item_params_type($item['lost_mesto']);
                
$qwerty item_enchants_quality($item['lost_enchants'], '');
                
$user[$it_pr_tp[0]] = $user[$it_pr_tp[0]] + $qwerty['params'];
            }
        
            
// Обновляем данные
            
mysql_query("UPDATE `element_item` SET `lost_bag` = '1', `lost_new` = '$item[lost_new]' WHERE `lost_id` = '$item[lost_id]' AND `lost_user` = '$user[lost_id]' LIMIT 1");
            
SetParams($user$params['strlen'], $params['heatpoints'], $params['protection'], false);
            
            
// Записываем данные в кэш
            
writecache('element_wear_item_user_id'.$user['lost_id'], $wear);
            
writecache('element_shoot_item_user_id'.$user['lost_id'], $shoot);
            if (!empty(
$header)) header('Location: '.$header);
        }
    }
    
    function 
AuctionItemCancel($user_id$bag$item$header) {
        if (
$item['lost_user'] == $user_id AND $item['lost_bag'] == 3) {
            
$item['lost_bag'] = 0;
            
mysql_query("UPDATE `element_item` SET `lost_bag` = '0' WHERE `lost_id` = '$item[lost_id]' LIMIT 1");
            
mysql_query("DELETE FROM `element_auction` WHERE `lost_id` = '$item[lost_id]' LIMIT 1");
            
            
$bag[$item['lost_id']] = $item['lost_id'];
            
            
writecache('element_shoot_item_user_id'.$user_id$bag);
            
header('Location: '.$header);
        }
    }
    
    function 
AuctionItemShop($user$bag$item$header$shop$okay$otmena) {
        
// Если владелец вещи не я, и она на аукционе, идем дальше
        
if ($item['lost_user'] != $user['lost_id'] AND $item['lost_bag'] == 3) {
            
// Если данная вещь есть на аукционе, идем дальше
            
$auc_item mysql_fetch_array(mysql_query("SELECT * FROM `element_auction` WHERE `lost_id` = '$item[lost_id]' LIMIT 1"));
            if (
$auc_item) {
            
                if (
$shop) {
                    if (
$user['lost_money_gold'] < $auc_item['lost_gold']) $error 'Вам нехватает <img src="/images/icons/gold.png">'.($auc_item['lost_gold'] - $user['lost_money_gold']).' золота<br/><a class="button w50 mt3" href="/payment">Купить золото</a>';
                    if (
count($bag) >= 20$error 'В рюкзаке нехватает места';
                        
                    if (!isset(
$error)) {
                        
$item['lost_user'] = $user['lost_id'];
                        
$item['lost_bag'] = 0;
                        
mysql_query("UPDATE `element_item` SET `lost_bag` = '0', `lost_user` = '$user[lost_id]' WHERE `lost_id` = '$item[lost_id]' LIMIT 1");
                        
mysql_query("DELETE FROM `element_auction` WHERE `lost_id` = '$item[lost_id]' LIMIT 1");
                    
                        
$bag[$item['lost_id']] = $item['lost_id'];
                        
                            
                            
$profile_other explode(' '$user['lost_other']);        // Разбиваем на массив
                            
$profile_other[2] = $profile_other[2] + 1;                // Добавляем +1 письмо
                            
$user['lost_other'] = implode(' '$profile_other);        // Возвращаем массив в строку
                            
                            
$statistika_user 'Время: '.rdate("Y год, d M H:i"time()).'<br/>
                            Аукцион: покупка "<a href="/item?id='
.$item['lost_id'].'">'.$item['lost_name'].'</a>" у [user]'.$auc_item['lost_user'].'[/user]  за <img src="/images/icons/gold.png">'.$auc_item['lost_gold'].' золота';
                            
update_money_exp($user000, -$auc_item['lost_gold']);    // Отнимаем мои деньги
                            
                            
$lost_sub_text 'Покупка "'.$item['lost_name'].'" за <img src="/images/icons/gold.png">'.$auc_item['lost_gold'].' золота';
                            
$lost_text '<span class="admin">Покупка "'.$item['lost_name'].'" за <img src="/images/icons/gold.png">'.$auc_item['lost_gold'].' золота.<br/></span>';
                            
mysql_query("INSERT INTO `element_mail` SET `lost_out` = '0',
                                                                        `lost_in` = '
$user[lost_id]',
                                                                        `lost_sub_text` = '
$lost_sub_text',
                                                                        `lost_text` = '
$lost_text',
                                                                        `lost_user_out` = '0',
                                                                        `lost_user_in` = '
$user[lost_id]',
                                                                        `lost_time` = '"
.time()."',
                                                                        `lost_system` = 'Аукцион',
                                                                        `lost_new` = '1'"
);        
                                                        
                            
$count_in Cache_Count_Message($user['lost_id']);
                            if (!empty(
$count_in['all'])) $count_in['all']++;
                            if (!empty(
$count_in['in'])) $count_in['in']++;
                            if (!empty(
$count_in['new'])) $count_in['new']++;
                            
writecache('element_count_message'.$user['lost_id'], $count_in);
                    
                            
$prodav cache_user($auc_item['lost_user']);
                            
                            
$profile_other explode(' '$prodav['lost_other']);        // Разбиваем на массив
                            
$profile_other[2] = $profile_other[2] + 1;                    // Добавляем +1 письмо
                            
$prodav['lost_other'] = implode(' '$profile_other);        // Возвращаем массив в строку
                            
                            
$statistika_user 'Время: '.rdate("Y год, d M H:i"time()).'<br/>
                            Аукцион: продажа "<a href="/item?id='
.$item['lost_id'].'">'.$item['lost_name'].'</a>" персонажу [user]'.$user['lost_id'].'[/user]  за <img src="/images/icons/gold.png">'.$auc_item['lost_gold'].' золота';
                            
update_money_exp($prodav000$auc_item['lost_gold']);    // Добавляем продавцу деньги
                    
                            
$lost_sub_text 'Продажа "'.$item['lost_name'].'" за <img src="/images/icons/gold.png">'.$auc_item['lost_gold'].' золота';
                            
$lost_text '<span class="admin">Продажа "'.$item['lost_name'].'" за <img src="/images/icons/gold.png">'.$auc_item['lost_gold'].' золота.<br/></span>';
                            
mysql_query("INSERT INTO `element_mail` SET `lost_out` = '0',
                                                                        `lost_in` = '
$prodav[lost_id]',
                                                                        `lost_sub_text` = '
$lost_sub_text',
                                                                        `lost_text` = '
$lost_text',
                                                                        `lost_user_out` = '0',
                                                                        `lost_user_in` = '
$prodav[lost_id]',
                                                                        `lost_time` = '"
.time()."',
                                                                        `lost_system` = 'Аукцион',
                                                                        `lost_new` = '1'"
);        
                                                        
                            
$count_in Cache_Count_Message($prodav['lost_id']);
                            if (!empty(
$count_in['all'])) $count_in['all']++;
                            if (!empty(
$count_in['in'])) $count_in['in']++;
                            if (!empty(
$count_in['new'])) $count_in['new']++;
                            
writecache('element_count_message'.$prodav['lost_id'], $count_in);
                    
                    
                        
writecache('element_shoot_item_user_id'.$user['lost_id'], $bag);
                        
header('Location: '.$header);
                    
                    } else echo 
'<div class="nfl p5 mt5 mb5 cntr small mlra red">'.$error.'</div>';
                    
                } else {
                    echo 
'<div class="nfl p5 mb5 cntr small yellow1 mt5 mlra">';
                    echo 
'Вы уверены что хотите купить "'.$item['lost_name'].'" за <img src="/images/icons/gold.png">'.$auc_item['lost_gold'].' золота?';
                    echo 
'<div class="mt5">
                           <a class="button w40" href="'
.$okay.'">Да</a>
                           <a class="button w40" href="'
.$otmena.'">Нет</a>
                          </div>'
;
                    echo 
'</div>';
                }
            
            }
        }
    }
    
?>
Онлайн: 0
Реклама