Por
Sphynx1
Olá comunidade.
Eu criei um script a madrugada passada para tentar ajudar um amigo que usa 'OTX' porém dá um erro bizarro no 'lib/compat.lua' e a função 'doAddPlayerOutfit' retorna valor 'NIL'. Eu não sei como resolver, mas está funcionando perfeitamente no 'TFS 0.4'. Espero que alguém em algum lugar do tempoespaço possa se beneficiar desse script já que os que encontrei estão todos muito feios e confusos.
1. Acesse a pasta 'data/talkactions/scripts' e crie um novo 'arquivo.lua' chamado 'addonpresent.lua', dentro adicione o conteúdo abaixo.
function onSay(cid, words, param, channel)
local maleOutfits = {["citizen"] = {128}, ["mage"] = {130},
["knight"] = {131}, ["nobleman"] = {132},
["summoner"] = {133}, ["warrior"] = {134}
}
local femaleOutfits = {["citizen"] = {136}, ["mage"] = {138},
["knight"] = {139}, ["nobleman"] = {140},
["summoner"] = {141}, ["warrior"] = {142}
}
local mensagens = {"Você recebeu o seu addon e consumiu o item bônus para isto.", "Verifique o que você digitou e tente novamente, parametros inválidos.",
"Você não possui o item necessário para receber um addon.", "Certifique-se que você digitou o nome do addon corretamente e tente mais uma vez."}
local efeitinga = {[1] = {name = CONST_ME_POFF}, [2] = {name = CONST_ME_CAKE},
[3] = {name = CONST_ME_HEARTS}, [4] = {name = CONST_ME_GIFT_WRAPS} -- efeitos que seram exibidos
}
local param = string.lower(param)
if not isPremium(cid) then
doCreatureSay(cid, "Você não possui Premium Account, portanto não poderá utilizar o item de addon.", TALKTYPE_ORANGE_1) -- MSG que será exibida p/ o nao premium
return true
end
if getPlayerItemCount(cid, 6497) > 0 then -- 6497 é o ID do item que será usado por você, se for maior que 0 a quanidade na sua bag então
if param ~= "" and maleOutfits[param] and femaleOutfits[param] then
doPlayerRemoveItem(cid, 6497, 1) -- o item 6497 será consumido
doCreatureSay(cid, mensagens[1], TALKTYPE_ORANGE_1)
for k, v in pairs(efeitinga) do
doSendMagicEffect(getCreaturePosition(cid), v.name)
end
if getPlayerSex(cid) == 0 then
doPlayerAddOutfit(cid, femaleOutfits[param][1], 3)
elseif getPlayerSex(cid) == 1 then
doPlayerAddOutfit(cid, maleOutfits[param][1], 3)
end
else
doCreatureSay(cid, mensagens[2], TALKTYPE_ORANGE_1)
end
else
doCreatureSay(cid, mensagens[3], TALKTYPE_ORANGE_1)
end
return true
end
2. Regresse até 'data/talkactions' e abra o arquivo 'talkactions.xml', dentro adicione o conteúdo abaixo.
<talkaction words="!addon" event="script" value="addonpresent.lua"/>