Баги и ошибки | Манекен (Неправильно отображает)
Тема закрыта by
TheSom
Причина: Решено
Причина: Решено
Доброго времени суток, в чем может быть проблема, на манекене не все одеваеется а если одето как то лежит криво все попробовал способы и незнаю.
Кто может подсказать в чем проблема.
P.s слоты пробовал по очередности менять картинки все правильно лежат.
________
посл. ред. 05.02.2026 в 16:18; всего 1 раз(а); by TheSom
Кто может подсказать в чем проблема.
php
<?php
error_reporting(E_ALL);
include './core/sys_config.php';
include './core/sys_core.php';
if (ob_get_length()) ob_clean();
header('Content-Type: image/png');
$g = isset($_GET['g']) ? (int)$_GET['g'] : 0;
$base_path = './images/maneken/' . $g . '.png';
if (file_exists($base_path)) {
$image = imagecreatefrompng($base_path);
} else {
$image = imagecreatetruecolor(500, 500);
imagealphablending($image, false);
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparent);
imagesavealpha($image, true);
}
imagealphablending($image, true);
imagesavealpha($image, true);
$slots = array(1, 2, 3, 4, 5, 6, 7, 8);
foreach ($slots as $slot_num) {
$it_id = isset($_GET['w_' . $slot_num]) ? (int)$_GET['w_' . $slot_num] : 0;
if ($it_id > 0) {
$layer_path = './images/maneken/' . $g . '/' . $it_id . '.png';
if (file_exists($layer_path)) {
$layer = imagecreatefrompng($layer_path);
if ($layer) {
imagealphablending($layer, true);
imagesavealpha($layer, true);
imagecopy($image, $layer, 0, 0, 0, 0, 500, 500);
imagedestroy($layer);
}
}
}
}
imagepng($image);
imagedestroy($image); P.s слоты пробовал по очередности менять картинки все правильно лежат.
________
посл. ред. 05.02.2026 в 16:18; всего 1 раз(а); by TheSom
php
<?php
error_reporting(E_ALL);
ini_set('display_errors', '0');
ini_set('log_errors', '1');
include './core/sys_config.php';
include './core/sys_core.php';
if (ob_get_length()) ob_clean();
header('Content-Type: image/png');
$g = isset($_GET['g']) ? (int)$_GET['g'] : 0;
$base_path = "./images/maneken/{$g}.png";
if (file_exists($base_path)) {
$image = imagecreatefrompng($base_path);
imagepalettetotruecolor($image);
} else {
$image = imagecreatetruecolor(500, 500);
imagealphablending($image, false);
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparent);
}
imagesavealpha($image, true);
imagealphablending($image, true);
$slots = [1,2,3,4,5,6,7,8];
foreach ($slots as $slot_num) {
$it_id = isset($_GET["w_{$slot_num}"]) ? (int)$_GET["w_{$slot_num}"] : 0;
if ($it_id <= 0) continue;
$layer_path = "./images/maneken/{$g}/{$it_id}.png";
if (!file_exists($layer_path)) continue;
$layer = imagecreatefrompng($layer_path);
if (!$layer) continue;
imagepalettetotruecolor($layer);
imagesavealpha($layer, true);
imagealphablending($layer, true);
$w = imagesx($layer);
$h = imagesy($layer);
// если все предметы в одной сетке — 0,0 ок
imagecopy($image, $layer, 0, 0, 0, 0, $w, $h);
imagedestroy($layer);
}
imagepng($image);
imagedestroy($image); попробуй
Чудик, порядок вещей измени, видишь они у тебя идут от 1 до 8, просто поиграй я и сделаешь, судя по картинке идёт 1- шлем, 2 штаны, 3 обувь, 4 броня, 5 наплечники, 6 перчатки, 7 меч, 8 щит