Como botar só pra premium usar essa talkactions?
-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
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"/>
-
Por lagoa
Bom dia Tibiakings!
Hoje trago uma dúvida. Tenho o sistema de !fly funcionante em meu OT Server, mas gostaria que os players não pudessem usar o comando "!fly" em determinados pisos, como exemplo os pisos (4820, 4822, 4823 e 4825). Para explicar melhor, estes pisos são da água e os players ficam com o addon de nadar e ao usarem a talkaction !fly, são teleportados para o templo com o outfit de nadar e não quero que isto aconteça.
Segue minha talkaction do sistema !fly:
local towns = { ["edron"] = {x= 33217, y= 31814, z= 8}, ["ankrahmun"] = {x= 33194, y= 32853, z= 8}, ["thais"] = {x= 32369, y= 32241, z= 7}, ["carlin"] = {x= 32360, y= 31782, z= 7}, ["venore"] = {x= 32957, y= 32076, z= 7}, ["ab'dendriel"] = {x= 32732, y= 31634, z= 7}, ["kazordoon"] = {x= 32649, y= 31925, z= 11}, ["darashia"] = {x= 33213, y= 32454, z= 1}, ["liberty bay"] = {x= 32317, y= 32826, z= 7}, ["port hope"] = {x= 32595, y= 32744, z= 6}, ["svargrond"] = {x= 32209, y= 31134, z= 7}, ["yalahar"] = {x= 32787, y= 31276, z= 7}, ["farmine"] = {x= 33005, y= 31491, z= 11}, ["gray island"] = {x= 33447, y= 31320, z= 9}, ["gengia"] = {x = 32886, y = 30729, z = 5}, ["ghala"] = {x = 31899, y = 32204, z = 6}, ["ghenov"] = {x = 31680, y = 32788, z = 6}, ["vikia"] = {x = 32234, y = 30703, z = 7}, ["pyre"] = {x = 33637, y = 31826, z = 6}, } function onSay(cid, words, param, channel) if not isPremium(cid) then doPlayerSendCancel(cid, "Only premium members are allowed to fly or ride.") return false end if getTilePzInfo(getPlayerPosition(cid)) then if towns[param:lower()] ~= nil then doTeleportThing(cid, towns[param:lower()]) doSendMagicEffect(towns[param:lower()], 10) else local l = "" for x,i in pairs(towns) do l = l .. "\n • "..string.sub(x,0,1):upper()..string.sub(x,2):lower() end doPlayerSendTextMessage(cid,4,"Destino inválido. Possíveis destinos:"..l) end else doPlayerSendTextMessage(cid,4,"Comando para premium e so pode ser usado em area PZ.") end return true end Obs: Não me lembro que quem era este sistema de !fly, se alguém souber, coloco os devidos créditos (mesmo não sendo a intenção de divulgar este script, mas funciona perfeitamente). -
Por eviltox
Olá galera, tenho um problema com um script gringo.
Então a Função do Script é Ficar Mudando o Addon e sua cor Continuamente.
O único problema do script até agora é a hora que o player desloga.
Então esse é o meu pedido, Gostaria de adicionar um OnLogout ou um meio de encerrar o script quando o player desloga(não entendo muito de script, mas acho que é isso que falta, se não for agradeço em adicionarem oque falta. *(Versão do TFS 0.3.1)*
O Script é esse:
O Erro é esse:
Dês de já, Agradeço. Darei Rep+ Para quem ajudar, mesmo que não funcione. Grato
-
Por xPollo
Eae galera do TK, tou adicionando fly no meu poketibia, eu fiz tudo certinho eu acho..
mais quando vou dar fly no pokemon ele fica assim.
Tem como alguém me ajudar? REP++
-
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.