feat: 50 игр на Lua + импорт Roblox для всех + поддержка Lua в плеере #39

Merged
min merged 215 commits from feat/lua-50-games-bundle into main 2026-06-09 21:59:25 +00:00
Showing only changes of commit defb1d80c1 - Show all commits

View File

@ -3449,140 +3449,328 @@ end)
body: (
<>
<p>
Здесь собраны все команды <code>game.*</code> по отделам.
Это шпаргалка не нужно её запоминать, держи под рукой.
Здесь собраны все команды по отделам. Это шпаргалка
не нужно её запоминать, держи под рукой. Переключатель
сверху меняет язык.
</p>
<h4 className="docRefHead"><DocIcon name="run" size={17} /> game.player игрок</h4>
<table className="docTable">
<h4 className="docRefHead"><DocIcon name="run" size={17} /> Игрок</h4>
<LangTabs
js={<table className="docTable">
<tbody>
<tr><td><code>position</code></td><td>позиция игрока {`{x,y,z}`}</td></tr>
<tr><td><code>hp</code> / <code>maxHp</code></td><td>здоровье и максимум</td></tr>
<tr><td><code>alive</code></td><td>жив ли игрок (да/нет)</td></tr>
<tr><td><code>forward</code></td><td>куда смотрит {`{x,y,z}`}</td></tr>
<tr><td><code>teleport(x,y,z)</code></td><td>телепорт</td></tr>
<tr><td><code>damage(n)</code> / <code>heal(n)</code></td><td>урон / лечение</td></tr>
<tr><td><code>kill()</code> / <code>respawn()</code></td><td>убить / воскресить</td></tr>
<tr><td><code>setSpawn(точка)</code></td><td>новая точка возрождения</td></tr>
<tr><td><code>setSpeed(mul)</code></td><td>скорость бега</td></tr>
<tr><td><code>setJumpPower(mul)</code></td><td>сила прыжка</td></tr>
<tr><td><code>setGravityMul(mul)</code></td><td>сила гравитации</td></tr>
<tr><td><code>setDoubleJump(on)</code></td><td>двойной прыжок</td></tr>
<tr><td><code>playAnimation(имя)</code></td><td>эмоция персонажа</td></tr>
<tr><td><code>giveTool(тип,опции)</code></td><td>дать инструмент</td></tr>
<tr><td><code>isKeyDown(клавиша)</code></td><td>зажата ли клавиша сейчас</td></tr>
<tr><td><code>game.player.position</code></td><td>позиция игрока {`{x,y,z}`}</td></tr>
<tr><td><code>game.player.hp</code> / <code>maxHp</code></td><td>здоровье и максимум</td></tr>
<tr><td><code>game.player.alive</code></td><td>жив ли игрок</td></tr>
<tr><td><code>game.player.forward</code></td><td>куда смотрит</td></tr>
<tr><td><code>game.player.teleport(x,y,z)</code></td><td>телепорт</td></tr>
<tr><td><code>game.player.damage(n)</code> / <code>heal(n)</code></td><td>урон / лечение</td></tr>
<tr><td><code>game.player.kill()</code> / <code>respawn()</code></td><td>убить / воскресить</td></tr>
<tr><td><code>game.player.setSpawn(точка)</code></td><td>новая точка возрождения</td></tr>
<tr><td><code>game.player.setSpeed(mul)</code></td><td>скорость (множитель)</td></tr>
<tr><td><code>game.player.setJumpPower(mul)</code></td><td>прыжок (множитель)</td></tr>
<tr><td><code>game.player.setGravityMul(mul)</code></td><td>гравитация (множитель)</td></tr>
<tr><td><code>game.player.setDoubleJump(on)</code></td><td>двойной прыжок</td></tr>
<tr><td><code>game.player.playAnimation(имя)</code></td><td>эмоция</td></tr>
<tr><td><code>game.player.giveTool(тип,опции)</code></td><td>инструмент в руку</td></tr>
<tr><td><code>game.player.isKeyDown(клавиша)</code></td><td>зажата ли клавиша</td></tr>
</tbody>
</table>
</table>}
lua={<table className="docTable">
<tbody>
<tr><td><code>hrp.Position</code></td><td>позиция (Vector3)</td></tr>
<tr><td><code>humanoid.Health</code> / <code>MaxHealth</code></td><td>здоровье</td></tr>
<tr><td><code>humanoid.Health {'>'} 0</code></td><td>жив ли</td></tr>
<tr><td><code>camera.CFrame.LookVector</code></td><td>куда смотрит</td></tr>
<tr><td><code>hrp.CFrame = CFrame.new(x,y,z)</code></td><td>телепорт</td></tr>
<tr><td><code>humanoid:TakeDamage(n)</code> / <code>humanoid.Health += n</code></td><td>урон / лечение</td></tr>
<tr><td><code>humanoid.Health = 0</code> / <code>player:LoadCharacter()</code></td><td>убить / воскресить</td></tr>
<tr><td><code>player.RespawnLocation = spawn</code></td><td>точка возрождения</td></tr>
<tr><td><code>humanoid.WalkSpeed = N</code></td><td>скорость (16 = норма)</td></tr>
<tr><td><code>humanoid.JumpPower = N</code></td><td>сила прыжка (50 = норма)</td></tr>
<tr><td><code>workspace.Gravity = N</code></td><td>гравитация (196 = норма)</td></tr>
<tr><td><code>humanoid:ChangeState(Jumping)</code></td><td>прыгнуть</td></tr>
<tr><td><code>animator:LoadAnimation(anim):Play()</code></td><td>анимация</td></tr>
<tr><td><code>Instance.new("Tool",player.Character)</code></td><td>инструмент в руку</td></tr>
<tr><td><code>UserInputService:IsKeyDown(key)</code></td><td>зажата ли клавиша</td></tr>
</tbody>
</table>}
/>
<h4 className="docRefHead"><DocIcon name="cube" size={17} /> game.scene объекты сцены</h4>
<table className="docTable">
<h4 className="docRefHead"><DocIcon name="cube" size={17} /> Объекты сцены</h4>
<LangTabs
js={<table className="docTable">
<tbody>
<tr><td><code>spawn(тип,опции)</code></td><td>создать объект ref</td></tr>
<tr><td><code>delete(ref)</code></td><td>удалить</td></tr>
<tr><td><code>deleteAfter(ref,сек)</code></td><td>удалить через N секунд</td></tr>
<tr><td><code>move(ref,x,y,z)</code></td><td>переместить</td></tr>
<tr><td><code>rotate(ref,угол)</code></td><td>повернуть</td></tr>
<tr><td><code>setColor(ref,цвет)</code></td><td>сменить цвет</td></tr>
<tr><td><code>setCollide(ref,да)</code></td><td>твёрдость</td></tr>
<tr><td><code>setVisible(ref,да)</code></td><td>видимость</td></tr>
<tr><td><code>setOpacity(ref,0..1)</code></td><td>прозрачность</td></tr>
<tr><td><code>find(имя)</code> / <code>findOne(имя)</code></td><td>поиск по имени</td></tr>
<tr><td><code>all(тип)</code></td><td>все объекты типа</td></tr>
<tr><td><code>getPosition(ref)</code></td><td>позиция объекта</td></tr>
<tr><td><code>setData/getData</code></td><td>атрибуты объекта</td></tr>
<tr><td><code>tag/untag/hasTag</code></td><td>теги</td></tr>
<tr><td><code>getTagged(тег)</code></td><td>все объекты с тегом</td></tr>
<tr><td><code>setLabel/clearLabel</code></td><td>текст-метка над объектом</td></tr>
<tr><td><code>spawnNpc(модель,опции)</code></td><td>создать NPC</td></tr>
<tr><td><code>spawnParticles(тип,...)</code></td><td>частицы</td></tr>
<tr><td><code>game.scene.spawn(тип,опции)</code></td><td>создать объект ref</td></tr>
<tr><td><code>game.scene.delete(ref)</code></td><td>удалить</td></tr>
<tr><td><code>game.scene.deleteAfter(ref,сек)</code></td><td>удалить через N секунд</td></tr>
<tr><td><code>game.scene.move(ref,x,y,z)</code></td><td>переместить</td></tr>
<tr><td><code>game.scene.rotate(ref,угол)</code></td><td>повернуть</td></tr>
<tr><td><code>game.scene.setColor(ref,цвет)</code></td><td>цвет</td></tr>
<tr><td><code>game.scene.setCollide(ref,да)</code></td><td>твёрдость</td></tr>
<tr><td><code>game.scene.setVisible(ref,да)</code></td><td>видимость</td></tr>
<tr><td><code>game.scene.setOpacity(ref,0..1)</code></td><td>прозрачность</td></tr>
<tr><td><code>game.scene.find(имя)</code> / <code>findOne(имя)</code></td><td>поиск по имени</td></tr>
<tr><td><code>game.scene.all(тип)</code></td><td>все объекты типа</td></tr>
<tr><td><code>game.scene.setData/getData</code></td><td>атрибуты</td></tr>
<tr><td><code>game.scene.tag/untag/hasTag</code></td><td>теги</td></tr>
<tr><td><code>game.scene.getTagged(тег)</code></td><td>все объекты с тегом</td></tr>
<tr><td><code>game.scene.setLabel/clearLabel</code></td><td>метка над объектом</td></tr>
<tr><td><code>game.scene.spawnNpc(модель,опции)</code></td><td>создать NPC</td></tr>
<tr><td><code>game.scene.spawnParticles(тип,...)</code></td><td>частицы</td></tr>
</tbody>
</table>
</table>}
lua={<table className="docTable">
<tbody>
<tr><td><code>Instance.new("Part", workspace)</code></td><td>создать объект</td></tr>
<tr><td><code>part:Destroy()</code></td><td>удалить</td></tr>
<tr><td><code>Debris:AddItem(part, N)</code></td><td>удалить через N секунд</td></tr>
<tr><td><code>part.Position = Vector3.new(x,y,z)</code></td><td>переместить</td></tr>
<tr><td><code>part.Orientation = Vector3.new(...)</code></td><td>повернуть</td></tr>
<tr><td><code>part.Color = Color3.fromRGB(...)</code></td><td>цвет</td></tr>
<tr><td><code>part.CanCollide = true/false</code></td><td>твёрдость</td></tr>
<tr><td><code>part.Transparency = 1</code></td><td>невидимость (0=видно)</td></tr>
<tr><td><code>part.Transparency = 0.4</code></td><td>полупрозрачность</td></tr>
<tr><td><code>workspace:FindFirstChild("Имя")</code> / <code>workspace.Имя</code></td><td>поиск по имени</td></tr>
<tr><td><code>CollectionService:GetTagged("тег")</code></td><td>все объекты с тегом</td></tr>
<tr><td><code>part:SetAttribute/GetAttribute</code></td><td>атрибуты</td></tr>
<tr><td><code>CollectionService:AddTag/RemoveTag/HasTag</code></td><td>теги</td></tr>
<tr><td><code>CollectionService:GetTagged(tag)</code></td><td>все объекты с тегом</td></tr>
<tr><td><code>BillboardGui + TextLabel</code></td><td>метка над объектом</td></tr>
<tr><td>Model + Humanoid + Anim</td><td>NPC (вручную)</td></tr>
<tr><td><code>Instance.new("ParticleEmitter", part)</code></td><td>частицы</td></tr>
</tbody>
</table>}
/>
<h4 className="docRefHead"><DocIcon name="pin" size={17} /> game.self объект-носитель скрипта</h4>
<table className="docTable">
<h4 className="docRefHead"><DocIcon name="pin" size={17} /> Объект-носитель скрипта</h4>
<LangTabs
js={<table className="docTable">
<tbody>
<tr><td><code>ref</code> / <code>position</code></td><td>адрес и позиция объекта</td></tr>
<tr><td><code>onClick(fn)</code></td><td>клик по объекту</td></tr>
<tr><td><code>onTouch(fn)</code></td><td>игрок коснулся</td></tr>
<tr><td><code>onUntouch(fn)</code></td><td>игрок вышел из объекта</td></tr>
<tr><td><code>onInteract(fn,опции)</code></td><td>взаимодействие по E</td></tr>
<tr><td><code>move(x,y,z)</code></td><td>переместить себя</td></tr>
<tr><td><code>delete()</code></td><td>удалить себя</td></tr>
<tr><td><code>setText(t)</code></td><td>сменить текст (для GUI)</td></tr>
<tr><td><code>game.self.ref</code> / <code>position</code></td><td>адрес и позиция</td></tr>
<tr><td><code>game.self.onClick(fn)</code></td><td>клик по объекту</td></tr>
<tr><td><code>game.self.onTouch(fn)</code></td><td>игрок коснулся</td></tr>
<tr><td><code>game.self.onUntouch(fn)</code></td><td>игрок вышел</td></tr>
<tr><td><code>game.self.onInteract(fn,опции)</code></td><td>взаимодействие по E</td></tr>
<tr><td><code>game.self.move(x,y,z)</code></td><td>переместить себя</td></tr>
<tr><td><code>game.self.delete()</code></td><td>удалить себя</td></tr>
<tr><td><code>game.self.setText(t)</code></td><td>сменить текст</td></tr>
</tbody>
</table>
</table>}
lua={<table className="docTable">
<tbody>
<tr><td><code>script.Parent</code> / <code>.Position</code></td><td>сам объект и его позиция</td></tr>
<tr><td><code>ClickDetector.MouseClick:Connect</code></td><td>клик по объекту</td></tr>
<tr><td><code>part.Touched:Connect</code></td><td>игрок коснулся</td></tr>
<tr><td><code>part.TouchEnded:Connect</code></td><td>игрок вышел</td></tr>
<tr><td><code>ProximityPrompt.Triggered:Connect</code></td><td>взаимодействие по E</td></tr>
<tr><td><code>part.Position = Vector3.new(x,y,z)</code></td><td>переместить</td></tr>
<tr><td><code>part:Destroy()</code></td><td>удалить</td></tr>
<tr><td><code>textLabel.Text = "..."</code></td><td>сменить текст (для GUI)</td></tr>
</tbody>
</table>}
/>
<h4 className="docRefHead"><DocIcon name="window" size={17} /> game.ui счётчики и текст</h4>
<table className="docTable">
<h4 className="docRefHead"><DocIcon name="window" size={17} /> HUD: счётчики и текст</h4>
<LangTabs
js={<table className="docTable">
<tbody>
<tr><td><code>score</code> / <code>timer</code></td><td>счётчики в углу</td></tr>
<tr><td><code>showText(текст,сек)</code></td><td>текст по центру</td></tr>
<tr><td><code>set(id,текст,опции)</code></td><td>своя метка на экране</td></tr>
<tr><td><code>remove(id)</code> / <code>clear()</code></td><td>убрать метку / всё</td></tr>
<tr><td><code>game.ui.score</code> / <code>timer</code></td><td>счётчики в углу</td></tr>
<tr><td><code>game.ui.showText(текст,сек)</code></td><td>текст по центру</td></tr>
<tr><td><code>game.ui.set(id,текст,опции)</code></td><td>своя метка</td></tr>
<tr><td><code>game.ui.remove(id)</code> / <code>clear()</code></td><td>убрать метку / всё</td></tr>
</tbody>
</table>
</table>}
lua={<table className="docTable">
<tbody>
<tr><td><code>leaderstats папка + IntValue</code></td><td>счётчики в углу (HUD автомат)</td></tr>
<tr><td><code>ScreenGui + TextLabel (центр)</code></td><td>текст по центру</td></tr>
<tr><td><code>label.Text = "..."</code></td><td>обновить метку</td></tr>
<tr><td><code>label:Destroy()</code> / <code>screen:Destroy()</code></td><td>убрать метку / всё</td></tr>
</tbody>
</table>}
/>
<h4 className="docRefHead"><DocIcon name="palette" size={17} /> game.gui кнопки и меню</h4>
<table className="docTable">
<h4 className="docRefHead"><DocIcon name="palette" size={17} /> GUI: кнопки и меню</h4>
<LangTabs
js={<table className="docTable">
<tbody>
<tr><td><code>find(имя)</code> / <code>get(id)</code></td><td>найти элемент</td></tr>
<tr><td><code>update(id,patch)</code></td><td>изменить свойства</td></tr>
<tr><td><code>show(id)</code> / <code>hide(id)</code></td><td>показать / скрыть</td></tr>
<tr><td><code>onClick(id,fn)</code></td><td>клик по кнопке</td></tr>
<tr><td><code>onSubmit(id,fn)</code></td><td>ввод в поле завершён</td></tr>
<tr><td><code>game.gui.find(имя)</code> / <code>get(id)</code></td><td>найти элемент</td></tr>
<tr><td><code>game.gui.update(id,patch)</code></td><td>изменить свойства</td></tr>
<tr><td><code>game.gui.show(id)</code> / <code>hide(id)</code></td><td>показать / скрыть</td></tr>
<tr><td><code>game.gui.onClick(id,fn)</code></td><td>клик по кнопке</td></tr>
<tr><td><code>game.gui.onSubmit(id,fn)</code></td><td>ввод в поле завершён</td></tr>
</tbody>
</table>
</table>}
lua={<table className="docTable">
<tbody>
<tr><td><code>gui:FindFirstChild(имя, true)</code></td><td>найти элемент</td></tr>
<tr><td><code>elem.Text = "..."</code> / прямая запись свойств</td><td>изменить свойства</td></tr>
<tr><td><code>elem.Visible = true/false</code></td><td>показать / скрыть</td></tr>
<tr><td><code>button.MouseButton1Click:Connect</code></td><td>клик по кнопке</td></tr>
<tr><td><code>textbox.FocusLost:Connect(fn)</code></td><td>ввод завершён</td></tr>
</tbody>
</table>}
/>
<h4 className="docRefHead"><DocIcon name="target" size={17} /> physics, fx, constraints</h4>
<table className="docTable">
<h4 className="docRefHead"><DocIcon name="target" size={17} /> Физика, эффекты, связи</h4>
<LangTabs
js={<table className="docTable">
<tbody>
<tr><td><code>physics.raycast(...)</code></td><td>луч во что попал</td></tr>
<tr><td><code>physics.applyImpulse(...)</code></td><td>толкнуть объект</td></tr>
<tr><td><code>physics.explode(...)</code></td><td>взрыв</td></tr>
<tr><td><code>physics.passThrough(...)</code></td><td>проходимость</td></tr>
<tr><td><code>fx.beam(опции)</code></td><td>светящийся луч</td></tr>
<tr><td><code>fx.trail(ref,опции)</code></td><td>след за объектом</td></tr>
<tr><td><code>constraints.weld(a,b)</code></td><td>склейка</td></tr>
<tr><td><code>constraints.hinge(...)</code></td><td>петля</td></tr>
<tr><td><code>constraints.spring(...)</code></td><td>пружина</td></tr>
<tr><td><code>game.physics.raycast(...)</code></td><td>луч во что попал</td></tr>
<tr><td><code>game.physics.applyImpulse(...)</code></td><td>толкнуть объект</td></tr>
<tr><td><code>game.physics.explode(...)</code></td><td>взрыв</td></tr>
<tr><td><code>game.physics.passThrough(...)</code></td><td>проходимость</td></tr>
<tr><td><code>game.fx.beam(опции)</code></td><td>светящийся луч</td></tr>
<tr><td><code>game.fx.trail(ref,опции)</code></td><td>след за объектом</td></tr>
<tr><td><code>game.fx.damageFloater(...)</code></td><td>цифры урона</td></tr>
<tr><td><code>game.constraints.weld(a,b)</code></td><td>склейка</td></tr>
<tr><td><code>game.constraints.hinge(...)</code></td><td>петля</td></tr>
<tr><td><code>game.constraints.spring(...)</code></td><td>пружина</td></tr>
</tbody>
</table>
</table>}
lua={<table className="docTable">
<tbody>
<tr><td><code>workspace:Raycast(origin,dir,params)</code></td><td>луч во что попал</td></tr>
<tr><td><code>part:ApplyImpulse(Vector3)</code></td><td>толкнуть объект</td></tr>
<tr><td><code>Instance.new("Explosion", workspace)</code></td><td>взрыв</td></tr>
<tr><td><code>part.CanCollide = false</code></td><td>проходимость</td></tr>
<tr><td><code>Instance.new("Beam") + Attachments</code></td><td>светящийся луч</td></tr>
<tr><td><code>Instance.new("Trail") + Attachments</code></td><td>след за объектом</td></tr>
<tr><td>BillboardGui + TweenService</td><td>цифры урона (вручную)</td></tr>
<tr><td><code>Instance.new("WeldConstraint")</code></td><td>склейка</td></tr>
<tr><td><code>Instance.new("HingeConstraint")</code></td><td>петля</td></tr>
<tr><td><code>Instance.new("SpringConstraint")</code></td><td>пружина</td></tr>
</tbody>
</table>}
/>
<h4 className="docRefHead"><DocIcon name="camera" size={17} /> camera, sound</h4>
<table className="docTable">
<h4 className="docRefHead"><DocIcon name="camera" size={17} /> Камера и звук</h4>
<LangTabs
js={<table className="docTable">
<tbody>
<tr><td><code>camera.setFov(град)</code></td><td>угол обзора</td></tr>
<tr><td><code>camera.shake(сила,сек)</code></td><td>тряска</td></tr>
<tr><td><code>camera.cutscene(...)</code></td><td>пролёт камеры</td></tr>
<tr><td><code>camera.reset()</code></td><td>вернуть камеру</td></tr>
<tr><td><code>sound.play(id,опции)</code></td><td>проиграть звук</td></tr>
<tr><td><code>game.camera.setFov(град)</code></td><td>угол обзора</td></tr>
<tr><td><code>game.camera.shake(сила,сек)</code></td><td>тряска</td></tr>
<tr><td><code>game.camera.cutscene(...)</code></td><td>пролёт камеры</td></tr>
<tr><td><code>game.camera.reset()</code></td><td>вернуть камеру игроку</td></tr>
<tr><td><code>game.sound.play(id,опции)</code></td><td>проиграть звук</td></tr>
</tbody>
</table>
</table>}
lua={<table className="docTable">
<tbody>
<tr><td><code>workspace.CurrentCamera.FieldOfView = N</code></td><td>угол обзора</td></tr>
<tr><td><code>camera.CFrame = CFrame.new(...)</code> + рандом</td><td>тряска (вручную)</td></tr>
<tr><td><code>camera.CameraType = Scriptable + TweenService</code></td><td>пролёт камеры</td></tr>
<tr><td><code>camera.CameraType = Custom</code></td><td>вернуть игроку</td></tr>
<tr><td><code>Instance.new("Sound"):Play()</code></td><td>проиграть звук</td></tr>
</tbody>
</table>}
/>
<h4 className="docRefHead"><DocIcon name="gear" size={17} /> События и таймеры</h4>
<table className="docTable">
<LangTabs
js={<table className="docTable">
<tbody>
<tr><td><code>onTick(fn)</code></td><td>каждый кадр</td></tr>
<tr><td><code>onKey/onKeyUp(клавиша,fn)</code></td><td>клавиатура</td></tr>
<tr><td><code>onClick(fn)</code></td><td>клик в игре</td></tr>
<tr><td><code>after(сек,fn)</code></td><td>через N секунд</td></tr>
<tr><td><code>every(сек,fn)</code></td><td>каждые N секунд</td></tr>
<tr><td><code>cancel(id)</code></td><td>отменить таймер</td></tr>
<tr><td><code>tween(ref,св-ва,опции)</code></td><td>плавная анимация</td></tr>
<tr><td><code>game.onTick(fn)</code></td><td>каждый кадр</td></tr>
<tr><td><code>game.onKey/onKeyUp(клавиша,fn)</code></td><td>клавиатура</td></tr>
<tr><td><code>game.onClick(fn)</code></td><td>клик в игре</td></tr>
<tr><td><code>game.after(сек,fn)</code></td><td>через N секунд</td></tr>
<tr><td><code>game.every(сек,fn)</code></td><td>каждые N секунд</td></tr>
<tr><td><code>game.cancel(id)</code></td><td>отменить таймер</td></tr>
<tr><td><code>game.tween(ref,св-ва,опции)</code></td><td>плавная анимация</td></tr>
</tbody>
</table>
</table>}
lua={<table className="docTable">
<tbody>
<tr><td><code>RunService.Heartbeat:Connect(fn)</code></td><td>каждый кадр</td></tr>
<tr><td><code>UserInputService.InputBegan/Ended</code></td><td>клавиатура</td></tr>
<tr><td><code>mouse.Button1Down:Connect(fn)</code></td><td>клик в игре</td></tr>
<tr><td><code>task.delay(сек, fn)</code></td><td>через N секунд</td></tr>
<tr><td><code>task.spawn(function() while ... task.wait(N) end end)</code></td><td>каждые N секунд</td></tr>
<tr><td><code>connection:Disconnect()</code></td><td>отменить подписку</td></tr>
<tr><td><code>TweenService:Create(obj, info, goal):Play()</code></td><td>плавная анимация</td></tr>
</tbody>
</table>}
/>
<h4 className="docRefHead"><DocIcon name="code" size={17} /> Утилиты</h4>
<table className="docTable">
<LangTabs
js={<table className="docTable">
<tbody>
<tr><td><code>random(min,max)</code></td><td>случайное число</td></tr>
<tr><td><code>distance(a,b)</code></td><td>расстояние между точками</td></tr>
<tr><td><code>clamp(v,min,max)</code></td><td>зажать число в границах</td></tr>
<tr><td><code>lerp(a,b,t)</code></td><td>плавный переход ab</td></tr>
<tr><td><code>log(...)</code></td><td>напечатать в консоль</td></tr>
<tr><td><code>broadcast/onMessage</code></td><td>сообщения между скриптами</td></tr>
<tr><td><code>game.random(min,max)</code></td><td>случайное число</td></tr>
<tr><td><code>game.distance(a,b)</code></td><td>расстояние между точками</td></tr>
<tr><td><code>game.clamp(v,min,max)</code></td><td>зажать в границах</td></tr>
<tr><td><code>game.lerp(a,b,t)</code></td><td>плавный переход</td></tr>
<tr><td><code>game.log(...)</code></td><td>в консоль</td></tr>
<tr><td><code>game.broadcast/onMessage</code></td><td>сообщения между скриптами</td></tr>
</tbody>
</table>
</table>}
lua={<table className="docTable">
<tbody>
<tr><td><code>math.random(min,max)</code></td><td>случайное число</td></tr>
<tr><td><code>(a - b).Magnitude</code></td><td>расстояние между Vector3</td></tr>
<tr><td><code>math.clamp(v,min,max)</code></td><td>зажать в границах</td></tr>
<tr><td><code>a + (b-a)*t</code> или <code>Vector3:Lerp(other,t)</code></td><td>плавный переход</td></tr>
<tr><td><code>print(...)</code> / <code>warn(...)</code></td><td>в консоль</td></tr>
<tr><td><code>BindableEvent:Fire</code> + <code>.Event:Connect</code></td><td>сообщения между скриптами</td></tr>
</tbody>
</table>}
/>
<h4 className="docRefHead"><DocIcon name="users" size={17} /> Мультиплеер, лидерборды, команды</h4>
<LangTabs
js={<table className="docTable">
<tbody>
<tr><td><code>game.players.all() / count() / me()</code></td><td>список игроков</td></tr>
<tr><td><code>game.room.set/get/onChange</code></td><td>общее состояние комнаты</td></tr>
<tr><td><code>game.teams.*</code></td><td>команды</td></tr>
<tr><td><code>game.leaderstats.define(имя,опции)</code></td><td>объявить стат</td></tr>
<tr><td><code>game.leaderstats.me.add/set/get</code></td><td>текущему игроку</td></tr>
<tr><td><code>game.achievements.define/unlock</code></td><td>достижения</td></tr>
<tr><td><code>game.save.merge/get</code></td><td>сохранение прогресса</td></tr>
<tr><td><code>game.onPlayerJoin/Leave(fn)</code></td><td>игрок зашёл / ушёл</td></tr>
</tbody>
</table>}
lua={<table className="docTable">
<tbody>
<tr><td><code>Players:GetPlayers()</code> / <code>#Players:GetPlayers()</code> / <code>Players.LocalPlayer</code></td><td>список / число / я</td></tr>
<tr><td><code>ReplicatedStorage + Value + .Changed</code></td><td>общее состояние</td></tr>
<tr><td><code>Teams сервис + Instance.new("Team")</code></td><td>команды</td></tr>
<tr><td><code>Instance.new("Folder","leaderstats")+IntValue</code></td><td>лидерборд</td></tr>
<tr><td><code>stats.Имя.Value = N</code></td><td>обновить стат</td></tr>
<tr><td><code>BadgeService:AwardBadge(uid, id)</code></td><td>достижения (badges)</td></tr>
<tr><td><code>DataStoreService:GetAsync/SetAsync</code></td><td>сохранение прогресса</td></tr>
<tr><td><code>Players.PlayerAdded:Connect</code> / <code>PlayerRemoving</code></td><td>игрок зашёл / ушёл</td></tr>
</tbody>
</table>}
/>
<h4 className="docRefHead"><DocIcon name="sparkle" size={17} /> Небо, освещение, инвентарь, модалки</h4>
<LangTabs
js={<table className="docTable">
<tbody>
<tr><td><code>game.scene.setSkybox/fadeTo</code></td><td>пресеты неба</td></tr>
<tr><td><code>game.scene.setFog/setClouds</code></td><td>туман и облака</td></tr>
<tr><td><code>game.environment.setTimeOfDay(0..24)</code></td><td>время суток</td></tr>
<tr><td><code>game.items.define(список)</code></td><td>описать предметы</td></tr>
<tr><td><code>game.inventory.give/remove/has/list</code></td><td>инвентарь</td></tr>
<tr><td><code>game.modal.dialog/confirmation/lootbox</code></td><td>модальные окна</td></tr>
<tr><td><code>game.mainMenu.show/hide</code></td><td>главное меню</td></tr>
<tr><td><code>game.loading.show/onHide</code></td><td>экран загрузки</td></tr>
</tbody>
</table>}
lua={<table className="docTable">
<tbody>
<tr><td><code>Lighting + Sky / Atmosphere</code></td><td>пресеты неба (вручную)</td></tr>
<tr><td><code>Lighting.FogColor / FogEnd / Atmosphere</code></td><td>туман и облака</td></tr>
<tr><td><code>Lighting:SetMinutesAfterMidnight(N)</code></td><td>время суток</td></tr>
<tr><td>Свои Tool'ы в ServerStorage</td><td>предметы (вручную)</td></tr>
<tr><td><code>player.Backpack:GetChildren()</code> / <code>Tool.Parent = Backpack</code></td><td>инвентарь</td></tr>
<tr><td>ScreenGui + Frame + Button</td><td>модалки (вручную, см. G11)</td></tr>
<tr><td>ScreenGui + Frame</td><td>главное меню (вручную)</td></tr>
<tr><td><code>ReplicatedFirst + loading screen</code></td><td>экран загрузки</td></tr>
</tbody>
</table>}
/>
</>
),
},