В чём разница между Script и LocalScript в Roblox простыми словами?
Запутался: есть Script и LocalScript. Иногда код работает в одном, иногда в другом, а иногда вообще молчит. Как понять, какой когда брать? Объясните по-простому.
2 ответа
Представь, что игра живёт в двух местах: на сервере (общий для всех, главный) и на клиенте (компьютер каждого игрока, его экран и управление).
- Script = выполняется на сервере. Тут всё общее и честное: здоровье, очки, появление врагов, кто что подобрал. Серверу доверяют все игроки.
- LocalScript = выполняется на клиенте, у конкретного игрока. Тут то, что касается только его: интерфейс (GUI), управление, камера, эффекты на его экране.
Простая аналогия: сервер — судья в игре (один на всех), клиент — глаза и руки игрока (у каждого свои).
Частая причина "код молчит": положил LocalScript в Workspace (там он не запускается) или, наоборот, обычный Script в StarterGui. LocalScript живёт в StarterGui, StarterPlayerScripts; Script — в Workspace, ServerScriptService.
Правило для новичка: важная логика игры (очки, урон, сохранения) — всегда серверный Script. Если делать это в LocalScript, читеры легко накрутят себе очки, ведь у них в руках только их клиент. Сервер — единственный, кому можно доверять.