Postado Abril 30, 2018 7 anos #REMOVIDO CÓDIGO BUGADO Só não esqueça na arena de colocar PVP TOOL e AREA NO LOGOUT [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Abril 30, 2018 7 anos Autor deu esse erro @Vodkart TEnho que colocar alguma lib? olha se configurei certo
Postado Abril 30, 2018 7 anos 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: [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Abril 30, 2018 7 anos 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
Postado Abril 30, 2018 7 anos postei a imagem ali da configuração das posição. vc viu? a config.a e config.b ??? [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
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.