Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Bom dia Galera TK,

coloquei esse sitema em meu ot server e funcionou perfeito sem erro no distro!

unico problema que quando o evento incia todos sao teletrasnportado para o templo, mais o evento continua rolando sem previsão de termina!

Alguem ajuda ai plx!!

Link para o post
Compartilhar em outros sites
  • Respostas 42
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Tá massa, vamos mexer só no seu mapa então.   1º Passo - Abra seu mapa com o 'Remere', depois vá em 'Map' (seta vermelha):   2º Passo - Vá em 'Edit Towns' (seta vermelha):

Agora sim, vou analisar aqui. Guenta aí.

@mateusmoretti, esta frase que aparece ali em baixo 'você não está com a bandeira' não está no 'script' que me passou.   Qual 'script' vc está usando, cara?

Posted Images

Então, tudo dentro do servidor do OTzão obedece à regras que colocamos nos 'scripts'.

 

Assim, para que eu possa te ajudar a 'dar ordens' ao seu servidor preciso que cole os 'scripts' do evento aqui.

 

Ajudei ou Esclareci? Rep+!

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Link para o post
Compartilhar em outros sites
2 minutos atrás, Xagah disse:

Então, tudo dentro do servidor do OTzão obedece à regras que colocamos nos 'scripts'.

 

Assim, para que eu possa te ajudar a 'dar ordens' ao seu servidor preciso que cole os 'scripts' do evento aqui.

 

Ajudei ou Esclareci? Rep+!

Eai xaga blz, pow desculpa fiquei tao entertido esqueci de postar!

 

ta configurado certinho no meu ot server!

--[[
	Capture The Flag System
	Author: Maxwell Denisson(MaXwEllDeN)
	Version: 2.0
	Contact: [email protected]
]]

CTF_LIB = {
	waitpos = {x = 44, y = 610, z =7}, -- Posição da sala de espera
	tppos = {x = 54, y = 253, z =7}, -- Onde o TP vai aparecer

	days = {1, 2, 3, 4, 5, 6, 7}, -- Dias que o evento vai abrir
	xp_percent = 0.5, -- Porcentagem de exp que o player vai ganhar
	timeclose = 1, -- Tempo, em minutos, para iniciar o CTF
	winp = 4, -- Quantos pontos uma equipe precisa marcar para vencer

	teams = {
		["Vermelho"] = {
			temple = 2, -- TownID da equipe vermelha
			outfit = {lookHead = 0, lookBody = 132, lookLegs = 113, lookFeet = 94},

			flag = {
				id = 1435,
				flag_pos = {x = 68, y = 629, z =6}, -- Posição onde a bandeira vermelha vai ser criada
				gnd_pos = {x = 122, y = 628, z =6}, -- Onde os players da equipe vermelha entregarão a bandeira.
			},
		},

		["Verde"] = {
			temple = 3, -- TownID da equipe verde
			outfit = {lookHead = 0, lookBody = 121, lookLegs = 101, lookFeet = 101},

			flag = {
				id = 1437,
				flag_pos = {x = 122, y = 629, z =6}, -- Posição onde a bandeira verde vai ser criada
				gnd_pos = {x = 68, y = 628, z =7}, -- Onde os players da equipe verde entregarão a bandeira.
			},
		},
	},
}

local CTF = CTF_LIB

function CTF.getMembers()
	local members = {}

	for _, cid in pairs(getPlayersOnline()) do
		if getPlayerStorageValue(cid, 16700) ~= -1 then
			table.insert(members, cid)
		end
	end

	return members
end

function CTF.getTeamMembers(team)
	local members = {}

	for _, cid in pairs(CTF.getMembers()) do
		if getPlayerStorageValue(cid, 16700) == team then
			table.insert(members, cid)
		end
	end

	return members
end

