Перейти к содержанию
Авторизация  
Grek

Донат пвсофт

Рекомендуемые сообщения

Не могу понять все приходит в items_delayed все ок, но на чара не приходит не после релога не как в чем может быть проблема подскажите

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
15 минут назад, Grek сказал:

Не могу понять все приходит в items_delayed все ок, но на чара не приходит не после релога не как в чем может быть проблема подскажите

PrimePayments?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там за донат, отвечает не items_delayed а другая колонка, что то на z_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
22 минуты назад, JohnyDap сказал:

PrimePayments?

да

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
19 минут назад, GM1 сказал:

Там за донат, отвечает не items_delayed а другая колонка, что то на z_

а точнее?) вот что там есть https://prnt.sc/bHZIaWE9eFtv

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Z_queued_items вот ета колонка.

Так что правь прд нее запросы

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
40 минут назад, GM1 сказал:

Z_queued_items вот ета колонка.

Так что правь прд нее запросы

че то все равно не приходят

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
11 минут назад, Grek сказал:

че то все равно не приходят

Так поправь скрипт сам, будет приходить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
17 минут назад, GM1 сказал:

Так поправь скрипт сам, будет приходить.

да туда оно приходит Z_queued_items  почему на чара то не приходит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, Grek сказал:

да туда оно приходит Z_queued_items  почему на чара то не приходит?

# Включить автовыдачу доната из таблицы 
AllowDonateParse = true
# Интервал автовыдачи доната (300000 = 5 минут)
DonateParseDelay = 180000

 

Может вот ето есть в настройках ? 

Изменено пользователем GM1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, GM1 сказал:

# Включить автовыдачу доната из таблицы 
AllowDonateParse = true
# Интервал автовыдачи доната (300000 = 5 минут)
DonateParseDelay = 180000

 

Может вот ето есть в настройках ? 

что то не могу найти такое в конфигах это где даже поиском не нашло

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
11 минут назад, Grek сказал:

что то не могу найти такое в конфигах это где даже поиском не нашло

потому что он не под пв кинул

У тебя другие и ты их уже настраивал. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, iKindness сказал:

потому что он не под пв кинул

У тебя другие и ты их уже настраивал. 

какие? я в конфигах не чего не настраивал 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот код

 

<?php
if (!defined('ctx')) die();

class Server_Model extends Model {

    private $config = false;

    public function __construct($server_id) {
        //parent::__construct(); // parent db not required

        global $_CONFIG;
        $this->config = $_CONFIG['servers'][$server_id];

        $this->login_db = new Database("mysql", $this->config["ls_mysql_host"], $this->config["ls_mysql_db"], $this->config["ls_mysql_user"], $this->config["ls_mysql_pass"]);
        $this->game_db = new Database("mysql", $this->config["gs_mysql_host"], $this->config["gs_mysql_db"], $this->config["gs_mysql_user"], $this->config["gs_mysql_pass"]);
    }

    public function MACheck($ma_id, $login) {
        $data = array(
            'ma_id' => $ma_id,
            'login' => $login
        );
        $result = $this->login_db->select("SELECT count(*) as `count` FROM accounts WHERE ma_id = :ma_id AND login = :login", $data);
        return ($result[0]['count'] != 0);
    }

    public function getAccounts($ma_id, $include_chars) {
        $data = array(
            'ma_id' => $ma_id
        );
        $return_data = array();

        if ($include_chars) {
            foreach ($result as $row) {
                $return_data[$row['login']] = $this->getCharacters($row['login']);
            }
        } else {
            foreach ($result as $row) {
                $return_data[] = $row['login'];
            }
        }

        return $return_data;
    }

    public function getCharacters($account) {
        $data = array(
            'account_name' => $account
        );
        $return_data = array();

        $result = $this->game_db->select("SELECT obj_Id,char_name,level,classid,onlinetime,pvpkills,pkkills,karma,online,(SELECT MAX(`name`) FROM `clan_subpledges`WHERE clan_subpledges.clan_id=clan_data.clan_id) AS `clan_name` FROM characters LEFT JOIN clan_data ON characters.clanId > 0 AND characters.clanId = clan_data.clan_id WHERE account_name = :account_name", $data);
        return $result;
    }

