Primeiramente, o que é uma PVP Arena?
* PVP Arena, é uma pequena sala onde os players poderão duelar. Assim que um deles for derrotado (Morrer, no caso), o player sera teletransportado para um local pré-escolhido, mas sem perder nenhuma EXP, SKILLs, ou mesmo sua BP ou Equips.
Desenhando no MAP Editor
Pegue o seu MAP EDITOR, e faça um lugar parecido com este:
Entendo:
Numero 1 - O lugar onde a pessoa que perdeu ou pegou o teleporte ira aparecer.
Numero 2 - Local onde o 2° jogador tera que ficar para entrar na PVP Arena (Ele tera que ficar nesse title e o player 1 ira ativar a alavanca)
Numero 3 - Local onde o 1° jogador tera que ficar para entrar na PVP Arena (Ele tera que ficar nesse title e o player 1 ira ativar a alavanca)
Numero 4 - A alavanca onde colocara os dois players dentro da PVP Arena (Os 2 players terão quere ficar no title da seta 2 e 3, senão, nenhum nem outro irá entrar)
Numero 5 - Teleporte para o player que ganhou voltar (Ele voltara para o title da seta Numero 1)
--> Na imagem, o X é o local que o player sera transportado assim que a alavanca for ativada. (Ler acima, caso nao sabe como ativar a alavanca)
Fazendo o Script
Vá em data/actions/scripts e copie um arquivo qualquer e renomei-e para pvparena . Depois, apague tudo o que está dentro, deixando o arquivo tudo em branco, e então, cole isto:
-- pvp arena lever
function onUse(cid, item, frompos, item2, topos)
if item.uid == 7001 and item.itemid == 1945 then
player1pos = {x=653, y=290, z=8, stackpos=253}
player1 = getThingfromPos(player1pos)
player2pos = {x=667, y=290, z=8, stackpos=253}
player2 = getThingfromPos(player2pos)
if player1.itemid > 0 and player2.itemid > 0 then
arenalevel = 25
player1level = getPlayerLevel(player1.uid)
player2level = getPlayerLevel(player2.uid)
if player1level >= arenalevel and player2level >= arenalevel then
for arenax = 655,665 do
for arenay = 287,292 do
arenapos = {x=arenax, y=arenay, z=8, stackpos=253}
arenacreature = getThingfromPos(arenapos)
if arenacreature.itemid > 0 then
doPlayerSendCancel(cid,"Espere o duelo acabar.")
return 1
end
end
end
nplayer1pos = {x=655, y=290, z=8}
nplayer2pos = {x=665, y=290, z=8}
doSendMagicEffect(player1pos,2)
doSendMagicEffect(player2pos,2)
doTeleportThing(player1.uid,nplayer1pos)
doTeleportThing(player2.uid,nplayer2pos)
doSendMagicEffect(nplayer1pos,10)
doSendMagicEffect(nplayer2pos,10)
doPlayerSendTextMessage(player1.uid,18,"LUTEM!")
doPlayerSendTextMessage(player2.uid,18,"LUTEM!")
else
doPlayerSendCancel(cid,"Os dois jogadores presisam ter level 25 ou mais para poder duelar.")
end
else
doPlayerSendCancel(cid,"Voce presisa de 2 players para ter um duelo.")
end
else
return 0
end
return 1
end
Explicando
if item.uid == 7001 - É o numero da Action que voce ira colocar no MAP Editor. (Botão direito, e coloque 7001 nas duas opçoes)
item.itemid == 1945 - É o ID do item que ativará a PVP Arena. No caso é uma alavanca, mas voce pode mudar. Eu não aconselharia, pois iria ficar estranho. (Imagina voce clicar numa estatua, e voce é teletransportado? XD)
player1pos = {x=653, y=290, z=8, stackpos=253} - É o title que o player 1 terá que ficar para poder ativar / entrar na PVP Arena, caso tenha 2 players.
player2pos = {x=667, y=290, z=8, stackpos=253} - É o title que o player 2 terá que fica para poder entrar na PVP Arena, caso tenha 2 players.
arenalevel = 25 - É o level minimo requirido para entrar na PVP Arena, no caso esta 25, mas voce pode alterar. =] (Nao ponha o level inicial, pois sempre tem um noob querendo destruir a harmonia do server) XD
for arenax = 655,665 do - É o tile inicial (655) até o title final (665) de "X" da PVP Arena. (Mude isso, e coloque os seus, por que senão, nao ira funcionar!)
for arenay = 287,292 do - É o tile inicial (287) até o title final (292) de "Y" da PVP Arena. (Mude isso, e coloque os seus, por que senão, nao ira funcionar!)
arenapos = {x=arenax, y=arenay, z=8, stackpos=253} - É o andar da PVP Arena. No caso é 8, mas, mude conforme seja o seu "Z".
doPlayerSendCancel(cid,"Espere o duelo acabar.") - Ira mostrar essa mensagem caso tenha 1 ou 2 players ainda na PVP Arena.
nplayer1pos = {x=655, y=290, z=8} - É para onde o player 1 sera transportado, assim que a alavanca for ativada! (Mude isso tambem, conforme o seu mapa)
nplayer2pos = {x=665, y=290, z=8} - É para onde o player 2 sera transportado, assim que a alavanca for ativada! (Mude isso tambem, conforme o seu mapa)
doPlayerSendTextMessage(player1.uid,18,"LUTEM!")
doPlayerSendTextMessage(player2.uid,18,"LUTEM!") - É a mensagem que sera mandada, assim que os 2 players forem mandados para dentro da PVP Arena.
doPlayerSendCancel(cid,"Os dois jogadores presisam ter level 25 ou mais para poder duelar.") - Essa mensagem ira aparecer, caso 1 ou os 2 players nao tiverem level suficiente para entrar (Pré-definido por voce).
doPlayerSendCancel(cid,"Voce presisa de 2 players para ter um duelo.") - Caso voce tentar fazer a tentativa de só voce entrar na Arena.
Voce achou meio chato fazer isso? Então, se prepara pro momento mais repetitivo do Tutorial! XD
Modificando o arquivo pvparena.xml (em alguns servers é "pvparenas.xml", sem as aspas.
Caso seu OT seja 7.8++, seu arquivo pvparena.xml começara mais ou menos assim:
<?xml version="1.0" encoding="UTF-8"?><pvparenas>
<pvparena exitx="1039" exity="988" exitz="8" allowsummons="yes" multi-combat="no" addskilltries="no" allowfields="no">
<tiles fromx="1041" fromy="985" fromz="9" tox="1052" toy="991" toz="9"/>
</pvparena>
</pvparenas>
Explicando:
<pvparena exitx="1039" exity="988" exitz="8" - É aonde voce irá sair, depois da PVP Arena, assim que morre / pegar o teleporte.
allowsummons="yes" - Permite summons. (Yes, No)
multi-combat="no" - Se eu nao me engano, é pra mais de um player entrar. Nao me recordo. =/ (Yes, no)
addskilltries="no" - Se o player ira conseguir ganhar Skills na PVP Arena, é bom colocar! ^^ (Yes, no)
allowfields="no" - Se podera ter fields na PVP Arena (EX: adevo mas flam, adevo mas vis...) (Yes, no)
Mas se seu OT for 7.6 , ira começar assim:
<?xml version="1.0"?><pvparenas>
<pvparena exitx="660" exity="285" exitz="8">
</pvparena>
</pvparenas>
Explicando:
<pvparena exitx="660" exity="285" exitz="8"> - É aonde voce irá sair, depois da PVP Arena, assim que morre / pegar o teleporte.
Agora, voce terá que fazer Title por title da sua PVP Arena.
EX: <tile x="655" y="287" z="8"/> Tera que botar o X, Y e o Z da sua pvp arena.
Ira ficar mais ou menos assim (No caso da imagem):
<?xml version="1.0"?><pvparenas>
<pvparena exitx="660" exity="285" exitz="8">
<tile x="655" y="287" z="8"/>
<tile x="656" y="287" z="8"/>
<tile x="657" y="287" z="8"/>
<tile x="658" y="287" z="8"/>
<tile x="659" y="287" z="8"/>
<tile x="660" y="287" z="8"/>
<tile x="661" y="287" z="8"/>
<tile x="662" y="287" z="8"/>
<tile x="663" y="287" z="8"/>
<tile x="664" y="287" z="8"/>
<tile x="665" y="287" z="8"/>
<tile x="655" y="288" z="8"/>
<tile x="656" y="288" z="8"/>
<tile x="657" y="288" z="8"/>
<tile x="658" y="288" z="8"/>
<tile x="659" y="288" z="8"/>
<tile x="660" y="288" z="8"/>
<tile x="661" y="288" z="8"/>
<tile x="662" y="288" z="8"/>
<tile x="663" y="288" z="8"/>
<tile x="664" y="288" z="8"/>
<tile x="665" y="288" z="8"/>
<tile x="655" y="289" z="8"/>
<tile x="656" y="289" z="8"/>
<tile x="657" y="289" z="8"/>
<tile x="658" y="289" z="8"/>
<tile x="659" y="289" z="8"/>
<tile x="660" y="289" z="8"/>
<tile x="661" y="289" z="8"/>
<tile x="662" y="289" z="8"/>
<tile x="663" y="289" z="8"/>
<tile x="664" y="289" z="8"/>
<tile x="665" y="289" z="8"/>
<tile x="655" y="290" z="8"/>
<tile x="656" y="290" z="8"/>
<tile x="657" y="290" z="8"/>
<tile x="658" y="290" z="8"/>
<tile x="659" y="290" z="8"/>
<tile x="660" y="290" z="8"/>
<tile x="661" y="290" z="8"/>
<tile x="662" y="290" z="8"/>
<tile x="663" y="290" z="8"/>
<tile x="664" y="290" z="8"/>
<tile x="665" y="290" z="8"/>
<tile x="655" y="291" z="8"/>
<tile x="656" y="291" z="8"/>
<tile x="657" y="291" z="8"/>
<tile x="658" y="291" z="8"/>
<tile x="659" y="291" z="8"/>
<tile x="660" y="291" z="8"/>
<tile x="661" y="291" z="8"/>
<tile x="662" y="291" z="8"/>
<tile x="663" y="291" z="8"/>
<tile x="664" y="291" z="8"/>
<tile x="665" y="291" z="8"/>
<tile x="655" y="292" z="8"/>
<tile x="656" y="292" z="8"/>
<tile x="657" y="292" z="8"/>
<tile x="658" y="292" z="8"/>
<tile x="659" y="292" z="8"/>
<tile x="660" y="292" z="8"/>
<tile x="661" y="292" z="8"/>
<tile x="662" y="292" z="8"/>
<tile x="663" y="292" z="8"/>
<tile x="664" y="292" z="8"/>
<tile x="665" y="292" z="8"/>
</pvparena>
</pvparenas>
Este foi o tutorial de como fazeruma PVP Arena 100%! ^^ Funciona em 7.6+++.
Créditos: Asould Acalaylaa