Jump to content

Recommended Posts

.Qual servidor ou website você utiliza como base? 

rev 3996 8.60 0.4

Qual o motivo deste tópico? 

Estou com um bug no meu servidor, ao entrar em tiles criados por eventos (1387) com actionid, os players em vez de ir pra posição correta eles estao indo pra posição x=0 y=0 z=0. e isso ocorre em todos eventos. me ajuda por favor. uso rev 3996 8.60 0.4

Pelo oque eu entendi, ao ser criado o teleporte ele não ganha as posições setadas pelo evento e acaba sendo criado com as posições 0.

https://prnt.sc/11n2whu

Edited by elielder
adicionando erro - imagem (see edit history)
Link to post
Share on other sites

Em 25/04/2021 em 20:37, Kyle Bellini disse:

Envia o código, pra gente poder ver o problema

ai é que ta o problema, isso esta acontecendo em todos os eventos, e todas as Revs (3777, 3884, 3996).
na hora de compilar não apresenta nenhum erro, mas algo deve estar bugando a distro, e eu não consigo descobrir.

Link to post
Share on other sites

Em 28/04/2021 em 16:49, Kyle Bellini disse:

Mas você já verificou se o problema não é o código?

Spoiler

<?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","18:00","20:00","22:00"},
	["Wednesday"] = {"13:00","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>

 

 

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