0 Üye ve 1 Ziyaretçi konuyu incelemekte.
function wastedplayer ()playerskin = getPlayerSkin ( source ) -- oyuncunun skinini çektiksetTimer(spawnPlayer, 3000, 1, source, 2224, 1347, 20, 0, playerskin) -- oyuncuyu spawnladık spawn kordinatlarını kendine göre ayarlasetCameraTarget(source, source) -- oyuncunun kamera açısını düzlettikendaddEventHandler ( "onPlayerWasted", getRootElement(), wastedplayer ) -- wastedplayer adlı fonksiyonumuzu tetikledik oyuncu öldüğü zaman
------------------------------------------------------------------------------------------------------- TABLES -------------------------------------------------------------------------------------------------------local antiSpamSave = { }local setting = { }------------------------------------------------------------------------------------------------------- SETTINGS --------------------------------------------------------------------------------------------------------- Save Data Settingsetting.position = not get("position") == "false" and toJSON(split(get("position"), ", ")) or falsesetting.rotation = tonumber(get("rotation")) or falsesetting.interior = tonumber(get("interior")) or falsesetting.dimension = tonumber(get("dimension")) or falsesetting.team = tostring(get("team")) or falsesetting.skin = tonumber(get("skin")) or false--setting.data = not get("elementData") == "false" and split(get("elementData"), ", ") or false-- Other Settingsetting.loadOnStartResource = not get("loadOnStartResource") == "false" and true or falsesetting.saveCommand = not get("saveCommand") == "false" and true or falsesetting.saveTime = tonumber(get("rotation")) or false------------------------------------------------------------------------------------------------------- CUSTOM EVENTS -------------------------------------------------------------------------------------------------------addEvent("onAccountLoadData", true)addEventHandler("onAccountLoadData", root,function (account) local position = getAccountData(account, "position") or setting.position local rot = getAccountData(account, "rotation") or setting.rotation local int = getAccountData(account, "interior") or setting.interior local dim = getAccountData(account, "dimension") or setting.dimension local teamName = getAccountData(account, "team") or setting.team local skin = getAccountData(account, "skin") or setting.skin local health = getAccountData(account, "health") local armor = getAccountData(account, "armor") local money = getAccountData(account, "money") local wanted = getAccountData(account, "wantedlevel") local clothes = getAccountData(account, "clothes") local stats = getAccountData(account, "stats") local weapons = getAccountData(account, "weapons") --local datas = getAccountData(account, "datas") local x, y, z = unpack(fromJSON(position) or {nil}) local team = teamName and getTeamFromName(teamName) or nil if position then spawnPlayer(source, x, y, z, rot, skin, int, dim, team) end if health then setElementHealth(source, health) end if armor then setPedArmor(source, armor) end if money then setPlayerMoney(source, money) end if wanted then setPlayerWantedLevel(source, wanted) end if (clothes) then removeAllPedClothes(source) for _, clothe in pairs(fromJSON(clothes)) do local type, texture, model = unpack(clothe) addPedClothes(source, type, texture, model) end end if (stats) then for stat, value in pairs(fromJSON(stats)) do setPedStat(source, stat, value) end end if (weapons) and not (isPlayerDead(source)) then takeAllWeapons(source) for weapon, ammo in pairs(fromJSON(weapons)) do giveWeapon(source, weapon, ammo, true) end end --[[if (datas) and (setting.data) then for key, value in pairs(fromJSON(datas)) do setElementData(source, key, value) end end]] setCameraTarget(source, source) fadeCamera(source, true, 2.0) end) addEvent("onAccountSaveData", true)addEventHandler("onAccountSaveData", root,function (account) local accountName = getAccountName(account) local x, y, z = getElementPosition(source) local _, _, rot = getElementRotation(source) local int = getElementInterior(source) local dim = getElementDimension(source) local team = getPlayerTeam(source) local skin = getElementModel(source) local health = getElementHealth(source) local armor = getPedArmor(source) local money = getPlayerMoney(source) local wanted = getPlayerWantedLevel(source) local position = toJSON({x, y, z}) local teamName = team and getTeamName(team) or nil local clothes = getAllPedClothes(source) local stats = getAllPedStats(source) local weapons = getAllPedWeapon(source) --local datas = getAllElementDatas(source) setAccountData(account, "position", position) setAccountData(account, "rotation", rot) setAccountData(account, "interior", int) setAccountData(account, "dimension", dim) setAccountData(account, "team", teamName) setAccountData(account, "skin", skin) setAccountData(account, "health", health) setAccountData(account, "armor", armor) setAccountData(account, "money", money) setAccountData(account, "wantedlevel", wanted) setAccountData(account, "clothes", toJSON(clothes)) setAccountData(account, "stats", toJSON(stats)) if (weapons) and and not (isPlayerDead(source)) then setAccountData(account, "weapons", toJSON(weapons)) end --if datas then setAccountData(account, "datas", toJSON(datas)) end outputChatBox("Successfully your data saved", source, 0, 255, 0) outputDebugString(getPlayerName(source).." Successfully his data saved with account: "..accountName, 3)end)------------------------------------------------------------------------------------------------------- EVENTS -------------------------------------------------------------------------------------------------------addEventHandler("onPlayerSpawn", root,function ( ) local account = getPlayerAccount(source) if (account) and not (isGuestAccount(account)) then local weapons = getAccountData(account, "weapons") if (weapons) and (fromJSON(weapons)) then takeAllWeapons(source) for weapon, ammo in pairs(fromJSON(weapons)) do giveWeapon(source, weapon, ammo, true) end end end end)addEventHandler("onPlayerWasted", root,function ( ) local account = getPlayerAccount(source) if (account) and not (isGuestAccount(account)) then local weapons = getAllPedWeapon(source) setAccountData(account, "weapons", toJSON(weapons)) endend)addEventHandler("onPlayerLogin", root,function (_, account) triggerEvent("onAccountLoadData", source, account)end)addEventHandler("onResourceStart", resourceRoot, function (resource) if (setting.saveTime) then setTimer(triggerEvent, setting.saveTime, 0, "onAccountSaveData", source, account) end if not (setting.loadOnStartResource) then return end for _, thePlayer in pairs(getElementsByType("player")) do local account = getPlayerAccount(thePlayer) if (account) and not (isGuestAccount(account)) then triggerEvent("onAccountLoadData", thePlayer, account) end endend)addEventHandler("onPlayerQuit", root,function ( ) local account = getPlayerAccount(source) if (account) and not (isGuestAccount(account)) then triggerEvent("onAccountSaveData", source, account) endend)addEventHandler("onPlayerLogout", root,function (_, account) triggerEvent("onAccountSaveData", source, account)end)addEventHandler("onResourceStop", resourceRoot, function (resource) for _, thePlayer in pairs(getElementsByType("player")) do local account = getPlayerAccount(thePlayer) if (account) and not (isGuestAccount(account)) then triggerEvent("onAccountSaveData", thePlayer, account) end endend)addCommandHandler("savedata",function (thePlayer) if (setting.saveCommand) then local account = getPlayerAccount(thePlayer) if (account) and not (isGuestAccount(account)) then if not (antiSpamSave[thePlayer]) then triggerEvent("onAccountSaveData", thePlayer, account) antiSpamSave[account] = setTimer(function() antiSpamSave[account] = nil end, 300000, 1) else outputChatBox("You can save your data by command every 5 minutes", thePlayer, 255, 0, 0) end end else outputChatBox("Command save data's is disabled", thePlayer, 255, 0, 0) endend)------------------------------------------------------------------------------------------------------- FUNCTIONS -------------------------------------------------------------------------------------------------------function getAllPedClothes(thePed) local clothes = { } for type=0, 17 do local texture, model = getPedClothes(thePed, type) if (texture) and (model) then table.insert(clothes, {type, texture, model}) end end return clothesendfunction removeAllPedClothes(thePed) for type=0, 17 do removePedClothes(source, type) end return trueendfunction getAllPedStats(thePed) local stats = { } for stat=0, 230 do local value = getPedStat(thePed, stat) if (value) and (value > 0) then stats[stat] = value end end return statsendfunction getAllPedWeapon(thePed) local weapons = { } for slot=1, 12 do local weapon = getPedWeapon(thePed, slot) local ammo = getPedTotalAmmo(thePed, slot) if (weapon > 0) and (ammo > 0) then weapons[weapon] = ammo end end return weaponsend--[[function getAllElementDatas(thePlayer) if (setting.data) then return end local dataNeeded = {} for _, key in ipairs(setting.data) do local value = getElementData(thePlayer, key) dataNeeded[key] = value end return dataNeededendfunction table.find (tab, vf) if (tab) and (type(tab) == "table") then for k, v in pairs(tab) do if (v == vf) then return k end end endend]]
function playerLogin (thePreviousAccount, theCurrentAccount, autoLogin) if not (isGuestAccount (getPlayerAccount (source))) then local accountData = getAccountData (theCurrentAccount, "funmodev2-money") if (accountData) then local playerMoney = getAccountData (theCurrentAccount, "funmodev2-money") local playerSkin = getAccountData (theCurrentAccount, "funmodev2-skin") local playerHealth = getAccountData (theCurrentAccount, "funmodev2-health") local playerArmor = getAccountData (theCurrentAccount, "funmodev2-armor") local R = getAccountData (theCurrentAccount, "funmodev2-R") local G = getAccountData (theCurrentAccount, "funmodev2-G") local B = getAccountData (theCurrentAccount, "funmodev2-B") local playerX = getAccountData (theCurrentAccount, "funmodev2-x") local playerY = getAccountData (theCurrentAccount, "funmodev2-y") local playerZ = getAccountData (theCurrentAccount, "funmodev2-z") local playerInt = getAccountData (theCurrentAccount, "funmodev2-int") local playerDim = getAccountData (theCurrentAccount, "funmodev2-dim") local playerWanted = getAccountData (theCurrentAccount, "funmodev2-wantedlevel") local playerWeaponID0 = getAccountData (theCurrentAccount, "funmodev2-weaponID0") local playerWeaponID1 = getAccountData (theCurrentAccount, "funmodev2-weaponID1") local playerWeaponID2 = getAccountData (theCurrentAccount, "funmodev2-weaponID2") local playerWeaponID3 = getAccountData (theCurrentAccount, "funmodev2-weaponID3") local playerWeaponID4 = getAccountData (theCurrentAccount, "funmodev2-weaponID4") local playerWeaponID5 = getAccountData (theCurrentAccount, "funmodev2-weaponID5") local playerWeaponID6 = getAccountData (theCurrentAccount, "funmodev2-weaponID6") local playerWeaponID7 = getAccountData (theCurrentAccount, "funmodev2-weaponID7") local playerWeaponID8 = getAccountData (theCurrentAccount, "funmodev2-weaponID8") local playerWeaponID9 = getAccountData (theCurrentAccount, "funmodev2-weaponID9") local playerWeaponID10 = getAccountData (theCurrentAccount, "funmodev2-weaponID10") local playerWeaponID11 = getAccountData (theCurrentAccount, "funmodev2-weaponID11") local playerWeaponID12 = getAccountData (theCurrentAccount, "funmodev2-weaponID12") local playerWeaponAmmo0 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo0") local playerWeaponAmmo1 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo1") local playerWeaponAmmo2 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo2") local playerWeaponAmmo3 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo3") local playerWeaponAmmo4 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo4") local playerWeaponAmmo5 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo5") local playerWeaponAmmo6 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo6") local playerWeaponAmmo7 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo7") local playerWeaponAmmo8 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo8") local playerWeaponAmmo9 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo9") local playerWeaponAmmo10 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo10") local playerWeaponAmmo11 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo11") local playerWeaponAmmo12 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo12") -- spawnPlayer (source, playerX, playerY, playerZ +1, 0, playerSkin, playerInt, playerDim) setPlayerMoney (source, playerMoney) setTimer (setElementHealth, 500, 1, source, playerHealth) setTimer (setPedArmor, 500, 1, source, playerArmor) setTimer (setPlayerWantedLevel, 500, 1, source, playerWanted) giveWeapon(source, playerWeaponID0, playerWeaponAmmo0, true) giveWeapon(source, playerWeaponID1, playerWeaponAmmo1, false) giveWeapon(source, playerWeaponID2, playerWeaponAmmo2, false) giveWeapon(source, playerWeaponID3, playerWeaponAmmo3, false) giveWeapon(source, playerWeaponID4, playerWeaponAmmo4, false) giveWeapon(source, playerWeaponID5, playerWeaponAmmo5, false) giveWeapon(source, playerWeaponID6, playerWeaponAmmo6, false) giveWeapon(source, playerWeaponID7, playerWeaponAmmo7, false) giveWeapon(source, playerWeaponID8, playerWeaponAmmo8, false) giveWeapon(source, playerWeaponID9, playerWeaponAmmo9, false) giveWeapon(source, playerWeaponID10, playerWeaponAmmo10, false) giveWeapon(source, playerWeaponID11, playerWeaponAmmo11, false) giveWeapon(source, playerWeaponID12, playerWeaponAmmo12, false) setCameraTarget (source, source) fadeCamera(source, true, 2.0) setPlayerNametagColor (source, R, G, B) else -- spawnPlayer (source, 1481.0855712891, -1771.2996826172, 18.795753479004, 0,78, 0, 0) setPlayerMoney (source, 200) setCameraTarget (source, source) fadeCamera(source, true, 2.0) setPlayerNametagColor (source, 255, 255, 255) end endendaddEventHandler ("onPlayerLogin", getRootElement(), playerLogin)function onLogout () kickPlayer (source, nil, "Logging out is disallowed.")endaddEventHandler ("onPlayerLogout", getRootElement(), onLogout)function onQuit (quitType, reason, responsibleElement) if not (isGuestAccount (getPlayerAccount (source))) then account = getPlayerAccount (source) if (account) then local x,y,z = getElementPosition (source) local r,g,b = getPlayerNametagColor (source) setAccountData (account, "funmodev2-money", tostring (getPlayerMoney (source))) setAccountData (account, "funmodev2-skin", tostring (getPedSkin (source))) setAccountData (account, "funmodev2-health", tostring (getElementHealth (source))) setAccountData (account, "funmodev2-armor", tostring (getPedArmor (source))) setAccountData (account, "funmodev2-R", r) setAccountData (account, "funmodev2-G", g) setAccountData (account, "funmodev2-B", b) setAccountData (account, "funmodev2-x", x) setAccountData (account, "funmodev2-y", y) setAccountData (account, "funmodev2-z", z) setAccountData (account, "funmodev2-int", getElementInterior (source)) setAccountData (account, "funmodev2-dim", getElementDimension (source)) setAccountData (account, "funmodev2-wantedlevel", getPlayerWantedLevel (source)) setAccountData (account, "funmodev2-weaponID0", getPedWeapon (source, 0)) setAccountData (account, "funmodev2-weaponID1", getPedWeapon (source, 1)) setAccountData (account, "funmodev2-weaponID2", getPedWeapon (source, 2)) setAccountData (account, "funmodev2-weaponID3", getPedWeapon (source, 3)) setAccountData (account, "funmodev2-weaponID4", getPedWeapon (source, 4)) setAccountData (account, "funmodev2-weaponID5", getPedWeapon (source, 5)) setAccountData (account, "funmodev2-weaponID6", getPedWeapon (source, 6)) setAccountData (account, "funmodev2-weaponID7", getPedWeapon (source, 7)) setAccountData (account, "funmodev2-weaponID8", getPedWeapon (source, 8)) setAccountData (account, "funmodev2-weaponID9", getPedWeapon (source, 9)) setAccountData (account, "funmodev2-weaponID10", getPedWeapon (source, 10)) setAccountData (account, "funmodev2-weaponID11", getPedWeapon (source, 11)) setAccountData (account, "funmodev2-weaponID12", getPedWeapon (source, 12)) setAccountData (account, "funmodev2-weaponAmmo0", getPedTotalAmmo (source, 0)) setAccountData (account, "funmodev2-weaponAmmo1", getPedTotalAmmo (source, 1)) setAccountData (account, "funmodev2-weaponAmmo2", getPedTotalAmmo (source, 2)) setAccountData (account, "funmodev2-weaponAmmo3", getPedTotalAmmo (source, 3)) setAccountData (account, "funmodev2-weaponAmmo4", getPedTotalAmmo (source, 4)) setAccountData (account, "funmodev2-weaponAmmo5", getPedTotalAmmo (source, 5)) setAccountData (account, "funmodev2-weaponAmmo6", getPedTotalAmmo (source, 6)) setAccountData (account, "funmodev2-weaponAmmo7", getPedTotalAmmo (source, 7)) setAccountData (account, "funmodev2-weaponAmmo8", getPedTotalAmmo (source, 8)) setAccountData (account, "funmodev2-weaponAmmo9", getPedTotalAmmo (source, 9)) setAccountData (account, "funmodev2-weaponAmmo10", getPedTotalAmmo (source, 10)) setAccountData (account, "funmodev2-weaponAmmo11", getPedTotalAmmo (source, 11)) setAccountData (account, "funmodev2-weaponAmmo12", getPedTotalAmmo (source, 12)) end endendaddEventHandler ("onPlayerQuit", getRootElement(), onQuit)function onWasted(totalAmmo, killer, killerWeapon, bodypart, stealth) if not( isGuestAccount (getPlayerAccount(source)) ) then local theWeapon = getPedWeapon (source) local weaponAmmo = getPedTotalAmmo (source) playerskin = getPlayerSkin ( source ) fadeCamera (source, false) setTimer(spawnPlayer, 3000, 1, source, 2224, 1347, 20, 0, playerskin) setTimer (setCameraTarget, 1250, 1, source, source) setTimer (fadeCamera, 2000, 1, source, true) setTimer (giveWeapon, 2000, 1, source, theWeapon, weaponAmmo, true) endendaddEventHandler ("onPlayerWasted", getRootElement(), onWasted)