Desculpe a demora, achei que havia postado o script e só quando dei F5 para ver se você havia respondido que vi que não. Crie um arquivo chamado transform.lua no diretório data\talkactions\scripts com este conteúdo:
local outfit = {lookType = 399}
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, 42)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
local condition = createConditionObject(CONDITION_OUTFIT)
setConditionParam(condition, CONDITION_PARAM_TICKS, 99999999999)
addOutfitCondition(condition, outfit)
setCombatCondition(combat, condition)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_DISPEL, CONDITION_OUTFIT)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 42)
setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, 0)
function ver(cid,pos)
local onl = getOnlinePlayers()
for i=1,#onl do
if getPlayerByName(onl[i]) == cid then
local npos = getCreaturePosition(cid)
if pos.x == npos.x and pos.y == npos.y and pos.z == npos.z then
addEvent(ver, 500, cid, npos)
else
doCombat(cid, combat2,numberToVariant(cid))
end
end
end
end
function onSay(cid, words, param)
doCombat(cid, combat2,numberToVariant(cid))
doCombat(cid, combat,numberToVariant(cid))
addEvent(ver, 500, cid, getCreaturePosition(cid))
return true
end
Em local outfit = {lookType = 399} no lugar de 399 você coloca o looktype que deseja que fique. Em setCombatParam(combat, COMBAT_PARAM_EFFECT, EFEITO_INICIAR) e em setCombatParam(combat2, COMBAT_PARAM_EFFECT, EFEITO_TERMINAR) no lugar de EFEITO_INICIAR e EFEITO_TERMINAR você coloca o combat effect que deseja que fique ao ativar a talkaction e ao voltar ao normal respectivamente. Caso não queira nenhum efeito, basta deletar estas linhas.
Coloque a linha XML abaixo no arquivo talkactions.xml da pasta data\talkactions antes de </talkactions>:
<talkaction words="!transform" event="script" value="transform.lua"/>
========== EDIT ===========
Como conversamos em privado, para o seu servidor é um caso especial, então use o script abaixo:
local outfit = {lookType = 222 , lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}
local function isOnline(cid)
local onl = getOnlinePlayers()
for i=1,#onl do
if getPlayerByName(onl[i]) == cid then
return true
end
end
return false
end
local function ver(cid,pos)
if isOnline(cid) then
local npos = getCreaturePosition(cid)
if pos.x == npos.x and pos.y == npos.y and pos.z == npos.z then
addEvent(ver, 500, cid, npos)
else
doSetCreatureOutfit(cid, outfit, 0)
end
end
end
function onSay(cid, words, param)
doSetCreatureOutfit(cid, outfit, -1)
addEvent(ver, 500, cid, getCreaturePosition(cid))
return true
end
No lugar de 222 você coloca o looktype que deseja para a magia.





info
Grupo: Campones
Registrado: 01/10/15
Posts: 72
Reputação: +4
Galera seguinte meu TFS é 0.3.6 cliente 8.54
Gostaria da ajuda de vocês para uma TALKACTION que troca-se o outifit do meu char, mas que caso ele se mova o outifit volta-se ao normal...
ex:
ele fala: !Transform
- e seu outifit que antes era o CITIZEN muda para o de um arbusto
- mas caso o player se mova o outifit novo eh cancelado e ele volta ao normal..
obs: ao se transformar nao tem tempo para voltar ao normal somente deslogando, ou se movendo.
- caso ele gire no lugar o outifit nao mude ( ctrl + Setas)
obrigado aguardo um apoio e prometo meu REP+