[TalkAction] [8.50]animal Transformation

rockstar96
em Actions e Talkactions
  • 1
  • 2

rockstar96

Around the world
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 01/07/09Posts: 216

Fiz esse script baseado no Tiger Transform do Colex, vi um post de um carinha que pediu pra atualizar...bom, fiz em talkaction ;)

 

Em data/talkactions/scripts crie um arquivo chamado transform.lua e coloque isto:

function onSay(cid, words, param)
local config = {
outfit = {lookType = 125},
time = 60,
mana = 50,
effect = CONST_ME_MAGIC_GREEN,
vocs = {1,2,3,4,5,6,7,8},
}
if getCreatureMana(cid) >= config.mana then
	if isInArray(config.vocs, getPlayerVocation(cid)) then
		doSetCreatureOutfit(cid, config.outfit, config.time * 1000)
		doSendMagicEffect(getThingPos(cid), config.effect)
                       doCreatureAddMana(cid, -config.mana)
		doChangeSpeed(cid, getCreatureSpeed(cid) * 2)
		addEvent(doChangeSpeed, config.time * 1000, cid, getCreatureSpeed(cid)/2)
	else
		doPlayerSendCancel(cid, "Vocação errada.")
		doSendMagicEffect(getThingPos(cid), 2)
	end
else
	doPlayerSendCancel(cid, "Você precisa de "..config.mana.." mana.")
	doSendMagicEffect(getThingPos(cid), 2)
end
return true
end

 

Legenda:

•outfit = ID do outfit que será transformado

•time = Tempo, em segundos

•mana = Mana necessária

•effect = Efeito da magia

•vocs = IDs das vocações que podem usar a magia

 

E agora, em data/talkactions/talkactions.xml, coloque:

<talkaction words="!transform" event="script" value="transform.lua"/>

 

Legenda:

•words = Palavras para fazer a magia.

 

 

Simples, agora fale !transform e você terá sua velocidade dobrada pelo tempo descrito ali, e ficará com a velocidade descrita ali x)

 

 

Caso queiram alguma modificação, avisem.

BravHart

LIBERDADEdeEXPRESSÃO
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 24/07/09Posts: 227Char no Tibia: Fluv Bravlord

iRockStar

 

Não entendi bem pra que serve esta tópico, mais tem sempre aqueles que iram precisa!

Obrigado por trazer ao Xtibia.

 

__

Abraços

Victinho21

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 02/10/09Posts: 15

Ficou massa, a pessoa que escolhe q bicho vai virar? a pessoa coloca o id do bixo é?

BravHart

LIBERDADEdeEXPRESSÃO
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 24/07/09Posts: 227Char no Tibia: Fluv Bravlord

iRockStar, agora entendi, se foi você que criou, parabens! e sinal que você e bom no que faz.

Parabens pelo seu post 300, e pelas estrelinhas!

 

_

Abraços

mystical123

MysticalOT Admin
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/10/09Posts: 3Char no Tibia: Anjo Caido

Po gostei botei no Ot fiko 10 ty aew

Mystical OT Server
IP:mysticalot.servegame.com
XP:150
Loot:2
ML:300
Skill:300




marcos moraes francisco

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/04/09Posts: 13Char no Tibia: war levix

adorei....so q aki naum funciona.

makabrotaliban

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 08/01/09Posts: 331Char no Tibia: Orcshaball

@RockStar

 

Muito bom, bem interessante para quem está com o server em baixa e precisa dar uma incrementada.

Parabéns pelo trabalho !

 

 

Att, Nosctradamus

- Xtibia.com seu site de Tibia e OTServer ! -

rod_doidim

Rodi
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 02/05/07Posts: 145
:o muito interessante, e você parabens ! Perfect world né ? Oo igualzinho à magia que tem lá.

celebration.png

logo.png.com

Kydrai

"Keep Your Mind Wide Open"
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/08/06Posts: 250

Nada complexo, mas ta bom.

 

Alguns erros (usei o tfs 0.3.5):

words="Tiger Transform": não tava aceitando com espaço, e ele diferencia T de t.

if getCreatureMana(cid) >= config.mana then...: você verificou a mana, mas não retirou do player.

addEvent(doChangeSpeed, config.time * 1000, cid, getCreatureSpeed(cid)/2): caso o player deslogue da erro, não atrapalha, mas é um erro (Creature not found).

function onSay(cid, words, param)...: O player pode usar várias vezes aumentando mais ainda a velocidade.

 

Deve ser só isso.

 

Sugestões, já que o script é muito simples, caso queira complementar:

Colocar as transformações de acordo com a vocação

Fazer com que o player possa escolher a transformação (transform "tiger)

Aumentar ou diminuir skills

~ Kydrai
Programador / Scripter

 

sign.png

nyaricastro

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/07/07Posts: 44Char no Tibia: Magicals Paladin

Muito Boa a ideia...

Ideia muito diferente e legal...

 

Aprovado

 

 

Mystical OT Server Season 2



IP:mysticalot.servegame.com

XP:1400(Stages)

Loot:4

ML:150

Skill:200

assinatura.jpg

mystical.png

morgado4ever

Eu sou o Kazz! ;)
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 20/10/06Posts: 164Char no Tibia: Kazz Kzupzarski

Cara, que inutilidade.

 

Primeiramente, se você utiliza a mana e NÃO utiliza parâmetros, PRA QUE fazer por talkaction?

 

Refiz seu script, retirei coisas inúteis e o fiz em spell.

 

-- by iRockStar // edited and remaked by Kazz
local CONFIG = { OUTFIT = 125, -- outfit do monstro
	TIME = 60, -- tempo de duração em segundos
	EFFECT = CONST_ME_MAGIC_GREEN,
	STORAGE = 1234 -- no caso do player dar logout
        }

function onCastSpell(cid, var)
doSetCreatureOutfit(cid, {lookType = CONFIG.OUTFIT}, CONFIG.TIME * 1000)
doSendMagicEffect(getPlayerPosition(cid), CONFIG.EFFECT)
doChangeSpeed(cid, (getCreatureSpeed(cid) * 2))
setPlayerStorageValue(cid, CONFIG.STORAGE, os.time())
addEvent(doChangeSpeed, CONFIG.time * 1000, cid, (getCreatureSpeed(cid) / 2))
addEvent(setPlayerStorageValue, CONFIG.time * 1000, cid, CONFIG.STORAGE, 0)
return TRUE
end

 

<instant name="Animal Transform" words="!transform" lvl="1" mana="50" prem="0" exhaustion="1000" needlearn="0" event="script" value="animal_transform.lua">
<vocation name="Sorcerer"/><vocation name="Druid"/><vocation name="Paladin"/><vocation name="Knight"/>
</instant>

 

Cara, eu sei.. realmente é muito complexo usar o sistema de spells do tibia, realmente é melhor fazer por talkactions, neah? =X

 

 

Outra coisa, o lixo do seu script ta com um bug OBVIO, que só de olhar já da pra perceber..

 

Se o player logar ANTES desses 60 segundos, seu speed não volta ao normal.. Ou seja, um player usa e dá logout em seguida, volta 1 minuto depois.. pronto, está com seu speed bugado!

 

Como isso também é MUITOOOOO complexo de fazer.. vou lhe ajudar! Ta vendo na config que tem um STORAGE? Pois é, esse cara vai ajudar a arrumar esse bug.. Olha só!

 

OBS: Ahhh, tirei algumas coisas inúteis no config.

 

 

Adicione no login.lua (creaturescripts)

local STORAGE = 1234 -- no caso do player dar logout

if (getPlayerStorageValue(cid, STORAGE) < os.time() and getPlayerStorageValue(cid, STORAGE) ~= 0) then
doChangeSpeed(cid, (getCreatureSpeed(cid) / 2))
setPlayerStorageValue(cid, STORAGE, 0)
end

 

Prontinho, temos um bug corrigido! Legal não? =)

 

 

Um abraco, Kazz! =)

tibiasoul2.png

Divulgue o servidor, utilize este banner em sua assinatura.

 

WalkAlone Project

Alternative Tibia Server

O N L I N E

 

[ http://WalkAlone.servegame.Com ]

ONLINE! 24 HORAS! 8.70!

 

Nos contate agora mesmo:

tibiasoul@msn.com

Kerooker

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/07/09Posts: 52Char no Tibia: Aceito Todos Os Duelos

tu podia fazer ele virando werewolf... ia ser mais legal :)

precisa de alguma ajuda no seu mapa?? Venha pedi-la para nós!! S.O.S. Mapping


kerooker1.png

Clique AQUI para ver a primeira imagem e AQUI para a segunda.

  • 1
  • 2