Jump to content

Revolução Tibiana no UnderWar 07/08/2021 - SÁBADO - 16:00hrs

Crie sua conta, chame sua guild e venha participar desse MEGA RECOMEÇO no UnderWar!

São 14 anos de OT e você comemora junto com a gente... Muitos eventos, sorteios e premiações nessa data tão especial!

Muitas atualizações em um NOVO UNDERWAR!

UNDERWAR ESTA ONLINE!

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

  • 1 month later...

alguem possa me dar uma luz, quando eu abro um evento, o evento cria o teleport no local certo mas ao entrar no teleport eu sou mandado para a posição x=0 y=0 z=0. em vez da posição correta e isso crasha o client tbm. ja testei trilhoes de revs e servidores diferentes e sempre acontece 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 Aragllov
      Query:
      Boa noite, alguém pode me ajudar com esse teorema? Acredito que falta essas query, mas não sei como fazer.
       
       
      SELECT `id`, `name`, `password`, `premdays`, `coins`, `lastday`, `email`, `key`, `create_ip`, `creation`, `page_access`, `location`, `rlname`, `birth_date`, `gender`, `email_new`, `email_new_time`, `email_code`, `next_email`, `last_post`, `flag`, `vote`, `loyalty_points`, `guild_points` FROM `accounts` WHERE `name` = 'Teste'
      SQLSTATE: 00000 Driver code:   Error message:  
      Query: SELECT * FROM `z_shop_offer` WHERE `category` = '2' SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT `value` FROM `server_config` WHERE `config` = 'double' SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT * FROM `z_shop_category` WHERE `hide` = 0 ORDER BY `id` ASC SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT * FROM `z_shop_offer` WHERE `category` = '2' AND `hide` = 0 ORDER BY `offer_date` DESC SQLSTATE: 00000 Driver code:   Error message:  
      Query: SELECT COUNT(*) FROM `players` SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT COUNT(*) FROM `accounts` SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT COUNT(*) FROM `guilds` SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT COUNT(*) FROM `z_shop_offer` SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT * FROM `newsticker` ORDER BY `date` DESC LIMIT 1 SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT * FROM tickets WHERE ticket_status = 'Waiting' AND ticket_admin_reply = 0 SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT * FROM tickets WHERE ticket_status = 'Waiting' AND ticket_admin_reply = 1 SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT * FROM tickets WHERE ticket_status = 'Closed' SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT `value` FROM `server_config` WHERE `config` = 'double' SQLSTATE: 00000 Driver code:   Error message:   Query: SELECT * FROM `z_shop_category` ORDER BY `name` ASC SQLSTATE: 00000 Driver code:   Error message:  
    • By elielder
      Gesior 8.60, pq todas as novas vocation que eu adiciono fica com nome de naruto ? alguem me ajuda a resolver ?
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
       # Create Character Options $config['site']['newchar_vocations'][0] = array(2=>"Sasuke Sample", 3=>"Sakura Sample", 4=>"Lee Sample", 5=>"Neji Sample", 6=>"Tenten Sample", 7=>"Gaara Sample", 8=>"Kiba Sample", 9=>"Shikamaru Sample", 10=>"Chouji Sample", 21=>"Kisame Sample", 22=>"Konan Sample", 23=>"Temari Sample"); ## , 42=>"Boruto Sample", 43=>"Anbu Sample", 44=>"Sasori Sample", 45=>"Danzoo Sample", 46=>"Menma Sample" $config['site']['newchar_towns'][0] = array(1); $config['site']['max_players_per_account'] = 12;  
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
    • By russo000
      fala galera !!! valendo + rep
       
      entao , eu to com uma base tfs 1.4 e to editando ela faz um tempinho . 
      sem enrolaçao ... o que eu estou precisando e saber como eu faço para aparecer um portal em um determinado lugar 
       
      ex: eu queria startar uma raid onde ira nascer um boss em um lugar q criei , e eu queria q qnd eu startase essa raid , aparecesse um portal ex: no centro da cidade ou no dp algo do tipo ... ai tbm queria fazer esse tp ficar aberto por uns 7 dias la e dps sumir ... 
       
      ou se nao tiver como fazer isso . pode ser uma maneira de so aparecer um tp la qnd eu startar a raid e dps eu fexo ele com comando ou algo do tipo . 
       
      lembrando q minha base e atualizada e alguns scripts nao tem o arquivo xml !! pois o registro fica dentro do proprio script . 
       
      tmjt aguardo ai a ajudaaa 
       
       
      macabra.global.com
       
      [ADM] macabra.
    • By Aragllov
      Boa noite, alguém pode me explicar como que coloca item no shop desse gesior, tem opção no admin painel que a pagina fica assim:
       

       
      Quando clico em manage só aparece opção de escolher mount em qualquer uma das opções

       
      O Gesior que eu baixei é esse: 
       
    • By Akun
      Oiiii, Tudo bem com vocês, espero que Sim
       
      tenho uma duvida que ta me deixando louco, eu gostaria de saber onde eu acho as linhas da lista de Outfits do meu OT
      TFS 1.2 OT 7.72  Baseado no  Nostaurius
      No ot tem as outfits normais, é essa .config que quero achar na minha pasta data/xml/
      não tem Outfits.xml na minha pasta xml há esses arquivos.

      ESSAS SÃO AS OUTFITS NORMAIS DO OT, SEM SKIN NEM ADDON

       
      .Qual servidor ou website você utiliza como base? 
      Myacc/Nostaurius
       
      Qual o motivo deste tópico? 
      Ajuda
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
      tem alguns arquivos que tem algmas coisas que falam de outfit, exemplo  
      data/creaturescripts/scripts/firstitems.lua
       
      data/creaturescripts/scripts/loguin.lua
      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. 
       


×
×
  • Create New...

Important Information

Confirmação de Termo