Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

ROBLOX STUDIO программирование помогите ю

Максим Грудинин Ученик (227), открыт 3 недели назад
как сделать скрипт чтоб система водила команду из HD admin и выдавало там килл ice т.д то есть рамдому,мне надо чтоб система водила команду префикс ; команда rank имя(user) ранг(admin) но мне конкретно надо admin,помогите



пример типо чтоб прикосновение,но мне надо чтоб система выдавало

--do not change anyting else


-- << CONFIGURATION >>
local rank = "VIP"
local rankType = "Server" -- "Temp", "Server" or "Perm". For more info, visit: https://devforum.roblox.com/t/HD/266932
local successColor = Color3.fromRGB(0,255,0)
local errorColor = Color3.fromRGB(255,0,0)



-- << SERVICES/VARIABLES >>
local players = game:GetService("Players")
local tweenService = game:GetService("TweenService")
local debris = game:GetService("Debris")
local hdMain = require(game:GetService("ReplicatedStorage"):WaitForChild("HDAdminSetup")):GetMain()
local hd = hdMain:GetModule("API")
local rankId = tonumber(rank) or hd:GetRankId(rank)
local rankName = hd:GetRankName(rankId)



-- << MAIN >>
--Touch Pad
for a,b in pairs(script.Parent:GetChildren()) do
local touchPart = b:FindFirstChild("TouchPart")
if touchPart then
local touchDe = {}
local originalColor = touchPart.Color
local particles = touchPart.Particles
touchPart.Touched:Connect(function(hit)
local character = hit.Parent
local player = players:GetPlayerFromCharacter(character)
if player and not touchDe[player] then
touchDe[player] = true

--Check rank is lower than giver rank
local plrRankId, plrRankName, plrRankType = hd:GetRank(player)
local newColor = errorColor
if plrRankId < rankId then
--Give rank
hd:SetRank(player, rankId, rankType)
newColor = successColor
else
local errorMessage = "Your rank is already higher than '"..rankName.."'!" --set your rank are higher, message here
if plrRankId == rankId then
errorMessage = "You've already been ranked to '"..rankName.."'!" --set alerdy rank, message here
end
hd:Error(player, errorMessage)
end

--Change pad color
touchPart.Color = newColor
--Color3.BlueCircle (70, 135, 255)
--Color3.TouchPart (248, 248, 248)
--Color3.BlackCircle (100, 100, 100)

--Success effect
if newColor == successColor then
local hrp = character:FindFirstChild("HumanoidRootPart")
if hrp and particles then
local particlesClone = particles:Clone()
debris:AddItem(particlesClone, 3)
particlesClone.Parent = hrp
for _, effect in pairs(particlesClone:GetChildren()) do
effect:Emit(2)
end
end
end

--Revert pad color
local tween = tweenService:Create(touchPart, TweenInfo.new (2), {Color = originalColor})
tween:Play()
tween.Completed:Wait()

touchDe[player] = false
end
end)
end
end
1 ответ
Святослав Ясновидец Мыслитель (8640) 3 недели назад
The provided code snippet appears to handle particle effects and visual feedback in Roblox, but there are a few considerations and potential improvements based on the knowledge base and best practices:

1. **Particle Cloning and Debris Handling**:
- The `Debris:AddItem(particlesClone, 3)` schedules the cloned particles for removal after 3 seconds. This is valid, as `Debris:AddItem` uses `Remove()` (not `Destroy()`) to unparent the object, which will be destroyed if no other references exist .
- However, you should parent `particlesClone` **before** adding it to Debris to ensure it exists in the instance hierarchy. The current code parents it *after* adding to Debris, which might still work but is non-standard .
```lua
particlesClone.Parent = hrp -- Parent first
debris:AddItem(particlesClone, 3) -- Then add to Debris
```

2. **Particle Emission**:
- The loop `for _, effect in pairs(particlesClone:GetChildren()) do effect:Emit(2) end` assumes all children are `ParticleEmitter` instances. To avoid errors, check their type or ensure the original `particles` model only contains valid emitters.
- If particles are initially disabled (e.g., in the starter pack), enable them first:
```lua
effect.Enabled = true
effect:Emit(2)
```
This aligns with troubleshooting in and , where enabling effects is critical for emission.

3. **Tween Blocking**:
- The `tween.Completed:Wait()` blocks the script until the tween finishes. This could freeze the game if used in a critical thread. Instead, use a callback:
```lua
tween:Play()
tween.Completed:Connect(function()
touchDe[player] = false
end)
```
This avoids yielding and improves concurrency .

4. **Parenting and Cleanup**:
- Ensure `hrp` is a valid parent (e.g., a part in the workspace). If `particlesClone` is not parented correctly, it won’t appear even if added to Debris.
- If the particles are complex (e.g., using `Particle Root Nodes` ), verify their structure matches the expected hierarchy.

5. **Lifetime Management**:
- The Debris lifetime of `3` seconds should exceed the emission duration to prevent premature removal. Adjust if particles need longer visibility.

### Final Adjusted Code Snippet:
```lua
local particlesClone = particles:Clone()
particlesClone.Parent = hrp -- Parent first
debris:AddItem(particlesClone, 3) -- Then add to Debris

for _, effect in pairs(particlesClone:GetChildren()) do
if effect:IsA("ParticleEmitter") then -- Ensure it's an emitter
effect.Enabled = true
effect:Emit(2)
end
end

-- Revert pad color without blocking
local tween = tweenService:Create(touchPart, TweenInfo.new(2), {Color = originalColor})
tween:Play()
tween.Completed:Connect(function()
touchDe[player] = false
end)
```

### Key References:
- Debris behavior and `Remove()` ,
- Particle emission and enabling ,
- Non-blocking tweens
Святослав Ясновидец Мыслитель (8640) 3 недели назад
Вот я помог тебе? ??можешь мне перевести денег на карту за помощь? 2204120122128917?
Максим Грудинин Ученик (227) Святослав Ясновидец , не работает
Похожие вопросы