ΠΡΡΠ³ΠΎΠ΅ Β· 12 ΠΌΠΈΠ½
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π°Π½Π° Π² Roblox Studio
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π°Π½Π° Π² Roblox Studio. Π‘ΠΊΡΠΈΠΏΡ Π½Π° Lua, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° DataStore, Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΎΠ±Ρ ΠΎΠ΄Π° ΠΈ ΡΠ°ΡΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΠΏΡΠ΅ΡΠ° Π΄ΠΎΡΡΡΠΏΠ° (Π±Π°Π½Π°) Π² Roblox Studio ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³ΠΎΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Lua ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²Π΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΡΡΡΡ ΠΈΠ³Ρ, Π³Π΄Π΅ ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π· Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»Ρ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π±Π°Π½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²Ρ ΠΎΠ΄Π° ΠΈΠ³ΡΠΎΠΊΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ DataStore, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π½Π°ΡΡΡΠΈΡΠ΅Π»ΡΡ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Roblox.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΡΠΊΡΠΈΠΏΡΠ°: ΠΊΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ°ΡΡΡΠ° ΠΈΠ³ΡΠΎΠΊΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΡΡΠΎΠ³ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ (Server Script), ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ΄ (LocalScript) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΡΠΊΡΠΏΠ»ΠΎΠΉΡΠ΅ΡΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π΅ΠΌΡ Π²ΠΎΠΉΡΠΈ Π² ΠΈΠ³ΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎ Π΄ΠΎΠΏΡΡΠΊΠ΅ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠΌ ΠΏΡΠΈ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΠΈΠ³ΡΠΎΠΊΠ°.
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π±Π°Π½Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΊΠΈΠ΄ΡΠ²Π°Π΅Ρ ΠΈΠ³ΡΠΎΠΊΠ° ΠΈΠ· ΠΈΠ³ΡΡ, Π½ΠΎ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΎΡ ΡΠ°Π½ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (UserId) Π² ΡΠΏΠΈΡΠΊΠ΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΡ . ΠΠ°ΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π±Π°Π½Π°, ΠΈΠ½Π°ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠ° Π² ΡΠΊΡΠΈΠΏΡΠ΅ ΠΈΠ»ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ°Π½ΡΡ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΠΌΠΈ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π΄Π΅ΡΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΠΈ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π΄Π»Ρ ΠΊΠΎΠ΄Π°. Π ΠΎΠΊΠ½Π΅ Explorer (ΠΠ±ΠΎΠ·ΡΠ΅Π²Π°ΡΠ΅Π»Ρ) Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΡ ServerScriptService. ΠΠΌΠ΅Π½Π½ΠΎ Π·Π΄Π΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠΊΡΠΈΠΏΡΡ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΈΠ³ΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ Script (Π½Π΅ LocalScript) ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "BanSystem". Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Π² Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ StarterPlayer ΠΈΠ»ΠΈ Workspace, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ»ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π΅Π½ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ, ΡΡΠΎ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ.
ΠΠ½ΡΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ `DataStoreService` Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π±Π°Π½Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ `Players` Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ. DataStore Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΎΠ±Π»Π°ΡΠ½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΡΠΈΡΠΌΠΈ. ΠΠ΅Π· Π½Π΅Π³ΠΎ Π±Π°Π½ Π±ΡΠ΄Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ.
ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ DataStore. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄ `GetDataStore`, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "BannedUsers". ΠΡΠΎ ΠΈΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΊΠ»ΡΡΠΎΠΌ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΈΠ³ΡΠ° ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Roblox. ΠΠ°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±Π°Π½Π°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»Ρ Π΄Π»Ρ ΡΠ°Π·Π±Π°Π½Π°), ΡΡΠΎΠ±Ρ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ»ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ.
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local BanStore = DataStoreService:GetDataStore("BannedUsers")ΠΠΎΠ³ΠΈΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈΠ³ΡΠΎΠΊΠ° ΠΏΡΠΈ Π²Ρ ΠΎΠ΄Π΅ Π² ΠΈΠ³ΡΡ
ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ `PlayerAdded`. ΠΡΠΎΡ ΡΠΈΠ³Π½Π°Π» ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Ρ ΠΎΠ΄ΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. Π‘ΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Β«ΡΠ»ΡΡΠ°ΡΡΒ» ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΠ°ΡΡΡ Π²ΠΎΡΠ΅Π΄ΡΠ΅Π³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π°ΠΉΠΌΠ΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ, ΠΈΠ³ΡΠΎΠΊ ΡΡΠΏΠ΅Π΅Ρ Π·Π°ΡΠΏΠ°Π²Π½ΠΈΡΡΡΡ Π² ΠΌΠΈΡΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π΅Π³ΠΎ Π²ΡΠΊΠΈΠ½ΡΡ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΠΉ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΡ `UserId` ΠΈΠ³ΡΠΎΠΊΠ°. ΠΡΠΎ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° ΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΡΠΌΠ΅Π½Π΅ Π½ΠΈΠΊΠ½Π΅ΠΉΠΌΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Username) Π΄Π»Ρ Π±Π°Π½Π° Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, ΠΈ ΡΠΎΠ³Π΄Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ. `UserId` ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°.
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ID Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ ΠΊ DataStore. ΠΠ΅ΡΠΎΠ΄ `GetAsync` ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΡΡΠΈΠΌ ΠΊΠ»ΡΡΠΎΠΌ. ΠΡΠ»ΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ID, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Π±Π°Π½Π΅Π½. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡΠ΅ΡΠ²Π°ΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ° ΠΈ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΊΠΈΠΊΠ°. ΠΡΠ»ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΡΡΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΈ ΠΈΠ³ΡΠΎΠΊ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΈΠ³ΡΠ°ΡΡ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ (Kick)
ΠΠΎΠ³Π΄Π° ΡΠ°ΠΊΡ Π±Π°Π½Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ `Kick`, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ³ΡΠΎΠΊΠ°. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²ΠΈΠ΄ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²Ρ ΠΎΠ΄Π°. ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ΅ΡΠΊΠΈΠΌ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: Β«ΠΡ Π·Π°Π±Π°Π½Π΅Π½Ρ Π² ΡΡΠΎΠΉ ΠΈΠ³ΡΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠΈΒ».
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ `Kick` ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ. ΠΠ΅Π· Π·Π°ΠΏΠΈΡΠΈ Π² DataStore ΠΈΠ³ΡΠΎΠΊ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΉΡΠΈ ΡΠ½ΠΎΠ²Π° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½: ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΈΠΊ. Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΌ ΡΠ°ΠΊΡ Π½Π°Π»ΠΈΡΠΈΡ ΠΊΠ»ΡΡΠ° Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΡΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π±Π°Π½Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Ρ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°.
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΊΠΈΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΡΠ°Π½ΠΈΡΠ΅ ΠΈΡ Π² Π±Π°Π·Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ Π±Π°Π½Π° ΠΈ Π΄Π°ΡΡ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ°Π½ΠΊΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° `Kick` ΡΠΊΡΠΈΠΏΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°, ΠΈ ΠΎΠ½ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΈΠ³ΡΠΎΠ²ΡΠΌ ΠΌΠΈΡΠΎΠΌ, ΡΠ°ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π²ΡΠ΄Π°ΡΠΈ Π±Π°Π½Π°
Π§ΡΠΎΠ±Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π»Π°, Π½ΡΠΆΠ΅Π½ ΡΠΏΠΎΡΠΎΠ± Π·Π°Π½Π΅ΡΡΠΈ ΠΈΠ³ΡΠΎΠΊΠ° Π² ΡΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. ΠΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ°ΡΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΊΡΠΈΠΏΡ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ `Chatted` Ρ ΠΈΠ³ΡΠΎΠΊΠΎΠ² Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠ°Π½Π³ΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅Π² ΠΈΠ³ΡΡ ΠΈΠ»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ²). ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½Π°, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΈΠ³ΡΠΎΠΊΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Π°Π½ΠΈΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°.
ΠΠΎΠ³ΠΈΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ: ΠΈΠ³ΡΠΎΠΊ ΠΏΠΈΡΠ΅Ρ Π² ΡΠ°Ρ Β«!ban <ΠΠΌΡΠΠ³ΡΠΎΠΊΠ°> <ΠΡΠΈΡΠΈΠ½Π°>Β». Π‘ΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΉΡΠΈ ΠΈΠ³ΡΠΎΠΊΠ° ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ `Players:GetPlayers()`, ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ `UserId` ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎΡ ID Π² DataStore Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° `SetAsync`. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π±Π°Π½Π° ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, Π΅ΡΠ»ΠΈ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±Π°Π½ΠΎΠ².
- 1ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΏΠΈΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ°Ρ
- 2Π‘ΠΊΡΠΈΠΏΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΡΠ°Π²Π° Π°Π΄ΠΌΠΈΠ½Π°
- 3ΠΠ°Ρ ΠΎΠ΄ΠΈΡΡΡ UserId ΠΆΠ΅ΡΡΠ²Ρ
- 4ΠΠ°ΠΏΠΈΡΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² DataStore
- 5ΠΠ³ΡΠΎΠΊ ΠΊΠΈΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄Π΅
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π°ΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΈΠ³ΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠ»Π°ΠΉΠ½. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π±Π°Π½Π° ΠΏΠΎ `UserId` Ρ ΠΎΡΠΎΡΠ° ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π±Π°Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ Π² ΠΈΠ³ΡΠ΅. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π½Π°ΡΡ Π΅Π³ΠΎ ID ΠΈΠ»ΠΈ ΡΠΎΡΠ½ΡΠΉ Π½ΠΈΠΊΠ½Π΅ΠΉΠΌ (Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ID ΡΠ΅ΡΠ΅Π· ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ API ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ). ΠΠ°ΠΏΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π²Ρ ΠΎΠ΄Π°, Π΄Π°ΠΆΠ΅ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΡΡ, Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ Π·Π°ΡΠΈΡΠ° ΠΎΡ ΡΠ±ΠΎΠ΅Π²
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΊ DataStore Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠΏΡΡΠΆΠ΅Π½Π° Ρ ΡΠΈΡΠΊΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ. Π‘Π΅ΡΠ²ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½, ΠΈΠ»ΠΈ Π»ΠΈΠΌΠΈΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅Π²ΡΡΠ΅Π½Ρ. ΠΡΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Β«Π²ΡΠ»Π΅ΡΠ΅ΡΡΒ» (ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ) ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΡΠ΅ΡΡΠΈΠΈ, ΠΈ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ³ΡΠΎΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π½Π° Π±Π°Π½. ΠΠ»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±Π΅ΡΠ½ΡΡΡ Π² `pcall`.
Π€ΡΠ½ΠΊΡΠΈΡ `pcall` (protected call) Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ΄ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ: Π±ΡΠ»Π΅Π²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΏΠ΅Ρ Π° ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ (ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅). ΠΡΠ»ΠΈ `pcall` Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ `false`, Π·Π½Π°ΡΠΈΡ, ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΈΠ³ΡΠΎΠΊΡ Π²ΠΎΠΉΡΠΈ (fail-open), ΡΠ΅ΠΌ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅Ρ ΠΈΠ³ΡΠΎΠΊΠΎΠ² ΠΈΠ·-Π·Π° ΡΠ±ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Roblox. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΡ ΠΈΠ³Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΡΡΠΈΡΡΠ²Π°ΡΡ Π»ΠΈΠΌΠΈΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². Roblox ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ DataStore Π² ΠΌΠΈΠ½ΡΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ° ΠΏΡΠΈ Π²Ρ ΠΎΠ΄Π΅, ΠΈ Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΡΠΎΠ²ΡΠΉ Π·Π°Ρ ΠΎΠ΄ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 50 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π·Π° ΠΌΠΈΠ½ΡΡΡ), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΠ΅ΡΠ΅ΡΡΡΡ Π² Π»ΠΈΠΌΠΈΡ. ΠΠ»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π±Π°Π½Π΅Π½Π½ΡΡ ID Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΈΠ³ΡΡ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°Π½ΠΎΠ² Π½Π΅ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎ, ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈΠ³ΡΠΎΠΊΠΎΠ² ΠΏΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ Π΅Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π·Π±Π°Π½Π° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠΌ
Π Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ½ΡΡΡ Π±Π°Π½. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ `UserId` ΠΈΠ· DataStore. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° `DeleteAsync` ΠΈΠ»ΠΈ `SetAsync` ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ `nil`. ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π±Π°Π½ΠΎΠΌ, ΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ². ΠΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ Β«!unban <ΠΠΌΡΠΠ³ΡΠΎΠΊΠ°>Β».
ΠΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·Π±Π°Π½Π° Π²Π°ΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠΊΡΠΈΠΏΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·Π±Π°Π½ΠΈΡΡ. ΠΡΠ»ΠΈ ΠΈΠ³ΡΠΎΠΊ ΠΎΠ½Π»Π°ΠΉΠ½, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Players:FindFirstChild()`. ΠΡΠ»ΠΈ ΠΎΡΡΠ»Π°ΠΉΠ½, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΊΠ°ΡΡ Π΅Π³ΠΎ ID ΠΏΠΎ Π½ΠΈΠΊΠ½Π΅ΠΉΠΌΡ ΡΠ΅ΡΠ΅Π· API Roblox ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΉ. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΡΠ½ΠΈΠΌΠ°Π΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ, ΠΈ ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ `GetAsync` Π²Π΅ΡΠ½Π΅Ρ `nil`, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΈΠ³ΡΠΎΠΊΡ Π²ΠΎΠΉΡΠΈ.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΡΡ Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»Ρ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ (ScreenGui), ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π±Π°Π½Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΠ΅ΡΠ΅Π· `RemoteEvent`. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°Ρ-ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅ ΠΈ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π°ΡΡΡΡ Π²Π·Π»ΠΎΠΌΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΠΆΠ΅ΠΊΡΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ², Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ°Π² ΡΠ΄Π΅Π»Π°Π½Π° Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ
ΠΠ°Π΄Π΅ΠΆΠ½ΠΎ, ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠ°ΡΡΠ°, ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΡΡΡΡΠΎ, Π½Π΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ΅ΡΠΈ, Π½ΠΎ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ°
Π‘Π°ΠΌΡΠΉ ΡΡΠ·Π²ΠΈΠΌΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π² Π»ΡΠ±ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΠΈ β ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ°Π² ΡΠΎΠ³ΠΎ, ΠΊΡΠΎ Π²ΡΠ΄Π°Π΅Ρ Π±Π°Π½. ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π² Π²ΠΎΠΏΡΠΎΡΠ΅ Β«ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΡΠΎΡ ΠΈΠ³ΡΠΎΠΊ Π°Π΄ΠΌΠΈΠ½ΠΎΠΌΒ». Π‘ΠΏΠΈΡΠΎΠΊ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΆΠ΅ΡΡΠΊΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ΅ (ΡΠ΅ΡΠ΅Π· ΡΠ°Π±Π»ΠΈΡΡ `UserId`) ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, HD Admin ΠΈΠ»ΠΈ CMD, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ).
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ²ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ `Admins = {12345678, 87654321}` ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ `UserId` ΠΈΠ³ΡΠΎΠΊΠ° Π² ΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎ ΡΠ°Π½Π³Ρ Π² Π³ΡΡΠΏΠΏΠ΅ (Group Role) Π±Π΅Π· ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π³ΡΡΠΏΠΏΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ ΠΈΠ»ΠΈ ΡΡΠ·Π²ΠΈΠΌΡΠΌ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅Π»Π°Π½. ΠΠΎΡΡΠΎΠΌΡ Π»ΠΎΠ³ΠΈΠΊΠ° Β«Π΅ΡΠ»ΠΈ Ρ Π½Π°ΠΆΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡ, Π·Π°Π±Π°Π½Ρ ΠΈΠ³ΡΠΎΠΊΠ°Β» Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊ: ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΈΠ³Π½Π°Π» Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, Π° ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°ΠΌ ΡΠ΅ΡΠ°Π΅Ρ, ΠΈΠΌΠ΅Π΅Ρ Π»ΠΈ ΠΏΡΠ°Π²ΠΎ ΡΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Π²ΡΠ΄Π°Π²Π°ΡΡ Π±Π°Π½. ΠΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΡΠ°Π²Π°, Π° ΡΠ»Π΅ΠΏΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π»ΡΠ±ΠΎΠΉ ΡΠΈΡΠ΅Ρ ΡΠΌΠΎΠΆΠ΅Ρ Π·Π°Π±Π°Π½ΠΈΡΡ Π²ΡΡ ΠΈΠ³ΡΡ.
ΠΠ°ΠΊ Π·Π°Π±Π°Π½ΠΈΡΡ ΠΈΠ³ΡΠΎΠΊΠ°, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ Π² ΠΈΠ³ΡΠ΅?
ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ·Π½Π°ΡΡ Π΅Π³ΠΎ UserId (ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΡ Roblox ΠΈΠ»ΠΈ API). ΠΠ°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·Π±Π°Π½Π°/Π±Π°Π½Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ID Π½Π°ΠΏΡΡΠΌΡΡ, ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Studio (Command Bar), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ `BanStore:SetAsync(UserId, "Reason")`. ΠΡΠΎ Π·Π°ΠΏΠΈΡΠ΅Ρ Π±Π°Π½ Π² Π±Π°Π·Ρ, ΠΈ ΠΎΠ½ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄Π΅.
ΠΠΎΡΠ΅ΠΌΡ ΠΌΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ DataStore?
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΡΡΠ΅ΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ: Π²Ρ ΡΠ΅ΡΡΠΈΡΡΠ΅ΡΠ΅ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· ΡΠΌΡΠ»ΡΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° (Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ Play Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Server), Π²Ρ ΠΏΡΠ΅Π²ΡΡΠΈΠ»ΠΈ Π»ΠΈΠΌΠΈΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΈΠ»ΠΈ Π²Ρ Π½Π΅ ΠΎΠ±Π΅ΡΠ½ΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ Π² pcall. Π’Π°ΠΊΠΆΠ΅ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΈΠ³ΡΡ (API Services) Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π±Π°Π½?
ΠΠ°. ΠΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² DataStore ΡΠΎΡ ΡΠ°Π½ΡΠΉΡΠ΅ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ»Π°Π³, Π° timestamp (Π²ΡΠ΅ΠΌΡ) ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π±Π°Π½Π°. ΠΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ Π²Ρ ΠΎΠ΄Π° ΡΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΠΉΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ `os.time()`. ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π·Π±Π°Π½Π°, ΡΠ΄Π°Π»ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΡ ΠΈ ΠΏΡΡΡΠΈΡΠ΅ ΠΈΠ³ΡΠΎΠΊΠ°.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Ρ Π·Π°Π±Π°Π½ΠΈΠ» ΡΠ°ΠΌ ΡΠ΅Π±Ρ?
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Command Bar Π² Roblox Studio Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈΠ³ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·Π±Π°Π½Π° Π½Π°ΠΏΡΡΠΌΡΡ. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΎΠ±Π»Π°ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Roblox (Π΅ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ) ΠΈΠ»ΠΈ ΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΉΡΠΈ Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π±Π°Π½ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ.
ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π±Π°Π½Π°?
ΠΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½ΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΠΈ. Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ³ΡΠΎΠΊΡ ΠΏΠΎΠ½ΡΡΡ, Π·Π° ΡΡΠΎ ΠΎΠ½ Π½Π°ΠΊΠ°Π·Π°Π½, Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌ β Π²ΠΈΠ΄Π΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ Π°ΠΏΠ΅Π»Π»ΡΡΠΈΠΉ.
Π Π°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ Π±Π°Π½ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΈΠ³ΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°?
ΠΠ΅Ρ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ DataStore ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΠ΅ (Place ID). Π§ΡΠΎΠ±Ρ Π±Π°Π½ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π» Π²ΠΎ Π²ΡΠ΅Ρ Π²Π°ΡΠΈΡ ΠΈΠ³ΡΠ°Ρ , Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Global Data Store (ΡΠ΅ΡΠ΅Π· Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π³ΡΡΠΏΠΏΡ ΠΈΠ»ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ), Π½ΠΎ ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ Π³ΡΡΠΏΠΏΡ.