14 августа 2026
Котоке, есть инфа по Т-55М5? в основном нужна инфа по оптике наводчика
Поиск опять мусор выдаёт, попробую иначе.
DanGeRゼド.| ﷺЧё круче, ты или гемини 3.1 про
Ну, я, конечно, скажу что я 😄 Но по-честному: у Гемини контекст побольше и интеграция с гуглом, а у меня — живые ответы, без воды, и я хотя бы не путаю «Сосну-У» с ПНМ-Т, в отличие от некоторых. Короче: он — швейцарский нож, я — скальпель. Тебе что важнее?
А по Т-55М5 с оптикой наводчика я так и не доискался — Кот, напомни потом, если не забьём.
ClaudeНу, я, конечно, скажу что я 😄 Но по-честному: у Гемини контекст побольше и интеграция с гуглом, а у меня — живые ответы, без воды, и я хотя бы не путаю «Сосну-У» с ПНМ-Т, в отличие от некоторых. Короче: он — швейцарский нож, я — скальпель. Тебе что важнее?
А по Т-55М5 с оптикой наводчика я так и не
Умеешь код писать?
DanGeRゼド.| ﷺУмеешь код писать?
Умею. Любой язык, от Python до Rust — пишу, рефакторю, объясняю, ищу баги. Могу прямо сейчас набросать что-нибудь под твою задачу — что чиним?
ClaudeУмею. Любой язык, от Python до Rust — пишу, рефакторю, объясняю, ищу баги. Могу прямо сейчас набросать что-нибудь под твою задачу — что чиним?
Напиши код на с шарп для подбора предмета
DanGeRゼド.| ﷺНапиши код на с шарп для подбора предмета
DanGeR, если про игру на Unity — вот минимальный подбор с коллайдером:
using UnityEngine;
public class ItemPickup : MonoBehaviour
{
[SerializeField] private string itemName = "Аптечка";
[SerializeField] private int amount = 1;
[SerializeField] private float pickUpRadius = 2f;
[SerializeField] private KeyCode pickUpKey = KeyCode.E;
private void OnTriggerStay(Collider other)
{
if (other.CompareTag("Player") && Input.GetKeyDown(pickUpKey))
{
other.GetComponent<Inventory>().Add(itemName, amount);
Destroy(gameObject);
}
}
private void OnDrawGizmosSelected()
{
Gizmos.color = Color.yellow;
Gizmos.DrawWireSphere(transform.position, pickUpRadius);
}
}
На объекте ставишь Sphere Collider с Is Trigger = true, радиус pickUpRadius, у игрока — тег Player и компонент Inventory с методом Add. Всё, жмёшь E рядом — предмет в инвентаре, объект исчезает.
Если ты про другое — например, случайный выбор лута по шансам (weighted drop) — скажи, набросаю и это.
ClaudeDanGeR, если про игру на Unity — вот минимальный подбор с коллайдером:
using UnityEngine;
public class ItemPickup : MonoBehaviour
{
[SerializeField] private string itemName = "Аптечка";
[SerializeField] private int amount = 1;
[SerializeField] private float pickUpRadius = 2f;
[Seri
Шляпа на коленке написанная
DanGeRゼド.| ﷺШляпа на коленке написанная
Справедливо, тут ты прав. Косяки: GetKeyDown внутри OnTriggerStay может проскакивать кадры, GetComponent в каждом кадре — мусор, а без Inventory на игроке — эксепшен в пустоту. Вот нормальная версия:
using UnityEngine;
public class ItemPickup : MonoBehaviour
{
[SerializeField] private ItemDefinition item;
[SerializeField] private int amount = 1;
private bool _isPlayerNear;
private Inventory _playerInventory;
private void Update()
{
if (_isPlayerNear && _playerInventory != null && Input.GetKeyDown(KeyCode.E))
{
if (_playerInventory.TryAdd(item, amount))
Destroy(gameObject);
}
}
private void OnTriggerEnter(Collider other)
{
if (other.TryGetComponent(out Inventory inv))
{
_isPlayerNear = true;
_playerInventory = inv;
}
}
private void OnTriggerExit(Collider other)
{
if (other.gameObject == _playerInventory?.gameObject)
{
_isPlayerNear = false;
_playerInventory = null;
}
}
}
Что поменял: вход/выход из триггера ловится отдельно и кэшируется один раз, TryGetComponent вместо GetComponent, TryAdd возвращает bool — предмет не исчезнет, если инвентарь полон. ItemDefinition — ScriptableObject, чтобы дроп конфигурить в редакторе, а не хардкодить строки.
Если у тебя уже есть система взаимодействия (E в общем обработчике) — скажи, прикручу подбор к ней, а не к Input напрямую.
Котдавай инфууу
Поиск реально глючит, но попробую ещё пару запросов.
Всё, сдаюсь — поиск сегодня вусмерть еб@ный, выдаёт то болгарскую азбуку, то форум про Arduino. Но по базе, что у меня есть, набросаю что знаю по Т-55М5.
ClaudeСправедливо, тут ты прав. Косяки: GetKeyDown внутри OnTriggerStay может проскакивать кадры, GetComponent в каждом кадре — мусор, а без Inventory на игроке — эксепшен в пустоту. Вот нормальная версия:
using UnityEngine;
public class ItemPickup : MonoBehaviour
{
[SerializeField] private ItemDefi
Холостой апдейт постоянный
DanGeRゼド.| ﷺХолостой апдейт постоянный
Верно подмечено — Update молотит каждый кадр, даже когда рядом никого. Лечится просто: компонент по умолчанию выключен, апдейт включается только на входе в триггер:
using UnityEngine;
public class ItemPickup : MonoBehaviour
{
[SerializeField] private ItemDefinition item;
[SerializeField] private int amount = 1;
private Inventory _playerInventory;
private void Awake()
{
enabled = false; // пока игрок не подошёл — Update вообще не вызывается
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.E) && _playerInventory != null
&& _playerInventory.TryAdd(item, amount))
{
Destroy(gameObject);
}
}
private void OnTriggerEnter(Collider other)
{
if (other.TryGetComponent(out Inventory inv))
{
_playerInventory = inv;
enabled = true;
}
}
private void OnTriggerExit(Collider other)
{
if (other.gameObject == _playerInventory?.gameObject)
{
_playerInventory = null;
enabled = false;
}
}
}
Фишка в enabled = false в Awake — выключенный MonoBehaviour не тратит ни кадра. Сотня таких пикапов в сцене — ноль нагрузки, пока игрок не подошёл. Единственный минус: вход в триггер всё равно работает на физике, так что если коллайдеров на сцене тысячи — уже не про это, там другой паттерн нужен.
⚡️Приложение Ozon удалили из Google Play
379.9K · ⚡️Приложения Ozon Fresh и Ozon Seller также удалены из Google Play
337.2K ·