Ir para conteúdo

Talkactionblankruneeaduramana


Syphos

Posts Recomendados

Opa! Meu primeiro tópico e espero que seja de alguma utilidade pra mim e pra quem quiser =D

 

Eu to c/ meu OT Server 8.4 (TFS - SQL), colocando a magia "adori blank" que faz aparecer a blank rune no Player. Não é meu o script, só mudei algumas coisas. Funciona 95%. Só falta o efeito mágico que td magia de runa tem. Abaixo vai o script pra ver se alguém acha algum erro:

 

 

---Blank runes por talkaction-by Sky Hunter---

function onSay(cid, words, param)

 

playerpos = getPlayerPosition(cid)

 

if math.max(math.abs(playerpos.x-23), math.abs(playerpos.y-30)) < 99999 then

doPlayerAddItem(cid,2260,1)

doSendMagicEffect(fromPosition, 1)

else

end

return 1

 

end

 

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------

 

Outro problema é a magia "adura mana" que seria para fazer a Mana Rune. A Runa em si (id: 2294) funciona. Porém, se um player fizer a blank rune e quiser transformá-la em mana rune usando a talk action "adura mana", não dá. Segue o script que não funciona:

 

 

function onSay(cid, words, param)

 

doPlayerRemoveItem(cid,2260,1)

doAddPlayerItem(cid,2294,1)

else

end

 

return 1

end

 

e aqui está o que coloquei no talkactions.xml

 

<talkaction words="adura mana" script="mf.lua" />

 

-----------------------------------------------------------------------------------------------------

 

Bem, é isso!

Se alguém puder me dar uma luz, agradeço muito! :smile_positivo:

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

---Blank runes por talkaction-by Sky Hunter---

function onSay(cid, words, param)

 

playerpos = getPlayerPosition(cid)

 

if math.max(math.abs(playerpos.x-23), math.abs(playerpos.y-30)) < 99999 then

doPlayerAddItem(cid,2260,1)

doSendMagicEffect(fromPosition, 1)

else

end

return 1

 

end

 

tente assim:

 

1. passo: abra o arquivo spells.xml dentro de data\spells;

dê um [ctrl+F] e procure por Conjure Spells

adicione o código:

<instant name="Blank Rune" words="adori blank" lvl="15" mana="150" agressive="0" selftarget="1" exhaustion="1000" needlearn="0" conjureId="2260" function="conjureItem">
	<vocation name="Sorcerer" />
	<vocation name="Druid" />
	<vocation name="Paladin" />
	<vocation name="Master Sorcerer" />
	<vocation name="Elder Druid" />
	<vocation name="Royal Paladin" />
</instant>

onde:

lvl="15" -- indica o level necessário para utilizar a magia

mana="150" -- indica a mana necessária para o 'casting' da magia

exhaustion="1000" -- tempo de exhaust em milisegundos após a magia (1 segundo = 1000)

needlearn="0" -- se vc precisa comprar a magia

...">[...]</instant> -- dentro da tag, vc coloca as vocações que poderão conjurar a blank rune

 

 

 

Agora dê outro [ctrl+F] e procure por Support Runes

adicione:

<rune name="mana rune" id="2294" allowfaruse="1" lvl="20" maglv="20" charges="3" exhaust="2000" mana="1500" needtarget="1" agressive="0" script="custom/manarune.lua" />

onde:

lvl="20" level necessário para usar a rune

maglv="20" magic level necessário para usar a rune

charges="3" número de cargas por runa

exhaust="2000" tempo de exhaust após o uso da runa (em milisegundos, 1000 valem 1 segundo)

mana="1500" mana necessária para criar a runa

 

 

 

agora abra(ou crie) a pasta custom e lá dentro crie um arquivo chamado manarune.lua

dentro do mesmo deve conter:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGRESSIVE, FALSE)

local formula = (getPlayerLevel * 2 + getPlayerMagLevel * 2 + getPlayerMana) * 0.5
local addMana = formula

function onCastSpell(cid, var)
   doPlayerAddMana(cid, addMana)
   return doCombat(cid, combat, var)
end

onde:

local formula = uma fórmula maluca que define o valor da mana regenerada

na fórmula que eu utilizei, um lvl 100 com ml 50 e 0 de mana sobrando regeneraria

100 * 2 (200) + 50 * 2 (100) [300] + 0) [300] * 0.5 = 150 de mana regenerada

 

ou se preferir você pode...

local addMana = fórmula ou quantidade fixa de mana regenerada

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

acabei de postar, acho q n deu tempo nem dele testar ;)

 

 

Eu to c/ uns pepinos aqui em casa e não consegui testar ainda

 

Mas mesmo assim, muito obrigado! Salvei a dica no Word aqui no PC e depois do uma olhada mais atentamente!

 

Muchas Gracias! :smile_positivo:

 

----------------------------------------------------------------------------------------------------------------------------------------------------------

 

Nem funfou cara...

verifiquei passo a passo da sua dica aí, deu uns erros ao carregar o server:

 

[15/01/2009 13:34:03] [Warning - Spells::registerEvent] Duplicate registered rune with id: 2294

[15/01/2009 13:34:03] [Warning - InstantSpell::loadFunction] Function "conjureItem" does not exist.

[15/01/2009 13:34:03] Warning: [Event::loadScript] Can not load script. data/talkactions/scripts/mf.lua

[15/01/2009 13:34:03] data/talkactions/scripts/mf.lua:6: 'end' expected (to close 'function' at line 2) near 'else'

 

E quando eu fui tentar fazer as duas magias:

 

[15/01/2009 13:38:33] Lua Script Error: [TalkAction Interface]

[15/01/2009 13:38:33] data/talkactions/scripts/blank.lua:onSay

 

[15/01/2009 13:38:33] attempt to index a nil value

[15/01/2009 13:38:33] stack traceback:

[15/01/2009 13:38:33] [C]: in function 'doSendMagicEffect'

[15/01/2009 13:38:33] data/talkactions/scripts/blank.lua:8: in function <data/talkactions/scripts/blank.lua:2>

 

Se eu dou "Reload" nas Spells, dá isso:

 

[15/01/2009 13:42:24] [Warning - Spells::registerEvent] Duplicate registered rune with id: 2294

[15/01/2009 13:42:24] [Warning - InstantSpell::loadFunction] Function "conjureItem" does not exist.

 

Talvez os scripts antigos tenham atrapalhado?

Vou tentar tirá-los e só fazer funcionar o que vc passou.

 

Nada, se eu tiro os arquivos do Talkactions.xml, o "mana rune spell" continua sem funcionar e o "blank Rune" não funciona mais (sem efeito mágico e sem runa)...
Editado por Syphos
Link para o comentário
Compartilhar em outros sites

[15/01/2009 13:34:03] [Warning - Spells::registerEvent] Duplicate registered rune with id: 2294

dupla referência à sua runa de manarune, encontre aonde vc criou a antiga e apague

 

[15/01/2009 13:34:03] [Warning - InstantSpell::loadFunction] Function "conjureItem" does not exist.

entre no arquivo spells xml, dê um [ctrl+F] digite "exevo con" e cole para mim a linha desta magia, desde o <instant ...

até o </instant>

 

[15/01/2009 13:34:03] Warning: [Event::loadScript] Can not load script. data/talkactions/scripts/mf.lua

[15/01/2009 13:34:03] data/talkactions/scripts/mf.lua:6: 'end' expected (to close 'function' at line 2) near 'else'

apague o arquivo mf.lua e todas as referências a ele

 

[15/01/2009 13:38:33] Lua Script Error: [TalkAction Interface]

[15/01/2009 13:38:33] data/talkactions/scripts/blank.lua:onSay

 

[15/01/2009 13:38:33] attempt to index a nil value

[15/01/2009 13:38:33] stack traceback:

[15/01/2009 13:38:33] [C]: in function 'doSendMagicEffect'

[15/01/2009 13:38:33] data/talkactions/scripts/blank.lua:8: in function <data/talkactions/scripts/blank.lua:2>

apague o arquivo blank.lua e todas as referências a ele

Link para o comentário
Compartilhar em outros sites

a linha do exevo con no arquivo spells.xml:

 

<conjure name="Conjure Arrow" words="exevo con" lvl="13" mana="100" soul="1" conjureId="2544" conjureCount="10" exhaustion="1000" needlearn="0" function="conjureItem">

 

Aqui o que eu coloquei para o Blank Rune:

 

<instant name="Blank Rune" words="adori blank" lvl="15" mana="150" agressive="0" selftarget="1" exhaustion="1000" needlearn="0" conjureId="2260" function="conjureItem">

<vocation name="Sorcerer"/>

<vocation name="Druid"/>

<vocation name="Paladin"/>

<vocation name="Master Sorcerer"/>

<vocation name="Elder Druid"/>

<vocation name="Royal Paladin"/>

</instant>

 

Deletei todos os outros arquivos relacionados às runas (as tentativas fracassadas de antes, que me levaram a pedir ajuda)

O único erro que permaneceu no Log do console foi o do comando "conjureItem"

 

 

Tá aí =D

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

a linha do exevo con no arquivo spells.xml:

 

 

 

Aqui o que eu coloquei para o Blank Rune:

 

 

 

Deletei todos os outros arquivos relacionados às runas (as tentativas fracassadas de antes, que me levaram a pedir ajuda)

O único erro que permaneceu no Log do console foi o do comando "conjureItem"

 

 

Tá aí =D

 

 

encontrei... falha minha...

 

troque <instant por <conjure

e </instant> por </conjure>

 

você lembrou de testar se está criando e usando certinho a manarune???

não se esqueça de verificar isso =)

Link para o comentário
Compartilhar em outros sites

Muito obrigado pela força e pela atenção! Foi de muita ajuda! :smile_positivo:

 

A Blank Rune funcionou perfeitamente, mas não consegui transformá-la em Mana Rune :blink:

 

Não achei em nenhum lugar a associação das palavras "adura mana" à magia da runa...

O que devo fazer?

 

Mais uma vez, obrigado!

 

Se quiser responder isso por e-mail e deixar o tópico ser fechado (talvez seja bom deixá-lo para outros membros), mande a resposta pelo tópico (para que os moderadores possam fechá-lo) e então continuamos a nos falar pelo e-mail ou MSN.

 

Meu e-mail e MSN é: abel@fera.net

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

Muito obrigado pela força e pela atenção! Foi de muita ajuda! :smile_positivo:

 

A Blank Rune funcionou perfeitamente, mas não consegui transformá-la em Mana Rune :blink:

 

Não achei em nenhum lugar a associação das palavras "adura mana" à magia da runa...

O que devo fazer?

 

Mais uma vez, obrigado!

 

Se quiser responder isso por e-mail e deixar o tópico ser fechado (talvez seja bom deixá-lo para outros membros), mande a resposta pelo tópico (para que os moderadores possam fechá-lo) e então continuamos a nos falar pelo e-mail ou MSN.

 

Meu e-mail e MSN é: abel@fera.net

 

acho que seria melhor deixar o tpc aberto, vai que aparece alguém com mais conhecimento na área de scripting do que eu, o que não é muito difícil =)

 

apesar deu ter praticamente assumido o tópico, todos os membros são bem vindos para postarem sugestões a respeito da dúvida. Como dizem "duas cabeças pensam melhor do que uma".

 

criando a runa com um GM "/i 2294" é possível testar a manarune para ver se a mesma funciona???

 

último detalhe que eu me esqueci =)

 

arquivo data/items/items.xml

	<item id="2294" article="a" name="mana rune">
	<attribute key="runeSpellName" value="adura mana"/>
	<attribute key="weight" value="120"/>
	<attribute key="charges" value="100"/>
</item>

 

PS.: não se esqueça de localizar o ID 2294 utilizando [ctrl+F] para ver se a mesma já não faz referência à uma runa já utilizada

 

arquivo spells/spells.xml

<conjure name="Mana Rune" words="adura mana" lvl="50" mana="1000" soul="10" reagentId="2260" conjureId="2294" conjureCount="1" exhaustion="2000" needlearn="0" function="conjureRune">
	<vocation name="Sorcerer" />
	<vocation name="Master Sorcerer" />
	<vocation name="Druid" />
	<vocation name="Elder Druid" />
	<vocation name="Paladin" />
	<vocation name="Royal Paladin" />
</conjure>

 

coloquei valores exagerados mesmo, pois uma vez que você pode: criar blank runes, criar mana runes e restaurar a prórpia mana, você teria um treinamento infinito de ML. O justo seria que ela recuperasse bem menos mana que o próprio custo, o que evita abusing da propriedade

acho que agora vai!

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

Vlw brailess! Agora foi! Funcionou perfeitamente, como eu queria! :smile_positivo:

Muito obrigado pelas respostas rápidas, pela ajuda e pela atenção. Foi realmente uma grande ajuda!

 

Bem é isso, obrigado de novo e até mais =D

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...