Jump to content

What am I doing wrong?


fog616

Recommended Posts

Trying to make a "interest" mod, not sure why it isn't working. Am I not understanding the Receive function?

package.path = package.path .. ";data/scripts/lib/?.lua"
package.path = package.path .. ";data/scripts/server/?.lua"
include ("factions")
include ("stringutility")


local playerList = {}
local playerTotal = 0
local timeSet = 0

function onStartUp()
    Server():registerCallback("onPlayerLogIn", "onPlayerLogIn")
    Server():registerCallback("onPlayerLogOff", "onPlayerLogOff")
    Galaxy():registerCallback("onPlayerCreated", "onPlayerCreated")
    Galaxy():registerCallback("onFactionCreated", "onFactionCreated")
end

function onShutDown()

end

function getUpdateInterval()
    return 60
end

function update(timeStep)
    local server = Server()
    --server:broadcastChatMessage("Server", ChatMessageType.ServerInfo, "playerList true")

    local guardianRespawnTime = server:getValue("guardian_respawn_time")
    if guardianRespawnTime then

        guardianRespawnTime = guardianRespawnTime - timeStep;
        if guardianRespawnTime < 0 then
            guardianRespawnTime = nil
        end

        server:setValue("guardian_respawn_time", guardianRespawnTime)
    end

	timeSet = timeSet + timeStep
	
    if timeSet > 10 then
		timeSet = 0
		local players = {server:getOnlinePlayers()}
        local playerListLength = tablelength(players)
		local i = 0
        while i <= playerListLength do
           local playert = players[i + 1]
		   server:broadcastChatMessage(playert)
           local resourceCount = {playert:getResources()}
           playert:receive(math.floor(playert.money * (2/((1+0.3)^(playert.money/1000000)))), 
		   math.floor(resourceCount[1] * (2/((1+0.5)^(resourceCount[1]/30000))), 
		   math.floor(resourceCount[2] * (2/((1+0.5)^(resourceCount[2]/30000))), 
		   math.floor(resourceCount[3] * (2/((1+0.5)^(resourceCount[3]/30000))), 
		   math.floor(resourceCount[4] * (2/((1+0.5)^(resourceCount[4]/30000))), 
		   math.floor(resourceCount[5] * (2/((1+0.5)^(resourceCount[5]/30000))), 
		   math.floor(resourceCount[6] * (2/((1+0.5)^(resourceCount[6]/30000))), 
		   math.floor(resourceCount[7] * (2/((1+0.5)^(resourceCount[7]/30000))))
		   --playert:receive(99999999999999999, 999999999999)
		   i = i + 1
        end
    end
	
    
    

    local serverRuntime = server:getValue("online_time") or 0
    serverRuntime = serverRuntime + timeStep
    server:setValue("online_time", serverRuntime)
end

function onPlayerCreated(index)
    local player = Player(index)
    Server():broadcastChatMessage("Server", ChatMessageType.ServerInfo, "Player %s created!"%_t, player.name)
end

function onFactionCreated(index)

end

function onPlayerLogIn(playerIndex)
    local player = Player(playerIndex)
    Server():broadcastChatMessage("Server", ChatMessageType.ServerInfo, "Player %s joined the galaxy"%_t, player.name)

    matchResources(player)
    playerList[playerTotal] = player
    playerTotal = (playerTotal + 1)
end

function onPlayerLogOff(playerIndex)
    local player = Player(playerIndex)
    Server():broadcastChatMessage("Server", ChatMessageType.ServerInfo, "Player %s left the galaxy"%_t, player.name)

end

function tablelength(T)
    local count = 0
    for _ in pairs(T) do count = count + 1 end
    return count
end

Any help would be great.

Link to comment
Share on other sites

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
×
×
  • Create New...