Ir para conteúdo

Duel System Por Action


SmiX

Posts Recomendados

Olá galera, hoje vou postar mais um script para pokemon dash advanced. Bem legal e acho que também é um dos mais procurados... Vamos a ele.

 

Nome: Duel System por Action

O que faz? Faz com que dois players duelem com limites de pokemons, escolhido no inicio das configurações da batalha.

 

Primeiro vamos à actions/scripts e criaremos um arquivo chamado duelSystem.lua e dentro vamos colar o código abaixo:

 

  Mostrar conteúdo oculto

 

 

Agora vamos a tag, em actions.XML cole a seguinte tag:

<action itemid="id do item que vai o player vai usar para o duel" event="script" value="duelSystem.lua"/>

 

Pronto. Vamos a pasta xml/channels.xml e crie as seguintes janelas:

<channel id="id decorrente da sua channel" name="1 Pokemon">
					<vocation id="51"/>
		</channel>
		<channel id=" id decorrente da sua channel " name="2 Pokemons">
					<vocation id="51"/>
		</channel>
		<channel id=" id decorrente da sua channel " name="3 Pokemons">
					<vocation id="51"/>
		</channel>
		<channel id=" id decorrente da sua channel " name="4 Pokemons">
					<vocation id="51"/>
		</channel>
		<channel id=" id decorrente da sua channel " name="5 Pokemons">
					<vocation id="51"/>
		</channel>
		<channel id=" id decorrente da sua channel " name="6 Pokemons">
					<vocation id="51"/>
		</channel>

Depois disso, não mude mais nada. Vamos agora em vocations.xml e vamos colar a seguinte tag dentro:

		<vocation id="51" name="Duel" description="pokemon trainer" needpremium="0" gaincap="0" gainhp="55" gainmana="0" gainhpticks="0" gainhpamount="0" gainmanaticks="0" gainmanaamount="0" manamultiplier="1.1" attackspeed="-1" soulmax="251" gainsoulticks="-1" fromvoc="1" lessloss="0">
					<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
					<skill fist="2" club="2" sword="2" axe="2" distance="2" shielding="2" fishing="2" experience="1.1"/>
		</vocation>

Obs: Não mude nada nela...

 

Feito isso, vamos a pasta creaturescripts/scripts e vamos criar um arquivo chamado duelSystemChannel.lua e colaremos o código a seguir dentro:

 

  Mostrar conteúdo oculto

 

 

Agora vamos colocar duas tags, uma em login.lua e a outra em creaturescripts.xml:

CreatureScript.xml:

<event type="joinchannel" name="DuelSystemChannel" event="script" value="duelSystemChannel.lua"/>

Login.lua

registerCreatureEvent(cid, "DuelSystemChannel")

 

Feito isso, vamos a talkactions/scripts e criaremos um arquivo chamado acceptDuel.lua e dentro cole o código abaixo:

 

  Mostrar conteúdo oculto

 

 

Agora vamos á talkactions.XML e colaremos as tag a seguir:

<talkaction words="yes" event="script" value="duel.lua"/>
<talkaction words="sim" event="script" value="duel.lua"/>

 

Agora vamos em lib/ e criaremos um arquivo chamado duelLibSystem.lua e colaremos o seguinte código dentro:

 

  Mostrar conteúdo oculto

 

 

Vamos para actions/scripts/goback.lua e vamos procurar por está linha:

if item.itemid == usando then

Abaixo disso cole isso:

doBackPokeballsInDuel(cid)

 

Aindan no mesmo script procure por:

elseif item.itemid == pokeballs[btype].on then

E abaixo dele cole isso:

checkPokeballsInDuel(cid)

 

Vamos agora em creaturescripts/scripts/goback.lua e antes do utimo apague tudo e cole isto dentro:

 

  Mostrar conteúdo oculto

 

 

 

Obs: O script falta duas funções para funcionar perfeitamente. A primeira é para não deixar o player usar o item em cima dele mesmo. A segunda e para não deixar o player deslogar enquanto está no duel. Tentei e tentei mas não consegui... Caso alguém possa ajudar fico muito grato.

 

Como funciona?

Você da use em cima do player que quer batalhar, escolhe quantos pokemons querem usar. O outro player fala (“yes” ou “sim”) e começam a duelar. Eu deixei uma função para deixar um player attackar o outro se ele estiver sem pokemon. Porem não perdera nada se morrer.

 

É isso galera espero que gostem. Lembrando vou atualizar este sistema para melhora-lo. Só deixei ele para teste. Caso gostem termino ele.

Link para o comentário
Compartilhar em outros sites

@smix Foi sim um elogio :D

O que quis dizer é que apenas poderia ter feito o outro sistema lá com bem menos coisas, entende?

Mas mesmo assim é uma ótima iniciativa, é dificil ver alguem que posta os sistemas que faz.

Rep pra vc :)

Link para o comentário
Compartilhar em outros sites

@Smix

aqui deu os seguintes erros.

 

 

[Error - LuaScriptInterface::loadFile] cannot open data/actions/scripts/duelSystem.lua: No such file or directory

[12/08/2012 20:59:18] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/duelSystem.lua)

[12/08/2012 20:59:18] cannot open data/actions/scripts/duelSystem.lua: No such file or directory

[12/08/2012 20:59:19] [Error - LuaScriptInterface::loadFile] cannot open data/talkactions/scripts/duel.lua: No such file or directory

[12/08/2012 20:59:19] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/duel.lua)

[12/08/2012 20:59:19] cannot open data/talkactions/scripts/duel.lua: No such file or directory

[12/08/2012 20:59:19] [Error - LuaScriptInterface::loadFile] cannot open data/talkactions/scripts/duel.lua: No such file or directory

[12/08/2012 20:59:19] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/duel.lua)

[12/08/2012 20:59:19] cannot open data/talkactions/scripts/duel.lua: No such file or directory

[12/08/2012 20:59:20] [Error - LuaScriptInterface::loadFile] cannot open data/creaturescripts/scripts/duelSystemChannel.lua: No such file or directory

[12/08/2012 20:59:20] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/duelSystemChannel.lua)

[12/08/2012 20:59:20] cannot open data/creaturescripts/scripts/duelSystemChannel.lua: No such file or directory

[12/08/2012 20:59:20] >> Loading chat channels

[12/08/2012 20:59:20] [Warning - Vocations::getVocation] Vocation 51 not found.

[12/08/2012 20:59:20] [Warning - Chat::loadFromXml] Wrong vocation id: 51

[12/08/2012 20:59:20] [Warning - Vocations::getVocation] Vocation 51 not found.

[12/08/2012 20:59:20] [Warning - Chat::loadFromXml] Wrong vocation id: 51

[12/08/2012 20:59:20] [Warning - Vocations::getVocation] Vocation 51 not found.

[12/08/2012 20:59:20] [Warning - Chat::loadFromXml] Wrong vocation id: 51

[12/08/2012 20:59:20] [Warning - Vocations::getVocation] Vocation 51 not found.

[12/08/2012 20:59:20] [Warning - Chat::loadFromXml] Wrong vocation id: 51

[12/08/2012 20:59:20] [Warning - Vocations::getVocation] Vocation 51 not found.

[12/08/2012 20:59:20] [Warning - Chat::loadFromXml] Wrong vocation id: 51

[12/08/2012 20:59:20] [Warning - Vocations::getVocation] Vocation 51 not found.

[12/08/2012 20:59:20] [Warning - Chat::loadFromXml] Wrong vocation id: 51.

 

 

Help plx

Link para o comentário
Compartilhar em outros sites

@Sky2,

 

  Mostrar conteúdo oculto

 

pra arruma 1º erro, vai no talkactions.xml e altera:

  Citar

<talkaction words="yes" case-sensitive="no" hide="yes" event="script" value="duel.lua"/>

<talkaction words="sim" case-sensitive="no" hide="yes" event="script" value="duel.lua"/>

para:

  Citar

<talkaction words="yes" case-sensitive="no" hide="yes" event="script" value="acceptduel.lua"/>

<talkaction words="sim" case-sensitive="no" hide="yes" event="script" value="acceptduel.lua"/>

pra arruma o 2º erro, vc pulo uma parte, intaum vai no vocations.xml (dentro da pasta "data/xml") e acrecenta..

  Citar

<vocation id="51" name="Duel" description="pokemon trainer" needpremium="0" gaincap="0" gainhp="55" gainmana="0" gainhpticks="0" gainhpamount="0" gainmanaticks="0" gainmanaamount="0" manamultiplier="1.1" attackspeed="-1" soulmax="251" gainsoulticks="-1" fromvoc="1" lessloss="0">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>

<skill fist="2" club="2" sword="2" axe="2" distance="2" shielding="2" fishing="2" experience="1.1"/>

</vocation>

 

 

@all, consegui coloca no order, mais qual o comando pra cancelar o DUEL?!?!

sempre que eu relogo, da duel accept ^^

Editado por GOD Gniu
Link para o comentário
Compartilhar em outros sites

@smix,

 

O seu sistema não pegou aqui no meu servidor, uso o PDA by Slicer v1.5 e não pega de geito nenhum, modifiquei tudo aqui, não apresenta erros nem nada, eu estava testando com a sword, mudei a sprite dela e quando dei use with em um char diferente não apareceu nada... Tem como resolver?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...