Ir para conteúdo
  • Cadastre-se

Posts Recomendados

mtben.png

Eu tinha esse evento muito tempo aqui no meu Pen Drive (para ser mais específico 4 anos), eu vou mudar ele para 1.2 amanha, entao nao me interessa a versao 0.4 mais. Nao sei se esta funcionando, nao tenho mapa. E nao vou explicar configuracoes, se voce nao souber configurar esse evento, voce nao merece te-lo em seu servidor!! Entao esta ai o code:

login.lua
registerCreatureEvent(cid, "TBEventC")
	registerCreatureEvent(cid, "TBEventS")
	registerCreatureEvent(cid, "TBEventO")	
tb.lua
local config = {
	base = {{x=121,y=126,z=7}, {x=142,y=149,z=7}},  -- team1 base, team2 base
	teamStorage = 49595,
	fragStorage = {49596, 49597}
}
function addFrag(id)
	return setGlobalStorageValue(config.fragStorage[id], math.max(1, (getGlobalStorageValue(config.fragStorage[id])+1)))
end

function getFragsTB(id)
	return getGlobalStorageValue(config.fragStorage[id]) == -1 and 0 or getGlobalStorageValue(config.fragStorage[id])
end

function getTeam(cid)
	return getPlayerStorageValue(cid, config.teamStorage) == -1 and 0 or getPlayerStorageValue(cid, config.teamStorage)
end


function onCombat(cid, target, lastHit, flags)
	if not(isPlayer(cid)) or not(isPlayer(target)) then
		return true
	end
	if getTeam(cid) ~= 0 and getTeam(cid) == getTeam(target) then
		return doPlayerSendCancel(cid, "You may not attack teammates.") and false
	end
	return true
end

function onStatsChange(cid, attacker, type, combat, value)
	if combat == COMBAT_HEALING then
		return true
	end
	if not(isPlayer(cid)) or not(isPlayer(attacker)) then
		return true
	end
	if isMonster(attacker) and getTeam(cid) ~= 0 then
		return false
	end
	if isMonster(attacker) then
		return true
	end
	if getTeam(cid) ~= 0 and getTeam(cid) == getTeam(attacker) then
		return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You may not attack teammates.") and false
	elseif getTeam(cid) == 0 then
		return true
	end
	if type ~= STATSCHANGE_HEALTHLOSS then
		return true
	end
	if value >= getCreatureHealth(cid) then
		doTeleportThing(cid, config.base[getTeam(cid)])
		doSendMagicEffect(getThingPos(cid), 10)
		doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
		addFrag(getTeam(attacker))
		doPlayerSendTextMessage(attacker, MESSAGE_INFO_DESCR, "You killed ".. getPlayerName(cid) .." and earned a frag for your team. Your team now has ".. getFragsTB(getTeam(attacker)) .. " frags.")
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You were owned by ".. getPlayerName(attacker) ..".")
		return false
	end
	return true
end

function onOutfit(cid, old, current)
	if getTeam(cid) ~= 0 then
		return doPlayerSendCancel(cid, "You cannot change your outfit here.") and false
	end
	return true
end
globalevents
tbevent.lua
local config = {
	tpPos = {x=92,y=118,z=7}, -- where tp happends
	tpToPos = {x=130,y=130,z=7}, -- tp p onde
	minutes = 1, -- minute
	area = {{x=121,y=126,z=7},{x=142,y=149,z=7}},   -- top left and bottom right corner of fight area
	waiting = {{x=121,y=126,z=7},{x=142,y=149,z=7}}, -- top left and bottom right corner of waiting arena
	needed = 2,   -- minimum players
	timeToEnd = 30*1000,  -- time to end
	base = {{x=121,y=126,z=7}, {x=142,y=149,z=7}},  -- team1 base, team2 base
	names = {"Alliance", "Horde"}, -- team names
	outfit = {{132, 136, 40},{132, 136, 160}}, -- outfits
	teamStorage = 49595,
	fragStorage = {49596, 49597},
	fragsToWin = 3, -- frags to win
	outfitStorage = 49598
}

function getFragsTB(id)
	return getGlobalStorageValue(config.fragStorage[id]) == -1 and 0 or getGlobalStorageValue(config.fragStorage[id])
end

function getTeam(cid)
	return getPlayerStorageValue(cid, config.teamStorage) == -1 and 0 or getPlayerStorageValue(cid, config.teamStorage)
end

function setTeam(cid, team) 
	local o = getCreatureOutfit(cid)
	setPlayerStorageValue(cid, config.outfitStorage, "{lookType=" .. o.lookType .. ", lookHead=" .. o.lookHead .. ", lookAddons=" .. o.lookAddons .. ", lookLegs=" .. o.lookLegs .. ", lookBody="..o.lookBody .. ", lookFeet=".. o.lookFeet.."}")
	doCreatureChangeOutfit(cid, {lookType = config.outfit[team][getPlayerSex(cid)+1], lookHead = config.outfit[team][3], lookAddons = 3, lookLegs = config.outfit[team][3], lookBody = config.outfit[team][3], lookFeet = config.outfit[team][3]})
	return setPlayerStorageValue(cid, config.teamStorage, team)
end

function winner(id)
	if isInArray({1,2}, id) then
		doBroadcastMessage(config.names[id] .. " has won the Team Battle event.")
		
		for _, cid in pairs(getPlayersOnline()) do
			if getTeam(cid) == id then
				doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your team has won the Team Battle event.")
				local rand = math.random(1,3)
				if rand == 1 then
					doPlayerAddItem(cid, SOFTBOOTS_ID, 1)
				elseif rand == 2 then
					doPlayerAddItem(cid, 2160, 10)
				else
					doAddPoints(cid, 5)
				end
			else
				doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your team has lost the Team Battle event.")
			end
		end
	else
		doBroadcastMessage("No one won the Team Battle event. DRAW")
	end
	for _, cid in pairs(getPlayersOnline()) do
		if getTeam(cid) ~= 0 then
			doTeleportThing(cid, getTownTemplePosition(1))
			doSendMagicEffect(getThingPos(cid), 10)	
			setPlayerStorageValue(cid, config.teamStorage, -1)
			setGlobalStorageValue(5474578, -1)
			doCreatureChangeOutfit(cid, loadstring("return " .. getPlayerStorageValue(cid, config.outfitStorage))())
		end
	end
end

function areaPlayers(c)
	local t = {}
	for x = c[1].x, c[2].x do
		for y = c[1].y, c[2].y do
			for z = c[1].z, c[2].z do
				local tmp = getThingFromPos({x=x,y=y,z=z,stackpos=253})
				if tmp.uid > 0 and (isPlayer(tmp.uid)) then
					table.insert(t, tmp.uid)
				end
			end
		end
	end
	return t
end

function endTB(z)
	if z >= config.timeToEnd then
		local w = getFragsTB(1) == getFragsTB(2) and 3 or getFragsTB(1) > getFragsTB(2) and 1 or 2
		return winner(w)
	elseif getFragsTB(1) ~= getFragsTB(2) then
		if getFragsTB(1) >= config.fragsToWin then
			return winner(1)
		elseif getFragsTB(2) >= config.fragsToWin then
			return winner(2)
		end
	end
	addEvent(endTB, 25, z+25)
end

function setTeams(cid, team)
	local pos = config.base[team]
	if not(isPlayer(cid)) then
		return true
	end
	doTeleportThing(cid, pos)
	doSendMagicEffect(pos, 10)
	setTeam(cid, team)
end

function startTB()
	doRemoveItem(getTileItemById(config.tpPos, 1387).uid)
	local ppl = areaPlayers(config.waiting)
	for i = 1, #ppl do
		local level = getPlayerLevel(ppl[i])
		if not(level >= 150) then  -- LEVEL HERE
			doTeleportThing(ppl[i], getTownTemplePosition(1))
			doSendMagicEffect(getThingPos(ppl[i]), 10)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "To fight here must be level 150.")
		end
	end
	ppl = areaPlayers(config.waiting)
	if #ppl%2 == 1 then
		local r = ppl[math.random(#ppl)]
		doTeleportThing(r, getTownTemplePosition(1))
		doSendMagicEffect(getThingPos(r), 10)
		doPlayerSendTextMessage(r, MESSAGE_INFO_DESCR, "Sorry, but you were kicked from the event for balancement.")
	end
	ppl = areaPlayers(config.waiting)
	if #ppl >= config.needed then
		for p = 1, #ppl/2 do
			addEvent(setTeams, 10*1000, ppl[p], 1)
			for i = 10, 1, -1 do
				addEvent(doPlayerSendTextMessage, (10-i)*1000, ppl[p], MESSAGE_INFO_DESCR, "Team Battle event will start in " .. i .. " seconds.")
			end
		end
		for p = #ppl/2+1, #ppl do
			addEvent(setTeams, 10*1000, ppl[p], 2)
			for i = 10, 1, -1 do
				addEvent(doPlayerSendTextMessage, (10-i)*1000, ppl[p], MESSAGE_INFO_DESCR, "Team Battle event will start in " .. i .. " seconds.")
			end
		end
		addEvent(endTB, 10*1000, 0)
		return doBroadcastMessage("Team Battle event started.")
	end
	for i = 1, #ppl do
		doTeleportThing(ppl[i], getTownTemplePosition(1))
		doSendMagicEffect(getTownTemplePosition(1), 10)
		doPlayerSendTextMessage(ppl[i], MESSAGE_INFO_DESCR, "There were not enough players")
	end
	doBroadcastMessage("Team Battle failed to start, because there were not enough players.")
	setGlobalStorageValue(5474578, -1)
end

function onTime()
	setGlobalStorageValue(config.fragStorage[1], -1)
	setGlobalStorageValue(5474578, 1)
	setGlobalStorageValue(config.fragStorage[2], -1)
	doBroadcastMessage("Team Battle event will start in " .. config.minutes .. " minutes. The teleporter is open now. ")
	doCreateTeleport(1387, config.tpToPos, config.tpPos)
	for m = config.minutes-1, 0, -1 do
		if m == 0 then
			addEvent(startTB, config.minutes*60*1000)
		else
			addEvent(doBroadcastMessage, (config.minutes-m)*60*1000, "Team Battle event will start in " .. m .. " minutes.")
		end
	end
	return true
end

Créditos: Desconhecido.


Yours VANKK; Editado por vankk (veja o histórico de edições)

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
Muito obrigado pela contribuição em nossa comunidade, o Tiba King agradece!  :wow:
Seu tópico de conteúdo foi aprovado e será movido para a seção adequada.

Você ganhou 1 REP+
Link para o post
Compartilhar em outros sites
  • 3 weeks later...
  • 2 months later...
  • 2 weeks later...
  • 1 month later...

globalevents.xml:
 

Spoiler

<globalevent name="TBevent" time="20:00:00" event="script" value="tbevent.lua"/>



creaturescripts.xml:
 

Spoiler

<event type="combat" name="TBEventC" event="script" value="tb.lua"/>
<event type="statschange" name="TBEventS" event="script" value="tb.lua"/>
<event type="outfit" name="TBEventO" event="script" value="tb.lua"/>

 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

@xWhiteWolf deu o seguinte erro no globalevents:

 

cannot open data/globalevents/script/tpevent.lua: No such file or diretory

 

creaturescript deu o mesmo erro, so mudou o diretório pro script do tp.lua

Editado por Bagon (veja o histórico de edições)

                                                       “Enquanto nos derem ao menos 1% de chance, seguiremos lutando.

                                                     E venceremos! Esse é o verdadeiro e único Clube da Fé! Vai São Paulo!”

                                                                                       spfc.png

Link para o post
Compartilhar em outros sites

value="tbevent.lua"/>

 

globalevents
tbevent.lua
 

6 minutos atrás, Bagon disse:

deu o seguinte erro no globalevents:

 


cannot open data/globalevents/script/tpevent.lua: No such file or diretory

acho que não preciso nem responder.

 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
local config = {
	tpPos = {x=92,y=118,z=7}, -- where tp happends
	tpToPos = {x=130,y=130,z=7}, -- tp p onde
	minutes = 1, -- minute
	area = {{x=121,y=126,z=7},{x=142,y=149,z=7}},   -- top left and bottom right corner of fight area
	waiting = {{x=121,y=126,z=7},{x=142,y=149,z=7}}, -- top left and bottom right corner of waiting arena
	needed = 2,   -- minimum players
	timeToEnd = 30*1000,  -- time to end
	base = {{x=121,y=126,z=7}, {x=142,y=149,z=7}},  -- team1 base, team2 base
	names = {"Alliance", "Horde"}, -- team names
	outfit = {{132, 136, 40},{132, 136, 160}}, -- outfits
	teamStorage = 49595,
	fragStorage = {49596, 49597},
	fragsToWin = 3, -- frags to win
	outfitStorage = 49598

"Team Battle failed to start, because there were not enough players" -- Acho Que Não Estou Conseguindo Entrar Com Os Chares No Evento , Pois no minimum é 2 e eu estou com 4 chares !

  

Explique-me essa parte ? +REP 

Editado por Misael boy
Faltou Completar (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 5 months later...
  • 1 year later...
  • 7 months later...

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 FeK
      CSTibia (beta) | 01/03 às 16:00

      CSTibia é um jogo PvP que conecta Counter Strike e Tibia, proporcionando uma experiência única para aqueles que gostam de PvP.

      São 2 modos de jogo, 6 mapas e mais de 50 armas disponíveis para jogar!

      #Modos de jogo: Mata-mata e Torneio x1.

      #Mapas: Dust2, Inferno, Mirage, India, IceWorld e PoolDay.

      O beta estará disponível a partir do dia 01/03 às 16 horas! Ele terá duração de 1 mês e no dia 01/04 iniciará a Session 1.

      #Download: 01/03 às 12 horas.

      ▶️ Crie já sua conta!
      http://www.cstibia.com

      🎮 Discord: https://discord.gg/zdxdTTURpq

      📸 Instagram: https://www.instagram.com/cstibia
    • Por pushwar
      IP: push-war.servegame.com | VERSÃO: 8.60
      SITE: http://push-war.servegame.com/
      Abertura dia 12/02 às 19:30
      World Type: HardCore-PvP
       Start Level: 1,000.
       Max Level: 2,050.
       
      Sistema de Level por Morte:
       Players Premium account se morrerem no Level: 2,000+ voltam para o Level: 1,500.
       Players Free account se morrerem no Level: 2,000+ voltam para o Level: 1,300.
       
      Mapa X-dream Reformulado.
       Contem 7+ cidades, que a cada 20 minutos são trocadas automaticamente.
       Sistema de TEAM-WAR(guerra entre equipes).
       
      Super Fast Atk.
       Armas e Sets editados.
       Dodge System
       
      Skull System - YellowSkull = 100 frags; GreenSkull= 250 frags; WhiteSkull = 500 frags; RedSkull= 1500 frags; BlackSkull = 3000 frags.
       
      Vocations = Warlock, Hunter e Berserker(balanceadas)
       
      Ao morrer não perde skills/items/skull.
       
      Cast system.
       
      OTserver ONLINE 24/7.
       
      Um ótimo jogo à todos, por ADM Biinhow!!!
    • Por Kill of sumoners
      Boa noite, estou com um erro ao atacar um player em meu sv eu nao pego pk, nem sai magia, aparece a mensagem "voce so pode usar isso em criaturas"
      obs: magia em area acerta e pega pk, apenas as targets ou hits de arma nao vao 
    • Por 4Unknow
      Primeiramente, um bom dia, boa tarde ou boa noite para toda comunidade.
      Vou tentar ser o mais breve possível e objetivo com vocês.

      Esse projeto consiste em trazer um servidor PLAY to EARN, onde o jogador irá jogar para ganhar.
      O famoso sistema NFT, que vem dominado nossa geração com inúmeros jogos todos os dias.
      Mas o que é NFT? Abaixo explico melhor. Sem  muitas delongas, estou disposto a criar um projeto
      de servidor de Tíbia com sistema NFT. 

      Estou em busca de uma equipe competente, responsável e que seja qualificada. Atualmente eu trabalho
      com bolsa de valores, tenho minha empresa e muito tempo para investir, e investir de forma monetária
      também quanto de estrutura. Possuo servidor VPS(brasil ou exterior) onde pode ser escalável de acordo com a necessidade.

      Possuo domínio e hospedagem para mais de 5 anos.
       

       
       O sistema NFT(non-fungible token). 
      O que são jogos NFT?
      Como praticamente qualquer coisa na internet pode se tornar um token não-fungível — de fotos, vídeos e GIFs a mensagens, arquivos de áudio e outros conteúdos —, jogos NFT seguem a mesma lógica: transformar o game inteiro ou algum elemento daquele título em algo único.
      O que costuma diferenciar os jogos NFT das demais obras é que os games têm investido em itens colecionáveis para atrair mais pessoas. Os jogadores, por sua vez, enxergam nesses itens a possibilidade de lucrar com peças exclusivas, já que, como cada NFT dentro do jogo é único, ele pode ser considerado raro entre os jogadores.
       
       

       
      Concluindo então. O projeto  atualmente precisa de webmasters
      para os sistemas NFT, onde posso colaborar na parte PHP/HTML.

      Parte gráfica consigo colaborar também. Então quem estiver disposto
      em entrar para essa aventura junto comigo. Fiquem a vontade para
      responder a este tópico.
       
      Contato-Discord:
       4Unknow#1163
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo