Hello friends. I have a problem on my server whenever someone dies it is not respawn.
and having a problem: Bad Argument @ 'destroyElement'
I'm using Gangwar [rus] by spawn.
I would like to know how to solve these problems and if there is any gangwar each other so I can use.
Script:
----------//\\-----------
---//GangWar gamemode by SpawN\\---
----------\\//-----------
--//Создаём команды банд
Groov_Street = createTeam("Groov Street", 0, 179, 4)
--setTeamFriendlyFire(Groov_Street , false)
Ballas = createTeam("Ballas", 211, 0, 174)
--setTeamFriendlyFire(Ballas , false)
Aztec = createTeam("Aztec", 0, 219, 222)
--setTeamFriendlyFire(Aztec , false)
LSPD = createTeam("LSPD", 100, 149, 237)
--setTeamFriendlyFire(LSPD , false)
--//Таблица респавнов.
Respawns = {["Groov Street"] = {2498.6701660156, -1684.5754394531, 13.416213035583}, ["Ballas"] = {2172.3395996094, -1794.5, 13.361840248108}, ["Aztec"] = {1828.4742431641, -1682.5, 13.546875} ,["LSPD"] = {1579.728515625, -1635.6196289063, 13.560563087463}}
Weapons1 = {}
Weapons2 = {}
Weapons3 = {}
blipPlayers = {}
--//Спавн игрока.
function playerSpawn(GangName, SkinID, WeaponSlot1, WeaponSlot2, WeaponSlot3)
spawnPlayer(source, Respawns[GangName][1],Respawns[GangName][2],Respawns[GangName][3], 0, SkinID, 0, 0)
setPlayerTeam(source, getTeamFromName(GangName))
fadeCamera(source, true)
setCameraTarget(source, source)
if WeaponSlot1 then
giveWeapon(source, WeaponSlot1, 350, true)
Weapons1[getPlayerName(source)] = WeaponSlot1
end
if WeaponSlot2 then
giveWeapon(source, WeaponSlot2, 250, true)
Weapons2[getPlayerName(source)] = WeaponSlot2
end
if WeaponSlot3 then
giveWeapon(source, WeaponSlot3, 50, false)
Weapons3[getPlayerName(source)] = WeaponSlot3
end
setPlayerMoney(source, getAccountData(getPlayerAccount(source),"money"))
setPlayerNametagText(source, getPlayerName(source).."["..getElementData(source,"id").."]")
local r,g,b = getTeamColor(getTeamFromName(GangName))
blipPlayers[getPlayerName(source)] = createBlipAttachedTo(source, 0, 3, r, g, b, 255, 0, 99999.0)--//Приклеиваем к игроку блип(иконку), под цвет команды.
showPlayerHudComponent(source,"radar", true)
showPlayerHudComponent(source,"area_name", true)
for i = 69,79 do
setPedStat(source, i, 999)
end
end
addEvent("playerSpawn", true)
addEventHandler("playerSpawn", getRootElement(), playerSpawn)
--//Респавн игрока после смерти.
function RespawnPlayer(source, skin)
local teamNeme = getTeamName(getPlayerTeam(source))
spawnPlayer(source, Respawns[teamNeme][1],Respawns[teamNeme][2],Respawns[teamNeme][3], 0, skin, 0, 0)
if Weapons1[getPlayerName(source)] then
giveWeapon(source, Weapons1[getPlayerName(source)], 350, true)
end
if Weapons2[getPlayerName(source)] then
giveWeapon(source, Weapons2[getPlayerName(source)], 250, true)
end
if Weapons3[getPlayerName(source)] then
giveWeapon(source, Weapons3[getPlayerName(source)], 50, false)
end
if (isPedHeadless(source) == true) then--//Добовляем игроку голову есле её нет.
setPedHeadless(source, false)
end
end
--//Респавн игрока после смерти.
function respawnDead(ammo, attacker, weapon, bodypart)
if attacker then
if (getElementType(attacker) == "player") then
setPlayersStatsIFattackerPlayer(source, attacker)
elseif (getElementType(attacker) == "vehicle") then
setPlayersStatsIFattackerVehicle(source, attacker)
end
end
if (getElementData(source,"F4") == false) then
setTimer(RespawnPlayer, 5000, 1, source, getPlayerSkin(source))
elseif (getElementData(source,"F4") == true) then
setTimer(triggerClientEvent, 5000, 1, "step1gangs", source)
setElementData(source,"F4", false)
end
end
addEventHandler("onPlayerWasted", getRootElement(), respawnDead)
--//Удоляем при респавне автомобиля, данную о том кто в неё стрелял, в результате чего она взорвалась.
playersDamageVihecle = {}--//Таблица Атакуещих автомобилей (есле после них тачка загарелась).
function onVehicleRespawn(exploded)
if (getElementType(source) == "vehicle") then
if playersDamageVihecle[source] then
playersDamageVihecle[source] = nil
if not playersDamageVihecle[source] then
outputChatBox("#CC0033[СЕРВЕР]: #339933 Эту машиун убрали с масива, транспорт взорваный игроками.!", getRootElement(), 0, 0, 0,true)
end
end
end
end
addEventHandler("onVehicleRespawn", getRootElement(), onVehicleRespawn)
--//Функция изсеняющяя статистику игроков. Умершего и убийцы.(Есле атакующий игрок)
function setPlayersStatsIFattackerPlayer(HitPlayer, attacker)
local accountAttacker = getPlayerAccount(attacker)
local accountHitPlayer = getPlayerAccount(HitPlayer)
setAccountData(accountHitPlayer, "Deads", getAccountData(accountHitPlayer, "Deads")+1)
if (attacker ~= HitPlayer) then --//Если это не самоубийство.
setAccountData(accountAttacker, "Kills", getAccountData(accountAttacker, "Kills")+1)
givePlayerMoney(attacker, 500)
takePlayerMoney(HitPlayer, 500)
end
end
--//Функция сробатывающяя когда игрок, задавлен тачкой.
function setPlayersStatsIFattackerVehicle(HitPlayer, vehicle)
local theAttacker = getVehicleOccupant(vehicle, 0)
if (theAttacker) then
setAccountData(getPlayerAccount(HitPlayer), "Deads", getAccountData(getPlayerAccount(HitPlayer), "Deads")+1)
setAccountData(getPlayerAccount(theAttacker), "Kills", getAccountData(getPlayerAccount(theAttacker), "Kills")+1)
takePlayerMoney(HitPlayer, 500)
givePlayerMoney(theAttacker, 500)
else
setAccountData(getPlayerAccount(HitPlayer), "Deads", getAccountData(getPlayerAccount(HitPlayer), "Deads")+1)
end
end
function quitPlayer()
local playername = getPlayerName(source)
destroyElement(blipPlayers[playername])--//Удоляем блип обозначающий местоположение игрока на радаре.
local theAccount = getPlayerAccount(source)
setAccountData(theAccount, "money", getPlayerMoney(source))
end
addEventHandler("onPlayerQuit", getRootElement(), quitPlayer)
--//Биндим клавишу F4
function joinplayerBindkey()
bindKey(source,"F4", "down", nextGang)
end
addEventHandler("onPlayerJoin",getRootElement(),joinplayerBindkey)
--//F4 смена команды. После смерти.
function nextGang(player, key, keyState)
if (getElementData(player,"F4") == false) or (not getElementData(player,"F4")) then
outputChatBox("#CC0033[СЕРВЕР]: #339933Вы включили выход в меню выбора банды, после смерти.", player, 0, 0, 0,true)
setElementData(player,"F4", true)
elseif (getElementData(player,"F4") == true) then
outputChatBox("#CC0033[СЕРВЕР]: #339933Вы выключили выход в меню выбора банды, после смерти.", player, 0, 0, 0,true)
setElementData(player,"F4", false)
end