• 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!

[8.54] The Forgotten Server 0.3.6pl1 (Crying Damson)

@up: do you know what means "virus"?
virus is a program that makes something to make your pc work not correctly, destroy your data or hardware, get your private data, use your pc to attack someones others pc and like this.
This file contains only SUSPICIOUS code, because it gets and sends many strange packets and is able to change own behaviurr whenit gets correct packet from otadmin
if you dont belive download source and check all lines, you wont find anything harmful

<short>
 
Anyone know how to fix so, player can't logg out when he are attacking monster/player :S?

(When he got pz to)

need fast help please! :S
 
Anyone know how to fix so, player can't logg out when he are attacking monster/player :S?

(When he got pz to)

need fast help please! :S

x log should always work, the player should not logout if battle icon or pz locked.

You can choose in config.lua, that when you close tibia while still in fight, character will stop attacking.

Else, I have no idea what you are talking about. :p Anyway I'm using 0.4 not 0.3 :p
 
My tfs 0.3.6pl 1 has a lot of problems...

1º aleta sio and put * and enter...

2º clean sometimes the server down, so i put no clean...

No one solved that?? Where is pl2??

I have this problems in my 2 dedicateds...
 
when i try to make character it says somtinhg invalid symbol on the name. And i cant find the account from the folders...
 
We're in what, 8.54? SQL has eliminated XML since like 8.11 on? People still don't realize there's no account or players folders? It's all in the database D':
 
Request fix for tiles script, players are still able to walk through another player at the dp and steal items. The push-back function is not working.

Crying-Damson 0.3.6.
Thanks Much, Will Rep++

Code:
local config = {
	maxLevel = getConfigInfo('maximumDoorLevel')
}

local increasingItems = {[416] = 417, [426] = 425, [446] = 447, [3216] = 3217, [3202] = 3215, [11059] = 11060}
local decreasingItems = {[417] = 416, [425] = 426, [447] = 446, [3217] = 3216, [3215] = 3202, [11060] = 11059}
local depots = {2589, 2590, 2591, 2592}

local checkCreature = {isPlayer, isMonster, isNpc}
local function pushBack(cid, position, fromPosition, displayMessage)
	doTeleportThing(cid, fromPosition, false)
	doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
	if(displayMessage) then
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The tile seems to be protected against unwanted intruders.")
	end
end

function onStepIn(cid, item, position, fromPosition)
	if(not increasingItems[item.itemid]) then
		return false
	end

	if(not isPlayerGhost(cid)) then
		doTransformItem(item.uid, increasingItems[item.itemid])
	end

	if(item.actionid >= 194 and item.actionid <= 196) then
		local f = checkCreature[item.actionid - 193]
		if(f(cid)) then
			pushBack(cid, position, fromPosition, false)
		end

		return true
	end

	if(item.actionid >= 191 and item.actionid <= 193) then
		local f = checkCreature[item.actionid - 190]
		if(not f(cid)) then
			pushBack(cid, position, fromPosition, false)
		end

		return true
	end

	if(not isPlayer(cid)) then
		return true
	end

	if(item.actionid == 189 and not isPremium(cid)) then
		pushBack(cid, position, fromPosition, true)
		return true
	end

	local gender = item.actionid - 186
	if(isInArray({PLAYERSEX_FEMALE,  PLAYERSEX_MALE, PLAYERSEX_GAMEMASTER}, gender)) then
		if(gender ~= getPlayerSex(cid)) then
			pushBack(cid, position, fromPosition, true)
		end

		return true
	end

	local skull = item.actionid - 180
	if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
		if(skull ~= getCreatureSkullType(cid)) then
			pushBack(cid, position, fromPosition, true)
		end

		return true
	end

	local group = item.actionid - 150
	if(group >= 0 and group < 30) then
		if(group > getPlayerGroupId(cid)) then
			pushBack(cid, position, fromPosition, true)
		end

		return true
	end

	local vocation = item.actionid - 100
	if(vocation >= 0 and vocation < 50) then
		local playerVocationInfo = getVocationInfo(getPlayerVocation(cid))
		if(playerVocationInfo.id ~= vocation and playerVocationInfo.fromVocation ~= vocation) then
			pushBack(cid, position, fromPosition, true)
		end

		return true
	end

	if(item.actionid >= 1000 and item.actionid <= config.maxLevel) then
		if(getPlayerLevel(cid) < item.actionid - 1000) then
			pushBack(cid, position, fromPosition, true)
		end

		return true
	end

	if(item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) <= 0) then
		pushBack(cid, position, fromPosition, true)
		return true
	end

	if(getTileInfo(position).protection) then
		local depotPos, depot = getCreatureLookPosition(cid), {}
		depotPos.stackpos = STACKPOS_GROUND
		while(true) do
			if(not getTileInfo(depotPos).depot) then
				break
			end

			depotPos.stackpos = depotPos.stackpos + 1
			depot = getThingFromPos(depotPos)
			if(depot.uid == 0) then
				break
			end

			if(isInArray(depots, depot.itemid)) then
				local depotItems = getPlayerDepotItems(cid, getDepotId(depot.uid))
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Your depot contains " .. depotItems .. " item" .. (depotItems > 1 and "s" or "") .. ".")
				break
			end
		end

		return true
	end

	return false
end

function onStepOut(cid, item, position, fromPosition)
	if(not decreasingItems[item.itemid]) then
		return false
	end

	if(not isPlayerGhost(cid)) then
		doTransformItem(item.uid, decreasingItems[item.itemid])
		return true
	end

	return false
end

My Movements.xml is fine I checked it. Also I tested this with a normal character not my god character, because of the ghost properties.
 
bool replaceString(std::string& text, const std::string key, const std::string value)
{
std::string::size_type start = text.find(key), pos = 0;
for(; start != std::string::npos; start = text.find(key, pos))
{
text.replace(start, key.size(), value);
pos += start + key.size();
}

return true;
}




To fix for windows replace this in tools.cpp is what i was told, this should fix the * bug this is how kleksu fixed hism server i think slain did it the same way. But it requires a compile i think its crap you gotta run linux to run a server, im good :p
 
I do apologize this is code in correct format

Code:
bool replaceString(std::string& text, const std::string key, const std::string value)
{
	std::string::size_type start = text.find(key), pos = 0;
	for(; start != std::string::npos; start = text.find(key, pos))
	{
		text.replace(start, key.size(), value);
		pos += start + key.size();
	}

	return true;
}


Note* I wasn't able to compile the server i keep getting an error im sure im just doing it wrong. replacing the wrong thing.
 
It's a nice release, at least for me. But I would know:

What's that?(in config.lua)
-- Spells
formulaLevel = 5.0
formulaMagic = 1.0

bufferMutedOnSpellFailure = false
spellNameInsteadOfWords = false
emoteSpells = false
 
Back
Top