Compare commits
2 Commits
63937a7dc5
...
3754ecf4a1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3754ecf4a1 | ||
| b2b0eab546 |
@ -1,6 +1,7 @@
|
|||||||
import React, { useEffect, useState, useRef, useCallback } from 'react';
|
import React, { useEffect, useState, useRef, useCallback } from 'react';
|
||||||
import Icon from '../editor-shared/Icon';
|
import Icon from '../editor-shared/Icon';
|
||||||
import { STORYS_addres, USER_addres } from '../api/API';
|
import { STORYS_addres, USER_addres } from '../api/API';
|
||||||
|
import { MIXAMO_SKINS } from '../engine/PlayerController';
|
||||||
|
|
||||||
const getToken = () => {
|
const getToken = () => {
|
||||||
try {
|
try {
|
||||||
@ -608,19 +609,18 @@ function PlayerCard({ player, isMe, isFriend, isPending, onAddFriend }) {
|
|||||||
let avatarUrl = null;
|
let avatarUrl = null;
|
||||||
let isSkin = false;
|
let isSkin = false;
|
||||||
if (player.skin && typeof player.skin === 'string') {
|
if (player.skin && typeof player.skin === 'string') {
|
||||||
const isLegacy = LEGACY_SKINS.has(player.skin);
|
// ВАЛИДАЦИЯ: legacy R15-скины (bacon-hair и пр.) больше не существуют.
|
||||||
if (!isLegacy && player.skin.startsWith('skin_')) {
|
// Если скин НЕ в наборе валидных Mixamo (80 шт) — показываем аватар
|
||||||
// Mixamo: PNG на rublox-site (на проде rublox.pro,
|
// дефолтного skin_y-bot (как и в самой игре 3D-модель валидируется).
|
||||||
// локально localhost:3000) рядом с GLB.
|
let skinId = player.skin;
|
||||||
|
if (!MIXAMO_SKINS.has(skinId) && !skinId.startsWith('customskin:')) {
|
||||||
|
skinId = 'skin_y-bot';
|
||||||
|
}
|
||||||
const base = (typeof window !== 'undefined'
|
const base = (typeof window !== 'undefined'
|
||||||
&& window.location.hostname === 'localhost')
|
&& window.location.hostname === 'localhost')
|
||||||
? 'http://localhost:3000'
|
? 'http://localhost:3000'
|
||||||
: 'https://rublox.pro';
|
: 'https://rublox.pro';
|
||||||
avatarUrl = `${base}/character-assets/skins/${player.skin}.png?v=20260614`;
|
avatarUrl = `${base}/character-assets/skins/${skinId}.png?v=20260614`;
|
||||||
} else {
|
|
||||||
// Legacy R15: путь по старому шаблону.
|
|
||||||
avatarUrl = `/kubikon-assets/characters/${player.skin}/avatar.png?v=2026_05_27`;
|
|
||||||
}
|
|
||||||
isSkin = true;
|
isSkin = true;
|
||||||
} else if (player.photo_thumb_b64) {
|
} else if (player.photo_thumb_b64) {
|
||||||
avatarUrl = player.photo_thumb_b64.startsWith('data:')
|
avatarUrl = player.photo_thumb_b64.startsWith('data:')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user