• 01-04.05.2026 - DOUBLE EXP / SKILL EVENT!

Skrypt na Automatyczny clean domk?w

Status
Zamknięty.

Gangstabanga

Advanced User
Zarejestrowany
Dołączył
Sierpień 26, 2009
Posty
279
Liczba reakcji
13
Wiek
36
BY nsanee
1.Tw?j ots/mods.cleanhouses.xml
Kod:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Clean houses mod" version="1.0" author="nsanee" contact="otland.net" enabled="yes">
    <description>
        This mod will clean houses of inactive players and move their items to the depot.
        
        config explained:
            
            days - If the player hasn't logged in for this number of days his house will be freed.
            log - true/false, whether to enable logging of which houses have been cleaned.
            file - path to the log file, where logs will be stored. Ignored if 'log' set to false
        
            DO NOT remove doSaveServer() at the end, otherwise if your server happens to crash before the nearest server save you will regret it =)
    </description>

    <config name="cleanhouses_conf"><![CDATA[
    
        config = { 
            days = 14,
            log = true,
            file = getDataDir() .. "/logs/cleanhouses.txt"
        }
        
    ]]></config>
    <globalevent name="cleanhouses" type="start" event="buffer"><![CDATA[
        domodlib('cleanhouses_conf')
        local house = db.getResult("SELECT `owner` ,`id` FROM `houses` WHERE `owner` IN (SELECT `id` FROM `players` WHERE `lastlogin` < UNIX_TIMESTAMP() - "..config.days.. "*24*60*60)")
        local logs = " :: Houses cleaned:\n\n"
        if house:getID() ~= -1 then
            repeat
                logs = logs .. getHouseInfo(house:getDataInt('id')).name ..", owned by " .. getPlayerNameByGUID(house:getDataInt('owner')) .. "\n"
                setHouseOwner(house:getDataInt('id'), 0)
            until not house:next()
        else
            logs = logs .. "There were no houses to clean."
        end
        if config.log then
            doWriteLogFile(config.file, logs)
        end
        doSaveServer()
    ]]></globalevent>
</mod>
2.globalevents/globalevents.xml
Kod:
<globalevent name="cleanhouses" type="start" event="script" value="cleanhouses.lua"/>
3.globalevents/scripts/cleanhouses.lua
Kod:
local config = {
    days = 14, --- co ile dni ma by? reset ---
    log = true,
    file = getDataDir() .. "/logs/cleanhouses.txt"
}

function onStartup()
    local house = db.getResult("SELECT `owner` ,`id` FROM `houses` WHERE `owner` IN (SELECT `id` FROM `players` WHERE `lastlogin` < UNIX_TIMESTAMP() - "..config.days.. "*24*60*60)")
    local logs = " :: Houses cleaned:\n\n"
    if house:getID() ~= -1 then
        repeat
            logs = logs .. getHouseInfo(house:getDataInt('id')).name ..", owned by " .. getPlayerNameByGUID(house:getDataInt('owner')) .. "\n"
            setHouseOwner(house:getDataInt('id'), 0)
        until not house:next()
    else
        logs = logs .. "There were no houses to clean."
    end
    if config.log then
        doWriteLogFile(config.file, logs)
    end
    doSaveServer()
    return TRUE
end
 
Odp: Skrypt na Automatyczny clean domk?w

Super skrypt!! mia?em problem poniewa? du?o os?b p?acze, ?ebym czy?ci? domki :)
Czy to dzia?a na 8.5??

#Edit
Oczywi?cie repp:)

M?g?by? dok?adnie opisa? jak on dzia?a?:)
 
Ostatnia edycja:
Odp: Skrypt na Automatyczny clean domk?w

dzi?ki WIELKIE za skrypcik ;p przyda si? na pewno! pozdrawiam
@2xup przy starcie otka skrypt czysci domki :p i tyle a logi zapisuje w pliku :)
 
Odp: Skrypt na Automatyczny clean domk?w

ale ten skrypt czysci domki all czy np. ci co nie loguja sie od miecha?
 
Odp: Skrypt na Automatyczny clean domk?w

PHP:
  local config = { 
            days = 14,
czy?ci domki graczy kt?rzy nie logowali sie 14 dni
 
Odp: Skrypt na Automatyczny clean domk?w

Mam pytanie itemy dojd? do depo po stracie domku ?
 
Status
Zamknięty.
Back
Do góry