IF
pedido

[Talkaction] Transformação

Por iFaxBR, 13 de dez. de 2012 em Scripts

13
2.2k
iFaxBRI
13 de dezembro de 2012 às 21:28

Gostaria de pedir uma transformação na qual fica permanente, porem quando transforma fica com 1 simples efeito correndo pelo personagem o tempo todo.

 

 

Server: Naruto Legend.

Versão: 8.54

AlexandreKGA
13 de dezembro de 2012 às 21:34

O sistema de transformar é esse,va na pasta talkactions.xml e adicione esta tag:

 

<talkaction words="transformar;Transformar" event="script" value="transform.lua"/>[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]

 

Em transform.lua

 

local config = {
--[vocation id] = { level, nova voc, looktype, efeito}
[1] = { 50, 2, 37, 56},
[2] = { 75, 3, 18, 17},
[3] = { 100, 4, 71, 17},
[4] = { 150, 5, 70, 17},
[5] = { 180, 6, 366, 11},
[6] = { 200, 7, 365, 11}
}
function onSay(cid, words, param, channel)
doPlayerSay(cid, "transformar")
local voc = config[getPlayerVocation(cid)]
if voc then
 if getPlayerLevel(cid) >= voc[1] then
  doPlayerSetVocation(cid, voc[2])
  doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você Transformou!")
  local outfit = {lookType = voc[3]}
  doCreatureChangeOutfit(cid, outfit)
  doSendMagicEffect(getCreaturePosition(cid), voc[4])
 else
  doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você precisa estar no level " .. voc[1] .. " para transformar.")
 end
else
 doPlayerSendCancel(cid, "Você não pode se Transformar!")
end
return true
end

 

Espero ter ajudado...

iFaxBRI
13 de dezembro de 2012 às 21:49

Irei testar se funcionar depois posto aqui.

HidekiKtyH
13 de dezembro de 2012 às 21:50

~Edited

Outfit e efeito permanentemente constantes.

Abra a pasta data/talkactions/scripts e crie um arquivo chamado transformation.lua

Adicione o script:

local config = { voc = 10, effect = 30, outfit = 100, stor = 8580 }
local function constantEffect(cid)
if getPlayerVocation(cid) == config.voc then
doSetCreatureOutfit(cid, {lookType = config.outfit}, -1)
end
doSendMagicEffect(getCreaturePos(cid), config.effect)
addEvent(constantEffect, 2*1000, cid)
setPlayerStorageValue(cid, config.stor)
end
function onSay(cid, words, param) constantEffect(cid)
end

Na pasta data/talkactions abra o arquivo talkactions.xml

Adicione a tag:

<talkaction words="transform;Transform" event="script" value="transformation.lua"/>

 

Agora na pasta data/creaturescripts/scripts e crie um arquivo chamado transformation.lua

Adicione o script:

local config = {
effect = 50,
outfit = 100,
stor = 8580
}
local function doSendEffect(cid)
doSendMagicEffect(getThingPos(cid), config.effect)
addEvent(doSendEffect, 2000, cid)
end
function onLogin(cid)
if getPlayerStorageValue(cid, config.stor) >= 1 then
doSetCreatureOutfit(cid, {lookType = config.outfit}, -1)
doSendEffect(cid)
end
end

 

Na mesma pasta (data/creaturescripts/scripts), abra o arquivo login.lua

Adicione o registro:

registerCreatureEvent(cid, "Transformation")

 

Agora na pasta data/creaturescripts e abra o arquivo creaturescripts.xml

Adicione a tag:

<event type="login" name="Transformation" event="script" value="transformation.lua"/>

Editado Dezembro 14 por HidekiKty

AlexandreKGA
13 de dezembro de 2012 às 22:04

Onde ele vai editar o id do efeito?

iFaxBRI
13 de dezembro de 2012 às 22:06

Tipo que ele fique direto mexendo como um efeito normal, e que ele fique pra sempre, só na outfit que ele se transformou quando ele se transformar de novo, ja muda pra outra outfit.

HidekiKtyH
13 de dezembro de 2012 às 22:32

~Edited

Tente agora, fiz com outfit e efeito permanentemente constantes. Apenas configure e use.

iFaxBRI
14 de dezembro de 2012 às 00:05

Tipo, isso ai quando eu for usar a Talkaction transformar ele já vai ficar com o efeito ?

HidekiKtyH
14 de dezembro de 2012 às 12:14

Quando você digitar a palavra chave transform, o player receberá o outfit e o efeito constante mesmo se relogar, o efeito voltara constante.

iFaxBRI
14 de dezembro de 2012 às 13:01

local config = {

voc = 10,

effect = 30,

outfit = 100,

stor = 8580

}

 

Voc e a vocação do player?

Outfit e no que o player vai se transformar?

Stor o que e ?

SmiXS
14 de dezembro de 2012 às 13:07

Só corrigindo.

Talkactions:

 

local config = {
voc = 10,
effect = 30,
outfit = 100,
stor = 8580
}
local function constantEffect(cid)
if getPlayerVocation(cid) == config.voc then
doSetCreatureOutfit(cid, {lookType = config.outfit}, -1)
end
doSendMagicEffect(getCreaturePos(cid), config.effect)
addEvent(constantEffect, 2*1000, cid)
setPlayerStorageValue(cid, config.stor)
end

function onSay(cid, words, param)
constantEffect(cid)
end

 

CreatureScripts:

local config = {
effect = 50,
outfit = 100,
stor = 8580
}
local function doSendEffect(cid)
doSendMagicEffect(getThingPos(cid), config.effect)
addEvent(doSendEffect, 2000, cid)
end
function onLogin(cid)
if getPlayerStorageValue(cid, config.stor) >= 1 then
doSetCreatureOutfit(cid, {lookType = config.outfit}, -1)
doSendEffect(cid)
end
end

 

TAG:

 

<event type="login" name="Transformation" event="script" value="transformation.lua"/>

HidekiKtyH
14 de dezembro de 2012 às 13:19

~Edited

Desculpe, obrigado Smix.

HeelSpyH
15 de dezembro de 2012 às 11:35

Aqui n funcionou quando eu liguei o server

nao consegui logar no char