function CTF.removePlayer(uid)
	doPlayerSetTown(uid, getPlayerStorageValue(uid, 16701))
	doTeleportThing(uid, getTownTemplePosition(getPlayerStorageValue(uid, 16701)))
	doRemoveCondition(uid, CONDITION_OUTFIT)
	doCreatureAddHealth(uid, getCreatureMaxHealth(uid))
	doCreatureAddMana(uid, getCreatureMaxMana(uid))

	setPlayerStorageValue(uid, 16701, -1)
	setPlayerStorageValue(uid, 16700, -1)
	return true
end

function CTF.addPlayer(uid)
	local team = CTF.getTeamLivre()
	local n_team = CTF.teams[team]

	setPlayerStorageValue(uid, 16700, team)
	setPlayerStorageValue(uid, 16701, getPlayerTown(uid))

	doPlayerSetTown(uid, n_team.temple)
	doTeleportThing(uid, CTF.waitpos)

	doPlayerSendTextMessage(uid, 22, "Você agora faz parte do time ".. team .. ".")

	local outfit = getCreatureOutfit(uid)

	for i, v in pairs(n_team.outfit) do
		outfit[i] = v
	end

	registerCreatureEvent(uid, "CTFLogout")
	registerCreatureEvent(uid, "CTFAttack")
	registerCreatureEvent(uid, "CTFCombat")
	registerCreatureEvent(uid, "CTFDeath")
	doSetCreatureOutfit(uid, outfit, -1)
	return true
end

function CTF.getTeamLivre()
	local teams = {}

	for i, _ in pairs(CTF.teams) do
		table.insert(teams, {i, #CTF.getTeamMembers(i)})
	end

	if (teams[1][2] < teams[2][2]) then
		return teams[1][1]
	elseif (teams[1][2] > teams[2][2]) then
		return teams[2][1]
	end

	return teams[math.random(2)][1]
end

function CTF.broadCast(msg, class)
	for _, uid in pairs(CTF.getMembers()) do
		doPlayerSendTextMessage(uid, class or 20, msg)
	end

	return true
end

function CTF.getFlagTeam(flag)
	for i, v in pairs(CTF.teams) do
		if v.flag.id == flag then
			return i
		end
	end

	return ""
end

local score_sto = {}
local a = 0
for i, _ in pairs(CTF.teams) do
	score_sto[i] = 42314 + a
	a = a + 1
end

function CTF.createFlags()
	for i, v in pairs(CTF.teams) do
		local flag = doCreateItem(v.flag.id, 1, v.flag.flag_pos)
		doItemSetAttribute(flag, "aid", 63218)

		v.flag.gnd_pos.stackpos = 0
		local gnd = getThingFromPos(v.flag.gnd_pos).uid
		doItemSetAttribute(gnd, "aid", 63200)
		doItemSetAttribute(gnd, "team", i)

		setGlobalStorageValue(score_sto[i], 0)
	end

	return true
end

function CTF.removeFlags()
	for i, v in pairs(CTF.teams) do
		local flag = doFindItemInPos({v.flag.id}, v.flag.flag_pos)[1]
		if flag then
			doRemoveItem(flag.uid, 1)
		end

		v.flag.gnd_pos.stackpos = 0
		local gnd = getThingFromPos(v.flag.gnd_pos).uid
		doItemSetAttribute(gnd, "aid", 0)
	end

	return true
end

function CTF.start()
	doRemoveItem(doFindItemInPos({1387}, CTF.tppos)[1].uid, 1)
	setGlobalStorageValue(16705, -1)

	if #CTF.getMembers() < 2 then
		doBroadcastMessage("O CTF não pôde ser iniciado por falta de players.")

		for _, cid in pairs(CTF.getMembers()) do
			CTF.removePlayer(cid)
		end

		return false
	end

	CTF.broadCast("O CTF foi iniciado. Bom jogo!")

	for _, uid in pairs(CTF.getMembers()) do
		doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)))
	end

	CTF.createFlags()
	return true
end

function CTF.returnFlag(uid, status)
	local team = getPlayerStorageValue(uid, 16702)

	if status then
		local msg = "O player ".. getCreatureName(uid) .. ", estava com a bandeira do time ".. team .. " "

		if status == 1 then
			msg = msg .. "e foi eliminado. "
		elseif status == 2 then
			msg = "e foi removido do evento. "
		end

		msg = msg .. "Portanto a bandeira do time ".. team .. " foi devolvida."
		CTF.broadCast(msg)
	end

	if CTF.teams[team] then
		local flag = doCreateItem(CTF.teams[team].flag.id, 1, CTF.teams[team].flag.flag_pos)
		doItemSetAttribute(flag, "aid", 63218)

		setPlayerStorageValue(uid, 16702, -1)
	end

	return true
end

function CTF.addPoint(uid)
	local finish
	local msg = "Capture The Flag:"

	setGlobalStorageValue(score_sto[getPlayerStorageValue(uid, 16700)], getGlobalStorageValue(score_sto[getPlayerStorageValue(uid, 16700)]) + 1)

	for i, _ in pairs(CTF.teams) do
		msg = msg .. "\nTime ".. i .. ": ".. getGlobalStorageValue(score_sto[i])

		if getGlobalStorageValue(score_sto[i]) >= CTF.winp then
			finish = i
		end
	end

	CTF.broadCast(getCreatureName(uid) .. " marcou um ponto para o time ".. getPlayerStorageValue(uid, 16700) .. ".", 22)
	CTF.broadCast(msg)
	CTF.returnFlag(uid)

	if finish then
		CTF.close(finish)
		return "close"
	end

	return true
end

function CTF.close(win)

	if not win then
		doBroadcastMessage("O CTF acabou sem vencedores.")
	else
		CTF.broadCast("O time ".. win .. " marcou ".. CTF.winp .. " ponto(s) e venceu o evento.")
	end

	for _, cid in pairs(CTF.getMembers()) do
		if getPlayerStorageValue(cid, 16700) == win then
			local xp = math.ceil(getPlayerExperience(cid) * (CTF.xp_percent / 100), 215)
			doPlayerSendTextMessage(cid, 22, "Parabéns! Você ganhou o evento e obteve ".. CTF.xp_percent .."% de sua experiência total(".. xp ..").")
			doSendAnimatedText(getThingPos(cid), xp, 215)
			doPlayerAddExperience(cid, xp)
		end

		--[[
		if getPlayerStorageValue(cid, 16702) ~= -1 then
			CTF.returnFlag(cid)
		end]]

		CTF.removePlayer(cid)
	end

	CTF.removeFlags()

	for i, _ in pairs(CTF.teams) do
		setGlobalStorageValue(score_sto[i], 0)
	end

	return true
end

local function Alert(uid)
	if (isCreature(uid)) then
		if getPlayerStorageValue(uid, 16702) == -1 or getPlayerStorageValue(uid, 16700) == -1 then
			return false
		end

		doSendAnimatedText(getThingPos(uid), "Flag!", math.random(50, 200))

		local bla = {18, 19, 21, 22, 23, 24}
		doSendMagicEffect(getThingPos(uid), bla[math.random(#bla)])

		if (os.time() - getPlayerStorageValue(uid, 16703) >= 60) then
			CTF.returnFlag(uid)
			return setPlayerStorageValue(uid, 16703, -1)
		end

		addEvent(Alert, 500, uid)
		return true
	end

	return false
end

function CTF.stealFlag(uid, team)
	setPlayerStorageValue(uid, 16702, team)
	setPlayerStorageValue(uid, 16703, os.time())

	CTF.broadCast(getCreatureName(uid) .. " roubou a bandeira do time ".. team .. "!")
	Alert(uid)
	return true
end

function doFindItemInPos(ids, pos) -- By Undead Slayer
	local results = {}

	for _ = 0, 255 do
		local findPos = {x = pos.x, y = pos.y, z = pos.z, stackpos = _}
		if isInArray(ids, getThingFromPos(findPos).itemid) then
			table.insert(results, getThingFromPos(findPos))
		end
	end

	return results
end

 

Link para o post
Compartilhar em outros sites

Remova estas linhas:

	for _, uid in pairs(CTF.getMembers()) do
		doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)))
	end

Penso que funcionará.

 

Ajudei? Rep+

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Link para o post
Compartilhar em outros sites
7 minutos atrás, Xagah disse:

Remova estas linhas:


	for _, uid in pairs(CTF.getMembers()) do
		doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)))
	end

Penso que funcionará.

 

Ajudei? Rep+

Chaga removi essa linha porém os player nao vao para o templo. mais fica na sala de espera!!

e nao da pra se mover também!!

Link para o post
Compartilhar em outros sites
4 minutos atrás, Xagah disse:

E para onde eles deveriam ir? Passe as coordenadas.

 

então essa parte também quero saber porque nao esta na lib que passei!

Unica coisa que estava configurada sao as bandeira onde nascem, e aonde sao entregues

agora o teletrasnportas todos os player da sala de espera para o evento, isso nao esta indo!!!

Link para o post
Compartilhar em outros sites

Então, no início do 'script' existem algumas configurações dos locais onde as bandeiras irão ficar, foi você que as configurou?

 

Se não, me passe as coordenadas no seu mapa de onde deverão ficar:

  • A sala de espera;
  • O lugar onde o templo irá aparecer;
  • Onde ficará a bandeira:
    • Azul;
    • Vermelha;
  • Onde os players deverão entregara bandeira:
    • Azul;
    • Vermelha;
  • Onde os players vermelhos e azuis deverão nascer;

Me passe estas coordenadas e te passo o 'script' correto.

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Link para o post
Compartilhar em outros sites
9 minutos atrás, Xagah disse:

Então, no início do 'script' existem algumas configurações dos locais onde as bandeiras irão ficar, foi você que as configurou?

 

Se não, me passe as coordenadas no seu mapa de onde deverão ficar:

  • A sala de espera;  
  • O lugar onde o templo irá aparecer;
  • Onde ficará a bandeira:
    • Azul;
    • Vermelha;
  • Onde os players deverão entregara bandeira:
    • Azul;
    • Vermelha;
  • Onde os players vermelhos e azuis deverão nascer;

Me passe estas coordenadas e te passo o 'script' correto.

  • Espero que da pra entender

 

A sala de espera;   Cordenadas x:44 y:610 z:7
O lugar onde o templo irá aparecer; Cordenadas x:54 y:253 z:7
Onde ficará a bandeira:
Azul;  Cordenadas x:68 y:629 z:6
Vermelha;   Cordenadas x:122 y:629 z:6
Onde os players deverão entregara bandeira:
Azul;   Cordenadas  x:122 y:628 z:6
Vermelha;  Cordenadas  x:68 y:628 z:6
Onde os players vermelhos e azuis deverão nascer;  
Cordenadas  Time Verde  x:81 y:615 z:7
Cordenadas  Time Vermelho x:110 y:615 z:7

 

xaga???

Editado por mateusmoretti (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@mateusmoretti, desculpe, me esqueci totalmente do seu tópico.

 

Esta tarde estarei em casa. 

 

Vou sentar e olhar seu 'script' novamente.

 

Abraço.

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Link para o post
Compartilhar em outros sites
56 minutos atrás, Xagah disse:

@mateusmoretti, desculpe, me esqueci totalmente do seu tópico.

 

Esta tarde estarei em casa. 

 

Vou sentar e olhar seu 'script' novamente.

 

Abraço.

Ok, vou fica no seu aguardo. 

boa tarde !!

Link para o post
Compartilhar em outros sites

@mateusmoretti, Mude:

 

Para:

	for _, uid in pairs(CTF.getMembers()) do
		doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)))
	end

 

	for _, uid in pairs(CTF.getMembers()) do
		if (getPlayerStorageValue(uid, 16701) == 2) then 
			doTeleportThing(uid, {x=81, y=615, z=7})
		else
			doTeleportThing(uid, {x=110, y=615, z=7})
		end	
	end

E teste. Veja se surgem outros erros. Se isto ocorrer, volte e relate o que houve.

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Link para o post
Compartilhar em outros sites
5 horas atrás, Xagah disse:

@mateusmoretti, Mude:

 

Para:


	for _, uid in pairs(CTF.getMembers()) do
		doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)))
	end

 


	for _, uid in pairs(CTF.getMembers()) do
		if (getPlayerStorageValue(uid, 16701) == 2) then 
			doTeleportThing(uid, {x=81, y=615, z=7})
		else
			doTeleportThing(uid, {x=110, y=615, z=7})
		end	
	end

E teste. Veja se surgem outros erros. Se isto ocorrer, volte e relate o que houve.

Eai xaga blz!

bom fiz oque me pediu porem os player sao teletrasnportado somente para 1 lado

todos sao teletrasnportado para essa cordenada "

doTeleportThing(uid, {x=110, y=615, z=7})

e ta dando esse error no distro!



[28/1/2016 19:27:1] [Error - MoveEvent::executeStep] Call stack overflow.
[28/1/2016 19:31:28] [Error - MoveEvent::executeStep] Call stack overflow.
[28/1/2016 19:31:28] [Error - MoveEvent::executeStep] Call stack overflow.
[28/1/2016 19:31:28] [Error - MoveEvent::executeStep] Call stack overflow.
[28/1/2016 19:31:28] [Error - MoveEvent::executeStep] Call stack overflow.
[28/1/2016 19:31:29] [Error - MoveEvent::executeStep] Call stack overflow.
[28/1/2016 19:31:29] [Error - MoveEvent::executeStep] Call stack overflow.
 

Link para o post
Compartilhar em outros sites

Tenta isto aqui, mude o texto que mencionei por:

	for _, uid in pairs(CTF.getMembers()) do
		if getPlayerTown(uid) == 2 then
			doTeleportThing(uid, {x=81, y=615, z=7})
		else	
			doTeleportThing(uid, {x=110, y=615, z=7})
		end
	end

 

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Link para o post
Compartilhar em outros sites
10 minutos atrás, Xagah disse:

Tenta isto aqui, mude o texto que mencionei por:


	for _, uid in pairs(CTF.getMembers()) do
		if getPlayerTown(uid) == 2 then
			doTeleportThing(uid, {x=81, y=615, z=7})
		else	
			doTeleportThing(uid, {x=110, y=615, z=7})
		end
	end

 

xagah mesma coisa,. todos sao teleportado para area do time Verde!

Editado por mateusmoretti (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Bom, vamos fazer uma gambiarra tentativa diferenciada.

 

 

Em primeiro lugar volte sua função para aquela que me passou.

 

Depois vá no seu Remere em Map > Edit Towns

 

Quantas cidades você tem lá?

 

Traga-me a resposta e já faremos a gambiarra master.

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Link para o post
Compartilhar em outros sites
2 minutos atrás, Xagah disse:

Bom, vamos fazer uma gambiarra tentativa diferenciada.

 

 

Em primeiro lugar volte sua função para aquela que me passou.

 

Depois vá no seu Remere em Map > Edit Towns

 

Quantas cidades você tem lá?

 

Traga-me a resposta e já faremos a gambiarra master.

Certo,

Voltei função anterio!

e o Mapa Chama "Baiak MMA, SO TEM ESSE MAP"

Link para o post
Compartilhar em outros sites

Não, tipo, preciso saber quantas cidades você tem neste mapa.

 

Assim, faça aquele procedimento que te mostrei ali e me diga qual o total que você tem.

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Link para o post
Compartilhar em outros sites

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 Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo