Ir para conteúdo
  • Cadastre-se

11.x [WIP] OTXServer 12.31 Global Full + Kilmaresh (Issavi) + BESTIARY - QUICKLOOT


Posts Recomendados

22 horas atrás, Sassuma disse:

@malucooo @Mattyx14 Vocês não poderia postar a OTX compilada para linux?

 não estou conseguindo compilar par o mesmo.

obrigado

já leu os tutoriais? tá usando a ultima atualização do github? qual versão do linux vc usa?

 

 

O melhor conteúdo da atualidade!

http://www.gitlab.com/malucooo/otxserver-new/

- Full Global Map with 12.xx updates, all quests and many features!

- Protocol 12.31

Link para o post
Compartilhar em outros sites
  • Respostas 5k
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

OTXServer Global Full Kilmaresh by Malucooo   [CLIENTS COMPATÍVEIS]   http://www.gitlab.com/guilhermesidney/cliente10/   [DOWNLOAD] BAIXEM EM: https://github.com/malucooo

Adicionado Imbuing System, Inspection System por Charles (Eternal-Scripts) Corrigido e atualizado Prey System por Charles (Eternal-Scripts)   Obrigado pela colaboração, acredito que no

Atualizações de Médio Porte:   - Items.otb 11.31 (adicionado os novos barris de potion e mais uns 700 items adicionado..) - Client 10 Atualizado - Adicionado a categoria carpet...

Posted Images

Queria testar o Tibia 11 com esse server, só que aconteceu esse problema :
Ao tentar logar com o Tibia Client 11 aparece esse erro :
Sorry

Connection Refused

 

Alguém sabe resolver isso? :hum:

Editado por saiddias (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
2 horas atrás, malucooo disse:

já leu os tutoriais? tá usando a ultima atualização do github? qual versão do linux vc usa?

Malucooo, já foi resolvido, estava dando cmake e make fora da pasta.

Link para o post
Compartilhar em outros sites

Ola, primeiramente obrigado por disponibilizar o servidor para a comunidade, depois de muito esforço este foi o único que funcionou no meu PC.
Gostaria de saber se tem como remover algumas funcionalidades ou até mesmo deixar totalmente idêntico ao global, se houver como faço as alterações ou onde aprendo a fazer?

Link para o post
Compartilhar em outros sites
3 horas atrás, Ancienciq disse:

Estou com problemas para abrir o tfs, ele carrega até essa parte e fecha, tenho Win10 x64.

server.png

 

Configure o acesso ao banco de dados no config.lua

 

 

Em 24/11/2016 ás 03:22, Deemolidor disse:

Meu servidor crasha quando vai dar loading map, o que poderia ser?

 

Descompacte o arquivo .zip do mapa que está em /data/world

 

Existe um bug no Store Inbox. Se o player não tiver cap ele não recebe o item, e o item não vai para o DP. Mesmo assim, os coins são consumidos.

 

Edit:

Limitei o uso da Store para no mínimo 300 de cap.

Se o player estiver com menos de 300 de cap, não consegue abrir a Store.

Se comprar algum item e ficar com menos de 300 de cap, receberá uma mensagem que é necessário pelo menos 300 de cap pra comprar items da Store.

 

Eu sei, é gambi. São 6 da manhã e eu to com preguiça. Pelo menos ninguém perde item e coins por falta de cap.

 

data/modules/scripts/gamestore/init.lua

 

Spoiler

-- Please don't edit those information!
GameStore = {
	ModuleName = "GameStore",
	Developer = "OTX TEAM",
	Version = "0.3",
	LastUpdated = "24-09-2016 07:15PM"
}

--== Enums ==--
GameStore.OfferTypes = {
	OFFER_TYPE_NONE = 0, -- (this will disable offer)
	OFFER_TYPE_ITEM = 1,
	OFFER_TYPE_STACKABLE = 2,
	OFFER_TYPE_OUTFIT = 3,
	OFFER_TYPE_OUTFIT_ADDON = 4,
	OFFER_TYPE_MOUNT = 5,
	OFFER_TYPE_NAMECHANGE = 6,
	OFFER_TYPE_SEXCHANGE = 7,
	OFFER_TYPE_PROMOTION = 8
}

GameStore.ClientOfferTypes = {
	CLIENT_STORE_OFFER_OTHER = 0,
	CLIENT_STORE_OFFER_NAMECHANGE = 1
}

GameStore.HistoryTypes = {
	HISTORY_TYPE_NONE = 0,
	HISTORY_TYPE_GIFT = 1,
	HISTORY_TYPE_REFUND = 2
}

GameStore.States = {
	STATE_NONE = 0,
	STATE_NEW = 1,
	STATE_SALE = 2,
	STATE_TIMED = 3
}

GameStore.StoreErrors = {
	STORE_ERROR_PURCHASE = 0,
	STORE_ERROR_NETWORK = 1,
	STORE_ERROR_HISTORY = 2,
	STORE_ERROR_TRANSFER = 3,
	STORE_ERROR_INFORMATION = 4
}

GameStore.ServiceTypes = {
	SERVICE_STANDERD = 0,
	SERVICE_OUTFITS = 3,
	SERVICE_MOUNTS = 4
}

GameStore.SendingPackets = {
	S_CoinBalance = 0xDF, -- 223
	S_StoreError = 0xE0, -- 224
	S_RequestPurchaseData = 0xE1, -- 225
	S_CoinBalanceUpdating = 0xF2, -- 242
	S_OpenStore = 0xFB, -- 251
	S_StoreOffers = 0xFC, -- 252
	S_OpenTransactionHistory = 0xFD, -- 253
	S_CompletePurchase = 0xFE  -- 254
}
GameStore.RecivedPackets = {
	C_StoreEvent = 0xE9, -- 233
	C_TransferCoins = 0xEF, -- 239
	C_OpenStore = 0xFA, -- 250
	C_RequestStoreOffers = 0xFB, -- 251
	C_BuyStoreOffer = 0xFC, -- 252
	C_OpenTransactionHistory = 0xFD, -- 253
	C_RequestTransactionHistory = 0xFE, -- 254
}

GameStore.DefaultValues = {
	DEFAULT_VALUE_ENTRIES_PER_PAGE	= 16
}
GameStore.DefaultDescriptions = {
	OUTFIT = {"This outfit looks nice. Only high-class people are able to wear it!",
		"An outfit that was created to suit you. We are sure you'll like it.",
		"Legend says only smart people should wear it, otherwise you will burn!"},
	MOUNT = {"This is a fantastic mount that helps to become faster, try it!",
		"The first rider of this mount became the leader of his country! legends say that."},
	NAMECHANGE = {"Are you hunted? Tired of that? Get a new name, a new life!",
		"A new name to suit your needs!"},
	SEXCHANGE = {"Bored of your character's sex? Get a new sex for him now!!"}
}

--==Parsing==--
GameStore.isItsPacket = function(byte)
	for k, v in pairs(GameStore.RecivedPackets) do
		if v == byte then
			return true
		end
	end
	return false
end

function onRecvbyte(player, msg, byte)
	if byte == GameStore.RecivedPackets.C_StoreEvent then
		-- Not Used!
	elseif byte == GameStore.RecivedPackets.C_TransferCoins then
		parseTransferCoins(player, msg)
	elseif byte == GameStore.RecivedPackets.C_OpenStore then
		parseOpenStore(player, msg)
	elseif byte == GameStore.RecivedPackets.C_RequestStoreOffers then
		parseRequestStoreOffers(player, msg)
	elseif byte == GameStore.RecivedPackets.C_BuyStoreOffer then
		parseBuyStoreOffer(player, msg)
	elseif byte == GameStore.RecivedPackets.C_OpenTransactionHistory then
		parseOpenTransactionHistory(player, msg)
	elseif byte == GameStore.RecivedPackets.C_RequestTransactionHistory then
		parseRequestTransactionHistory(player, msg)
	end
	return true
end
function parseTransferCoins(player, msg)
	local reciver = msg:getString()
	local amount = msg:getU32()

	if reciver:lower() == player:getName():lower() then
		return addPlayerEvent(sendStoreError, 350, player, GameStore.StoreErrors.STORE_ERROR_TRANSFER, "You can't transfer coins to yourself.")
	end

	local resultId = db.storeQuery("SELECT `account_id` FROM `players` WHERE `name` = " .. db.escapeString(reciver:lower()) .. "")
	if not resultId then
		return addPlayerEvent(sendStoreError, 350, player, GameStore.StoreErrors.STORE_ERROR_TRANSFER, "We couldn't find that player.")
	end

	local accountId = result.getDataInt(resultId, "account_id")
	if accountId == player:getAccountId() then
		return addPlayerEvent(sendStoreError, 350, player, GameStore.StoreErrors.STORE_ERROR_TRANSFER, "You cannot transfer coin to a character in the same account.")
	end

	db.asyncQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. amount .. " WHERE `id` = " .. accountId)
	player:removeCoinsBalance(amount)
	addPlayerEvent(sendStorePurchaseSuccessful, 550, player, "You have transfered " .. amount .. " coins to " .. reciver .. " successfully")

	-- Adding history for both reciver/sender
	GameStore.insertHistory(accountId, GameStore.HistoryTypes.HISTORY_TYPE_NONE, player:getName() .. " transfered you this amount.", amount)
	GameStore.insertHistory(player:getAccountId(), GameStore.HistoryTypes.HISTORY_TYPE_NONE, "You transfered this amount to " .. reciver, -1 * amount) -- negative
end

function parseOpenStore(player, msg)
	openStore(player)

	local serviceType = msg:getByte()
	local category = GameStore.Categories and GameStore.Categories[1] or nil

	if serviceType == GameStore.ServiceTypes.SERVICE_OUTFITS then
		category = GameStore.getCategoryByName("outfits")
	elseif serviceType == GameStore.ServiceTypes.SERVICE_MOUNTS then
		category = GameStore.getCategoryByName("mounts")
	end

	if category then
		addPlayerEvent(sendShowStoreOffers, 350, player, category)
	end
end

function parseRequestStoreOffers(player, msg)
	local serviceType = GameStore.ServiceTypes.SERVICE_STANDERD
	if player:getClient().version >= 1092 then
		serviceType = msg:getByte()
	end
	local categoryName = msg:getString()

	local category = GameStore.getCategoryByName(categoryName)
	if category then
		addPlayerEvent(sendShowStoreOffers, 350, player, category)
	end
end

function parseBuyStoreOffer(player, msg)
	local offerId = msg:getU32()
	local productType = msg:getByte()

	local offer = GameStore.getOfferById(offerId)
	if player:getFreeCapacity() > 30000 then
		if offer then
			-- If we don't add type, or offer type is fake
			if not offer.type or offer.type == GameStore.OfferTypes.OFFER_TYPE_NONE then
				return addPlayerEvent(sendStoreError, 250, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "The offer is either fake or corrupt.")
			end

			-- If no thing id,
			if offer.type ~= GameStore.OfferTypes.OFFER_TYPE_NAMECHANGE and offer.type ~= GameStore.OfferTypes.OFFER_TYPE_SEXCHANGE and not offer.thingId then
				return addPlayerEvent(sendStoreError, 250, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "The offer is either fake or corrupt.")
			end

			-- We remove coins before doing everything, if it fails, we add coins back!
			if not player:canRemoveCoins(offer.price) then
				return addPlayerEvent(sendStoreError, 250, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "We couldn't remove coins from your account, try again later.")
			end

			-- count is used in type(item), so we need to show (i.e 10x crystal coins)
			local offerCountStr = offer.count and (offer.count .. "x ") or ""
			-- The message which we will send to player!
			local message = "You have purchased " .. offerCountStr .. offer.name .. " for " .. offer.price .. " coins."

			-- If offer is item.
			if offer.type == GameStore.OfferTypes.OFFER_TYPE_ITEM then
				local inbox = player:getSlotItem(CONST_SLOT_STORE_INBOX)
				if inbox and inbox:getEmptySlots() > offer.count then
					for t = 1,offer.count do
						inbox:addItem(offer.thingId, offer.count or 1)
					end
				else
					return addPlayerEvent(sendStoreError, 250, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "Please make sure you have free slots in your store inbox.")
				end
			-- If offer is Stackable.
			elseif offer.type == GameStore.OfferTypes.OFFER_TYPE_STACKABLE then
				local inbox = player:getSlotItem(CONST_SLOT_STORE_INBOX)
				if inbox and inbox:getEmptySlots() > 0 then
					local parcel = inbox:addItem(2596, 1)
					local packagename = ''.. offer.count..'x '.. offer.name ..' package.'
						if parcel then
							parcel:setAttribute(ITEM_ATTRIBUTE_NAME, packagename)
							for e = 1,offer.count do
								parcel:addItem(offer.thingId, 1)
						end
					end
				else
					return addPlayerEvent(sendStoreError, 250, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "Please make sure you have free slots in your store inbox.")
			end
			-- If offer is outfit/addon
			elseif offer.type == GameStore.OfferTypes.OFFER_TYPE_OUTFIT or offer.type == GameStore.OfferTypes.OFFER_TYPE_OUTFIT_ADDON then
				local outfitLookType
				if player:getSex() == PLAYERSEX_MALE then
					outfitLookType = offer.thingId.male
				else
					outfitLookType = offer.thingId.female
				end
				if not outfitLookType then
					return addPlayerEvent(sendStoreError, 250, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "This outfit seems not to suit your sex, we are sorry for that!")
				end

				player:addOutfitAddon(outfitLookType, offer.addon or 0)
			-- If offer is mount
			elseif offer.type == GameStore.OfferTypes.OFFER_TYPE_MOUNT then
				player:addMount(offer.thingId)
			-- If offer is name change
			elseif offer.type == GameStore.OfferTypes.OFFER_TYPE_NAMECHANGE then
				-- If player typed name yet!
				if productType == GameStore.ClientOfferTypes.CLIENT_STORE_OFFER_NAMECHANGE then
					local newName = msg:getString()

					local resultId = db.storeQuery("SELECT * FROM `players` WHERE `name` = " .. db.escapeString(newName) .. "")
					if resultId ~= false then
						return addPlayerEvent(sendStoreError, 650, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "This name is already used, please try again!")
					end

					local result = GameStore.canChangeToName(newName)
					if not result.ability then
						return addPlayerEvent(sendStoreError, 650, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, result.reason)
					end

					newName = newName:lower():gsub("(%l)(%w*)", function(a, b) return string.upper(a) .. b end)
					db.asyncQuery("UPDATE `players` SET `name` = " .. db.escapeString(newName) .. " WHERE `id` = " .. player:getGuid())
					message =  "You have successfully changed you name, you must relog to see changes."
				-- If not, we ask him to do!
				else
					return addPlayerEvent(sendRequestPurchaseData, 250, player, offer.id, GameStore.ClientOfferTypes.CLIENT_STORE_OFFER_NAMECHANGE)
				end
			-- If offer is sex change
			elseif offer.type == GameStore.OfferTypes.OFFER_TYPE_SEXCHANGE then
				player:toggleSex()
			-- If offer is promotion
			elseif offer.type == GameStore.OfferTypes.OFFER_TYPE_PROMOTION then
				if not GameStore.addPromotionToPlayer(player, offer.thingId) then
					return false
				end
			-- You can add whatever offer types to suit your needs!
			else
				-- ToDo :: implement purchase function
				return addPlayerEvent(sendStoreError, 250, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "This offer is fake, please contact admin.")
			end
			-- Removing coins
			player:removeCoinsBalance(offer.price)
			-- We add this purchase to history!
			GameStore.insertHistory(player:getAccountId(), GameStore.HistoryTypes.HISTORY_TYPE_NONE, offerCountStr .. offer.name, offer.price * -1)
			-- Send to client that purchase is successful!
			return addPlayerEvent(sendStorePurchaseSuccessful, 650, player, message)
		end
		return addPlayerEvent(sendStoreError, 650, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "You need at least 300 cap to buy from Store!")
	else
		-- If we didn't found the offer or error happened
		addPlayerEvent(sendStoreError, 350, player, GameStore.StoreErrors.STORE_ERROR_INFORMATION, "You need at least 300 cap to buy from Store.")
	end
end

-- Both functions use same formula!
function parseOpenTransactionHistory(player, msg)
	local page = 1
	GameStore.DefaultValues.DEFAULT_VALUE_ENTRIES_PER_PAGE = msg:getByte()
	sendStoreTransactionHistory(player, page, GameStore.DefaultValues.DEFAULT_VALUE_ENTRIES_PER_PAGE)
end

function parseRequestTransactionHistory(player, msg)
	local page = msg:getU32()
	sendStoreTransactionHistory(player, page, GameStore.DefaultValues.DEFAULT_VALUE_ENTRIES_PER_PAGE)
end

--==Sending==--
function openStore(player)
	if not GameStore.Categories then
		return false
	end
	if player:getFreeCapacity() < 30000 then
		player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You need at least 300 free cap to open the Store.')
		return false
	end
	local msg = NetworkMessage()
	msg:addByte(GameStore.SendingPackets.S_OpenStore)
	msg:addByte(0x00)

	msg:addU16(#GameStore.Categories)
	for k, category in ipairs(GameStore.Categories) do
		msg:addString(category.name)
		msg:addString(category.description)

		if player:getClient().version >= 1093 then
			msg:addByte(category.state or GameStore.States.STATE_NONE)
		end

		msg:addByte(#category.icons)
		for m, icon in ipairs(category.icons) do
			msg:addString(icon)
		end

		msg:addString(category.parentCategory)
	end
	msg:sendToPlayer(player)

	sendCoinBalanceUpdating(player, true)
end

function sendShowStoreOffers(player, category)
	local msg = NetworkMessage()
	msg:addByte(GameStore.SendingPackets.S_StoreOffers)

	msg:addString(category.name)

	msg:addU16(category.offers and #category.offers or 0x00)

	if category.offers then
		for k, offer in ipairs(category.offers) do
			msg:addU32(offer.id and offer.id or 0xFFFF) -- we later detect this number!

			local name = ""
			if offer.type == GameStore.OfferTypes.OFFER_TYPE_ITEM and offer.count then
				name = offer.count .. "x "
			end

			if offer.type == GameStore.OfferTypes.OFFER_TYPE_STACKABLE and offer.count then
				name = offer.count .. "x "
			end

			name = name .. (offer.name or "Something Special")

			msg:addString(name)
			msg:addString(offer.description or GameStore.getDefaultDescription(offer.type))

			msg:addU32(offer.price and offer.price or 0xFFFF)
			msg:addByte(offer.state or GameStore.States.STATE_NONE) -- default is none

			local disabled, disabledReason = 0, ""
			if offer.disabled == true or not offer.type then
				disabled = 1
			end

			if offer.type ~= GameStore.OfferTypes.OFFER_TYPE_NAMECHANGE and offer.type ~= GameStore.OfferTypes.OFFER_TYPE_SEXCHANGE and not offer.thingId then
				disabled = 1
			end

			if disabled == 1 and offer.disabledReason then -- dynamic disable
				disabledReason = offer.disabledReason
			end

			if disabled ~= 1 then
				if offer.type == GameStore.OfferTypes.OFFER_TYPE_OUTFIT or offer.type == GameStore.OfferTypes.OFFER_TYPE_OUTFIT_ADDON then
					local outfitLookType
					if player:getSex() == PLAYERSEX_MALE then
						outfitLookType = offer.thingId.male
					else
						outfitLookType = offer.thingId.female
					end

					if outfitLookType then
						if offer.type == GameStore.OfferTypes.OFFER_TYPE_OUTFIT and player:hasOutfit(outfitLookType) then
							disabled = 1
							disabledReason = "You already have this outfit."
						elseif offer.type == GameStore.OfferTypes.OFFER_TYPE_OUTFIT_ADDON then
							if player:hasOutfit(outfitLookType) then
								if player:hasOutfit(outfitLookType, offer.addon) then
									disabled = 1
									disabledReason = "You already have this addon."
								end
							else
								disabled = 1
								disabledReason = "You don't have the outfit, you can't buy the addon."
							end
						end
					else
						disabled = 1
						disabledReason = "The offer is fake."
					end
				elseif offer.type == GameStore.OfferTypes.OFFER_TYPE_MOUNT then
					local hasMount = player:hasMount(offer.thingId)
					if hasMount == true then
						disabled = 1
						disabledReason = "You already have this mount."
					end
				elseif offer.type == GameStore.OfferTypes.OFFER_TYPE_PROMOTION then
					if GameStore.canAddPromotionToPlayer(player, offer.thingId).ability == false then
						disabled = 1
						disabledReason = "You can't get this promotion"
					end
				end
			end

			msg:addByte(disabled)

			if disabled == 1 and player:getClient().version >= 1093 then
				msg:addString(disabledReason)
			end

			msg:addByte(#offer.icons)
			for k, icon in ipairs(offer.icons) do
				msg:addString(icon)
			end

			msg:addU16(0) -- We still don't support SubOffers!
		end
	end
	msg:sendToPlayer(player)
end

function sendStoreTransactionHistory(player, page, entriesPerPage)
	local entries = GameStore.retrieveHistoryEntries(player:getAccountId()) -- this makes everything easy!
	if #entries == 0 then
		return addPlayerEvent(sendStoreError, 250, player, GameStore.StoreErrors.STORE_ERROR_HISTORY, "You don't have any entries yet.")
	end

	local toSkip = (page - 1) * entriesPerPage
	for i = 1, toSkip do
		table.remove(entries, 1) -- we remove first!
	end

	local msg = NetworkMessage()
	msg:addByte(GameStore.SendingPackets.S_OpenTransactionHistory)
	msg:addU32(page)
	msg:addU32(#entries > entriesPerPage and 0x01 or 0x00)

	msg:addByte(#entries >= entriesPerPage and entriesPerPage or #entries)
	for k, entry in ipairs(entries) do
		if k >= entriesPerPage then break end
		msg:addU32(entry.time)
		msg:addByte(entry.mode)
		msg:addU32(entry.amount)
		msg:addString(entry.description)
	end
	msg:sendToPlayer(player)
end

function sendStorePurchaseSuccessful(player, message)
	local msg = NetworkMessage()
	msg:addByte(GameStore.SendingPackets.S_CompletePurchase)

	msg:addByte(0x00)

	msg:addString(message)
	msg:addU32(player:getCoinsBalance())
	msg:addU32(player:getCoinsBalance())

	msg:sendToPlayer(player)
end

function sendStoreError(player, errorType, message)
	local msg = NetworkMessage()
	msg:addByte(GameStore.SendingPackets.S_StoreError)

	msg:addByte(errorType)
	msg:addString(message)

	msg:sendToPlayer(player)
end

function sendCoinBalanceUpdating(player, updating)	
	local msg = NetworkMessage()
	msg:addByte(GameStore.SendingPackets.S_CoinBalanceUpdating)
	msg:addByte(0x00)
	msg:sendToPlayer(player)

	if updating == true then
		sendUpdateCoinBalance(player)
	end
end

function sendUpdateCoinBalance(player)	
	local msg = NetworkMessage()
	msg:addByte(GameStore.SendingPackets.S_CoinBalanceUpdating)
	msg:addByte(0x01)

	msg:addByte(GameStore.SendingPackets.S_CoinBalance)
	msg:addByte(0x01)

	msg:addU32(player:getCoinsBalance())
	msg:addU32(player:getCoinsBalance())

	msg:sendToPlayer(player)
end

function sendRequestPurchaseData(player, offerId, type)
	local msg = NetworkMessage()
	msg:addByte(GameStore.SendingPackets.S_RequestPurchaseData)
	msg:addU32(offerId)
	msg:addByte(type)
	msg:sendToPlayer(player)
end

--==GameStoreFunctions==--
GameStore.getCategoryByName = function(name)
	for k, category in ipairs(GameStore.Categories) do
		if category.name:lower() == name:lower() then
			return category
		end
	end
	return nil
end

GameStore.getOfferById = function(id)
	for Cat_k, category in ipairs(GameStore.Categories) do
		if category.offers then
			for Off_k, offer in ipairs(category.offers) do
				if offer.id == id then
					return offer
				end
			end
		end
	end
	return nil
end

GameStore.insertHistory = function(accountId, mode, description, amount)
	return db.asyncQuery(string.format("INSERT INTO `store_history`(`account_id`, `mode`, `description`, `coin_amount`, `time`) VALUES (%s, %s, %s, %s, %s)", accountId, mode, db.escapeString(description), amount, os.time()))
end

GameStore.retrieveHistoryEntries = function(accountId)
	local entries = {}
	local resultId = db.storeQuery("SELECT * FROM `store_history` WHERE `account_id` = " .. accountId .. " ORDER BY `time` DESC LIMIT 15;")
	if resultId ~= false then
		repeat
			local entry = {
				mode = result.getDataInt(resultId, "mode"),
				description = result.getDataString(resultId, "description"),
				amount = result.getDataInt(resultId, "coin_amount"),
				time = result.getDataInt(resultId, "time"),
			}
			table.insert(entries, entry)
		until not result.next(resultId)
		result.free(resultId)
	end
	return entries
end

GameStore.getDefaultDescription = function(offerType)
	local t, descList = GameStore.OfferTypes
	if offerType == t.OFFER_TYPE_OUTFIT or offerType == t.OFFER_TYPE_OUTFIT_ADDON then
		descList = GameStore.DefaultDescriptions.OUTFIT
	elseif offerType == t.OFFER_TYPE_MOUNT then
		descList = GameStore.DefaultDescriptions.MOUNT
	elseif offerType == t.OFFER_TYPE_NAMECHANGE then
		descList = GameStore.DefaultDescriptions.NAMECHANGE
	elseif offerType == t.OFFER_TYPE_SEXCHANGE then
		descList = GameStore.DefaultDescriptions.SEXCHANGE
	else
		return ""
	end

	return descList[math.floor(math.random(1, #descList))] or ""
end

GameStore.canChangeToName = function(name)
	local result = {
		ability = false
	}
	if name:len() < 3 or name:len() > 14 then
		result.reason = "Your new name's length should be lower than 3 or higher than 14."
		return result
	end

	-- just copied from znote aac.
	local words = {"owner", "gamemaster", "hoster", "admin", "staff", "tibia", "account", "god", "anal", "ass", "fuck", "sex", "hitler", "pussy", "dick", "rape", "cm", "gm", "tutor", "counsellor"}
	local split = name:split(" ")
	for k, word in ipairs(words) do
		for k, nameWord in ipairs(split) do
			if nameWord:lower() == word then
				result.reason = "You can't use word \"" .. word .. "\" in your new name."
				return result
			end
		end
	end

	if MonsterType(name) then
		result.reason = "Your new name \"" .. name .. "\" can't be a monster's name."
		return result
	elseif Npc(name) then
		result.reason = "Your new name \"" .. name .. "\" can't be a npc's name."
		return result
	end

	local letters = "{}|_*+-=<>0123456789@#%^&()/*\\.,:;~!\"$"
	for i = 1, letters:len() do
		local c = letters:sub(i, i)
		for i = 1, name:len() do
			local m = name:sub(i, i)
			if m == c then
				result.reason = "You can't use this letter \"" .. c .. "\" in your new name."
				return result
			end
		end
	end
	result.ability = true
	return result
end

GameStore.canAddPromotionToPlayer = function(player, promotion, send)
	local result = {
		ability = true
	}
	local vocation = player:getVocation()
	-- Working --
	local vocationCopy, baseVocation = vocation, vocation
	vocation = vocation:getDemotion()
	while vocation do
		baseVocation = vocation
		vocation = vocation:getDemotion()
	end

	local baseVocationsCount = GameStore.BaseVocationsCount or 4

	local newVocId = (baseVocationsCount * promotion) + baseVocation:getId()

	if not Vocation(newVocId) then
		if send then
			addPlayerEvent(sendStoreError, 350, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "The offer is fake, please report it!")
		end
		result.ability = false
		return result
	end
	-- If promotion is less than player's voc, or player don't have previous promotion
	if newVocId <= vocationCopy:getId() then
		if send then
			addPlayerEvent(sendStoreError, 350, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "You already have this promotion!")
		end
		result.ability = false
		return result
	end

	if (newVocId - baseVocationsCount) ~= vocationCopy:getId() then
		if send then
			addPlayerEvent(sendStoreError, 350, player, GameStore.StoreErrors.STORE_ERROR_NETWORK, "You need higher promotion to get his one.")
		end
		result.ability = false
		return result
	end

	result.vocId = newVocId
	return result
end

GameStore.addPromotionToPlayer = function(player, promotion)
	local result = GameStore.canAddPromotionToPlayer(player, promotion, true)
	if result.ability == false then return false end

	local basics = {
		health = 185,
		mana = 40,
		cap = 500
	}

	player:setVocation(result.vocId)
	local newVoc = player:getVocation()
	player:setMaxHealth(basics.health + (newVoc:getHealthGain() * player:getLevel()))
	player:setMaxMana(basics.mana + (newVoc:getManaGain() * player:getLevel()))
	player:setCapacity(basics.cap + (newVoc:getCapacityGain() * player:getLevel()))

	player:addHealth(player:getMaxHealth())
	player:addMana(player:getMaxMana())

	player:sendTextMessage(MESSAGE_INFO_DESCR, "You have been promoted to " .. newVoc:getName())
	return true
end

--==Player==--
function Player.getCoinsBalance(self)
	resultId = db.storeQuery("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. self:getAccountId())
	if not resultId then return 0 end
	return result.getDataInt(resultId, "premium_points")
end

function Player.setCoinsBalance(self, coins)
	db.asyncQuery("UPDATE `accounts` SET `premium_points` = " .. coins .. " WHERE `id` = " .. self:getAccountId())
	return true
end

function Player.canRemoveCoins(self, coins)
	if self:getCoinsBalance() < coins then
		return false
	end
	return true
end

function Player.removeCoinsBalance(self, coins)
	if self:canRemoveCoins(coins) then
		return self:setCoinsBalance(self:getCoinsBalance() - coins)
	end

	return false
end

function Player.addCoinsBalance(self, coins, update)
	self:setCoinsBalance(self:getCoinsBalance() + coins)
	if update then sendCoinBalanceUpdating(self, true) end
	return true
end

function Player.toggleSex(self)
	local currentSex = self:getSex()
	local playerOutfit = self:getOutfit()

	if currentSex == PLAYERSEX_FEMALE then
		self:setSex(PLAYERSEX_MALE)
		playerOutfit.lookType = 128
	else
		self:setSex(PLAYERSEX_FEMALE)
		playerOutfit.lookType = 136
	end
	self:setOutfit(playerOutfit)
end

 

 

Editado por Baahzera
BUG STORE INBOX (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Em 23/11/2016 ás 22:06, mateussssb disse:

algume pode min disse como tira assassin stat de infinita?

 

Abra seu weapons.xml :

Apague tudo que estiver dentro e coloque isso :

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<weapons>
	<!-- Rods -->
	<wand id="2182" level="7" mana="2" min="8" max="18" type="earth"> <!-- Snakebit Rod -->
		<vocation name="Druid" />
	</wand>
	<wand id="2186" level="13" mana="3" min="13" max="25" type="ice"> <!-- Moonlight Rod -->
		<vocation name="Druid" />
	</wand>
	<wand id="2185" level="19" mana="5" min="27" max="33" type="death"> <!-- Necrotic Rod -->
		<vocation name="Druid" />
	</wand>
	<wand id="8911" level="22" mana="5" min="27" max="33" type="ice"> <!-- Northwind Rod -->
		<vocation name="Druid" />
	</wand>
	<wand id="2181" level="26" mana="8" min="42" max="48" type="earth"> <!-- Terra Rod -->
		<vocation name="Druid" />
	</wand>
	<wand id="24839" level="37" mana="13" min="55" max="70" type="earth"> <!-- ogre sceptra -->
		<vocation name="Druid" />
	</wand>
	<wand id="2183" level="33" mana="13" min="55" max="75" type="ice"> <!-- Hailstorm Rod -->
		<vocation name="Druid" />
	</wand>
	<wand id="8912" level="37" mana="13" min="55" max="75" type="earth"> <!-- Springsprout Rod -->
		<vocation name="Druid" />
	</wand>
	<wand id="8910" level="42" mana="13" min="55" max="75" type="death"> <!-- Underworld Rod -->
		<vocation name="Druid" />
	</wand>
	<wand id="13872" level="40" mana="13" min="55" max="75" type="ice"> <!-- Shimmer Rod -->
		<vocation name="Druid" />
	</wand>
	<wand id="18411" level="65" mana="17" min="70" max="100" type="earth"> <!-- Muck Rod -->
		<vocation name="Druid" />
	</wand>
	<wand id="18412" level="65" mana="17" min="70" max="100" type="ice"> <!-- Glacial Rod -->
		<vocation name="Druid" />
	</wand>
	
	
	<!-- 10.94 WANDS RODS -->
	<wand id="25995" level="100" mana="18" min="75" max="100" type="ice"> <!-- Rod of Carving -->
		<vocation name="Druid" />
	</wand>
	<wand id="25996" level="150" mana="18" min="75" max="100" type="ice"> <!-- Rod of Carving (Charged) -->
		<vocation name="Druid" />
	</wand>
	<wand id="25997" level="200" mana="18" min="75" max="100" type="ice"> <!-- Rod of Carving (Heavily Charged) -->
		<vocation name="Druid" />
	</wand>
	<wand id="25998" level="250" mana="18" min="75" max="100" type="ice"> <!-- Rod of Carving (overcharged) -->
		<vocation name="Druid" />
	</wand>
	
	<wand id="25888" level="100" mana="18" min="75" max="100" type="ice"> <!-- Rod of Mayhem -->
		<vocation name="Druid" />
	</wand>
	<wand id="25898" level="150" mana="18" min="75" max="100" type="ice"> <!-- Rod of Mayhem -->
		<vocation name="Druid" />
	</wand>
	<wand id="25908" level="200" mana="18" min="75" max="100" type="ice"> <!-- Rod of Mayhem -->
		<vocation name="Druid" />
	</wand>
	<wand id="25918" level="250" mana="18" min="75" max="100" type="ice"> <!-- Rod of Mayhem -->
		<vocation name="Druid" />
	</wand>

	
	<wand id="25955" level="100" mana="18" min="75" max="100" type="ice"> <!-- Rod of Remedy -->
		<vocation name="Druid" />
	</wand>
	<wand id="25956" level="150" mana="18" min="75" max="100" type="ice"> <!-- Rod of Remedy -->
		<vocation name="Druid" />
	</wand>
	<wand id="25957" level="200" mana="18" min="75" max="100" type="ice"> <!-- Rod of Remedy -->
		<vocation name="Druid" />
	</wand>
	<wand id="25958" level="250" mana="18" min="75" max="100" type="ice"> <!-- Rod of Remedy -->
		<vocation name="Druid" />
	</wand>
	

	<wand id="25991" level="100" mana="18" min="75" max="100" type="energy"> <!-- Wand of Carving -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="25992" level="150" mana="18" min="75" max="100" type="energy"> <!-- Wand of Carving -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="25993" level="200" mana="18" min="75" max="100" type="energy"> <!-- Wand of Carving -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="25994" level="250" mana="18" min="75" max="100" type="energy"> <!-- Wand of Carving -->
		<vocation name="Sorcerer" />
	</wand>
	
	<wand id="25887" level="100" mana="18" min="75" max="100" type="energy"> <!-- Wand of Mayhem -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="25897" level="150" mana="18" min="75" max="100" type="energy"> <!-- Wand of Mayhem -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="25907" level="200" mana="18" min="75" max="100" type="energy"> <!-- Wand of Mayhem -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="25917" level="250" mana="18" min="75" max="100" type="energy"> <!-- Wand of Mayhem -->
		<vocation name="Sorcerer" />
	</wand>
	
	<wand id="25951" level="100" mana="18" min="75" max="100" type="energy"> <!-- Wand of Remedy -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="25952" level="150" mana="18" min="75" max="100" type="energy"> <!-- Wand of Remedy -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="25953" level="200" mana="18" min="75" max="100" type="energy"> <!-- Wand of Remedy -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="25954" level="250" mana="18" min="75" max="100" type="energy"> <!-- Wand of Remedy -->
		<vocation name="Sorcerer" />
	</wand>
	<!-- Wands -->
	<wand id="2190" level="7" mana="2" min="8" max="18" type="energy"> <!-- Wand of Vortex -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="2191" level="13" mana="3" min="13" max="25" type="fire"> <!-- Wand of Dragonbreath -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="2188" level="19" mana="5" min="27" max="33" type="death"> <!-- Wand of Decay -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="8921" level="22" mana="5" min="27" max="33" type="fire"> <!-- Wand of Draconia -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="2189" level="26" mana="8" min="42" max="48" type="energy"> <!-- Wand of Cosmic Energy -->
		<vocation name="Sorcerer" />
	</wand>
	
	<wand id="25421" level="65" mana="17" min="70" max="80" type="energy"> <!-- Wand of Cosmic Energy -->
		<vocation name="Sorcerer" />
		<vocation name="Druid" />
		
	</wand>
	
	<wand id="2187" level="33" mana="13" min="55" max="75" type="fire"> <!-- Wand of Inferno -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="8920" level="37" mana="13" min="55" max="75" type="energy"> <!-- Wand of Starmstorm -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="8922" level="42" mana="13" min="55" max="75" type="death"> <!-- Wand of Voodoo -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="13760" level="37" mana="13" min="55" max="75" type="death"> <!-- Wand of Dimensions -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="13880" level="40" mana="13" min="55" max="75" type="energy"> <!-- Shimmer Wand -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="18390" level="65" mana="17" min="70" max="100" type="energy"> <!-- Wand of Defiance -->
		<vocation name="Sorcerer" />
	</wand>
	<wand id="18409" level="65" mana="17" min="70" max="100" type="fire"> <!-- Wand of Everblazing -->
		<vocation name="Sorcerer" />
	</wand>

	<!-- Swords -->
	<melee id="2396" action="removecharge" />
	<melee id="2413" level="5" unproperly="1" />		
	
	<melee id="7385" level="20" unproperly="1" />
	<melee id="2377" level="20" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7408" level="25" unproperly="1" />
	<melee id="7449" level="25" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2392" level="30" unproperly="1" />
	<melee id="2407" level="30" unproperly="1" />
	<melee id="2438" level="30" unproperly="1" />
	<melee id="7407" level="30" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7424" level="30" unproperly="1" />
	<melee id="7406" level="35" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2451" level="35" unproperly="1" />
	<melee id="7404" level="40" unproperly="1" />
	<melee id="7386" level="40" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2446" level="45" unproperly="1" />
	<melee id="7402" level="45" unproperly="1" />
		
	<melee id="7383" level="50" unproperly="1" />
	<melee id="7391" level="50" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7416" level="55" unproperly="1" />
	<melee id="2393" level="55" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7384" level="60" unproperly="1" />
	<melee id="7382" level="60" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7417" level="65" unproperly="1" />
	<melee id="7403" level="65" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7418" level="70" unproperly="1" />
	<melee id="7405" level="70" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7390" level="75" unproperly="1" />
	<melee id="6528" level="75" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2400" level="80" unproperly="1" />
	<melee id="8930" level="100" unproperly="1" />
	<melee id="8931" level="120" unproperly="1" />
	<melee id="8932" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2408" level="120" unproperly="1" />
		<!--<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>-->
	<melee id="2390" level="140" unproperly="1" />
		<!--<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>-->
	<melee id="11306" level="50" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="11307" level="55" unproperly="1" />
	<melee id="12649" level="82" unproperly="1" />
	<melee id="12613" level="58" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="13871" level="40" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="18450" level="62" unproperly="1" />
	<melee id="20092" level="15" unproperly="1" />
	<melee id="22398" level="75" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<!-- START 10.94 -->
	
	
	<melee id="25959" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>	
	<melee id="25960" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>	
	<melee id="25961" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25962" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	
	
	<melee id="25879" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25889" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25899" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25909" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	
	<melee id="25919" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25920" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25921" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25922" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25963" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25964" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25965" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25966" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25880" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25890" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25900" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25910" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25923" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25924" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25925" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25926" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25967" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25968" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25969" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25970" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	
	<melee id="25881" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25891" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25901" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25911" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	
	
	<melee id="25927" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25928" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25929" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25930" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	
	<melee id="25971" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25972" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25973" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25974" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	
	<melee id="25882" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25892" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25902" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25912" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25931" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25932" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25933" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25934" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25979" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25980" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25981" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25982" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25884" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25894" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25904" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25914" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25939" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25940" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25941" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25942" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25975" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25976" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25977" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25978" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25883" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25893" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25903" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25913" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	<melee id="25935" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25936" level="150" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25937" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="25938" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<!-- FIM 10.94 -->
	
	<melee id="22399" level="120" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22400" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22401" level="75" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22402" level="120" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22403" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="23550" level="75" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="23548" level="25" unproperly="1" />

	<!-- Fire -->
	<melee id="7744" action="removecharge" />
	<melee id="7745" level="50" action="removecharge" unproperly="1" />
	<melee id="7746" level="60" action="removecharge" unproperly="1" />
	<melee id="7747" level="35" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7748" level="45" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!-- Ice -->
	<melee id="7763" action="removecharge" />
	<melee id="7764" level="50" action="removecharge" unproperly="1" />
	<melee id="7765" level="60" action="removecharge" unproperly="1" />
	<melee id="7766" level="35" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7767" level="45" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!-- Earth -->
	<melee id="7854" action="removecharge" />
	<melee id="7855" level="50" action="removecharge" unproperly="1" />
	<melee id="7856" level="60" action="removecharge" unproperly="1" />
	<melee id="7857" level="35" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7858" level="45" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!-- Energy -->
	<melee id="7869" action="removecharge" />
	<melee id="7870" level="50" action="removecharge" unproperly="1" />
	<melee id="7871" level="60" action="removecharge" unproperly="1" />
	<melee id="7872" level="35" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7873" level="45" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!-- Axes -->
	<melee id="2378" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2429" level="20" unproperly="1" />
	<melee id="2435" level="20" unproperly="1" />
	<melee id="2425" level="20" unproperly="1" />
	<melee id="2430" level="25" unproperly="1" />
	<melee id="2387" level="25" unproperly="1"/>		
	<melee id="2381" level="25" unproperly="1" />
	<melee id="2440" level="25" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2426" level="25" unproperly="1" />
	<melee id="3962" level="30" unproperly="1" />
	<melee id="7454" level="30" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2432" level="35" unproperly="1" />
	<!-- INICIO ITEMS NOVOS VIKING -->
	<melee id="25416" level="150" unproperly="1" />
	<melee id="24828" level="25" unproperly="1" />
	<melee id="25415" level="150" unproperly="1" />
	<melee id="25383" level="70" unproperly="1" />
	<melee id="25420" level="100" unproperly="1" />
	<melee id="25418" level="150" unproperly="1" />
	<melee id="24827" level="50" unproperly="1" />
	
	<!-- FIM ITEMS NOVOS VIKING -->
	
	<melee id="7380" level="35" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7456" level="35" unproperly="1" />
	<melee id="7419" level="40" unproperly="1" />
	<melee id="7413" level="40" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7412" level="45" unproperly="1" />
	<melee id="7436" level="45" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7411" level="50" unproperly="1" />
	<melee id="7435" level="85" unproperly="1" />
	<melee id="2447" level="50" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7388" level="55" unproperly="1" />
	<melee id="2427" level="55" unproperly="1" />
	<melee id="7389" level="60" unproperly="1" />
	<melee id="2414" level="60" unproperly="1" />
	<melee id="2454" level="65" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2443" level="70" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7420" level="70" unproperly="1" />
	<melee id="7434" level="75" unproperly="1" />
	<melee id="7433" level="65" unproperly="1" />
	<melee id="6553" level="75" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7453" level="85" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2431" level="90" unproperly="1" />
	<melee id="2415" level="95" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="8924" level="110" unproperly="1" />
	<melee id="8925" level="130" unproperly="1" />
	<melee id="8926" level="120" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="11305" level="60" unproperly="1" />
	<melee id="11309" level="20" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="11323" level="25" unproperly="1" />
	<melee id="15404" level="80" unproperly="1" />
	<melee id="15451" level="40" unproperly="1" />
	<melee id="15454" level="50" unproperly="1" />
	<melee id="15492" level="70" unproperly="1" />
	<melee id="13838" level="25" unproperly="1" />
	<melee id="22404" level="75" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22405" level="120" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22406" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22407" level="75" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22408" level="120" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22409" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="23551" level="75" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="23547" level="55" unproperly="1" />
	<melee id="23545" level="45" unproperly="1" />

	<!-- Fire -->
	<melee id="7749" level="20" action="removecharge" unproperly="1" />
	<melee id="7750" level="25" action="removecharge" unproperly="1" />
	<melee id="7751" level="60" action="removecharge" unproperly="1" />
	<melee id="7752" level="35" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7753" level="65" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!-- Ice -->
	<melee id="7768" level="20" action="removecharge" unproperly="1" />
	<melee id="7769" level="25" action="removecharge" unproperly="1" />
	<melee id="7770" level="60" action="removecharge" unproperly="1" />
	<melee id="7771" level="35" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7772" level="65" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!-- Earth -->
	<melee id="7859" level="20" action="removecharge" unproperly="1" />
	<melee id="7860" level="25" action="removecharge" unproperly="1" />
	<melee id="7861" level="60" action="removecharge" unproperly="1" />
	<melee id="7862" level="35" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7863" level="65" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!-- Energy -->
	<melee id="7874" level="20" action="removecharge" />
	<melee id="7875" level="25" action="removecharge" unproperly="1" />
	<melee id="7876" level="60" action="removecharge" unproperly="1" />
	<melee id="7877" level="35" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7878" level="65" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!--Clubs -->
	<melee id="2423" level="20" unproperly="1" />
	<melee id="7381" level="20" unproperly="1" />
	<melee id="7425" level="20" unproperly="1" />
	<melee id="7432" level="20" unproperly="1" />
	<melee id="2434" level="25" unproperly="1" />
	<melee id="7387" level="25" unproperly="1" />
	<melee id="7379" level="25" unproperly="1" />
	<melee id="7430" level="30" unproperly="1" />
	<melee id="2436" level="30" unproperly="1" />
	<melee id="7437" level="30" unproperly="1" />
	<melee id="3961" level="40" unproperly="1" />
	<melee id="7452" level="30" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7450" level="120" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2445" level="35" unproperly="1" />
	<melee id="7451" level="35" unproperly="1" />
	<melee id="2424" level="45" unproperly="1" />
	<melee id="7455" level="80" unproperly="1" />
	<melee id="7392" level="35" unproperly="1" />
	<melee id="7426" level="40" unproperly="1" />
	<melee id="7427" level="45" unproperly="1" />
	<melee id="2391" level="50" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7410" level="55" unproperly="1" />
	<melee id="7428" level="55" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7415" level="60" unproperly="1" />
	<melee id="7414" level="60" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2444" level="65" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7421" level="65" unproperly="1" />
	<melee id="2452" level="70" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="7422" level="75" unproperly="1" />
	<melee id="7429" level="75" unproperly="1" />
	<melee id="2437" level="80" unproperly="1" />
	<melee id="2453" level="75" unproperly="1" />
	<melee id="7431" level="80" unproperly="1" />
	<melee id="7409" level="50" unproperly="1" />
	<melee id="7423" level="85" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="2421" level="85" unproperly="1" />
	<melee id="8928" level="100" unproperly="1" />
	<melee id="8929" level="100" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="8927" level="120" unproperly="1" />
	<melee id="11308" level="55" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="12648" level="82" unproperly="1" />
	<melee id="15400" level="38" unproperly="1" />
	<melee id="15414" level="90" unproperly="1" />
	<melee id="15647" level="48" unproperly="1" />
	<melee id="20093" level="15" unproperly="1" />
	<melee id="20108" level="50" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="20139" level="20" unproperly="1" />
	<melee id="22410" level="75" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22411" level="120" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22412" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22413" level="75" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22414" level="120" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="22415" level="250" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="23590" level="70" unproperly="1" />
	<melee id="23549" level="75" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="23544" level="60" unproperly="1" />
	<melee id="23543" level="25" unproperly="1" />
	<melee id="23542" level="55" unproperly="1" />

	<!-- Fire -->
	<melee id="7754" level="20" action="removecharge" unproperly="1" />
	<melee id="7755" level="35" action="removecharge" unproperly="1" />
	<melee id="7756" level="60" action="removecharge" unproperly="1" />
	<melee id="7757" level="35" action="removecharge" unproperly="1" />
	<melee id="7758" level="50" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!-- Ice -->
	<melee id="7773" level="20" action="removecharge" unproperly="1" />
	<melee id="7774" level="35" action="removecharge" unproperly="1" />
	<melee id="7775" level="60" action="removecharge" unproperly="1" />
	<melee id="7776" level="35" action="removecharge" unproperly="1" />
	<melee id="7777" level="50" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!-- Earth -->
	<melee id="7864" level="20" action="removecharge" unproperly="1" />
	<melee id="7865" level="35" action="removecharge" unproperly="1" />
	<melee id="7866" level="60" action="removecharge" unproperly="1" />
	<melee id="7867" level="35" action="removecharge" unproperly="1" />
	<melee id="7868" level="50" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!-- Energy -->
	<melee id="7879" level="20" action="removecharge" unproperly="1" />
	<melee id="7880" level="35" action="removecharge" unproperly="1" />
	<melee id="7881" level="60" action="removecharge" unproperly="1" />
	<melee id="7882" level="35" action="removecharge" unproperly="1" />
	<melee id="7883" level="50" action="removecharge" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>

	<!-- Bows and Crossbows -->
	<distance id="5803" level="75" unproperly="1"> <!-- Arbalest -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="8849" level="45" unproperly="1"> <!-- Modified Crossbow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="8850" level="60" unproperly="1"> <!-- Chain Bolter -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="8853" level="80" unproperly="1"> <!-- Ironworker -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="8852" level="100" unproperly="1"> <!-- Devileye -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="8851" level="130" unproperly="1"> <!-- Royal Crossbow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="8857" level="40" unproperly="1"> <!-- Silkweaver Bow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="8855" level="50" unproperly="1"> <!-- Composite Hornbow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="8856" level="60" unproperly="1"> <!-- Yol's Bow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="8858" level="70" unproperly="1"> <!-- Elethriel's Elemental Bow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="8854" level="80" unproperly="1"> <!-- Warsinger Bow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="13873" level="40" unproperly="1"> <!-- Shimmer Bow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="15643" level="85" unproperly="1"> <!-- Hive Bow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="15644" level="50" unproperly="1"> <!-- Ornate Crossbow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="16111" level="150" unproperly="1"> <!-- Thorn Spitter -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="18453" level="90" unproperly="1"> <!-- Crystal Crossbow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="18454" level="105" unproperly="1"> <!-- Mycological Bow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="21690" level="70" unproperly="1"> <!-- Triple Bolt Crossbow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="21696" unproperly="1" /> <!-- Icicle Bow -->
	<distance id="22416" level="75" unproperly="1"> <!-- Crude Umbral Bow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	
	<!-- 10.94 distance -->
	
	
	<distance id="25983" level="100" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25984" level="150" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25985" level="200" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25986" level="250" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	
	<distance id="25885" level="100" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25895" level="150" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25906" level="200" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25915" level="250" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	
	<distance id="25943" level="100" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25944" level="150" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25945" level="200" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25946" level="250" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	
	<distance id="25987" level="100" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25988" level="150" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25989" level="200" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25990" level="250" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	
	
	<distance id="25886" level="100" unproperly="1"> <!-- Crossbow of Mayhem -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25896" level="150" unproperly="1"> <!-- Crossbow of Mayhem -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25905" level="200" unproperly="1"> <!-- Crossbow of Mayhem -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25916" level="250" unproperly="1"> <!-- Crossbow of Mayhem -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	
	
	<distance id="25947" level="100" unproperly="1"> <!-- Crossbow of Mayhem -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25948" level="150" unproperly="1"> <!-- Crossbow of Mayhem -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25949" level="200" unproperly="1"> <!-- Crossbow of Mayhem -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="25950" level="250" unproperly="1"> <!-- Crossbow of Mayhem -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	
	
	<!-- 10.94 no SITE -->	
	<distance id="26268" level="200" unproperly="1"> <!-- Crossbow of Mayhem -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>	
	<distance id="26254" level="200" unproperly="1"> <!-- Crossbow of Mayhem -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>	
	
	
	
	<distance id="26308" level="200" unproperly="1"> <!-- Bow of Carving -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>	
	<distance id="26288" level="200" unproperly="1"> <!-- Bow of Remedy -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>	
	<distance id="26311" level="200" unproperly="1"> <!-- Crossbow of Carving  -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>	
	<distance id="26292" level="200" unproperly="1"> <!-- Crossbow of Remedy -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>	
	
	
	
	<wand id="26320" level="200" mana="18" min="75" max="100" type="energy"> <!-- Wand of Mayhem -->
		<vocation name="Sorcerer" />
		<vocation name="Master Sorcerer" showInDescription="0" />
	</wand>	
	<wand id="26323" level="200" mana="18" min="75" max="100" type="ice"> <!-- Rod of Mayhem -->
		<vocation name="Druid" />
		<vocation name="Elder Druid" showInDescription="0" />
	</wand>	
	
	
	<wand id="26314" level="200" mana="18" min="75" max="100" type="energy"> <!-- Wand of Carving -->
		<vocation name="Sorcerer" />
		<vocation name="Master Sorcerer" showInDescription="0" />
	</wand>	
	<wand id="26317" level="200" mana="18" min="75" max="100" type="ice"> <!-- Rod of Carving -->
		<vocation name="Druid" />
		<vocation name="Elder Druid" showInDescription="0" />
	</wand>	
	
	<wand id="26297" level="200" mana="18" min="75" max="100" type="energy"> <!-- Wand of Remedy -->
		<vocation name="Sorcerer" />
		<vocation name="Master Sorcerer" showInDescription="0" />
	</wand>	
	<wand id="26302" level="200" mana="18" min="75" max="100" type="ice"> <!-- Rod of Remedy -->
		<vocation name="Druid" />
		<vocation name="Elder Druid" showInDescription="0" />
	</wand>	
	
	
	
	<melee id="26283" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="26278" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="26256" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="26273" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="26267" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="26260" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	
	
	
	<melee id="26270" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="26277" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="26284" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="26293" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="26305" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<melee id="26300" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>	
	<melee id="26247" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>	
	<melee id="26250" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>	
	<melee id="26244" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>	
	<melee id="26241" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>	
	<melee id="26235" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>	
	<melee id="26238" level="200" unproperly="1">
		<vocation name="Knight" />
		<vocation name="Elite Knight" showInDescription="0" />
	</melee>
	<!-- 10.94 no SITE FIM -->
	
	 
	<!-- 10.94 distance FIM -->
	<distance id="22417" level="150" unproperly="1"> <!-- Umbral Bow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="22418" level="250" unproperly="1"> <!-- Umbral Master Bow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="22419" level="75" unproperly="1"> <!-- Crude Umbral Crossbow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	<distance id="22420" level="150" unproperly="1"> <!-- Umbral Crossbow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	
	<distance id="25522" level="120" unproperly="1"> <!-- rift bow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	
	<distance id="25523" level="120" unproperly="1"> <!-- rift Crossbow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>
	
	<distance id="22421" level="250" unproperly="1"> <!-- Umbral Master Crossbow -->
		<vocation name="Paladin" />
		<vocation name="Royal Paladin" showInDescription="0" />
	</distance>

	<!-- Ammunition -->
  	<distance id="23839" action="removecount" unproperly="0" level="1" /> <!-- Simple Arrow -->
	<distance id="2543" action="removecount" /> <!-- bolt -->
	<distance id="2544" action="removecount" /> <!-- arrow -->
	<distance id="2545" action="removecount" script="poison_arrow.lua" /> <!-- poison arrow -->
	<distance id="2546" action="removecount" script="burst_arrow.lua" /> <!-- burst arrow -->
	<distance id="2547" action="removecount" unproperly="1" level="55" />	<!-- Power Bolt -->
	<distance id="6529" action="removecount" unproperly="1" level="110" />	<!-- Infernal Bolt -->
	<distance id="7363" action="removecount" unproperly="1" level="30" />	<!-- Piercing Bolt -->
	<distance id="7364" action="removecount" unproperly="1" level="20" />	<!-- Sniper Arrow -->
	<distance id="7365" action="removecount" unproperly="1" level="40" />	<!-- Onyx Arrow -->
	<distance id="7838" action="removecount" unproperly="1" level="20" />	<!-- Flash Arrow -->
	<distance id="7839" action="removecount" unproperly="1" level="20" />	<!-- Shiver Arrow -->
	<distance id="7840" action="removecount" unproperly="1" level="20" />	<!-- Flaming Arrow -->
	<distance id="7850" action="removecount" unproperly="1" level="20" />	<!-- Earth Arrow -->
	<distance id="15648" action="removecount" unproperly="1" level="30" />	<!-- Tarsal Arrow -->
	<distance id="15649" action="removecount" unproperly="1" level="40" />	<!-- Vortex Bolt -->
	<distance id="18303" action="removecount" />	<!-- crystal bolt -->
	<distance id="18304" action="removecount" unproperly="1" level="90" />	<!-- Crystalline Arrow -->
	<distance id="18435" action="removecount" unproperly="1" level="90" />	<!-- Prismatic Bolt -->
	<distance id="18436" action="removecount" unproperly="1" level="70" />	<!-- Drill Bolt -->
	<distance id="18437" action="removecount" unproperly="1" level="70" />	<!-- Envenomed Arrow -->
  
  	<!-- Distance Onehanded -->
	<distance id="23529" breakchance="10" unproperly="8" level="60" /> <!-- Glooth Spear -->
	<distance id="7366" breakchance="9" script="viper_star.lua" />		<!-- Viper Star -->
	<distance id="7367" breakchance="2" unproperly="1" level="42" />	<!-- Enchanted Spear -->
	<distance id="7368" breakchance="33" unproperly="1" level="80" />	<!-- Assassin Star -->
	<distance id="7378" breakchance="4" unproperly="1" level="25" />	<!-- Royal Spear -->
  	<distance id="1294" breakchance="3" /> <!-- Small Stone -->
	<distance id="2111" breakchance="10" /> <!-- Snowball -->
  	<distance id="3965" breakchance="5" unproperly="1" level="20" />	<!-- Hunting Spear -->
	<distance id="2389" breakchance="3" /> <!-- Spear -->
	<distance id="2399" breakchance="10" /> <!-- Throwing Star -->
	<distance id="2410" breakchance="7" /> <!-- Throwing Knife -->
</weapons>

 

 

Em 25/11/2016 ás 08:37, chateadoagr disse:

pq qnd vou instalar o xamps aparece essa msg ? 

2016-11-25.png

 

Desabilite o Controle de Conta do Usuário e o seu problema será resolvido.

 

--------------------------------------------------------------------------------------

 

UP (repostei a pergunta pra ver se alguém me ajuda)

 

Queria testar o Tibia 11 com esse server, só que aconteceu esse problema :
Ao tentar logar com o Tibia Client 11 aparece esse erro :
Sorry : Connection Refused

 

Alguém sabe resolver isso? :hum:

Como adicionar o Client flash no site?

Link para o post
Compartilhar em outros sites
18 horas atrás, sn4tch disse:

Alguém chegou a testar a quest do postman ?

 

O npc Kevin não responde a nada, logo não tem como iniciar a quest =/


13:11 Bison [8]: hi
13:36 Kevin: Greetings, Bison.
13:36 Bison [8]: mission
13:36 Kevin: You are not a member of our guild yet! We have high standards for our members. To rise in our guild is a difficult but rewarding task. Are you interested in joining?...

 

Só ir respondendo ele que seu quest log sera atualizado.

Link para o post
Compartilhar em outros sites
3 minutos atrás, pedrolmdso disse:

Meu GOD não ta fazendo comandos de criar item, sumonar monstro, so funciona /t, /c e /goto! 
o group_id do character esta 5, quando coloco 6, diz que o character não carrega.

Va em na data base e em account você procura pela linha type.

 

Vai estar assim:

             valor  

Type        1

 

Mude para:

             valor  

Type        5

 

Isso seve para todas as contas que serão da staff, players sempre type 1.

Link para o post
Compartilhar em outros sites
  • Erimyth pinned this tópico
  • Erimyth featured this tópico
  • Erimyth unfeatured e unpinned this tópico

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Johncore
      Olá galera, é com muita dedicação que trago para este forum uma exclusividade que só eu tinha.
      Mapa Dragonsouls 11x 99%, tem alguns detalhes de sqm ou borda que você possa precisar fazer,
      Dragonsouls é um servidor ATS Custom, baseado em senhor dos aneis. via muita gente perguntando por esse mapa e eu tinha a muitos anos, resolvi converter.
      mas ele está 99% pronto para uso.
       
      Esse mapa é 100% compativel para rodar na Datapack Otg Server 11,
      Otg Server é um projeto que trabalha com varias datapacks de tibia rl e ATS Custom.
       
      Github:
      https://github.com/otg-br/
       
      Participe do grupo Otg Server:  
      https://chat.whatsapp.com/EWV3dVvS6nt1em7q23FGu7
       
       
      MAPA:
       
      INICIAL ISLAND

       
      CARLIN

       
      CIDADE TIRITH

       
      CIDADE BREE

       
       
       
       
      world.zip
    • Por Johncore
      Olá pessoas, estou disponibilizando aqui mais uma exclusividade que é o Mapa Evolunia, ele é baseado no servidor Evolunia.net
       
      Esse mapa é 100% compativel para rodar na Datapack Otg Server 11x,
      Otg Server é um projeto que trabalha com varias datapacks de tibia rl e ATS Custom.
       
      Participe do grupo Otg Server:  
      https://chat.whatsapp.com/EWV3dVvS6nt1em7q23FGu7
       
      Creditos:
      evolunia
      world.zip
    • Por Johncore
      Otg Server é um projeto fork do The Forgotten Server 1.3, feito por brasileiros que visam sempre por estabilidade, um código mais clean, temos no projeto várias Datapacks como
      Global 11.0, Global 8.6, Global 8.0, RadBR 11.0, Evolutions 11.0, Yurots Classic 11.0, nossa base também é excelente para rodar projetos que são mapa Baiak ou ATS Custom pelo baixissimo uso de cpu e fix do Decay de itens.

      Todos são bem vindos para colaborar com o projeto... que não visa nenhum lucro financeiro, queremos apenas colaborar com a comunidade OTSERV,
      temos ouvido de muitas pessoas que procuram uma base estável, limpa, esse é o nosso objetivo nesse projeto.
       
      Estamos a procura de programadores/dev/webmaster que queiram ajudar / que tenham tempo e serão recompensados por isso.
       
      Nossa Datapack principal Global 11.00 contem as seguintes features:
      CAST SYSTEM ✅
      AUTOLOOT ✅
      WINTER UPDATE 2023 ✅
      SUMMER UPDATE 2023 ✅
      ADDONS 13.22 UPDATE ✅
      MONTARIAS 13.22 UPDATE ✅
      ITEMS 13.22 UPDATE ✅
      DAILY REWARD ✅
      IMBUEMENTS ✅
      PREY ✅
      EXERCISE WEAPONS ✅
      HIRELINGS NPCS ✅
      ANTI ROLLBACK ✅
       
       
      Github Global 11x:  💾
      https://github.com/otg-br/global-11x
      Clients e outras ferramentas:  💾
      https://github.com/otg-br/tools
      Github Otg Gesior:  💾
      https://github.com/otg-br/gesior
      Github Otg Otclientv8:  💾
      https://github.com/otg-br/otclientv8
      Wiki Otg:  💾
      https://github.com/otg-br/global-11x/wiki
       
       
      Creditos:
      TFS Team Erick Nunes Gui Bruxo Worthdavi LuSKT Leo Pereira Luan Luciano Cjaker Comedinhas Nekiro OTG Colaborators
    • Por Dnzk21
      COMO POSSO IMPORTAR UMA CITY EMCIMA DE OUTRA CITY SEM PERDER AS HOUSES
      ALGUEM PODE M,E AJUDAR 
      E A MESMA CITY MJAIS QUANDO IMPORTO PERDE TODAS CASAS QUANDO SALVA E ABRE O SERVIDOR
    • Por Johncore
      Arcadia é uma cidade custom bem bonita que pode ser encontrada no servidor AureraGlobal,
      Por ter esse conteudo aqui em primeira mão, resolvi disponibilizar para a comunidade.
       


       
      Creditos:
      Aurera Team
      Johncorex
      Arcadia-spawn.xml Arcadia-house.xml Arcadia.otbm

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo