• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lag when player die

Ghazer

Member
Joined
Mar 13, 2009
Messages
350
Reaction score
6
I have a little freeze when player die... I delete all creaturescript and mods and make /reload creaturescript /reload globalevent /reload mods and I lag continue...

Any idea for solution this problem? urgent!
 
OTX 2.40
"The OTX Server es una distribución de OpenTibia Server basada en The Forgotten Server 0.3.7 codigo abierto en constante mantenimiento y soporte en múltiples protocolos"
"The OTX Server is a distribution based OpenTibia Server The Forgotten Server 0.3.7 open source constant maintenance and support multiple protocols"

I think no is distro problem...
 
Have you even tried with another distro? Try using another to look if is distro problem, we never know :D
 
Post your creaturescripts.xml (To find a probably file that usually causes errors) or may be you need a RAM upgrade

How heavy is your map?
 
MAP 5 mb... I have dual core W7 home with 2 GB ram


XML:
<?xml version="1.0" encoding="UTF-8"?>
<creaturescripts>
	<!-- Player Login -->
	<event type="login" name="PlayerLogin" event="script" value="login.lua"/>

	<!-- Ban System -->
	<event type="channelrequest" name="Ban_Type" event="script" value="ban/type.lua"/>
	<event type="channelrequest" name="Ban_Action" event="script" value="ban/action.lua"/>
	<event type="textedit" name="Ban_Finish" event="script" value="ban/finish.lua"/>

	<!-- Server Events -->
	<event type="channeljoin" name="GuildEvents" event="script" value="guild.lua"/>
	<event type="mailreceive" name="Mail" event="script" value="mail.lua"/>
	<event type="reportbug" name="ReportBug" script="reportbug.lua"/>
	<event type="advance" name="AdvanceSave" event="script" value="advancesave.lua"/>
	<event type="login" name="recordIp" event="script" value="recordIp.lua"/>
	<event type="combat" name="partyAndGuildProtection" event="script" value="partyAndGuildProtection.lua"/>
	<event type="think" name="Idle" event="script" value="idle.lua"/>
	<event type="think" name="SkullCheck" event="script" value="skullcheck.lua"/>
	<event type="look" name="showKD" event="script" value="KillsandDeath.lua"/>
	<event type="login" name="logout" event="script" value="logout.lua"/>
	<event type="login" name="showKB_register" event="script" value="KillsandDeath.lua"/>
	<event type="login" name="Anti Mc" event="script" value="Antimc.lua"/>
	<event type="login" name="Premium" event="script" value="premium.lua"/>
	<event type="login" name="FirstItems" event="script" value="firstitems.lua"/>
	<event type="kill" name="FragReward" event="script" value="fragreward.lua"/>
</creaturescripts>

My OT is WAR OT, amazing war ot.

- - - Updated - - -

????????????
 
XML:
<?xml version="1.0" encoding="UTF-8"?>
<creaturescripts>
	<event type="look" name="showKD" event="script" value="KillsandDeath.lua"/>
	<event type="login" name="showKB_register" event="script" value="KillsandDeath.lua"/>
	<event type="kill" name="FragReward" event="script" value="fragreward.lua"/>
</creaturescripts>
I think is some of this files please post here to check it out.
 
KillsandDeaths
LUA:
function getPlayerFrags(cid)
    local time = os.time()
    local times = {today = (time - 86400), week = (time - (7 * 86400))}
    local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC")
    if(result:getID() ~= -1) then
        repeat
            local content = {date = result:getDataInt("date")}
            if(content.date > times.today) then
                table.insert(contents.day, content)
            elseif(content.date > times.week) then
                table.insert(contents.week, content)
            else
                table.insert(contents.month, content)
            end
        until not result:next()
        result:free()
    end
    local size = {
        day = table.maxn(contents.day),
        week = table.maxn(contents.week),
        month = table.maxn(contents.month)
    } 
    return size.day + size.week + size.month
end 
function getDeathsAndKills(cid, type) -- by vodka
	local query,d = db.getResult("SELECT `player_id` FROM "..(tostring(type) == "kill" and "`player_killers`" or "`player_deaths`").." WHERE `player_id` = "..getPlayerGUID(cid)),0
		if (query:getID() ~= -1) then 
			repeat
				d = d+1
			until not query:next()
			query:free()
		end
	return d  
end 
function onLogin(cid)
    registerCreatureEvent(cid, "newlook")
    return true
end
 
function onLook(cid, thing, position, lookDistance)
    if isPlayer(thing.uid) and thing.uid ~= cid then
        doPlayerSetSpecialDescription(thing.uid,"\nFrags: ["..getDeathsAndKills(thing.uid, "kill").."].\nDeaths: ["..getDeathsAndKills(thing.uid, "death").."]")
        return true
    elseif thing.uid == cid then
        doPlayerSetSpecialDescription(cid,"\nFrags: ["..getDeathsAndKills(cid, "kill").."].\nDeaths: ["..getDeathsAndKills(cid, "death").."].")
        local string = 'You see yourself.'
        if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then
            string = string..' You are '.. getPlayerGroupName(cid) ..'.'
        elseif getPlayerVocation(cid) ~= 0 then
            string = string..' You are '.. getPlayerVocationName(cid) ..'.'
        else
            string = string..' You have no vocation.'
        end
        string = string..getPlayerSpecialDescription(cid)..'\n'
 
        if getPlayerGuildId(cid) > 0 then 
            string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid)
            string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.'
        end 
 
        if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then
            string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].'
            string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.'
        end
 
        if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then
            string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].'
        end
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string)  
        return false
    end
    return true
end

FragReward
LUA:
function onKill(cid, target, lastHit)
local reward = {
        item = 2160, --ITEM ID!
        count = 1 -- How many?
}
        if(isPlayer(cid) and isPlayer(target)) then
	if getPlayerIp(cid) ~= getPlayerIp(target) then
                doPlayerAddItem(cid, reward.item, reward.count)
else
doPlayerAddExperience(cid, -1000000)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"You have been punished for killing a player of the same IP.")
                end
end
return TRUE
end
 
Lag continue

- - - Updated - - -

I desactive all mods, globalevents and creaturescript and restart the server... I kill a player and continue with freeze when player die )= any idea?

- - - Updated - - -

I find the problem, its error of exe... (bad compilation)

But i reset my computer and when I tray compile I have this error, any idea how to solution?
1>c:\users\administrador0\desktop\newot\sources\otpch.h(29): fatal error C1083: No se puede abrir el archivo incluir: 'libxml/xmlmemory.h': No such file or directory
 
Back
Top