    public function getStats() {
        global $_CONFIG;
        $return_data = array();

        // exclusions
        $ex = "";
        if ($_CONFIG['stat_exclusions'] != '') {
            $ex = " WHERE obj_Id NOT IN (".$_CONFIG['stat_exclusions'].")";
        }

        $result = $this->game_db->select("SELECT char_name,level,classid,onlinetime,pvpkills,pkkills,karma,(SELECT `name` FROM `clan_subpledges` WHERE clan_subpledges.clan_id=clan_data.clan_id) AS `clan_name` FROM characters LEFT JOIN clan_data ON characters.clanId > 0 AND characters.clanId = clan_data.clan_id".$ex." ORDER BY pkkills DESC LIMIT 0,20");
        if (count($result) < 20) {
            for ($i=count($result); $i<20; $i++) {
                $result[$i] = array('char_name' => '', 'level' => '', 'classid' => '', 'onlinetime' => '', 'pvpkills' => '', 'pkkills' => '', 'karma' => '', 'clan_name' => '');
            }
        }
        $return_data['pk'] = $result;

        $result = $this->game_db->select("SELECT char_name,level,classid,onlinetime,pvpkills,pkkills,karma,(SELECT `name` FROM `clan_subpledges` WHERE clan_subpledges.clan_id=clan_data.clan_id) AS `clan_name` FROM characters LEFT JOIN clan_data ON characters.clanId > 0 AND characters.clanId = clan_data.clan_id".$ex." ORDER BY pvpkills DESC LIMIT 0,20");
        if (count($result) < 20) {
            for ($i=count($result); $i<20; $i++) {
                $result[$i] = array('char_name' => '', 'level' => '', 'classid' => '', 'onlinetime' => '', 'pvpkills' => '', 'pkkills' => '', 'karma' => '', 'clan_name' => '');
            }
        }
        $return_data['pvp'] = $result;

        $result = $this->game_db->select("SELECT char_name,level,classid,onlinetime,pvpkills,pkkills,karma,(SELECT `name` FROM `clan_subpledges` WHERE clan_subpledges.clan_id=clan_data.clan_id) AS `clan_name` FROM characters LEFT JOIN clan_data ON characters.clanId > 0 AND characters.clanId = clan_data.clan_id".$ex." ORDER BY onlinetime DESC LIMIT 0,20");
        if (count($result) < 20) {
            for ($i=count($result); $i<20; $i++) {
                $result[$i] = array('char_name' => '', 'level' => '', 'classid' => '', 'onlinetime' => '', 'pvpkills' => '', 'pkkills' => '', 'karma' => '', 'clan_name' => '');
            }
        }
        $return_data['onlinetime'] = $result;

        $result = $this->game_db->select("SELECT char_name,level,classid,onlinetime,pvpkills,pkkills,karma,(SELECT `name` FROM `clan_subpledges` WHERE clan_subpledges.clan_id=clan_data.clan_id) AS `clan_name` FROM characters LEFT JOIN clan_data ON characters.clanId > 0 AND characters.clanId = clan_data.clan_id".$ex." ORDER BY level DESC LIMIT 0,20");
        if (count($result) < 20) {
            for ($i=count($result); $i<20; $i++) {
                $result[$i] = array('char_name' => '', 'level' => '', 'classid' => '', 'onlinetime' => '', 'pvpkills' => '', 'pkkills' => '', 'karma' => '', 'clan_name' => '');
            }
        }
        $return_data['level'] = $result;

        return $return_data;
    }

    public function createAccount($uid, $account, $password) {
        $result = $this->login_db->select("SELECT count(*) as `count` FROM accounts WHERE login = :login", array('login' => $account));
        if ($result[0]['count'] == 0) {
            $data = array(
                'login' => $account,
                'password' => $password,
                'ma_id' => $uid
            );
            $this->login_db->insert("accounts", $data);
            return true;
        } else {
            $this->error = _s("ACCOUNT_TAKEN");
            return false;
        }
    }

    public function ChangePasswordGA($login, $old_password, $new_password) {
        $result = FALSE;

        $data = array(
            'login' => $login
        );
        $result = $this->login_db->select("SELECT password FROM accounts WHERE login = :login", $data);

        if ($result !== FALSE && is_array($result) && count($result) > 0) {
            if ($old_password == $result[0]['password']) {
                $this->login_db->update("accounts", array('password' => $new_password), "login = :login", $data);
                return true;
            } else {
                $this->error = _s("INVALID_OLD_PASS");
                return false;
            }
        } else {
            $this->error = _s("CANT_FIND_ACCOUNT");
            return false;
        }
    }

    public function SetPasswordGA($login, $new_password) {
        $result = FALSE;

        $data = array(
            'login' => $login
        );
        $result = $this->login_db->select("SELECT count(*) as `count` FROM accounts WHERE login = :login", $data);

        if ($result[0]['count'] > 0) {
            $this->login_db->update("accounts", array('password' => $new_password), "login = :login", $data);
            return true;
        } else {
            $this->error = _s("CANT_FIND_ACCOUNT");
            return false;
        }
    }

    public function CheckChar($char_name, $uid) {
        $result = $this->game_db->select("SELECT account_name FROM characters WHERE char_name = :char_name", array('char_name' => $char_name));
        if (is_array($result) && count($result) > 0) {
            $login = $result[0]['account_name'];
            $result = $this->login_db->select("SELECT ma_id FROM accounts WHERE login = :login", array('login' => $login));
            if (is_array($result) && count($result) > 0) {
                if ($result[0]['ma_id'] == $uid) {
                    return true;
                }
            }
        }

        return false;
    }

    public function GetInventory($char_name) {
        $return_data = array(
            'paperdoll' => array(),
            'inventory' => array()
        );
        $result = $this->game_db->select("SELECT obj_Id FROM characters WHERE char_name = :char_name", array('char_name' => $char_name));
        if (is_array($result) && count($result) > 0) {
            $char_id = $result[0]['obj_Id'];
            $return_data['paperdoll'] = $this->game_db->select("select object_id, count, loc_data, enchant_level, item_id, owner_id FROM items WHERE owner_id = :char_id AND loc = 'PAPERDOLL'", array('char_id' => $char_id));
            $return_data['inventory'] = $this->game_db->select("select object_id, count, loc_data, enchant_level, item_id, owner_id FROM items WHERE owner_id = :char_id AND loc = 'INVENTORY'", array('char_id' => $char_id));
        }

        return $return_data;
    }

    public function GetAvatarInfo($char_name) {
        $return_data = array(
            0 => '', // class
            1 => '', // sex
        );

        $result = $this->game_db->select("SELECT classid,sex FROM characters WHERE characters.char_name = :char_name", array('char_name' => $char_name));
        if (is_array($result) && count($result) > 0) {
            $return_data[0] = $result[0]['classid'];
            $return_data[1] = $result[0]['sex'];
        }

        return $return_data;
    }

    public function GetItemData($uid, $item_id) {
        $result = $this->game_db->select("SELECT item_id,`count`,enchant_level,owner_id,account_name,online FROM items INNER JOIN characters on characters.obj_Id = items.owner_id WHERE object_id = :object_id", array('object_id' => $item_id));
        if (is_array($result) && count($result) > 0) {
            $return_data = $result[0];
            $result = $this->login_db->select("SELECT ma_id FROM accounts WHERE login = :login", array('login' => $return_data['account_name']));
            if (is_array($result) && count($result) > 0) {
                if ($result[0]['ma_id'] == $uid) {
                    return $return_data;
                }
            }
        }

        $this->error = _s("CANT_FIND_ITEM");
        return false;
    }

    public function DeleteItem($item_id, $count) {
        try {
            $result = $this->game_db->select("SELECT count FROM items WHERE object_id = :object_id", array('object_id' => $item_id));
            if (is_array($result) && count($result) > 0) {
                if ($count == $result[0]['count']) {
                    $this->game_db->delete("items", "object_id = :object_id", array('object_id' => $item_id));
                    return true;
                } else if ($count < $result[0]['count']) {
                    $this->game_db->update("items", array('count' => ($result[0]['count'] - $count)), "object_id = :object_id", array('object_id' => $item_id));
                    return true;
                } else {
                    return false; // trying to delete item with count > db count
                }
            }
        } catch (PDOException $ex) {
            return false;
        }
        return false;
    }

