Jump to content

Помогите дописать)


Recommended Posts

Народ! Помогите пожалуйста)

Не могу нормально написать сохранение для ресурса голода.

Это клиентская часть. С ней все в порядке. Она отвечает за сам ресурс:

  
hamburgerPositions = { {372.82,-65.68,1001.51,10}, {380.44,-8.65,1001.85,9}, {379.42,-119.65,1001.49,5} } -- The positions for the hamburger, in the style: x,y,z,interior 
--[[ 
  
This is the hunger script. You can add hamburgers by adding it in hamburgerPositions. 
It works easy, just a after it, and filling in! 
  
{x,y,z,interiorID} 
When it isn't the last position, it needs a "," after it 
  
]]-- 
  
-- DONT CHANGE ANYTHING AFTER THIS WITHOUT KNOWLEDGE! 
addEventHandler ("onClientResourceStart",getResourceRootElement(getThisResource()), 
function () 
  hungerProcess = guiCreateProgressBar(0.7763,0.28,0.1775,0.04,true) 
  guiMoveToBack (hungerProcess) 
  guiProgressBarSetProgress(hungerProcess,100) 
  hungerLabel = guiCreateLabel(0.7775,0.2817,0.1737,0.0367,"Hunger State",true) 
  guiLabelSetColor(hungerLabel,255,255,255) 
  guiLabelSetVerticalAlign(hungerLabel,"center") 
  guiLabelSetHorizontalAlign(hungerLabel,"center",false) 
  guiSetFont(hungerLabel,"default-small") 
  for i,v in ipairs (hamburgerPositions) do 
    local hamburger = createPickup (v[1],v[2],v[3],3,2768,100) 
    local hamburgerMarker = createMarker (v[1],v[2],v[3],"corona",1,255,255,0,80) 
    setElementData (hamburgerMarker,"HAMBURGER!",true) 
    setElementInterior (hamburgerMarker,v[4]) 
    setElementInterior (hamburger,v[4]) 
  end 
  setTimer (dropDownHungerState,45000,0,getLocalPlayer()) 
end) 
  
function setHungerState (player,hungerState) 
  if (player == getLocalPlayer()) then 
    guiProgressBarSetProgress(hungerProcess,hungerState) 
  end 
end  
  
function getHungerState (player) 
  if (player == getLocalPlayer()) then 
    return guiProgressBarGetProgress(hungerProcess) 
  end 
end 
  
function dropDownHungerState (player) 
  if (player == getLocalPlayer()) then 
    guiProgressBarSetProgress(hungerProcess,guiProgressBarGetProgress(hungerProcess) -1) 
    if (guiProgressBarGetProgress(hungerProcess) == 0) then 
      setElementHealth (player,getElementHealth (player) -25) 
      outputChatBox ("FAST! You'll get die when you don't eat!",255,0,0,false) 
    elseif (guiProgressBarGetProgress(hungerProcess) == 10) then 
      outputChatBox ("Warning! You begin to become hungry!",255,0,0,false) 
    end 
  end 
end  
  
addEventHandler ("onClientPlayerSpawn",getRootElement(), 
function (team) 
  setHungerState (source,100) 
end) 
  
addEventHandler ("onClientMarkerHit",getRootElement(), 
function(hitEle,dim) 
  if (getLocalPlayer() == hitEle) and (getElementData (source,"HAMBURGER!") == true) then 
    if (getHungerState (hitEle) < 50) then 
      setHungerState (hitEle,100) 
      outputChatBox ("HAMBURGER POWER!",255,0,255,false) 
      outputChatBox ("You haven't got hunger any more :D",255,0,255,false) 
    else 
      outputChatBox ("You don't need to eat!",255,0,255,false) 
    end 
  end 
end) 
  

Это серверная часть, которая по идее должна сохранять состояние голода после выхода. Не сохраняет:

  
function setTeam() 
local account = getPlayerAccount(source) -- gets players account 
local team = getAccountData (account, "team") -- gets players team 
if (team) and hitEle(team) then 
      setHungerState(source, hitEle(team)) -- sets players team 
     end 
end 
addEventHandler("onPlayerLogin",root,setTeam) -- sets players team on login 
  
function save() 
 local team = getHungerState(source) -- Gets the players team 
local account = getPlayerAccount(source) 
if (team) and not isGuestAccount(account) then -- Checks to see if the player is a guest or not 
setAccountData(account, "team", hitEle) --saves team 
 end 
    end 
addEventHandler("onPlayerQuit", getRootElement(), save) -- saves team on quit 
  

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...