Jump to content

Recommended Posts

.Qual servidor ou website você utiliza como base? 

rev 3777 0.4 8.60

Qual o motivo deste tópico? 

galera estou com problema nesse evento, ele esta enviando para a posição x=0 y=0 z=0. em vez de ir para a correta, não sei mais oq fazer.

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

 

 

Você tem o código disponível? Se tiver publique-o aqui: 

 <?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Fire Storm Event" version="8.6" author="Vodkart" contact="" enabled="yes">
<config name="fire_config"><![CDATA[
Fire = {
	storages = {172354, 172355}, -- storage Count
	players = {min = 2, max = 50}, -- min, max players no evento
	minLevel = 20, -- level minimo para entrar no event
	rewards = {{2160,10},{12504,1}}, -- premios que vai receber
	timeToStartEvent = 30, -- segundos para começar o evento
	CheckTime = 5, -- time to check event
	teleport = {{x = 1027, y = 891, z = 7}, {x = 1030, y = 568, z = 7}}, -- posição do teleport, posição para onde o jogador vai
	arena = {{x = 1004, y = 540, z = 7},{x = 1066, y = 594, z = 7}} -- posição começo e final da area
}
Fire_Days = {
	["Monday"] = {"13:00","18:00","20:00","22:00"},
	["Tuesday"] = {"09:26","14:29","20:00","22:00"},
	["Wednesday"] = {"14:29","18:00","20:00","22:00"},
	["Thursday"] = {"13:00","18:00","20:00","22:00"},
	["Friday"] = {"13:00","18:00","20:00","22:00"},
	["Saturday"] = {"13:00","18:00","20:00","22:00"},
	["Sunday"] = {"13:00","18:00","20:00","22:00"}
}
function removeFireTp()
	local t = getTileItemById(Fire.teleport[1], 1387).uid
	return t > 0 and doRemoveItem(t) and doSendMagicEffect(Fire.teleport[1], CONST_ME_POFF)
end
function ZerarStorFire()
	setGlobalStorageValue(Fire.storages[1], 0)
	setGlobalStorageValue(Fire.storages[2], 0)
end
function getPlayersInFireEvent()
	local t = {}
	for _, pid in pairs(getPlayersOnline()) do
		if isInRange(getPlayerPosition(pid), Fire.arena[1], Fire.arena[2]) then
			t[#t+1] = pid
		end
	end
	return t
end
function getFireRewards(cid, items)
	local backpack = doPlayerAddItem(cid, 1995, 1) -- backpackID
	for _, i_i in ipairs(items) do
		local item, amount = i_i[1],i_i[2]
		if isItemStackable(item) or amount == 1 then
			doAddContainerItem(backpack, item, amount)
		else
			for i = 1, amount do
				doAddContainerItem(backpack, item, 1)
			end
		end
	end
end
function doFireInArea(n)
	if #getPlayersInFireEvent() > 1 then
		for i = 1, n do
			local pos = {x=math.random(Fire.arena[1].x, Fire.arena[2].x), y=math.random(Fire.arena[1].y,Fire.arena[2].y), z=Fire.arena[1].z}
			local m = getTopCreature(pos).uid
			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)
			if m ~= 0 and isPlayer(m) then
				doSendMagicEffect(getCreaturePosition(m), CONST_ME_FIREAREA)
				doCreatureSay(m, "Ooh Burn Burn", TALKTYPE_ORANGE_1)
				local corpse = doCreateItem(3058, 1, getPlayerPosition(m))
				doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(m) .. ". He was killed by Fire Field.")
				doSendMagicEffect(getPlayerPosition(m), CONST_ME_POFF)
				doTeleportThing(m, getTownTemplePosition(getPlayerTown(m)))
				doPlayerSendTextMessage(m, MESSAGE_EVENT_ADVANCE, "[Fire Storm Event] You died burned out.")
			end
		end
		local x = 2700-(200*n)
		addEvent(doFireInArea, x <= 0 and 500 or x, n+1)
	elseif #getPlayersInFireEvent() == 1 then
		local cid = getPlayersInFireEvent()[1]
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
		getFireRewards(cid, Fire.rewards)
		doBroadcastMessage("Fire Storm Event terminou. O vencedor é ".. getCreatureName(cid).. ". Parabéns.", MESSAGE_EVENT_ADVANCE)
		ZerarStorFire()
	else
		doBroadcastMessage("Ninguém ganhou o evento Fire Storm.", MESSAGE_EVENT_ADVANCE)
		ZerarStorFire()
	end
end
function CheckFireEvent(delay)
	if getGlobalStorageValue(Fire.storages[1]) ~= (Fire.players.max+1) then
		if delay > 0 and getGlobalStorageValue(Fire.storages[1]) < Fire.players.max then
			doBroadcastMessage("[Fire Stortm Event] Começando em " .. delay .. " minuto! O teleporte será fechado quando o evento começar!", MESSAGE_STATUS_WARNING)
		elseif delay == 0 and getGlobalStorageValue(Fire.storages[1]) < Fire.players.min then
			for _, cid in pairs(getPlayersInFireEvent()) do
				doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
			end
			removeFireTp()
			doBroadcastMessage("O evento Fire Storm não pôde começar devido a poucos jogadores participantes.\n Pelo menos " .. Fire.players.min .. " jogadores é necessário!", MESSAGE_STATUS_WARNING)
			ZerarStorFire()
		elseif delay == 0 and getGlobalStorageValue(Fire.storages[1]) >= Fire.players.min then
			removeFireTp()
			doBroadcastMessage("Boa sorte! O evento começará em "..Fire.timeToStartEvent.." segundos. prepare-se!")
			addEvent(doFireInArea, Fire.timeToStartEvent*1000, 1)
		end
		addEvent(CheckFireEvent, 60000, delay-1)
	end
end
]]></config>
<globalevent name="Storm_Fire_Start" interval="60000" event="script"><![CDATA[
domodlib('fire_config')
function onThink(interval, lastExecution)
	if Fire_Days[os.date("%A")] then
		local hrs = tostring(os.date("%X")):sub(1, 5)
		if isInArray(Fire_Days[os.date("%A")], hrs) and getGlobalStorageValue(Fire.storages[2]) <= 0 then
			local tp = doCreateItem(1387, 1, Fire.teleport[1])
			doItemSetAttribute(tp, "aid", 45111)
			CheckFireEvent(Fire.CheckTime)
			setGlobalStorageValue(Fire.storages[1], 0) 
		end
	end
	return true
end]]></globalevent>
<event type="login" name="Storm_Fire_Login" event="script"><![CDATA[
domodlib('fire_config')
function onLogin(cid)
	registerCreatureEvent(cid, "FireStormBatle")
	if isInRange(getPlayerPosition(cid), Fire.arena[1], Fire.arena[2]) then
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
	end
	return true
end]]></event>
<event type="combat" name="FireStormBatle" event="script"><![CDATA[
domodlib('fire_config')
if isPlayer(cid) and isPlayer(target) and isInRange(getPlayerPosition(cid), Fire.arena[1], Fire.arena[2]) then
	doPlayerSendCancel(cid, "Você não pode atacar este jogador.")
	return false
end
return true
]]></event>
<movevent type="StepIn" actionid ="45111" event="script"><![CDATA[
domodlib('fire_config')
function onStepIn(cid, item, position, fromPosition)
	if not isPlayer(cid) then return true end
	if getPlayerAccess(cid) > 3 then return doTeleportThing(cid, Fire.teleport[2]) end
	if getPlayerLevel(cid) < Fire.minLevel then
		doTeleportThing(cid, fromPosition, true)
		doPlayerSendCancel(cid, "Você precisa estar pelo menos nivel " .. Fire.minLevel .. ".")
		doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
		return true
	end
	if getGlobalStorageValue(Fire.storages[1]) <= Fire.players.max then
		doTeleportThing(cid, Fire.teleport[2])
		setGlobalStorageValue(Fire.storages[1], getGlobalStorageValue(Fire.storages[1])+1)
		doBroadcastMessage(getPlayerName(cid) .. " entrou no evento Fire Storm! Atualmente" .. getGlobalStorageValue(Fire.storages[1]) .. " jogadores se juntaram!", MESSAGE_STATUS_CONSOLE_RED)
		if getGlobalStorageValue(Fire.storages[1]) == Fire.players.max then
			setGlobalStorageValue(Fire.storages[1], getGlobalStorageValue(Fire.storages[1])+1)
			removeFireTp()
			doBroadcastMessage("O evento começará em "..Fire.timeToStartEvent.." segundos. prepare-se!")
			addEvent(doFireInArea, Fire.timeToStartEvent*1000, 1)
		end 
	end
	return true
end]]></movevent>
<talkaction words="/firestart;!firestart" access="5" event="buffer"><![CDATA[
domodlib('fire_config')
if getGlobalStorageValue(Fire.storages[2]) > 0 then
	doPlayerSendCancel(cid, "O evento já está começando.") return true
elseif not param or not tonumber(param) then 
	doPlayerSendCancel(cid, "Use only numbers.") return true 
end
local param = tonumber(param) <= 0 and 1 or tonumber(param)
local tp = doCreateItem(1387, 1, Fire.teleport[1])
doItemSetAttribute(tp, "aid", 45111)
CheckFireEvent(tonumber(param))
setGlobalStorageValue(Fire.storages[1], 0)
setGlobalStorageValue(Fire.storages[2], 1)
]]></talkaction>
<globalevent name="FireDebug-Start" type="start" event="buffer"><![CDATA[
domodlib('fire_config')
ZerarStorFire()
return true]]></globalevent>
</mod>

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Link to post
Share on other sites

