Jump to content

fog616

Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by fog616

  1. 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.

×
×
  • Create New...