Ir para conteúdo
  • Cadastre-se

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


Posts Recomendados

2 horas atrás, calmax disse:

Como eu posso fazer correções no mapa do capernia e editar no github? Posso ajeitar a maioria dos bugs, mapas, npcs e montros!

dá um fork no repositorio dele e segue adiante

 

 

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

Em 24/06/2016 at 16:18, malucooo disse:

isso ai é o seguinte... vc não editou o config.lua configure a db certinho que ele funciona

estou correndo atrás disso tbm.. aqui funcionou uma vez e depois parou... =/

ganhei esse mapa de um venezuelano.. uso o item otb do capernia e funciona normal.. testei com do mitsuig funcionou tbm, testei com do Absolute tbm funcionou, testei com do Hirako e Maya tbm funcionou, testei com do Thexamx pegou tbm... qualquer otb acima de 10.91 abre o mapa todo

meu deus cara, vc é demente, como um mapa do 10.94 vai rodar no 10.91 ? 

mas deixe, melhor eu parar de perder meu tempo ;) até logo amigo 

Se Ajudei Rep+ pra mim ^^

tumblr_lyd1xtGgx81qf9l6uo1_500.gif

Link para o post
Compartilhar em outros sites

Alguem sabe dizer se esse servidor tem crashs ?! @malucooo Você acha que da pra por o teu servidor online ou tem muitos bugs nele ?! Obrigado.

11 horas atrás, botbot disse:

Nao consigo compilar também... o comando make nao faz nada. Usando o TFS no mesmo servidor funciona normal. Alguma ideia?

Basta criar um arquivo chamado: CMakeLists.txt na pasta "Sources" e colocar isso dentro:

 

cmake_minimum_required(VERSION 2.8)

set(CMAKE_DISABLE_SOURCE_CHANGES ON)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)

project(tfs)

set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})

include(cotire)

# Initialize CXXFLAGS.
set(CMAKE_CXX_FLAGS                "-Wall -Werror -pipe")
set(CMAKE_CXX_FLAGS_DEBUG          "-O0 -g")
set(CMAKE_CXX_FLAGS_MINSIZEREL     "-Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE        "-Ofast -march=native -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")

if (CMAKE_COMPILER_IS_GNUCXX)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
endif()

include(FindCXX11)

# Find packages.
find_package(GMP REQUIRED)
find_package(PugiXML REQUIRED)
find_package(LuaJIT)
find_package(MySQL)
find_package(Threads)

option(USE_LUAJIT "Use LuaJIT" ${LUAJIT_FOUND})

if(USE_LUAJIT)
    find_package(LuaJIT REQUIRED)
    if(APPLE)
      set(CMAKE_EXE_LINKER_FLAGS "-pagezero_size 10000 -image_base 100000000")
    endif()
else()
    find_package(Lua)
endif()

find_package(Boost 1.53.0 COMPONENTS system REQUIRED)

include(src/CMakeLists.txt)
add_executable(tfs ${tfs_SRC})

include_directories(${MYSQL_INCLUDE_DIR} ${LUA_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${PUGIXML_INCLUDE_DIR} ${GMP_INCLUDE_DIR})
target_link_libraries(tfs ${MYSQL_CLIENT_LIBS} ${LUA_LIBRARIES} ${Boost_LIBRARIES} ${PUGIXML_LIBRARIES} ${GMP_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})

set_target_properties(tfs PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "src/otpch.h")
set_target_properties(tfs PROPERTIES COTIRE_ADD_UNITY_BUILD FALSE)
cotire(tfs)

 

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

meu deus cara, vc é demente, como um mapa do 10.94 vai rodar no 10.91 ? 

mas deixe, melhor eu parar de perder meu tempo ;) até logo amigo 

não existe o items.otb 10.94 oficial jovem criatura de inteligencia suprema... leia, aprenda, tenha certeza do que está falando, e depois vc expoe suas opniões, que até então não serve de nada... pois vc não contribuiu em nada aqui, infelizmente vc é mais um vampiro aqui... analfabeto funcional ^^

 

 

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
22 horas atrás, Cheka disse:

debug shop

fala ai man... qual debug deu? explica melhor que podemos sanar seu problema =]~

Agora, zydent disse:

Muito obrigado!   não tem War System?

war system para ativar tem que ser via npc ou http... ta incluso nas sources, mas precisa ser acionada de alguma forma... ou ainda via comando Ex.: !war

tem que ser compelmentado por vc... caso tenha scripts de outros servidores tente usar e reporte caso haja algum bug

 

 

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

Se precisar de ajuda pra comprar um vps pra por um global on, dá um toque.

 

ou quiser melhorar o servidor .. manda pm,

 

abç

 http://baiakuza.com/
IP: baiakuza.com
TIBIA: 10.96
Baiak Custom [ High Exp Rate ]

 

 

 

 

Link para o post
Compartilhar em outros sites

Skydangerous preciso e um help amigo... consegue me adicionar no whts ou face?? nao estou conseguind abrir o server... tpw exportei database tudo certinho,.. chega na hora de instalar os 5 passos nunca funciona pois fala q tenho q arrumar tal linha do last news? 

Link para o post
Compartilhar em outros sites
23 horas atrás, malucooo disse:

não existe o items.otb 10.94 oficial jovem criatura de inteligencia suprema... leia, aprenda, tenha certeza do que está falando, e depois vc expoe suas opniões, que até então não serve de nada... pois vc não contribuiu em nada aqui, infelizmente vc é mais um vampiro aqui... analfabeto funcional ^^

cara, na real, vai se f*** :) vc nem sabia do que eu estava falando, como que tu vai rodar mapas do 10.94 que tu diz ter nesse mapa com otb 10.91 ? se os items do otherworld foram adicionados no 10.94, sem otb, sem mapa, entenda :/ depois vem falar pra mim estudar (tenso demais), cara, vc me chama de vampiro, mas quem será que vai no otland e pega todo conteúdo postado lá ? quem que fodeu o projeto de open source do Slavi Dodo ? daí tu vai lá e se gaba que tem solução pro bug do expert pvp do slavi, o que tu tem é mera gambiarra que arrumaram pra vc, pq vc não sabe programar, se tu quiser eu tiro print de todos os seus posts pedindo suporte no otland ;) mas não vou perder mais meu tempo...

 

 

att, Schiffers

Abraço 

Se Ajudei Rep+ pra mim ^^

tumblr_lyd1xtGgx81qf9l6uo1_500.gif

Link para o post
Compartilhar em outros sites
1 hora atrás, Schiffert disse:

cara, na real, vai se f*** :) vc nem sabia do que eu estava falando, como que tu vai rodar mapas do 10.94 que tu diz ter nesse mapa com otb 10.91 ? se os items do otherworld foram adicionados no 10.94, sem otb, sem mapa, entenda :/ depois vem falar pra mim estudar (tenso demais), cara, vc me chama de vampiro, mas quem será que vai no otland e pega todo conteúdo postado lá ? quem que fodeu o projeto de open source do Slavi Dodo ? daí tu vai lá e se gaba que tem solução pro bug do expert pvp do slavi, o que tu tem é mera gambiarra que arrumaram pra vc, pq vc não sabe programar, se tu quiser eu tiro print de todos os seus posts pedindo suporte no otland ;) mas não vou perder mais meu tempo...

 

 

att, Schiffers

Abraço 

procura uma distro igual... projeto open source = codigo aberto = publico... o  projeto mais parecido com o que tenho aqui é do OTX.. e momento algum eu disse que sabia de tudo... pedi e peço informações as pessoas, bem melhor do que as xingar ou subestimar... sei que na humildade que venho tendo, tem um monte de br usando a distro... uns gringos tbm... fechei projetos que serviam para venda de scripts e por ai vou indo... incomodando a quem tava querendo ganhar grana facil... ah e pra vc que ta precisando de OTB ai vai o 10.95 https://github.com/thexamx/Real-Tibia-Datapack/tree/item.otb-10.95

não é oficial use por conta e risco... tudo que for publico eu vou divulgar por aqui, quem num guentar que feche as portas!

 

 

Aos amigos que estavam com bug do guild id 0, Atualizem o php para 5.6+ e aos que estão com bug no reward system, que só funcionava em boss sumonado aqui vai a correção, apartir daí os bosses que tem a flag rewardboss = 1 funcionarão  corretamente....

 

vai na pasta do otserv data/creaturescripts/scripts/others/boss.lua apaga tudo e coloca isso ai

function onCreatureAppear(self, creature)
    if self == creature then
        if self:getType():isRewardBoss() then
            self:setReward(true)
        end
    end
end
local function pushSeparated(buffer, sep, ...)
	local argv = {...}
	local argc = #argv
	for k, v in ipairs(argv) do
		table.insert(buffer, v)
		if k < argc and sep then
			table.insert(buffer, sep)
		end
	end
end

local function insertItems(buffer, info, parent, items)
	local start = info.running
	for _, item in ipairs(items) do
		if _ ~= 1 or parent > 100 then
			table.insert(buffer, ",")
		end

		info.running = info.running + 1
		table.insert(buffer, "(")        
		pushSeparated(buffer, ",", info.playerGuid, parent, info.running, item:getId(), item:getSubType(), db.escapeBlob(item:serializeAttributes()))
		table.insert(buffer, ")")

		if item:isContainer() then
			local size = item:getSize()
			if size > 0 then              
				local subItems = {}
				for i = 1, size do
					table.insert(subItems, item:getItem(i - 1))
				end

				insertItems(buffer, info, info.running, subItems)
			end
		end
	end
	return info.running - start
end

local function insertRewardItems(playerGuid, timestamp, itemList)
	db.asyncStoreQuery('SELECT `pid`, `sid` FROM `player_rewards` WHERE player_id = ' .. playerGuid .. ' ORDER BY `sid` ASC;', 
		function(query)
			local lastReward = 0
			local lastStoreId   
			if query then             
				repeat
					local sid = result.getDataInt(query, 'sid')
					local pid = result.getDataInt(query, 'pid')

					if pid < 100 then
						lastReward = pid
					end
					lastStoreId = sid
				until not result.next(query)
			end

			local buffer = {'INSERT INTO `player_rewards` (`player_id`, `pid`, `sid`, `itemtype`, `count`, `attributes`) VALUES'}

			--reward bag
			local info = {
				playerGuid = playerGuid,
				running = lastStoreId or 100
			}

			local bag = Game.createItem(ITEM_REWARD_CONTAINER)
			bag:setAttribute(ITEM_ATTRIBUTE_DATE, timestamp)

			if itemList then
				for _, item in ipairs(itemList) do
					bag:addItem(item[1], item[2])
				end
			end

			local total = insertItems(buffer, info, lastReward + 1, {bag})
			table.insert(buffer, ";")

			if total ~= 0 then
				db.query(table.concat(buffer))
			end
		end
	)
end

local function getPlayerStats(bossId, playerGuid, autocreate)
	local ret = globalBosses[bossId][playerGuid]
	if not ret and autocreate then
		ret = {
			bossId = bossId, 
			damageIn = 0, -- damage taken from the boss
			healing = 0, -- healing (other players) done
		}
		globalBosses[bossId][playerGuid] = ret
		return ret
	end
	return ret
end

function onDeath(creature, corpse, killer, mostDamageKiller, lastHitUnjustified, mostDamageUnjustified)
	local monsterType = creature:getType()
	if monsterType:isRewardBoss() then -- Make sure it is a boss
		local bossId = creature:getId()
		local timestamp = os.time()

		local totalDamageOut, totalDamageIn, totalHealing = 0.1, 0.1, 0.1 -- avoid dividing by zero

		local scores = {}
		local info = globalBosses[bossId]
		local damageMap = creature:getDamageMap()

		for guid, stats in pairs(info) do
			local player = Player(stats.playerId)
			local part = damageMap[stats.playerId]
			local damageOut, damageIn, healing = (stats.damageOut or 0) + (part and part.total or 0), stats.damageIn or 0, stats.healing or 0

			totalDamageOut = totalDamageOut + damageOut
			totalDamageIn = totalDamageIn + damageIn
			totalHealing = totalHealing + healing

			table.insert(scores, {
				player = player, 
				guid = guid,
				damageOut = damageOut, 
				damageIn = damageIn,
				healing = healing,
			})            
		end

		local participants = 0
		for _, con in ipairs(scores) do
			local score = (con.damageOut / totalDamageOut) + (con.damageIn / totalDamageIn) + (con.healing / totalHealing)
			con.score = score / 3 -- normalize to 0-1
			if score ~= 0 then
				participants = participants + 1
			end
		end
		table.sort(scores, function(a, b) return a.score > b.score end)

		local expectedScore = 1 / participants

		for _, con in ipairs(scores) do
			local reward, stamina -- ignoring stamina for now because I heard you receive rewards even when it's depleted   
			if con.player then   
				reward = con.player:getReward(timestamp, true)
				stamina = con.player:getStamina()
			else
				stamina = con.stamina or 0
			end

			local playerLoot
			if --[[stamina > 840 and]] con.score ~= 0 then
				local lootFactor = 1
				lootFactor = lootFactor / participants ^ (1 / 3) -- tone down the loot a notch if there are many participants
				lootFactor = lootFactor * (1 + lootFactor) ^ (con.score / expectedScore) -- increase the loot multiplicatively by how many times the player surpassed the expected score
				playerLoot = monsterType:getBossReward(lootFactor, _ == 1)

				if con.player then
					for _, p in ipairs(playerLoot) do
						reward:addItem(p[1], p[2])
					end
				end
			end

			if con.player then
				local lootMessage = {"The following items are available in your reward chest: "}

				if --[[stamina > 840]]true then
					reward:getContentDescription(lootMessage)
				else
					table.insert(lootMessage, 'nothing (due to low stamina)')
				end
				table.insert(lootMessage, ".")
				con.player:sendTextMessage(MESSAGE_EVENT_ADVANCE, table.concat(lootMessage))
			else
				insertRewardItems(con.guid, timestamp, playerLoot)
			end
		end

		globalBosses[bossId] = nil
	end
	return true
end

function onThink(creature, interval)
	local bossId = creature:getId()
	local info = globalBosses[bossId]
	-- Reset all players' status
	for _, player in pairs(info) do
		player.active = false
	end
	
	-- Set all players in boss' target list as active in the fight
	local targets = creature:getTargetList()
	for _, target in ipairs(targets) do
		if target:isPlayer() then
			local stats = getPlayerStats(bossId, target:getGuid(), true)
			stats.playerId = target:getId() -- Update player id
			stats.active = true            
		end
	end
end

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
	if not next(globalBosses) then
		return primaryDamage, primaryType, secondaryDamage, secondaryType
	end

	if not creature or not attacker then
		return primaryDamage, primaryType, secondaryDamage, secondaryType
	end

	local stats = creature:inBossFight()
	if not stats then
		return primaryDamage, primaryType, secondaryDamage, secondaryType
	end

	local creatureId, attackerId = creature:getId(), attacker:getId()
	stats.playerId = creatureId -- Update player id

	-- Account for healing of others active in the boss fight
	if primaryType == COMBAT_HEALING and attacker:isPlayer() and attackerId ~= creatureId then
		local healerStats = getPlayerStats(stats.bossId, attacker:getGuid(), true)
		healerStats.active = true
		healerStats.playerId = attackerId -- Update player id
		healerStats.healing = healerStats.healing + primaryDamage
	elseif stats.bossId == attackerId then
		-- Account for damage taken from the boss
		stats.damageIn = stats.damageIn + primaryDamage
	end
	return primaryDamage, primaryType, secondaryDamage, secondaryType
end

 

Editado por malucooo (veja o histórico de edições)

 

 

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
26 minutes ago, malucooo said:

procura uma distro igual... projeto open source = codigo aberto = publico... o  projeto mais parecido com o que tenho aqui é do OTX.. e momento algum eu disse que sabia de tudo... pedi e peço informações as pessoas, bem melhor do que as xingar ou subestimar... sei que na humildade que venho tendo, tem um monte de br usando a distro... uns gringos tbm... fechei projetos que serviam para venda de scripts e por ai vou indo... incomodando a quem tava querendo ganhar grana facil... ah e pra vc que ta precisando de OTB ai vai o 10.95 https://github.com/thexamx/Real-Tibia-Datapack/tree/item.otb-10.95

não é oficial use por conta e risco... tudo que for publico eu vou divulgar por aqui, quem num guentar que feche as portas!

 

 

Aos amigos que estavam com bug do guild id 0, Atualizem o php para 5.6+ e aos que estão com bug no reward system, que só funcionava em boss sumonado aqui vai a correção, apartir daí os bosses que tem a flag rewardboss = 1 funcionarão  corretamente....

 

vai na pasta do otserv data/creaturescripts/scripts/others/boss.lua apaga tudo e coloca isso ai


function onCreatureAppear(self, creature)
    if self == creature then
        if self:getType():isRewardBoss() then
            self:setReward(true)
        end
    end
end
local function pushSeparated(buffer, sep, ...)
	local argv = {...}
	local argc = #argv
	for k, v in ipairs(argv) do
		table.insert(buffer, v)
		if k < argc and sep then
			table.insert(buffer, sep)
		end
	end
end

local function insertItems(buffer, info, parent, items)
	local start = info.running
	for _, item in ipairs(items) do
		if _ ~= 1 or parent > 100 then
			table.insert(buffer, ",")
		end

		info.running = info.running + 1
		table.insert(buffer, "(")        
		pushSeparated(buffer, ",", info.playerGuid, parent, info.running, item:getId(), item:getSubType(), db.escapeBlob(item:serializeAttributes()))
		table.insert(buffer, ")")

		if item:isContainer() then
			local size = item:getSize()
			if size > 0 then              
				local subItems = {}
				for i = 1, size do
					table.insert(subItems, item:getItem(i - 1))
				end

				insertItems(buffer, info, info.running, subItems)
			end
		end
	end
	return info.running - start
end

local function insertRewardItems(playerGuid, timestamp, itemList)
	db.asyncStoreQuery('SELECT `pid`, `sid` FROM `player_rewards` WHERE player_id = ' .. playerGuid .. ' ORDER BY `sid` ASC;', 
		function(query)
			local lastReward = 0
			local lastStoreId   
			if query then             
				repeat
					local sid = result.getDataInt(query, 'sid')
					local pid = result.getDataInt(query, 'pid')

					if pid < 100 then
						lastReward = pid
					end
					lastStoreId = sid
				until not result.next(query)
			end

			local buffer = {'INSERT INTO `player_rewards` (`player_id`, `pid`, `sid`, `itemtype`, `count`, `attributes`) VALUES'}

			--reward bag
			local info = {
				playerGuid = playerGuid,
				running = lastStoreId or 100
			}

			local bag = Game.createItem(ITEM_REWARD_CONTAINER)
			bag:setAttribute(ITEM_ATTRIBUTE_DATE, timestamp)

			if itemList then
				for _, item in ipairs(itemList) do
					bag:addItem(item[1], item[2])
				end
			end

			local total = insertItems(buffer, info, lastReward + 1, {bag})
			table.insert(buffer, ";")

			if total ~= 0 then
				db.query(table.concat(buffer))
			end
		end
	)
end

local function getPlayerStats(bossId, playerGuid, autocreate)
	local ret = globalBosses[bossId][playerGuid]
	if not ret and autocreate then
		ret = {
			bossId = bossId, 
			damageIn = 0, -- damage taken from the boss
			healing = 0, -- healing (other players) done
		}
		globalBosses[bossId][playerGuid] = ret
		return ret
	end
	return ret
end

function onDeath(creature, corpse, killer, mostDamageKiller, lastHitUnjustified, mostDamageUnjustified)
	local monsterType = creature:getType()
	if monsterType:isRewardBoss() then -- Make sure it is a boss
		local bossId = creature:getId()
		local timestamp = os.time()

		local totalDamageOut, totalDamageIn, totalHealing = 0.1, 0.1, 0.1 -- avoid dividing by zero

		local scores = {}
		local info = globalBosses[bossId]
		local damageMap = creature:getDamageMap()

		for guid, stats in pairs(info) do
			local player = Player(stats.playerId)
			local part = damageMap[stats.playerId]
			local damageOut, damageIn, healing = (stats.damageOut or 0) + (part and part.total or 0), stats.damageIn or 0, stats.healing or 0

			totalDamageOut = totalDamageOut + damageOut
			totalDamageIn = totalDamageIn + damageIn
			totalHealing = totalHealing + healing

			table.insert(scores, {
				player = player, 
				guid = guid,
				damageOut = damageOut, 
				damageIn = damageIn,
				healing = healing,
			})            
		end

		local participants = 0
		for _, con in ipairs(scores) do
			local score = (con.damageOut / totalDamageOut) + (con.damageIn / totalDamageIn) + (con.healing / totalHealing)
			con.score = score / 3 -- normalize to 0-1
			if score ~= 0 then
				participants = participants + 1
			end
		end
		table.sort(scores, function(a, b) return a.score > b.score end)

		local expectedScore = 1 / participants

		for _, con in ipairs(scores) do
			local reward, stamina -- ignoring stamina for now because I heard you receive rewards even when it's depleted   
			if con.player then   
				reward = con.player:getReward(timestamp, true)
				stamina = con.player:getStamina()
			else
				stamina = con.stamina or 0
			end

			local playerLoot
			if --[[stamina > 840 and]] con.score ~= 0 then
				local lootFactor = 1
				lootFactor = lootFactor / participants ^ (1 / 3) -- tone down the loot a notch if there are many participants
				lootFactor = lootFactor * (1 + lootFactor) ^ (con.score / expectedScore) -- increase the loot multiplicatively by how many times the player surpassed the expected score
				playerLoot = monsterType:getBossReward(lootFactor, _ == 1)

				if con.player then
					for _, p in ipairs(playerLoot) do
						reward:addItem(p[1], p[2])
					end
				end
			end

			if con.player then
				local lootMessage = {"The following items are available in your reward chest: "}

				if --[[stamina > 840]]true then
					reward:getContentDescription(lootMessage)
				else
					table.insert(lootMessage, 'nothing (due to low stamina)')
				end
				table.insert(lootMessage, ".")
				con.player:sendTextMessage(MESSAGE_EVENT_ADVANCE, table.concat(lootMessage))
			else
				insertRewardItems(con.guid, timestamp, playerLoot)
			end
		end

		globalBosses[bossId] = nil
	end
	return true
end

function onThink(creature, interval)
	local bossId = creature:getId()
	local info = globalBosses[bossId]
	-- Reset all players' status
	for _, player in pairs(info) do
		player.active = false
	end
	
	-- Set all players in boss' target list as active in the fight
	local targets = creature:getTargetList()
	for _, target in ipairs(targets) do
		if target:isPlayer() then
			local stats = getPlayerStats(bossId, target:getGuid(), true)
			stats.playerId = target:getId() -- Update player id
			stats.active = true            
		end
	end
end

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
	if not next(globalBosses) then
		return primaryDamage, primaryType, secondaryDamage, secondaryType
	end

	if not creature or not attacker then
		return primaryDamage, primaryType, secondaryDamage, secondaryType
	end

	local stats = creature:inBossFight()
	if not stats then
		return primaryDamage, primaryType, secondaryDamage, secondaryType
	end

	local creatureId, attackerId = creature:getId(), attacker:getId()
	stats.playerId = creatureId -- Update player id

	-- Account for healing of others active in the boss fight
	if primaryType == COMBAT_HEALING and attacker:isPlayer() and attackerId ~= creatureId then
		local healerStats = getPlayerStats(stats.bossId, attacker:getGuid(), true)
		healerStats.active = true
		healerStats.playerId = attackerId -- Update player id
		healerStats.healing = healerStats.healing + primaryDamage
	elseif stats.bossId == attackerId then
		-- Account for damage taken from the boss
		stats.damageIn = stats.damageIn + primaryDamage
	end
	return primaryDamage, primaryType, secondaryDamage, secondaryType
end

 

 

It does not work when I use the command "/raid" and monsters created at the server start of "Jaul"

Link para o post
Compartilhar em outros sites
39 minutos atrás, cys9211 disse:

 

It does not work when I use the command "/raid" and monsters created at the server start of "Jaul"

 

 

in the archive of monster, put  script="boss.lua" after manacost = "0"   ex.: manacost="0" script="boss.lua">

 

 

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

posso ajudar na criação dos npc e monstros que por ventura estiverem faltando qualquer coisa da um toque servidor muito bom.

qualquer coisa add skype Tiodarsa grande abraço e continua atualizando, também sou contra venda de OTserv e conteúdo assim são muito bem vindos

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