eu ja tentei usar a Rev 3777 do fir3 e a 3996 do Yan Lima e em todas ocorre isso.
ele cria o teleporte com a actionid, mas quando eu entro no teleporte ele envia para a pos x=0 y=0 =0. acontece com todos players.

1 minuto atrás, Marvok disse:

@elielder 

 

Com todos os jogares acontece isso ou so com alguns? Você usa estilo baiak ou global?

 

já compilei tambem com Dev-cpp e com Visual Studio. Testei mais eventos, e acontece isso tambem nos demais eventos. não consigo entender oq esta acontecendo.

Link to post
Share on other sites

1 minuto atrás, elielder disse:

eu ja tentei usar a Rev 3777 do fir3 e a 3996 do Yan Lima e em todas ocorre isso.
ele cria o teleporte com a actionid, mas quando eu entro no teleporte ele envia para a pos x=0 y=0 =0. acontece com todos players.

 

Ao entrar no evento então correto?

Contatos:

Discord: Marvok#9855

 

Link to post
Share on other sites

Agora, Marvok disse:

Ao entrar no evento então correto?

isso, ele cria o teleporte no local correto. mas o player ao entrar ele é teleportado pra Position: [X: 0] [Y: 0] [Z: 0].
acabei de testar o evendo Duca, DUCA: o melhor evento para otserv (8.60) - Sistemas, Mods & Funções .lua - Tibia King - Tudo sobre Tibia, OTServ e Bots!   e ocorre o mesmo

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 Doidodepeda
      ESTOU TENTANDO USAR ESSE SCRIPT DE EQUIPAR ITEMS E FICAR COM ESSE EFEITO. POREM NO OT MEU OT NAO ESTA SAINDO OS EFEITOS. FICA SAINDO 0.0.0.0.0.0.0.0.0
       
      Alguém poderia ajudar pf
       
      Tfs do meu ot e 0.4

       
       
       
       
      Script:
       
      local table = { itemNeed = 2160, -- Mesmo id do itemid que você colocou na tag xml. txt = {"´ . ,", ". ´ ,", "` . ,", ", ` ."}, -- Texto que vai sair. delay = 1000, -- Tempo que vai ficar saindo cor = {26, 30, 31, 32}, -- Cor do texto que vai sair. effect = 3 -- Efeito que vai sair(aura). } function doPlayerLoopEff(cid) if isPlayer(cid) and getPlayerSlotItem(cid, CONST_SLOT_RING).itemid == table.itemNeed then doSendMagicEffect(getThingPos(cid), table.effect) doSendAnimatedText(getThingPos(cid), table.txt[math.random(#table.txt)], table.cor[math.random(#table.cor)]) addEvent(function() doPlayerLoopEff(cid) end, table.delay) -- 1000 é o delay que vai sair o efeito e o texto. end end function onEquip(cid, item, slot) doPlayerLoopEff(cid) return true end
    • By Doidodepeda
      então galera, o efeito esta indo ↑ eu gostaria que o efeito estivesse voltando ↓ ( do efeito da magia para o personagem )
       
      alguém poderia da essa força pf. e dizer onde que mudar.





       
      -- SpellCreator generated.
      -- =============== COMBAT VARS ===============
      -- Areas/Combat for 0ms
      local combat0_Brush = createCombatObject()
      setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
      setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
      setCombatArea(combat0_Brush,createCombatArea({{2},
      {0},
      {0},
      {1}}))
      function getDmg_Brush(cid, level, maglevel)
          return (10)*-1,(20)*-1 
      end
      setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
      local dfcombat0_Brush = {CONST_ANI_FIRE,0,3}
      -- =============== CORE FUNCTIONS ===============
      local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
          if (isCreature(cid)) then
              doCombat(cid, c, var)
              if (dirList ~= nil) then -- Emit distance effects
                  local i = 2;
                  while (i < #dirList) do
                      doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
                      i = i + 2
                  end        
              end
          end
      end
      function onCastSpell(cid, var)
          local startPos = getCreaturePosition(cid)
          RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos)
          return true
      end
    • By thunmin
      Fala galera, eu procurei por aqui, mas, como não achei preciso de uma ajuda!
       
      Tem como eu colocar para os players quando estiverem parados nos trainners ficar subindo a stamina? Se sim por favor me ajudem que eu não encontrei, porque quero ver se tem como colocar pra ela subir mesmo treinando.
       
       
       
    • By Joaquin Fonseca
      .Qual servidor ou website você utiliza como base? 
      Otserv
      Qual o motivo deste tópico? 
      Estou jogando um ot 7.4 e uso o bot blackdtools, porem a tela fica preta a todo momento e dps volta ao normal é como um pisca pisca
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
         
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       

    • By DigoleraZica
      Pessoal boa noite
       
      Estou com a seguinte duvida
      Gostaria de saber como consigo puxar uma pagina .php encontrada no meu pages para o Latestnews do meu gesior como se fosse uma postagem criada no News.
      Como por exemplo em vez de eu escrever um post e ja quero carregar uma pagina .php ja feita.
      Porque quando tento puxar a pagina não funciona...
      Foto de exemplo tentando puxar a pagina no pages.
       

       
      Como vocês podem ver não funciona... 
      Alguém poderia me ajudar?
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo