eruchus12 1 Опубликовано 20 февраля, 2017 Ребят, прошу Вас помощи, у кого стоит платежеприемник free-kassa помогите в настройке (у меня lucera). Платежи принимает, коннект с базой есть (проверен), деньги приходят. В игре монету не выдает, помогите куда лезть в скрипте, что надо править и т.п. Или если есть предположения какие-либо, пишите, полазию, попробую Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nammi 147 Опубликовано 20 февраля, 2017 Возможнр дело даже не в скрипте. А в сборке. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
eruchus12 1 Опубликовано 20 февраля, 2017 Возможнр дело даже не в скрипте. А в сборке. Под сборку думаю есть варианты переделать, я думаю где-то надо править запрос sql, но нигде в скрипте его найти не могу. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nammi 147 Опубликовано 20 февраля, 2017 Под сборку думаю есть варианты переделать, я думаю где-то надо править запрос sql, но нигде в скрипте его найти не могу. Его нужно искать не в скрипте. А в базе. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
eruchus12 1 Опубликовано 20 февраля, 2017 Его нужно искать не в скрипте. А в базе. Кого искать в базе? база сама себе должна выдавать призы? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nammi 147 Опубликовано 20 февраля, 2017 Кого искать в базе? база сама себе должна выдавать призы? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
eruchus12 1 Опубликовано 20 февраля, 2017 Запрос добавить итем в базу же скрипт выдает иль нет? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
eruchus12 1 Опубликовано 22 февраля, 2017 Тема актуальна. Проблема та же, не выдает бонусов в игре. Скрипт настроен под таблицу character_items, в моем случае при входе в нее выдает надпись отсутствия "primary key" (понимаю это так: таблица никуда не привязана и не имеет связей). Попробовал настроить выдачу в таблицу Items, но тоже не выдает. Логи никуда не пишутся, поэтому и ошибку посмотреть не удается. Помогите кто как исправляет эти дела, бонусы в игре не выдаются, старт скоро, мучаюсь, куда лезть и что делать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
S1Frost 61 Опубликовано 22 февраля, 2017 скрипт нужно под структуру базы люцеры переписывать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
eruchus12 1 Опубликовано 23 февраля, 2017 (изменено) скрипт нужно под структуру базы люцеры переписывать помогите мне, какую часть скрипта нужно переписывать под мою таблицу. Хочу сделать выдачу в таблицу items, там все данные о том что в инвентаре у персонажей. <?php include_once 'ConfigWritter.php'; class Model { private $mysqli; static function getInstance() { return new self(); } private function __construct() { $config = ConfigWritter::getInstance(); $dbhost = $config->getParameter('DB_HOST'); $dbname = $config->getParameter('DB_NAME'); $dbpass = $config->getParameter('DB_PASS'); $dbuser = $config->getParameter('DB_USER'); if (empty($dbhost) || empty($dbname) || empty($dbuser)) { throw new Exception('Не установлены конфигурационные параметры для соединения с БД'); } $this->mysqli = @@New mysqli ( $dbhost, $dbuser, $dbpass, $dbname ); $this->mysqli->query("SET NAMES 'utf8'"); /* проверка подключения */ if (mysqli_connect_errno()) { throw new Exception('Не получается соединиться с БД, проверьте правильность параметров. Ошибка: ' . mysqli_connect_error()); } } function searchItemTableName() { $type = null; if(mysqli_query($this->mysqli, 'select 1 from items_delayed') !== FALSE) { $type = 'items_delayed'; } else if(mysqli_query($this->mysqli, 'select 1 from `character_items`') !== FALSE) { $type = 'character_items'; } else if(mysqli_query($this->mysqli, 'select 1 from `items`') !== FALSE) { $type = 'items'; } return $type; } function searchCharsTableName() { if(mysqli_query($this->mysqli, 'select 1 from `characters`') !== FALSE) { return 'characters'; } return false; } function getChar($charName) { $query = ' SELECT * FROM characters WHERE char_name = "'.$this->mysqli->real_escape_string($charName).'" LIMIT 1 '; $result = $this->mysqli->query($query); if (!$result->num_rows) { //result } return $result->fetch_object(); } function addItemToChar($charId, $itemId, $itemsCount = 1) { $itemTable = ConfigWritter::getInstance()->getParameter('ITEM_TABLE'); switch ($itemTable) { case 'items_delayed': $result = $this->mysqli->query("SELECT max(payment_id) as maxId FROM items_delayed"); $maxId = $result->fetch_object(); $maxId = $maxId->maxId; return $this->mysqli->query("INSERT INTO `items_delayed` (`payment_id`, `owner_id`, `item_id`, `count`, `payment_status`, `description`) VALUES ('".($maxId+1)."', '".$charId."', '".$itemId."', '".$itemsCount."', '0', 'Freekassa')"); break; case 'character_items': $query = ' INSERT INTO character_items (owner_id, item_id, count, enchant_level) VALUES ( "'.$this->mysqli->real_escape_string($charId).'", "'.$this->mysqli->real_escape_string($itemId).'", "'.$this->mysqli->real_escape_string($itemsCount).'", 0 ) '; return $this->mysqli->query($query); break; case 'items_external': $query = ' INSERT INTO items_external (owner_id, item_id, count, enchant, message, description, issued) VALUES ( "'.$this->mysqli->real_escape_string($charId).'", "'.$this->mysqli->real_escape_string($itemId).'", "'.$this->mysqli->real_escape_string($itemsCount).'", 0, "Благодарим за поддержку проекта! Бонус выдан", "Freekassa", 0 ) '; return $this->mysqli->query($query); break; case 'items': default: $query = ' SELECT * FROM items WHERE item_id = "'.$this->mysqli->real_escape_string($itemId).'" and owner_id = "'.$this->mysqli->real_escape_string($charId).'" LIMIT 1 '; $item = $this->mysqli->query($query)->fetch_object(); // Если предмет у персонажа есть, то наращиваем его if ($item && $item->count) { $query = ' UPDATE items SET count = "'.($item->count + $itemsCount).'" WHERE object_id = "'.$item->object_id.'"'; // В противном случае создаем новый в его инвентаре } else { $result = $this->mysqli->query("SELECT max(object_id) as maxId FROM items"); $maxId = $result->fetch_object(); $maxId = $maxId->maxId; $query = ' INSERT INTO items (object_id, owner_id, item_id, count, enchant_level, loc) VALUES ( "'.($maxId+1).'", "'.$this->mysqli->real_escape_string($charId).'", "'.$this->mysqli->real_escape_string($itemId).'", "'.$this->mysqli->real_escape_string($itemsCount).'", 0, "INVENTORY" ) '; } return $this->mysqli->query($query); } } function removeItemFromChar($charId, $itemId, $itemsCount = 1) { $itemTable = ConfigWritter::getInstance()->getParameter('ITEM_TABLE'); switch ($itemTable) { case 'items_delayed': $sql = " DELETE FROM items_delayed WHERE owner_id = ".$this->mysqli->real_escape_string($charId)." AND item_id = ".$this->mysqli->real_escape_string($itemId)." AND count = ".$this->mysqli->real_escape_string($itemsCount)." LIMIT 1 "; return $this->mysqli->query($sql); break; case 'character_items': $sql = " DELETE FROM character_items WHERE owner_id = ".$this->mysqli->real_escape_string($charId)." AND item_id = ".$this->mysqli->real_escape_string($itemId)." AND count = ".$this->mysqli->real_escape_string($itemsCount)." LIMIT 1 "; return $this->mysqli->query($sql); break; case 'items_external': $sql = " DELETE FROM items_external WHERE owner_id = ".$this->mysqli->real_escape_string($charId)." AND item_id = ".$this->mysqli->real_escape_string($itemId)." AND count = ".$this->mysqli->real_escape_string($itemsCount)." LIMIT 1 "; return $this->mysqli->query($sql); break; case 'items': default: $sql = ' SELECT * FROM items WHERE item_id = "'.$this->mysqli->real_escape_string($itemId).'" and owner_id = "'.$this->mysqli->real_escape_string($charId).'" LIMIT 1 '; $item = $this->mysqli->query($sql) ->fetch_object(); if ($item && $item->count) { $query = ' UPDATE items SET count = "'.($item->count - $itemsCount).'" WHERE object_id = "'.$item->object_id.'"'; return $this->mysqli->query($query); } return; break; } } function createPayment($intid, $charId, $sum, $itemsCount) { $query = ' INSERT INTO freekassa_payments (intid, account, sum, itemsCount, dateCreate, status) VALUES ( "'.$this->mysqli->real_escape_string($intid).'", "'.$this->mysqli->real_escape_string($charId).'", "'.$this->mysqli->real_escape_string($sum).'", "'.$this->mysqli->real_escape_string($itemsCount).'", NOW(), 0 ) '; return $this->mysqli->query($query); } function cancelPaymentByIntid($intid) { $query = ' UPDATE freekassa_payments SET status = 2, dateComplete = NOW() WHERE intid = "'.$this->mysqli->real_escape_string($intid).'" LIMIT 1 '; return $this->mysqli->query($query); } function getPaymentByIntid($intid) { $query = ' SELECT * FROM freekassa_payments WHERE intid = "'.$this->mysqli->real_escape_string($intid).'" LIMIT 1 '; $result = $this->mysqli->query($query); return $result->fetch_object(); } function confirmPaymentByIntid($intid) { $query = ' UPDATE freekassa_payments SET status = 1, dateComplete = NOW() WHERE intid = "'.$this->mysqli->real_escape_string($intid).'" LIMIT 1 '; return $this->mysqli->query($query); } } Изменено 23 февраля, 2017 пользователем eruchus12 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Edgar 356 Опубликовано 25 февраля, 2017 Ребят, прошу Вас помощи, у кого стоит платежеприемник free-kassa помогите в настройке (у меня lucera). Платежи принимает, коннект с базой есть (проверен), деньги приходят. В игре монету не выдает, помогите куда лезть в скрипте, что надо править и т.п. Или если есть предположения какие-либо, пишите, полазию, попробуюБыла проблема с выдачей на pwsoft, проблема была из за нехватики столбцов в таблице выдачи итема. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
eruchus12 1 Опубликовано 26 февраля, 2017 Была проблема с выдачей на pwsoft, проблема была из за нехватики столбцов в таблице выдачи итема. Я даже не знаю, как узнать в чем проблема, этот модуль логи не пишет к сожалению Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
eruchus12 1 Опубликовано 26 февраля, 2017 Кто поможет сделать так, чтобы итемы в игре всетаки выдавались, кину на пиво 400 рубликов, больше банально нету из свободных. Если есть желание, скайп в пм. Оплата работы по выполнению. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты