Ir para conteúdo
  • Cadastre-se

Normal Ajuda com tag globalevents/creaturescript


Posts Recomendados

Estou precisando de ajuda neste script que achei no forum do tk, porem o script não tem as tags do globalevents e nem do movemeents alguem poderia me diser qual tag seria ??

 

 

Globalevents

Spoiler

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

 

 

Creaturescript

 

Spoiler

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

login.lua


registerCreatureEvent(cid, "TBEventC")
	registerCreatureEvent(cid, "TBEventS")
	registerCreatureEvent(cid, "TBEventO")	

 

 

Link para o post
Compartilhar em outros sites

Isso ai e o Evento Battle se não me engano, da um procurada aqui no Forum que você acha ele

 

So uma informação seu servidor você quer o script para servidor 10x ou 860?

pbotttttttttttttttttttt.gif?1435636828

Link para o post
Compartilhar em outros sites
46 minutos atrás, rozinx.kungsan disse:

Isso ai e o Evento Battle se não me engano, da um procurada aqui no Forum que você acha ele

 

So uma informação seu servidor você quer o script para servidor 10x ou 860?

já procurei até demais e não axei..

 

8.6 tfs 0.4

 

segue o tópico

http://www.tibiaking.com/forum/topic/63437-event-04-massive-team-battle/

Editado por Myshhler (veja o histórico de edições)
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