Jump to content

Recommended Posts

Beleza, agora estou em aula EAD, assim que tiver um tempo eu posto aqui no tópico, até mais.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

  • Replies 41
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

local config = { name = "Shuryu Boss", pos = {x = 60, y = 63, z = 3}, time = 20 } function onThink(interval, lastExecution) doCreateMonster(config.name, config.pos) broadcastMessage("O "..config.

Quem estiver com esse erro:   attempt to call global 'getCreatureByName' (a nil value)     Testem o código dessa forma:   local config = { name = "Shuryu Boss", p

@BangxD Então acho que vou fazer melhor, já que dependendo da hora vai ser determinado boss, vou fazer que nem o "arauto" do League of Legends.   Se estiverem atacando o arauto os players te

Posted Images

Em 05/10/2020 em 22:37, Vodkart disse:

Quem estiver com esse erro:

 

attempt to call global 'getCreatureByName' (a nil value)

 

 

Testem o código dessa forma:

 


local config = {
  name = "Shuryu Boss",
  pos = {x = 60, y = 63, z = 3},
  time = 20
}
function onThink(interval, lastExecution)
  doCreateMonster(config.name, config.pos)
  broadcastMessage("O "..config.name.." apareceu, voce tem "..config.time.." para mata-lo", MESSAGE_STATUS_CONSOLE_ORANGE)
  addEvent(function()
  local t = getSpectators(config.pos, 10, 10, false) -- radius 10x10
  if t then
    for _, cid in ipairs(t) do
      if isMonster(cid) and getCreatureName(cid):lower() == config.name:lower() then
        doRemoveCreature(cid)
      end
    end
  end
  end, config.time*60*1000)
  return true
end

 

eu testei mais continua a mesma coisa... https://prnt.sc/uuu271   agora erro na linha 7

Link to post
Share on other sites

@Mapeador 

 

troca

 

doCreateMonster(config.name, config.pos)

por

doSummonCreature(config.name,  config.pos)

e confere a position

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

@Mapeador nem todos os ot tem broadcast em laranja, tenta o normal

 

broadcastMessage("O "..config.name.." apareceu, voce tem "..config.time.." para mata-lo.")

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

@BangxD

 

Não testei

 

boss_hours = {
	["10:00"] = {boss_name = "Demon", pos = {fromPosition = {x=1011, y=910, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 20, extra_time = 10},
	["11:00"] = {boss_name = "Rat", pos = {fromPosition = {x=1011, y=910, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 20, extra_time = 10},
	["12:00"] = {boss_name = "Hydra", pos = {fromPosition = {x=1011, y=910, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 20, extra_time = 10}
}
function isWalkable(pos) -- by Nord / editado por Omega
	if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then
		return false
	elseif isCreature(getTopCreature(pos).uid) then
		return false
	elseif getTileInfo(pos).protection then
		return false
	elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then
		return false
	end
	return true
end
function getPlayersInBossArea(tb)
	local t = {}
	for _, pid in pairs(getPlayersOnline()) do
		if isInRange(getPlayerPosition(pid), tb.pos.fromPosition, tb.pos.toPosition) then 
			t[#t+1] = pid
		end
	end
	return t
end 
function doRemoveBoss(tb, force)
	for x = tb.pos.fromPosition.x, tb.pos.toPosition.x do
		for y = tb.pos.fromPosition.y, tb.pos.toPosition.y do
			local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid
			if m ~= 0 and isMonster(m) then
				if not force and #getPlayersInBossArea(tb) > 0 then
					addEvent(doRemoveBoss, tb.extra_time*60*1000, tb, true)
					return true
				end
				doSendMagicEffect(getCreaturePosition(m), 54) -- Efeito no monstro quando for removido
				doSendMagicEffect(getCreaturePosition(m), 3) -- Efeito no monstro quando for removido
				doRemoveCreature(m)
				break
			end
		end
	end
end	
function onThink(interval, lastExecution)
	hours = tostring(os.date("%X")):sub(1, 5)
	tb = boss_hours[hours]
	if tb then
		local create = true
		repeat
			local pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z}
			if isWalkable(pos) then
				doCreateMonster(tb.boss_name, pos)
				doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE)
				addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE)
				addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA)
				doSendMagicEffect(pos, CONST_ME_MORTAREA)
				doBroadcastMessage("O Boss "..tb.boss_name.." nasceu!")
				addEvent(doRemoveBoss, tb.time*60*1000, tb, false)
				create = false 
			end
		until not create
	end
	return true
end  

 

Edited by Vodkart (see edit history)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

11 horas atrás, Vodkart disse:

@BangxD

 

Não testei

 


boss_hours = {
	["10:00"] = {boss_name = "Demon", pos = {fromPosition = {x=1011, y=910, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 20, extra_time = 10},
	["11:00"] = {boss_name = "Rat", pos = {fromPosition = {x=1011, y=910, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 20, extra_time = 10},
	["12:00"] = {boss_name = "Hydra", pos = {fromPosition = {x=1011, y=910, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 20, extra_time = 10}
}
function isWalkable(pos) -- by Nord / editado por Omega
	if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then
		return false
	elseif isCreature(getTopCreature(pos).uid) then
		return false
	elseif getTileInfo(pos).protection then
		return false
	elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then
		return false
	end
	return true
end
function getPlayersInBossArea(tb)
	local t = {}
	for _, pid in pairs(getPlayersOnline()) do
		if isInRange(getPlayerPosition(pid), tb.pos.fromPosition, tb.pos.toPosition) then 
			t[#t+1] = pid
		end
	end
	return t
end 
function doRemoveBoss(tb, force)
	for x = tb.pos.fromPosition.x, tb.pos.toPosition.x do
		for y = tb.pos.fromPosition.y, tb.pos.toPosition.y do
			local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid
			if m ~= 0 and isMonster(m) then
				if not force and #getPlayersInBossArea(tb) > 0 then
					addEvent(doRemoveBoss, tb.extra_time*60*1000, tb, true)
					return true
				end
				doSendMagicEffect(getCreaturePosition(m), 54) -- Efeito no monstro quando for removido
				doSendMagicEffect(getCreaturePosition(m), 3) -- Efeito no monstro quando for removido
				doRemoveCreature(m)
				break
			end
		end
	end
end	
function onThink(interval, lastExecution)
	hours = tostring(os.date("%X")):sub(1, 5)
	tb = boss_hours[hours]
	if tb then
		local create = true
		repeat
			local pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z}
			if isWalkable(pos) then
				doCreateMonster(tb.boss_name, pos)
				doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE)
				addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE)
				addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA)
				doSendMagicEffect(pos, CONST_ME_MORTAREA)
				doBroadcastMessage("O Boss "..tb.boss_name.." nasceu!")
				addEvent(doRemoveBoss, tb.time*60*1000, tb, false)
				create = false 
			end
		until not create
	end
	return true
end  

 

Vou testa, mas ja vou agradecendo. vlw

Link to post
Share on other sites

  • 4 months later...
Em 05/10/2020 em 20:19, Vodkart disse:

@BangxD Então acho que vou fazer melhor, já que dependendo da hora vai ser determinado boss, vou fazer que nem o "arauto" do League of Legends.

 

Se estiverem atacando o arauto os players tem mais "X" minutos para matar ele.

 

Digamos que o "arauto" seja sumonado 02:00 horas e tem até 02:20 para mata-lo, porém se estiver uma equipe lá atacando ele as 2:20, o arauto ficará até 2:30 para dar o tempo necessário de ele ser feito.

 

o que acha dessa ideia?

Conseguiu fazer? se sim posta aip por favor? também queria um script assim

Ta dando esse erro

https://prnt.sc/10bqxlw

 

Link to post
Share on other sites

7 horas atrás, leomacedin disse:

Conseguiu fazer? se sim posta aip por favor? também queria um script assim

Ta dando esse erro

https://prnt.sc/10bqxlw

 

consegui ja está ali no topico, no caso se tiver players na area ele da mais um extra time... poderia me mandar o seu codigo para ver como ficou? ta dizendo que não tem uma função no seu ot... manda o código alterado ai.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

1 hora atrás, Vodkart disse:

consegui ja está ali no topico, no caso se tiver players na area ele da mais um extra time... poderia me mandar o seu codigo para ver como ficou? ta dizendo que não tem uma função no seu ot... manda o código alterado ai.

 meu servidor esta em Revscript tfs 1.3

codigo esta abaixo
 

Spoiler

 

local boss_hours = {
    ["23:15"] = {boss_name = "Demon", pos = {fromPosition = {x=998, y=1010, z=7}, toPosition = {x=998, y=1010, z=7}}, time = 20, extra_time = 10},
    ["23:30"] = {boss_name = "Rat", pos = {fromPosition = {x=998, y=1010, z=7}, toPosition = {x=998, y=1010, z=7}}, time = 20, extra_time = 10},
    ["23:50"] = {boss_name = "Hydra", pos = {fromPosition = {x=998, y=1010, z=7}, toPosition = {x=998, y=1010, z=7}}, time = 20, extra_time = 10}
}

function isWalkable(pos) -- by Nord / editado por Omega
    if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then
        return false
    elseif isCreature(getTopCreature(pos).uid) then
        return false
    elseif getTileInfo(pos).protection then
        return false
    elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then
        return false
    end
    return true
end

function getPlayersInBossArea(tb)
    local t = {}
    for _, pid in pairs(getPlayersOnline()) do
        if isInRange(getPlayerPosition(pid), tb.pos.fromPosition, tb.pos.toPosition) then 
            t[#t+1] = pid
        end
    end
    return t
end 
function doRemoveBoss(tb, force)
    for x = tb.pos.fromPosition.x, tb.pos.toPosition.x do
        for y = tb.pos.fromPosition.y, tb.pos.toPosition.y do
            local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid
            if m ~= 0 and isMonster(m) then
                if not force and #getPlayersInBossArea(tb) > 0 then
                    addEvent(doRemoveBoss, tb.extra_time*60*1000, tb, true)
                    return true
                end
                doSendMagicEffect(getCreaturePosition(m), 54) -- Efeito no monstro quando for removido
                doSendMagicEffect(getCreaturePosition(m), 3) -- Efeito no monstro quando for removido
                doRemoveCreature(m)
                break
            end
        end
    end
end    

local nascerboss = GlobalEvent("nascerbossroom")
function nascerboss.onThink(interval, lastExecution)
    hours = tostring(os.date("%X")):sub(1, 5)
    tb = boss_hours[hours]
    if tb then
        local create = true
        repeat
            local pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z}
            if isWalkable(pos) then
                doCreateMonster(tb.boss_name, pos)
                doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE)
                addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE)
                addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA)
                doSendMagicEffect(pos, CONST_ME_MORTAREA)
                doBroadcastMessage("O Boss "..tb.boss_name.." nasceu!")
                addEvent(doRemoveBoss, tb.time*60*1000, tb, false)
                create = false 
            end
        until not create
    end
    return true
end 

nascerboss:interval(3600000)
nascerboss:register()

 

 

Link to post
Share on other sites

1 hora atrás, leomacedin disse:

 meu servidor esta em Revscript tfs 1.3

codigo esta abaixo
 

  Mostrar conteúdo oculto

 

local boss_hours = {
    ["23:15"] = {boss_name = "Demon", pos = {fromPosition = {x=998, y=1010, z=7}, toPosition = {x=998, y=1010, z=7}}, time = 20, extra_time = 10},
    ["23:30"] = {boss_name = "Rat", pos = {fromPosition = {x=998, y=1010, z=7}, toPosition = {x=998, y=1010, z=7}}, time = 20, extra_time = 10},
    ["23:50"] = {boss_name = "Hydra", pos = {fromPosition = {x=998, y=1010, z=7}, toPosition = {x=998, y=1010, z=7}}, time = 20, extra_time = 10}
}

function isWalkable(pos) -- by Nord / editado por Omega
    if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then
        return false
    elseif isCreature(getTopCreature(pos).uid) then
        return false
    elseif getTileInfo(pos).protection then
        return false
    elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then
        return false
    end
    return true
end

function getPlayersInBossArea(tb)
    local t = {}
    for _, pid in pairs(getPlayersOnline()) do
        if isInRange(getPlayerPosition(pid), tb.pos.fromPosition, tb.pos.toPosition) then 
            t[#t+1] = pid
        end
    end
    return t
end 
function doRemoveBoss(tb, force)
    for x = tb.pos.fromPosition.x, tb.pos.toPosition.x do
        for y = tb.pos.fromPosition.y, tb.pos.toPosition.y do
            local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid
            if m ~= 0 and isMonster(m) then
                if not force and #getPlayersInBossArea(tb) > 0 then
                    addEvent(doRemoveBoss, tb.extra_time*60*1000, tb, true)
                    return true
                end
                doSendMagicEffect(getCreaturePosition(m), 54) -- Efeito no monstro quando for removido
                doSendMagicEffect(getCreaturePosition(m), 3) -- Efeito no monstro quando for removido
                doRemoveCreature(m)
                break
            end
        end
    end
end    

local nascerboss = GlobalEvent("nascerbossroom")
function nascerboss.onThink(interval, lastExecution)
    hours = tostring(os.date("%X")):sub(1, 5)
    tb = boss_hours[hours]
    if tb then
        local create = true
        repeat
            local pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z}
            if isWalkable(pos) then
                doCreateMonster(tb.boss_name, pos)
                doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE)
                addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE)
                addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA)
                doSendMagicEffect(pos, CONST_ME_MORTAREA)
                doBroadcastMessage("O Boss "..tb.boss_name.." nasceu!")
                addEvent(doRemoveBoss, tb.time*60*1000, tb, false)
                create = false 
            end
        until not create
    end
    return true
end 

nascerboss:interval(3600000)
nascerboss:register()

 

 

 

ah ta, esse código é pra versão 0.X mano!!

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

  • 3 weeks later...
Em 10/10/2020 em 22:30, Vodkart disse:

@BangxD

 

Não testei

 


boss_hours = {
	["10:00"] = {boss_name = "Demon", pos = {fromPosition = {x=1011, y=910, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 20, extra_time = 10},
	["11:00"] = {boss_name = "Rat", pos = {fromPosition = {x=1011, y=910, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 20, extra_time = 10},
	["12:00"] = {boss_name = "Hydra", pos = {fromPosition = {x=1011, y=910, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 20, extra_time = 10}
}
function isWalkable(pos) -- by Nord / editado por Omega
	if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then
		return false
	elseif isCreature(getTopCreature(pos).uid) then
		return false
	elseif getTileInfo(pos).protection then
		return false
	elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then
		return false
	end
	return true
end
function getPlayersInBossArea(tb)
	local t = {}
	for _, pid in pairs(getPlayersOnline()) do
		if isInRange(getPlayerPosition(pid), tb.pos.fromPosition, tb.pos.toPosition) then 
			t[#t+1] = pid
		end
	end
	return t
end 
function doRemoveBoss(tb, force)
	for x = tb.pos.fromPosition.x, tb.pos.toPosition.x do
		for y = tb.pos.fromPosition.y, tb.pos.toPosition.y do
			local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid
			if m ~= 0 and isMonster(m) then
				if not force and #getPlayersInBossArea(tb) > 0 then
					addEvent(doRemoveBoss, tb.extra_time*60*1000, tb, true)
					return true
				end
				doSendMagicEffect(getCreaturePosition(m), 54) -- Efeito no monstro quando for removido
				doSendMagicEffect(getCreaturePosition(m), 3) -- Efeito no monstro quando for removido
				doRemoveCreature(m)
				break
			end
		end
	end
end	
function onThink(interval, lastExecution)
	hours = tostring(os.date("%X")):sub(1, 5)
	tb = boss_hours[hours]
	if tb then
		local create = true
		repeat
			local pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z}
			if isWalkable(pos) then
				doCreateMonster(tb.boss_name, pos)
				doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE)
				addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE)
				addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA)
				doSendMagicEffect(pos, CONST_ME_MORTAREA)
				doBroadcastMessage("O Boss "..tb.boss_name.." nasceu!")
				addEvent(doRemoveBoss, tb.time*60*1000, tb, false)
				create = false 
			end
		until not create
	end
	return true
end  

 

COMO POE EM XML?

Link to post
Share on other sites

2 horas atrás, Orientalz disse:

COMO POE EM XML?

xml é mods no caso?

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

2 horas atrás, Vodkart disse:

xml é mods no caso?

nn, tipo isso n é global events? como coloca no xml de global events?
eu coloquei isso aq     <globalevent name="othersboss" script="othersboss.lua" />, mas n sei como coloca n

Link to post
Share on other sites

8 minutos atrás, Orientalz disse:

nn, tipo isso n é global events? como coloca no xml de global events?
eu coloquei isso aq     <globalevent name="othersboss" script="othersboss.lua" />, mas n sei como coloca n

@Orientalz   tenta assim     

<globalevent name="othersboss" interval="1000" event="script" value="othersboss.lua"/>

 

Link to post
Share on other sites

10 horas atrás, Orientalz disse:

image.thumb.png.5fb2e2b21e0ec02ff099850eb18da2e9.png

 

deixa eu ver como ficou seu código editado...

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

2 horas atrás, Vodkart disse:

 

deixa eu ver como ficou seu código editado...

Spoiler

boss_hours = {
    ["01:00"] = {boss_name = "Phoenix Boss", pos = {fromPosition = {x=238, y=1142, z=8}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["02:00"] = {boss_name = "Gogeta Boss", pos = {fromPosition = {x=213, y=775, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["03:00"] = {boss_name = "Dende Boss", pos = {fromPosition = {x=542, y=433, z=6}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["04:00"] = {boss_name = "Phoenix Boss", pos = {fromPosition = {x=238, y=1142, z=8}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["05:00"] = {boss_name = "Gogeta Boss", pos = {fromPosition = {x=213, y=775, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["06:00"] = {boss_name = "Dende Boss", pos = {fromPosition = {x=542, y=433, z=6}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["07:00"] = {boss_name = "Phoenix Boss", pos = {fromPosition = {x=238, y=1142, z=8}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["08:00"] = {boss_name = "Gogeta Boss", pos = {fromPosition = {x=213, y=775, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["09:00"] = {boss_name = "Dende Boss", pos = {fromPosition = {x=542, y=433, z=6}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["10:00"] = {boss_name = "Phoenix Boss", pos = {fromPosition = {x=238, y=1142, z=8}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["11:00"] = {boss_name = "Gogeta Boss", pos = {fromPosition = {x=213, y=775, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["12:00"] = {boss_name = "Dende Boss", pos = {fromPosition = {x=542, y=433, z=6}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["13:00"] = {boss_name = "Phoenix Boss", pos = {fromPosition = {x=238, y=1142, z=8}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["14:00"] = {boss_name = "Gogeta Boss", pos = {fromPosition = {x=213, y=775, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["15:00"] = {boss_name = "Dende Boss", pos = {fromPosition = {x=542, y=433, z=6}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["16:00"] = {boss_name = "Phoenix Boss", pos = {fromPosition = {x=238, y=1142, z=8}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["17:00"] = {boss_name = "Gogeta Boss", pos = {fromPosition = {x=213, y=775, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["18:00"] = {boss_name = "Dende Boss", pos = {fromPosition = {x=542, y=433, z=6}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["19:00"] = {boss_name = "Phoenix Boss", pos = {fromPosition = {x=238, y=1142, z=8}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["20:00"] = {boss_name = "Gogeta Boss", pos = {fromPosition = {x=213, y=775, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["21:00"] = {boss_name = "Dende Boss", pos = {fromPosition = {x=542, y=433, z=6}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["23:45"] = {boss_name = "Phoenix Boss", pos = {fromPosition = {x=238, y=1142, z=8}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["23:00"] = {boss_name = "Gogeta Boss", pos = {fromPosition = {x=213, y=775, z=7}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10},
    ["00:00"] = {boss_name = "Dende Boss", pos = {fromPosition = {x=542, y=433, z=6}, toPosition = {x=1024, y=915, z=7}}, time = 30, extra_time = 10}
}
function isWalkable(pos) -- by Nord / editado por Omega
    if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then
        return false
    elseif isCreature(getTopCreature(pos).uid) then
        return false
    elseif getTileInfo(pos).protection then
        return false
    elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then
        return false
    end
    return true
end
function getPlayersInBossArea(tb)
    local t = {}
    for _, pid in pairs(getPlayersOnline()) do
        if isInRange(getPlayerPosition(pid), tb.pos.fromPosition, tb.pos.toPosition) then 
            t[#t+1] = pid
        end
    end
    return t
end 
function doRemoveBoss(tb, force)
    for x = tb.pos.fromPosition.x, tb.pos.toPosition.x do
        for y = tb.pos.fromPosition.y, tb.pos.toPosition.y do
            local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid
            if m ~= 0 and isMonster(m) then
                if not force and #getPlayersInBossArea(tb) > 0 then
                    addEvent(doRemoveBoss, tb.extra_time*60*1000, tb, true)
                    return true
                end
                doSendMagicEffect(getCreaturePosition(m), 54) -- Efeito no monstro quando for removido
                doSendMagicEffect(getCreaturePosition(m), 3) -- Efeito no monstro quando for removido
                doRemoveCreature(m)
                break
            end
        end
    end
end    
function onThink(interval, lastExecution)
    hours = tostring(os.date("%X")):sub(1, 5)
    tb = boss_hours[hours]
    if tb then
        local create = true
        repeat
            local pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z}
            if isWalkable(pos) then
                doCreateMonster(tb.boss_name, pos)
                doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE)
                addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE)
                addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA)
                doSendMagicEffect(pos, CONST_ME_MORTAREA)
                doBroadcastMessage("O Boss "..tb.boss_name.." nasceu!")
                addEvent(doRemoveBoss, tb.time*60*1000, tb, false)
                create = false 
            end
        until not create
    end
    return true
end  

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Apache
      TFS 0.4
      Bom tenho esse sistema de castle, esta funciona bem, o único defeito é que ele não entrega os 30% de exp a mais
      para os membros da guild dominante, vou postar o script se alguém conseguir ajuda a resolver agradeço.
       
      action alavanca: 
       
      creaturescripts login.lua
       
       
      globalevents
       
      não achei necessario postar pois só o open e o close do sistema
       
      Lib
       
       
       
       
       
    • By MIzakinha
      Salve senhoras e senhores!

      Estou com um script no meu servidor de tasks diarias, ele funciona normalmente. Só que ele da a mesma task para TODOS os players do server. Tem uma tabela com várias opções de monstros para o player matar, ele pega dentro dessa tabela, 2 monstros aleatórios e da para o player escolher um deles. Só que ele da as MESMAS opções para TODOS os players. Alguém pode me ajudar a identificar o local para fazer com que seja aleatório para cada player diferente? Vou deixar o script aqui.

       
       
    • By Bruce Pereira
      Eu quero colocar uma storage nesse jutsu de dash, para poder criar outros jutsus, eu criei 3 dashs em meu servidor mas ta bugando. exemplo: uso o dash 1 aparece o efeito do dash 2, uso dash 2 e aparece o efeito do dash 3, eu tentei colocar uma storage mas não consegui.
       
      script sem edição minha \/
       
       
    • By stauro
      Alguém poderia me ajudar a colocar bonus exp no meu cast system?
       
       
       
       
       
       
       
       function onSay(cid, words, param, channel) local tmp = param:explode(" ") if not(tmp[1]) then return doPlayerSendCancel(cid, "Parameters needed") end if tmp[1] == "on" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast has started.") doPlayerSetCastState(cid, true) doPlayerSave(cid) elseif getPlayerCast(cid).status == false then return doPlayerSendCancel(cid, "Your cast has to be running for this action.") elseif tmp[1] == "off" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast has ended.") doPlayerSetCastState(cid, false) doPlayerSave(cid) elseif isInArray({"pass", "password", "p"}, tmp[1]) then if not(tmp[2]) then return doPlayerSendCancel(cid, "You need to set a password") end if tmp[2]:len() > 10 then return doPlayerSendCancel(cid, "The password is too long. (Max.: 10 letters)") end if tmp[2] == "off" then doPlayerSetCastPassword(cid, "") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast password has been removed.") else doPlayerSetCastPassword(cid, tmp[2]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast password was set to: " .. tmp[2]) end elseif isInArray({"desc", "description", "d"}, tmp[1]) then local d = param:gsub(tmp[1]..(tmp[2] and " " or ""), "") if not(d) or d:len() == 0 then return doPlayerSendCancel(cid, "You need to specify a description.") end if d:len() > 50 then return doPlayerSendCancel(cid, "The description is too long. (Max.: 50 letters)") end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cast description was set to: ") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, d) doPlayerSetCastDescription(cid, d) elseif tmp[1] == "ban" then if not(tmp[2]) then return doPlayerSendCancel(cid, "Specify a spectator that you want to ban.") end if doPlayerAddCastBan(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been banned.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be banned.") end elseif tmp[1] == "unban" then if not(tmp[2]) then return doPlayerSendCancel(cid, "Specify the person you want to unban.") end if doPlayerRemoveCastBan(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been unbanned.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be unbanned.") end elseif param == "bans" then local t = getCastBans(cid) local text = "Cast Bans:\n\n" for k, v in pairs(t) do text = text .. "*" .. v.name .. "\n" end if text == "Cast Bans:\n\n" then text = text .. "No bans." end doShowTextDialog(cid, 5958, text) elseif tmp[1] == "mute" then if not(tmp[2]) then return doPlayerSendCancel(cid, "Specify a spectator that you want to mute.") end if doPlayerAddCastMute(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been muted.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be muted.") end elseif tmp[1] == "unmute" then if not(tmp[2]) then return doPlayerSendCancel(cid, "Specify the person you want to unmute.") end if doPlayerRemoveCastMute(cid, tmp[2]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' has been unmuted.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Spectator '" .. tmp[2] .. "' could not be unmuted.") end elseif param == "mutes" then local t = getCastMutes(cid) local text = "Cast Mutes:\n\n" for k, v in pairs(t) do text = text .. "*" .. v.name .. "\n" end if text == "Cast Bans:\n\n" then text = text .. "No mutes." end doShowTextDialog(cid, 5958, text) elseif param == "viewers" then local t = getCastViewers(cid) local text, count = "Cast Viewers:\n#Viewers: |COUNT|\n\n", 0 for _,v in pairs(t) do count = count + 1 text = text .. "*" .. v.name .."\n" end if text == "Cast Viewers:\n#Viewers: |COUNT|\n\n" then text = "Cast Viewers:\n\nNo viewers." end text = text:gsub("|COUNT|", count) doShowTextDialog(cid, 5958, text) elseif param == "status" then local t, c = getCastViewers(cid), getPlayerCast(cid) local count = 0 for _,v in pairs(t) do count = count + 1 end doShowTextDialog(cid, 5958, "Cast Status:\n\n*Viewers:\n " .. count .. "\n*Description:\n "..(c.description == "" and "Not set" or c.description).."\n*Password:\n " .. (c.password == "" and "Not set" or "Set - '"..c.password.."'")) elseif param == "update" then if getPlayerStorageValue(cid, 656544) > os.time() then return doPlayerSendCancel(cid, "You used this command lately. Wait: " .. (getPlayerStorageValue(cid, 656544)-os.time()) .. " sec.") end doPlayerSave(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The cast settings have been updated.") doPlayerSetStorageValue(cid, 656544, os.time()+60) end return true end  
       
       
    • By stauro
      Alguém sabe como adicionar atributo de sorte no item? Tipo  "Luck + 2%"
      Não consigo achar nenhum item que tenha pra eu copiar, os itens que eu sei não estão com esse atributo
       
       
       
       
         
       
       
      Resolvido.
  • Recently Browsing   0 members

    No registered users viewing this page.



×
×
  • Create New...

Important Information

Confirmação de Termo