Offline Brawl: post #228 — TG.ME

финально мы довели эту фичу до состояния шоукейса

и так....... скриптинг

вы сможете буквально скриптить свои какие-то приколы в колеттоффлайн!!! на всеми любимом языке программирования javascript!!!!!!! вооооооот ваще треш жесть даль дуров телега впн прокси

вот. да.

вот коды:
Showcase 1: (патч здоровья)
// apply patch
const character = LogicDataTables.getDataById(16, 39)

Bismuth.patchDataValue(character, "Hitpoints", 30000)
Bismuth.applyPatchesTo(character)

// revert patches
Bismuth.revertPatch(LogicDataTables.getDataById(16, 39), "Hitpoints")


Showcase 2: (все персонажи приклеены к игроку)
Bismuth.on("BattleTick", () => {
const server = BattleMode.getLogicServer()
const manager = server.getGameObjectManager()

const ownPlayerGlobalID = server.getOwnPlayerGlobalID()

const ownCharacter = manager.getGameObjectById(ownPlayerGlobalID)
const objectsCount = manager.getGameObjectsCount()

for (let i = 0; i < objectsCount; i++) {
if (!ownCharacter)
return;

const object = manager.getGameObjectByIndex(i)

if (object.getGlobalID() !== ownPlayerGlobalID &&
object.getData().tableId === 16) {
object.setPosition(
ownCharacter.getX(),
ownCharacter.getZ(),
ownCharacter.getY()
)
}
}
})


Showcase 3: (спавн придурка-миньона в начале боя)
Bismuth.on("BattleStarted", () => {
const character = LogicDataTables.getDataById(16, 62)

const server = BattleMode.getLogicServer()
const manager = server.getGameObjectManager()
const factory = server.getGameObjectFactory()

const object = factory.createGameObjectByData(character)

const ownCharacter = manager.getGameObjectByIndex(0) // TODO

object.setPosition(
ownCharacter.getX(),
ownCharacter.getZ(),
ownCharacter.getY()
)

object.setIndex(null)

manager.addLogicGameObject(object)
})


скажу сразу: это прям дико ранний альфа прикол, и я хз че будет в итоговом результате. всё апи дропнем ближе к релизу
👍53❤33🔥6🤯5❤‍🔥1
February 14, 2026 16.6K 10