Advertisement
Cat_in_the_hat

Revival

Jul 1st, 2025 (edited)
417
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.71 KB | None | 0 0
  1. local revivalActive = false
  2. local originalTeams = {}
  3.  
  4. local enableList = {
  5.     "grazem13",
  6.     "hedgesquir",
  7. }
  8.  
  9. local teamBases = {
  10.     Blue = Vector3.new(345, 66, 312),
  11.     Orange = Vector3.new(318, 66, 339),
  12.     Pink = Vector3.new(345, 66, 366),
  13. }
  14.  
  15. local itemList = {
  16.     {item = ItemType.RAGEBLADE, amount = 1},
  17.     {item = ItemType.IRON, amount = 100},
  18. }
  19.  
  20. local respawnDelay = 12
  21.  
  22. local function giveItems(player)
  23.     for _, entry in ipairs(itemList) do
  24.         InventoryService.giveItem(player, entry.item, entry.amount, true)
  25.     end
  26. end
  27.  
  28. local function isEnabledPlayer(player)
  29.     if not player then return false end
  30.     if player.userId == 5008384732 then return true end
  31.     local playerNameLower = player.name:lower()
  32.     for _, name in ipairs(enableList) do
  33.         if playerNameLower == name then
  34.             return true
  35.         end
  36.     end
  37.     return false
  38. end
  39.  
  40. local function addToEnableList(name)
  41.     local lowerName = name:lower()
  42.     for _, existingName in ipairs(enableList) do
  43.         if existingName == lowerName then
  44.             return false
  45.         end
  46.     end
  47.     table.insert(enableList, lowerName)
  48.     return true
  49. end
  50.  
  51. local function isTeamAlive(originalTeam, excludePlayer)
  52.     for _, p in ipairs(PlayerService.getPlayers()) do
  53.         if p ~= excludePlayer and originalTeams[p] == originalTeam then
  54.             local team = TeamService.getTeam(p)
  55.             if team and team.name ~= "Yellow" then
  56.                 return true
  57.             end
  58.         end
  59.     end
  60.     return false
  61. end
  62.  
  63. local function respawnPlayer(player)
  64.     local originalTeam = originalTeams[player]
  65.     if not originalTeam then return end
  66.     TeamService.setTeam(player, originalTeam)
  67.     local basePos = teamBases[originalTeam.name]
  68.     if basePos then
  69.         local entity = player:getEntity()
  70.         if entity then
  71.             entity:setPosition(basePos)
  72.         end
  73.     end
  74.     giveItems(player)
  75. end
  76.  
  77. Events.PlayerChatted(function(event)
  78.     local msg = event.message
  79.     local msgLower = msg:lower()
  80.     local sender = event.player
  81.  
  82.     if msgLower == "/start game 3" then
  83.         if not isEnabledPlayer(sender) then
  84.             MessageService.sendError(sender, "You don't have permission")
  85.             return
  86.         end
  87.  
  88.         revivalActive = true
  89.         originalTeams = {}
  90.  
  91.         for _, player in ipairs(PlayerService.getPlayers()) do
  92.             local team = TeamService.getTeam(player)
  93.             if team then
  94.                 originalTeams[player] = team
  95.             end
  96.         end
  97.  
  98.         for _, player in ipairs(PlayerService.getPlayers()) do
  99.             local team = TeamService.getTeam(player)
  100.             if team and (team.name == "Blue" or team.name == "Pink" or team.name == "Orange") then
  101.                 giveItems(player)
  102.             end
  103.         end
  104.  
  105.         MessageService.sendInfo(sender, "Revival mode turned on")
  106.         return
  107.     end
  108.  
  109.     if msgLower:sub(1, 5) == "/add " then
  110.         if not isEnabledPlayer(sender) then
  111.             MessageService.sendError(sender, "You have no permission")
  112.             return
  113.         end
  114.  
  115.         local newName = msg:sub(6):gsub("^%s*(.-)%s*$", "%1")
  116.         if newName == "" then
  117.             MessageService.sendError(sender, "Please specify a username")
  118.             return
  119.         end
  120.  
  121.         local added = addToEnableList(newName)
  122.         if added then
  123.             MessageService.sendInfo(sender, newName .. " was added to enable list")
  124.         else
  125.             MessageService.sendError(sender, newName .. " is already in the enable list")
  126.         end
  127.         return
  128.     end
  129. end)
  130.  
  131. Events.EntityDeath(function(event)
  132.     if not revivalActive then return end
  133.     local player = event.entity:getPlayer()
  134.     if not player then return end
  135.     local originalTeam = originalTeams[player]
  136.     if not originalTeam then return end
  137.  
  138.     for _, team in ipairs(TeamService.getAllTeams()) do
  139.         if team.name == "Yellow" then
  140.             TeamService.setTeam(player, team)
  141.             break
  142.         end
  143.     end
  144.  
  145.     task.spawn(function()
  146.         local respawntime = respawnDelay
  147.         while respawntime > 0 do
  148.             if not isTeamAlive(originalTeam, player) then
  149.                 MessageService.sendError(player, "Your team has lost")
  150.                 return
  151.             end
  152.             if respawntime % 3 == 0 then
  153.                 MessageService.sendInfo(player, "You will respawn in " .. respawntime .. " seconds ⏳")
  154.             end
  155.             task.wait(1)
  156.             respawntime -= 1
  157.         end
  158.  
  159.         if isTeamAlive(originalTeam, player) then
  160.             respawnPlayer(player)
  161.         else
  162.             MessageService.sendError(player, "Your team has lost")
  163.         end
  164.     end)
  165. end)
Advertisement
Comments
  • Cat_in_the_hat
    8 hours
    # text 0.40 KB | 0 0
    1. Requesthe script = Hedgesquir
    2. How it works only people in enable list can do the/start game 3 command when they say it in chat it now make it so when you die your team switch to yellow and you can revive in respawn seconds =12 seconds to spawn back to your base postion to your og team
    3. BTW if you want add people to enable list while script is running you first need be in the list and say /add<username here >
Add Comment
Please, Sign In to add comment
Advertisement