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.