Ir para conteúdo
  • Cadastre-se

(Resolvido)[RESOLVIDO] Players vs Players


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Ola Galerinha Do Tk Gostaria De Um Script De 4 Players de Guid x Vs 4 Players de Guid x

Que 4 players da mesma guild estejao e x posiçoes 

e 4 players te outra guild esteja e outras xs posiçoes

e ao clicar na alavanca Eles Seriao Teleportardos para uma posiçao (os 4 de uma guild em x posiçao e os outros 4 em outra x)

Dai so poderia entrar denovo se Os 4 players de uma guilda morrer os vencedores seria teleportados para o templo e recebia cada um 1 premio configuravel e a guild vencedora aparecece brodcast a guild x ganhou a batalha amistosa contra a guild x

Achei um script mas esta incompleto alguem pode me ajudar a arrumar ele do geito que eu descrevi??

1664155008_imagemtk.png.9fc092986eae68def429e2431146ec4c.png

 

local config = {
	
	positions = {
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
	},

	positions2 = {
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
	},
	
	storageTime1 = 10045,
	storageTime2 = 10046,
	money = 500,-- em k
}

function onUse(cid, item, fromPosition, item2, toPosition)

	-- Checando posições 1
	for i = 1, #config.positions do
		local creature = getTopCreature(config.positions[i][1]).uid
		
		if not isPlayer(creature) then
			return doPlayerSendCancel(cid, "Nao existe players em todas as posicoes.") and doSendMagicEffect(getThingPos(cid), 2)
		end

		local guild1 = getPlayerGuildId(getTopCreature(config.positions[1][1]).uid)
		if getPlayerGuildId(creature) ~= guild1 then
			return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		
		if getPlayerMoney(creature) < (config.money * 1000) then
			return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
		end
	end

	-- Checando posições 2
	for i = 1, #config.positions2 do
		local creature = getTopCreature(config.positions2[i][1]).uid
		
		if not isPlayer(creature) then
			return doPlayerSendCancel(cid, "Not enough players.") and doSendMagicEffect(getThingPos(cid), 2)
		end

		local guild2 = getPlayerGuildId(getTopCreature(config.positions2[1][1]).uid)
		if getPlayerGuildId(creature) ~= guild2 then
			return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		
		if getPlayerMoney(creature) < (config.money * 1000) then
			return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
		end
	end

	doBroadcastMessage("Começou uma batalha entre ".. getPlayerGuildName(getTopCreature(config.positions[1][1].uid) .." e ".. getPlayerGuildName(getTopCreature(config.positions2[1][1]).uid) ..".")

	-- Teleportando posições 1
	for i = 1, #config.positions do
		local creature = getTopCreature(config.positions[i][1]).uid
		doTeleportThing(creature, config.positions[i][2])
		doPlayerSendTextMessage(creature, 27, "You started the quest.")
		doSendMagicEffect(getThingPos(creature), 33)
		doPlayerRemoveMoney(creature, (config.money * 1000))
		setPlayerStorageValue(creature, config.storageTime1, 1)
	end

	-- Teleportando posições 2
	for i = 1, #config.positions2 do
		local creature = getTopCreature(config.positions2[i][1]).uid
		doTeleportThing(creature, config.positions2[i][2])
		doPlayerSendTextMessage(creature, 27, "You started the quest.")
		doSendMagicEffect(getThingPos(creature), 33)
		doPlayerRemoveMoney(creature, (config.money * 1000))
		setPlayerStorageValue(creature, config.storageTime2, 1)
	end

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

@Vodkart Ajude ae amigo.

 

Ajuda ai galera

 

 

Será que é possível só em Action? Ou precisa de algum script em creaturescript?

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

Faz no action um script de tempo também, digamos que você possa ficar no máximo 10 min na arena.

Esse script é tipo do battlefield, a diferença que não precisaria colocar storage para diferenciar, a "storage"  seria a guild em questão... Só jogar 4 global storage e assim cada vez que matasse 1 a storage ia de 4 para 3 e assim sucessivamente. quando matasse o último dava a premiação para os jogadores que estiverem na arena.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
3 minutos atrás, Vodkart disse:

Faz no action um script de tempo também, digamos que você possa ficar no máximo 10 min na arena.

Esse script é tipo do battlefield, a diferença que não precisaria colocar storage para diferenciar, a "storage"  seria a guild em questão... Só jogar 4 global storage e assim cada vez que matasse 1 a storage ia de 4 para 3 e assim sucessivamente. quando matasse o último dava a premiação para os jogadores que estiverem na arena.

Simm issu mesmo !!

mas nao entendo de Lua para fazer issu.

tem como arrumar o script pra min??

e aki depois q matar o ultimo restante os vencedores seriao teleportados para o templo!

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

Simm issu mesmo !!

mas nao entendo de Lua para fazer issu.

tem como arrumar o script pra min??

e aki depois q matar o ultimo restante os vencedores seriao teleportados para o templo!

 

eu to saindo agora, se ninguém fizer de noite eu dou uma olhada pra você!!

vou almoçar fora e passar a tarde com a minha morena...

abraços.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
Agora, Vodkart disse:

 

eu to saindo agora, se ninguém fizer de noite eu dou uma olhada pra você!!

vou almoçar fora e passar a tarde com a minha morena...

abraços.

ok obrigado fico no aguardo tbm vou sair almoçar na casa de mamae hudahsdu

Link para o post
Compartilhar em outros sites

se podia por 1 

 

       exhaustion.set(cid, storage, tempo)

 

depois check ele na alavanca

 

exhaustion.check(cid, storage) == false then

 

igual voldkart falou.. ai so podia puxar novamente em 10 minutos.. e se algue puxardepois de 10minutos ve se tem player na area.. ai vc escolhe remover os que estão na arena e falar q o tempo acabou.. ou simplismente avisar p quem ta puxandod epois de 10minutos que ainda tem player lutando.

eu fiz uma função assim para checkar player em area se quiser te passo.

 

Link para o post
Compartilhar em outros sites
4 horas atrás, kbpaulo disse:

se podia por 1 

 


       exhaustion.set(cid, storage, tempo)

 

depois check ele na alavanca

 


exhaustion.check(cid, storage) == false then

 

igual voldkart falou.. ai so podia puxar novamente em 10 minutos.. e se algue puxardepois de 10minutos ve se tem player na area.. ai vc escolhe remover os que estão na arena e falar q o tempo acabou.. ou simplismente avisar p quem ta puxandod epois de 10minutos que ainda tem player lutando.

eu fiz uma função assim para checkar player em area se quiser te passo.

 

quero sim amigo vc pode add no script?

e a parte de matar o ultimo e os vencedores serem teleportados para o templo?

Link para o post
Compartilhar em outros sites

player morre mesmo ou so e mandado dp..e 1 survive de morte = perde lvl,exp etc?

Link para o post
Compartilhar em outros sites

blz vou pegar o seu e ir mudando aqui me da uns 30minutos.

Link para o post
Compartilhar em outros sites
1 minuto atrás, kbpaulo disse:

blz vou pegar o seu e ir mudando aqui me da uns 30minutos.

Tranquilo brother tenha preça nao faz na calma ae kk

Link para o post
Compartilhar em outros sites
1 hora atrás, mullino disse:

Tranquilo brother tenha preça nao faz na calma ae kk

seu script funfava????

 

Spoiler

local config = {
	
	positions = {
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
	},

	positions2 = {
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
	},
	
	storageTime1 = 10045,
	storageTime2 = 10046,
	money = 500,-- em k
}

function onUse(cid, item, fromPosition, item2, toPosition)

	-- Checando posições 1
	for i = 1, #config.positions do
		local creature = { getTopCreature(config.positions[i][1]).uid, getTopCreature(config.positions2[i][1]).uid}
		
		if not isPlayer(creature[1]) or not isPlayer(creature[2])then
			return doPlayerSendCancel(cid, "Nao existe players em todas as posições.") and doSendMagicEffect(getThingPos(cid), 2)
		end

		local guild1 = getPlayerGuildId(getTopCreature(config.positions[i][1]).uid) -- não sei se vai funcionar aki
		local guild2 = getPlayerGuildId(getTopCreature(config.positions2[i][1]).uid) -- não sei se vai funcionar aki
		if getPlayerGuildId(creature[1]) ~= guild1 or getPlayerGuildId(creature[2]) ~= guild2 then
			return doPlayerSendCancel(cid, "Algum player não é da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		
		if getPlayerMoney(creature[1]) < (config.money * 1000) or getPlayerMoney(creature[2]) < (config.money * 1000) then
			return doPlayerSendCancel(cid, "Algum player não tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
		end
	end

	doBroadcastMessage("Começou uma batalha entre ".. getPlayerGuildName(getTopCreature(config.positions[1][1]).uid) .." e ".. getPlayerGuildName(getTopCreature(config.positions2[1][1]).uid) ..".")

	-- Teleportando posições 1
	for z = 1, #config.positions do
		local creat = { getTopCreature(config.positions[z][1]).uid ,getTopCreature(config.positions2[z][1]).uid }
		doTeleportThing(creat[1], config.positions[z][1])
		doTeleportThing(creat[2], config.positions[z][2])
		doPlayerSendTextMessage(creat[1], 27, "You started the quest.")
		doPlayerSendTextMessage(creat[2], 27, "You started the quest.")
		doSendMagicEffect(getThingPos(creat[1]), 33)
		doSendMagicEffect(getThingPos(creat[2]), 33)
		doPlayerRemoveMoney(creat[1], (config.money * 1000))
		doPlayerRemoveMoney(creat[2], (config.money * 1000))
		setPlayerStorageValue(creat[1], config.storageTime1, 1)
		setPlayerStorageValue(creat[2], config.storageTime2, 1)
	end
return true
end

 

 

tem como ver se funciona? e da retorno?

Link para o post
Compartilhar em outros sites
3 horas atrás, kbpaulo disse:

seu script funfava????

 

  Mostrar conteúdo oculto


local config = {
	
	positions = {
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
	},

	positions2 = {
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
	},
	
	storageTime1 = 10045,
	storageTime2 = 10046,
	money = 500,-- em k
}

function onUse(cid, item, fromPosition, item2, toPosition)

	-- Checando posições 1
	for i = 1, #config.positions do
		local creature = { getTopCreature(config.positions[i][1]).uid, getTopCreature(config.positions2[i][1]).uid}
		
		if not isPlayer(creature[1]) or not isPlayer(creature[2])then
			return doPlayerSendCancel(cid, "Nao existe players em todas as posições.") and doSendMagicEffect(getThingPos(cid), 2)
		end

		local guild1 = getPlayerGuildId(getTopCreature(config.positions[i][1]).uid) -- não sei se vai funcionar aki
		local guild2 = getPlayerGuildId(getTopCreature(config.positions2[i][1]).uid) -- não sei se vai funcionar aki
		if getPlayerGuildId(creature[1]) ~= guild1 or getPlayerGuildId(creature[2]) ~= guild2 then
			return doPlayerSendCancel(cid, "Algum player não é da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		
		if getPlayerMoney(creature[1]) < (config.money * 1000) or getPlayerMoney(creature[2]) < (config.money * 1000) then
			return doPlayerSendCancel(cid, "Algum player não tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
		end
	end

	doBroadcastMessage("Começou uma batalha entre ".. getPlayerGuildName(getTopCreature(config.positions[1][1]).uid) .." e ".. getPlayerGuildName(getTopCreature(config.positions2[1][1]).uid) ..".")

	-- Teleportando posições 1
	for z = 1, #config.positions do
		local creat = { getTopCreature(config.positions[z][1]).uid ,getTopCreature(config.positions2[z][1]).uid }
		doTeleportThing(creat[1], config.positions[z][1])
		doTeleportThing(creat[2], config.positions[z][2])
		doPlayerSendTextMessage(creat[1], 27, "You started the quest.")
		doPlayerSendTextMessage(creat[2], 27, "You started the quest.")
		doSendMagicEffect(getThingPos(creat[1]), 33)
		doSendMagicEffect(getThingPos(creat[2]), 33)
		doPlayerRemoveMoney(creat[1], (config.money * 1000))
		doPlayerRemoveMoney(creat[2], (config.money * 1000))
		setPlayerStorageValue(creat[1], config.storageTime1, 1)
		setPlayerStorageValue(creat[2], config.storageTime2, 1)
	end
return true
end

 

 

tem como ver se funciona? e da retorno?

Nao testei ele como eu disse eu cheei ele aki no TK Era o mais Proximo do que eu queria mas nao testei mas vou tertar ele aki

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

#REMOVIDO CÓDIGO BUGADO

 

Só não esqueça na arena de colocar PVP TOOL e AREA NO LOGOUT

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

o meu bloco de notas bugou o código, apareceu uns caracteres especiais "?" dentro do código.

 

tenta assim:

 

<?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Guild For Arena Event" version="8.6" author="Vodkart" contact="" enabled="yes">
<config name="gfae_config"><![CDATA[
config = {
	positions = {
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
	},
	positions2 = {
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
	},
	money = 500,-- em k
	hours = 5, -- para voltar a arena
	storage = 889757,
	a = {x=535, y=1597, z=4}, -- pos começo da arena
	b = {x=540, y=1600, z=4}, -- pos final da arena
	exit_pos = {x=154, y=160, z=7}
}
function getPlayersWithGuildInArena(from, to)
	local t = {}
	for _, pid in pairs(getPlayersOnline()) do
		if isInRange(getPlayerPosition(pid), from, to) then
			t[#t+1] = pid
		end
	end
	return t
end
function endArenaEvent(cid, p1, p2)
	for _, ret in pairs(getPlayersWithGuildInArena(p1, p2)) do
		if getPlayerGuildId(cid) ~= getPlayerGuildId(ret) then
			return false
		end
	end
return true
end
]]></config>
<event type="login" name="GuildForArenaLogin" event="script"><![CDATA[
domodlib('gfae_config')
function onLogin(cid)
registerCreatureEvent(cid, "GuildForArenaDeath")
	if isInRange(getPlayerPosition(cid), config.a, config.b) then
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
	end
return true
end]]></event>
<event type="preparedeath" name="GuildForArenaDeath" event="script"><![CDATA[
domodlib('gfae_config')
function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller)
	if isPlayer(cid) and isInRange(getPlayerPosition(cid), config.a, config.b) then
		doTeleportThing(cid, config.exit_pos)
			if endArenaEvent(deathList[1], config.a, config.b) then -- qndo acaba o evento
				for _, ret in pairs(getPlayersWithGuildInArena(config.a, config.b)) do
					doPlayerAddItem(ret, 1999, 1) -- premio
					doTeleportThing(ret, config.exit_pos)
				end
				doBroadcastMessage("A guild  "..getPlayerGuildName(deathList[1]).." Foi a vencedora da arena!")
			end
	end
return true
end]]></event>
<action actionid="84020" event="script"><![CDATA[
domodlib('gfae_config')
function onUse(cid, item, fromPosition, item2, toPosition)
	if #getPlayersWithGuildInArena(config.a, config.b)  > 0 then
		return doPlayerSendCancel(cid, "espere, atualmente ha guilds batalhando.") and doSendMagicEffect(getThingPos(cid), 2)
	end
	for i = 1, #config.positions do
		local creature = getTopCreature(config.positions[i][1]).ui
		if not isPlayer(creature) then
			return doPlayerSendCancel(cid, "Nao existe players em todas as posicoes.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		local guild1 = getPlayerGuildId(getTopCreature(config.positions[1][1]).uid)
		if getPlayerGuildId(creature) ~= guild1 then
			return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		if getPlayerStorageValue(creature, config.storage) - os.time() > 0 then
			return doPlayerSendTextMessage(cid, 25, "o Jogador "..getPlayerName(creature) .." Você só poderá voltar na arena em "..os.date("%d %B %Y %X ", getPlayerStorageValue(creature, config.storage))..".")
		end
		if getPlayerMoney(creature) < (config.money * 1000) then
			return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
		end
	end
	-- Checando posições 2
	for i = 1, #config.positions2 do
		local creature = getTopCreature(config.positions2[i][1]).uid
		if not isPlayer(creature) then
			return doPlayerSendCancel(cid, "Not enough players.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		local guild2 = getPlayerGuildId(getTopCreature(config.positions2[1][1]).uid)
		if getPlayerGuildId(creature) ~= guild2 then
			return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		if getPlayerStorageValue(creature, config.storage) - os.time() > 0 then
			return doPlayerSendTextMessage(cid, 25, "o Jogador "..getPlayerName(creature) .." Você só poderá voltar na arena em "..os.date("%d %B %Y %X ", getPlayerStorageValue(creature, config.storage))..".")
		end
		if getPlayerMoney(creature) < (config.money * 1000) then
			return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
		end
	end
	doBroadcastMessage("Começou uma batalha entre ".. getPlayerGuildName(getTopCreature(config.positions[1][1].uid)) .." e ".. getPlayerGuildName(getTopCreature(config.positions2[1][1]).uid) ..".")
	-- Teleportando posições 1
	for i = 1, #config.positions do
		local creature = getTopCreature(config.positions[i][1]).uid
		doTeleportThing(creature, config.positions[i][2])
		doPlayerSendTextMessage(creature, 27, "You started the quest.")
		doSendMagicEffect(getThingPos(creature), 33)
		doPlayerRemoveMoney(creature, (config.money * 1000))
		setPlayerStorageValue(creature, config.storage, os.time() + config.hours * 60 * 60)
	end
	-- Teleportando posições 2
	for i = 1, #config.positions2 do
		local creature = getTopCreature(config.positions2[i][1]).uid
		doTeleportThing(creature, config.positions2[i][2])
		doPlayerSendTextMessage(creature, 27, "You started the quest.")
		doSendMagicEffect(getThingPos(creature), 33)
		doPlayerRemoveMoney(creature, (config.money * 1000))
		setPlayerStorageValue(creature, config.storage, os.time() + config.hours * 60 * 60)
	end
	return true
end]]></action>
</mod>

 

configura assim a pos A e pos B lá na config:

KKKK.jpg

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
6 minutos atrás, Vodkart disse:

o meu bloco de notas bugou o código, apareceu uns caracteres especiais "?" dentro do código.

 

tenta assim:

 


<?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Guild For Arena Event" version="8.6" author="Vodkart" contact="" enabled="yes">
<config name="gfae_config"><![CDATA[
config = {
	positions = {
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
	},
	positions2 = {
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
		{{x=535, y=1597, z=4}, {x=535, y=2000, z=4}},
	},
	money = 500,-- em k
	hours = 5, -- para voltar a arena
	storage = 889757,
	a = {x=535, y=1597, z=4}, -- pos começo da arena
	b = {x=540, y=1600, z=4}, -- pos final da arena
	exit_pos = {x=154, y=160, z=7}
}
function getPlayersWithGuildInArena(from, to)
	local t = {}
	for _, pid in pairs(getPlayersOnline()) do
		if isInRange(getPlayerPosition(pid), from, to) then
			t[#t+1] = pid
		end
	end
	return t
end
function endArenaEvent(cid, p1, p2)
	for _, ret in pairs(getPlayersWithGuildInArena(p1, p2)) do
		if getPlayerGuildId(cid) ~= getPlayerGuildId(ret) then
			return false
		end
	end
return true
end
]]></config>
<event type="login" name="GuildForArenaLogin" event="script"><![CDATA[
domodlib('gfae_config')
function onLogin(cid)
registerCreatureEvent(cid, "GuildForArenaDeath")
	if isInRange(getPlayerPosition(cid), config.a, config.b) then
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
	end
return true
end]]></event>
<event type="preparedeath" name="GuildForArenaDeath" event="script"><![CDATA[
domodlib('gfae_config')
function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller)
	if isPlayer(cid) and isInRange(getPlayerPosition(cid), config.a, config.b) then
		doTeleportThing(cid, config.exit_pos)
			if endArenaEvent(deathList[1], config.a, config.b) then -- qndo acaba o evento
				for _, ret in pairs(getPlayersWithGuildInArena(config.a, config.b)) do
					doPlayerAddItem(ret, 1999, 1) -- premio
					doTeleportThing(ret, config.exit_pos)
				end
				doBroadcastMessage("A guild  "..getPlayerGuildName(deathList[1]).." Foi a vencedora da arena!")
			end
	end
return true
end]]></event>
<action actionid="84020" event="script"><![CDATA[
domodlib('gfae_config')
function onUse(cid, item, fromPosition, item2, toPosition)
	if #getPlayersWithGuildInArena(config.a, config.b)  > 0 then
		return doPlayerSendCancel(cid, "espere, atualmente ha guilds batalhando.") and doSendMagicEffect(getThingPos(cid), 2)
	end
	for i = 1, #config.positions do
		local creature = getTopCreature(config.positions[i][1]).ui
		if not isPlayer(creature) then
			return doPlayerSendCancel(cid, "Nao existe players em todas as posicoes.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		local guild1 = getPlayerGuildId(getTopCreature(config.positions[1][1]).uid)
		if getPlayerGuildId(creature) ~= guild1 then
			return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		if getPlayerStorageValue(creature, config.storage) - os.time() > 0 then
			return doPlayerSendTextMessage(cid, 25, "o Jogador "..getPlayerName(creature) .." Você só poderá voltar na arena em "..os.date("%d %B %Y %X ", getPlayerStorageValue(creature, config.storage))..".")
		end
		if getPlayerMoney(creature) < (config.money * 1000) then
			return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
		end
	end
	-- Checando posições 2
	for i = 1, #config.positions2 do
		local creature = getTopCreature(config.positions2[i][1]).uid
		if not isPlayer(creature) then
			return doPlayerSendCancel(cid, "Not enough players.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		local guild2 = getPlayerGuildId(getTopCreature(config.positions2[1][1]).uid)
		if getPlayerGuildId(creature) ~= guild2 then
			return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2)
		end
		if getPlayerStorageValue(creature, config.storage) - os.time() > 0 then
			return doPlayerSendTextMessage(cid, 25, "o Jogador "..getPlayerName(creature) .." Você só poderá voltar na arena em "..os.date("%d %B %Y %X ", getPlayerStorageValue(creature, config.storage))..".")
		end
		if getPlayerMoney(creature) < (config.money * 1000) then
			return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2)
		end
	end
	doBroadcastMessage("Começou uma batalha entre ".. getPlayerGuildName(getTopCreature(config.positions[1][1].uid)) .." e ".. getPlayerGuildName(getTopCreature(config.positions2[1][1]).uid) ..".")
	-- Teleportando posições 1
	for i = 1, #config.positions do
		local creature = getTopCreature(config.positions[i][1]).uid
		doTeleportThing(creature, config.positions[i][2])
		doPlayerSendTextMessage(creature, 27, "You started the quest.")
		doSendMagicEffect(getThingPos(creature), 33)
		doPlayerRemoveMoney(creature, (config.money * 1000))
		setPlayerStorageValue(creature, config.storage, os.time() + config.hours * 60 * 60)
	end
	-- Teleportando posições 2
	for i = 1, #config.positions2 do
		local creature = getTopCreature(config.positions2[i][1]).uid
		doTeleportThing(creature, config.positions2[i][2])
		doPlayerSendTextMessage(creature, 27, "You started the quest.")
		doSendMagicEffect(getThingPos(creature), 33)
		doPlayerRemoveMoney(creature, (config.money * 1000))
		setPlayerStorageValue(creature, config.storage, os.time() + config.hours * 60 * 60)
	end
	return true
end]]></action>
</mod>

 

Ate em tao tudo certo presciso de algun s players pra testar hdusadhaus

vou chamar ums amigos aki e ver se esta certo

 

Link para o post
Compartilhar em outros sites

postei a imagem ali da configuração das posição.

 

vc viu?

 

a config.a e config.b ???

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo