I want when a player click to spawn , he spawn there where he quit last time on my server , with same weapons , money , weapon skill and other but with the skin witch he choosen in skin-selector , but it dosen't work.
SERVER :
function onQuit (quitType, reason, responsibleElement)
if not (isGuestAccount (getPlayerAccount (source))) then
account = getPlayerAccount (source)
if (account) then
local x,y,z = getElementPosition (source)
setAccountData (account, "funmodev2-money", tostring (getPlayerMoney (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, -- s8) -->)
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, -- s8) -->)
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
end
end
addEventHandler ("onPlayerQuit", getRootElement(), onQuit)
local spawnLocations = {
{2171.90625, 1392.59765625, 10.8203125},
{2265.3674316406, 2398.3068847656, 10.8203125},
{2361.689453125, 2070.2077636719, 10.671875},
{2087.9260253906, 1448.8768310547, 10.8203125},
{2000.55, 1526.25, 14.6171875},
{1607.35, 1816.54, 10.82}
}
StartMoney = 2500
CashForKill = 2500
PayNSprayCost = 100
playerSkin = {}
Garages = {0,1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50,
51,52,53,54,55,56,57,58,59,60}
function SpawnPlayer(thePlayer,skin,r,g,b , thePreviousAccount, theCurrentAccount, autoLogin)
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 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 playerTeam = getAccountData (theCurrentAccount, "funmodev2-Team")
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)
spawnPlayer ( thePlayer, playerX, playerY, playerZ +1, 90.0, skin ,playerInt, playerDim )
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)
createBlipAttachedTo(source,0,2,r,g,b)
setPlayerMoney(thePlayer,playerMoney)
playerSkin[thePlayer] = {skin,r,g,b}
setElementData(thePlayer,"Score",0)
setPlayerNametagShowing ( thePlayer, false)
end
addEvent( "onClientWantsToSpawn", true )
addEventHandler( "onClientWantsToSpawn", getRootElement(), SpawnPlayer )
addEventHandler ( "onPlayerQuit", getRootElement(),
function()
local attachedElements = getAttachedElements ( source )
if ( attachedElements ) then
for k,v in ipairs ( attachedElements ) do
if ( getElementType ( v ) == "blip" ) then
destroyElement(v)
else
end
end
end
end)
function PlayerDied(ammo,killer)
if killer and getElementType ( killer ) == "player" then
setPlayerMoney(killer,getPlayerMoney(killer)+CashForKill)
local Score = getElementData(killer,"Score")
setElementData(killer,"Score",Score+1)
end
setTimer(PlayerRespawn,1000,1,source)
end
addEventHandler("onPlayerWasted",getRootElement(),PlayerDied)
function PlayerRespawn(diedPlayer)
if not diedPlayer then else
toggleAllControls(diedPlayer,true)
setPlayerMoney(diedPlayer,StartMoney)
local chosenSpawnLocation = math.random(1,#spawnLocations)
spawnPlayer(diedPlayer,spawnLocations[chosenSpawnLocation][1],spawnLocations[chosenSpawnLocation][2],spawnLocations[chosenSpawnLocation][3],90,playerSkin[diedPlayer][1])
setCameraTarget (diedPlayer, diedPlayer)
end
end
function FixPlayerVehicle(hitElement,number)
local money = getPlayerMoney(hitElement)
if money < PayNSprayCost then
outputChatBox("*PM: You don't have enought cash.",hitElement,170,0,0,true)
else
if getPedOccupiedVehicle(hitElement) then
local vehicle = getPedOccupiedVehicle(hitElement)
fixVehicle(vehicle)
playSoundFrontEnd(hitElement,16)
toggleAllControls(hitElement,false)
setPlayerMoney(hitElement,money-PayNSprayCost)
local vehicle = getPedOccupiedVehicle(hitElement)
setElementFrozen(vehicle,true)
setTimer(function()
toggleAllControls(hitElement,true)
setCameraTarget (hitElement, hitElement)
setElementFrozen(vehicle,false)
end,2500,1)
if number == 1 then
setCameraMatrix(hitElement,1032.7685546875,-1039.337890625,45.220012664795,1030.095703125,-1027.6357421875,40.220008850098)
elseif number == 2 then
setCameraMatrix(hitElement,489.150390625,-1728.8310546875,31.169326782227,488.6884765625,-1734.04296875,21.179261207581)
elseif number == 3 then
setCameraMatrix(hitElement,2076.5859375,-1831.4208984375,18.546875,2072.626953125,-1831.361328125,18.546875)
else
end
end
end
end
addEvent( "onBoughtWeapon", true )
addEventHandler( "onBoughtWeapon", getRootElement(),
function(thePlayer,id,cash)
setPlayerMoney(thePlayer,getPlayerMoney(thePlayer)-cash)
if id == 500 then
setPedArmor ( thePlayer, 100 )
else
giveWeapon ( thePlayer, id, 120 )
end
end)
addEvent( "onBoughtBurger", true )
addEventHandler( "onBoughtBurger", getRootElement(),
function(thePlayer,cash)
setPlayerMoney(thePlayer,getPlayerMoney(thePlayer)-cash)
setElementHealth(thePlayer,getElementHealth(thePlayer)+cash)
if getElementHealth > 100 then
setElementHealth(thePlayer,100)
end
end)
--server
addEventHandler ( "onPlayerLogin",root )
function a ()
triggerClientEvent(source,"TriggerClient",root)
end
end
CLIENT:
local x, y = guiGetScreenSize()
SkinMusic = "data/music/SkinSelectMusic.mp3"
SkinAnims = {"dnce_M_b","DAN_Left_A","DAN_Down_A","DAN_Loop_A"}
StartSkin = 0
NewSkin = false
--client
addEvent("TriggerClient",true)
function SelectSkin ()
setElementInterior ( getLocalPlayer(), 0, 0,0,0 )
setCameraMatrix( 2745.8266601563,-2231.1694335938,62.25520324707, 3999.9999499991,-2607.4000244141,16.1)
skin = createPed ( StartSkin, 2749.7502441406,-2232.7170410156,61.727611541748,60 )
setPedAnimation( skin, "DANCING", SkinAnims[math.random(1,4)])
fadeCamera( true, 10)
setTime(0,0)
SkinSelectMusic = playSound(SkinMusic,true)
bindKey("arrow_r","down",NextSkin)
bindKey("arrow_l","down",LastSkin)
bindKey(".","down",SpawnPlayer)
addEventHandler("onClientRender",getRootElement(),AnnounceSkinJob)
guiSetVisible(lnextskin,true)
guiSetVisible(rnextskin,true)
guiSetVisible(spawnskin,true)
showCursor(true)
showChat(false)
showPlayerHudComponent ( "radar", false )
end
addEventHandler("TriggerClient",root,SelectSkin)
function SpawnPlayer()
local r,g,b = math.random(0,255),math.random(0,255),math.random(0,255)
triggerServerEvent ( "onClientWantsToSpawn", getLocalPlayer(), getLocalPlayer(),StartSkin,r,g,b )
unbindKey("arrow_r","down",NextSkin)
unbindKey("arrow_l","down",LastSkin)
unbindKey("lshift","down",SpawnPlayer)
setTime(12,0)
stopSound(SkinSelectMusic)
removeEventHandler("onClientRender",getRootElement(),AnnounceSkinJob)
showCursor(false)
showChat(true)
showPlayerHudComponent ( "radar", true )
guiSetVisible(lnextskin,false)
guiSetVisible(rnextskin,false)
guiSetVisible(spawnskin,false)
setElementData(getLocalPlayer(),"red",r)
setElementData(getLocalPlayer(),"green",g)
setElementData(getLocalPlayer(),"blue",b)
end
function NextSkin()
if StartSkin == 312 then
StartSkin = -1
elseif StartSkin == 2 then
StartSkin = 8
end
StartSkin = StartSkin + 1
setElementModel(skin,StartSkin)
setPedAnimation( skin, "DANCING", SkinAnims[math.random(1,4)])
SkinJobTextColor()
end
function LastSkin()
if StartSkin == 0 then
StartSkin = 313
elseif StartSkin == 9 then
StartSkin = 3
end
StartSkin = StartSkin - 1
setElementModel(skin,StartSkin)
setPedAnimation( skin, "DANCING", SkinAnims[math.random(1,4)])
SkinJobTextColor()
end
lnextskin = guiCreateButton(x-x/1.30,y/1.22,x/5,y/20,"<<<",false)
guiSetProperty(lnextskin,"PushedTextColour","FFFFFF00")
guiSetFont(lnextskin,"sa-header")
rnextskin = guiCreateButton(x-x/2.90,y/1.22,x/5,y/20,">>>",false)
guiSetProperty(rnextskin,"PushedTextColour","FFFFFF00")
guiSetFont(rnextskin,"sa-header")
spawnskin = guiCreateButton(x-x/1.80,y/1.22,x/5,y/20,"Play",false)
guiSetProperty(spawnskin,"PushedTextColour","FFFFFF00")
guiSetFont(spawnskin,"sa-header")
guiSetVisible(lnextskin,false)
guiSetVisible(rnextskin,false)
guiSetVisible(spawnskin,false)
addEventHandler( "onClientGUIClick", getRootElement(), function()
if source == lnextskin then
LastSkin()
elseif source == rnextskin then
NextSkin()
elseif source == spawnskin then
SpawnPlayer()
end
end)
------PEDS
function FreezeBots()
local Bots = getElementsByType("ped")
for k,v in ipairs(Bots) do
setElementFrozen(v,true)
end
end
function loadMansion ()
outputChatBox("[bem-Vindo Ao Server]", getRootElement(), 255, 0, 0,true )
end
addEventHandler("onClientResourceStart", getResourceRootElement(), loadMansion)