    public function AddItem($char_id, $item_id, $count, $enchant) {
        $item_data = array(
            'char_id' => $char_id,
            'item_id' => $item_id,
            'item_count' => $count,
            'item_ench' => $enchant,
            'status' => 1
        );

        $this->game_db->insert("z_queued_items", $item_data);
    }

    public function GetCharacter($char_name) {
        $result = $this->game_db->select("SELECT * FROM characters WHERE char_name = :char_name", array('char_name' => $char_name));
        if (is_array($result) && count($result) > 0) {
            return $result[0];
        }
        return false;
    }

    public function ChangeName($char_name, $new_char_name) {
        $this->game_db->update("characters", array('char_name' => $new_char_name), "char_name = :old_char_name", array('old_char_name' => $char_name));
    }

    public function ChangeGender($char_name, $gender) {
        $this->game_db->update("characters", array('sex' => $gender), "char_name = :char_name", array('char_name' => $char_name));
    }

    public function GetCharacterById($char_id) {
        $result = $this->game_db->select("SELECT * FROM characters WHERE obj_Id = :char_id", array('char_id' => $char_id));
        if (is_array($result) && count($result) > 0) {
            return $result[0];
        }
        return false;
    }

    public function CheckGameAccount($account) {
        $result = $this->login_db->select("SELECT count(*) as `count` FROM accounts WHERE login = :login", array('login' => $account));
        if ($result[0]['count'] == 0) {
            return true;
        }
        return false;
    }
}

Изменено пользователем Grek

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, Grek сказал:

какие? я в конфигах не чего не настраивал 

####
### Отложенная выдача предметов; таблица z_queued_items (используется для CMS MMOWEB)
# Включено?
QuedItems = False
# Интервал просмотра таблицы, минуты
QuedItemsInterval = 1
# Лог выдачи; 0 - откл, 1 - в консоль (много флуда), 2 - в файл logs/queued_items.txt
QuedItemsLog = 2

 

 

 

services.cfg

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

они в таблицу эту приходят а персу нет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Grek сказал:

они в таблицу эту приходят а персу нет

а в логе посмотри, о котором там пишется

 

Честно не подскажу, может найдутся знатоки 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, Grek сказал:

они в таблицу эту приходят а персу нет

Включи лог ошибок, скинь скрин что пишется в базу.

Донка которую вписал в выдачу, есть на сервере? ид ок написал ? 

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, GM1 сказал:

Включи лог ошибок, скинь скрин что пишется в базу.

Донка которую вписал в выдачу, есть на сервере? ид ок написал ? 

он чистый там не чего queued_items.txt лог, да донки ид верный. Можно точней какой лог ошибок

Изменено пользователем Grek

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не правильный запрос обработчика, нужно переписывать под базу отдельно 

@seriklineykin - телеграм 

Помогу если не нашли решение 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, Serik сказал:

Не правильный запрос обработчика, нужно переписывать под базу отдельно 

@seriklineykin - телеграм 

Помогу если не нашли решение 

отписал тг

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пока все так же актуально, не могу понять как так они же приходят сюда z_queued_items в конфиге включена обработка в течени минуты, почему персу то не зачисляет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, Grek сказал:

пока все так же актуально, не могу понять как так они же приходят сюда z_queued_items в конфиге включена обработка в течени минуты, почему персу то не зачисляет

звпись и изменение на таблицу итемс или как то так ( которая хранит вещи персонажей) сделал ? 

Изменено пользователем GM1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
37 минут назад, GM1 сказал:

звпись и изменение на таблицу итемс или как то так ( которая хранит вещи персонажей) сделал ? 

Скорее всего, как уже выше писали не переписаны данные о таблице в модуле.

Изменено пользователем JoeyTribbiani

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...