Ir para conteúdo

Featured Replies

  • Respostas 36
  • Visualizações 1.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • #REMOVIDO CÓDIGO BUGADO   Só não esqueça na arena de colocar PVP TOOL e AREA NO LOGOUT

  • 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 F

  • 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

Posted Images

Postado

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

 

Postado
  • Autor
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

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo