Jump to content
Close

Search the Community

Showing results for tags 'talkactions'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community
    • Rules
    • Portal
    • Resources
    • Commerce
    • Clubs
  • OTServers
    • Discussion
    • Support
    • Tutorial
    • Download
    • Code Development
    • Contests and Events
    • Form Team
    • Advertise your Server
  • Tibia and Bots
    • Discussion
  • Others
    • Playground (Off-topic)
    • Other Games
    • Advertising
    • Graphics and Design
    • Development and Programming
  • League of Legends's Geral
  • League of Legends's Suporte
  • Nto New Season's Tópicos
  • Fakes's Fakes
  • Tibia's Geral
  • Tibia's Notícias
  • Tibia's Media
  • Tibia's Life Thread
  • Computação's Geral
  • Computação's Dicas e Tutoriais
  • Computação's Suporte
  • Roleplaying's Roleplaying
  • Academia de Mapping's Quadro da Clopin
  • Academia de Mapping's Dev Area
  • Academia de Mapping's Quadro do Nolis
  • Academia de Mapping's Quadro do Namikaze
  • Styller's Tópicos

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Product Groups

  • Advertisements in Top
  • Advertisements In Signatures
  • Advertisements in Topics
  • Others Advertisements

Categories

  • Sales Section
    • Scripting Sales
    • Codes Sales
    • Mapping Sales
    • Websites Sales
    • Design/Sprites Sales
    • Bots Sales
  • Look Jobs
  • Looking for Freelancers
  • Team Formation

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

Found 60 results

  1. Olá galera, nunca postei aqui no fórum pra tentar ajudar a turma.... Bom, esses dias eu estava procurando uma talkaction aqui no fórum, que mude o elemento da wand... Eu não achei nenhum tópico, porém, achei uma resposta em um tópico e eu decidi postar aqui no fórum. Se estiver na seção errada, por favor, mova para a correta, ou se ja tiver um tutorial assim aqui, pode deletar se possível. Bom vamos lá: 1 - Vá em data/creaturescripts/scripts/login.lua e adicione a seguinte tag antes do último "Return True": 2 - Vá em data/items/items.xml e adicione isso, ou edite o item desejado: 3 - Vá em data/talkactions/talkactions.xml e adicione a seguinte tag: Ainda em talkactions, abra a pasta scripts e crie um arquivo chamado wand.lua e coloque o seguinte código dentro deste arquivo: 4 - Vá em data/weapons/weapons.xml e adicione a seguinte tag: Ainda em weapons, abra a pasta scripts e crie um arquivo chamado wand1.lua e coloque o seguinte código dentro do mesmo: Pronto, basta você retirar o item do loot dos monstros, editar ao seu gosto a wand, e ser feliz com ela Créditos: Zaruss por postar esse script na resposta de um tópico aqui no TK jvcasarin(EU) por postar um tópico aqui no TK Se te ajudei, dê um REP+ ai
  2. .data / talkactions / talkaction.xml 'y pegue este texto en el código XML: < palabras de talkaction = "! bank" separator = "" script = "bank.lua" /> Cree el archivo "bank.lua" en "data / talkactions / scripts" y pegue este código en este archivo function Player.deposit(self, amount) if not self:removeMoney(amount) then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You dont have money with you.") return false end self:setBankBalance(self:getBankBalance() + amount) return true end function Player.withdraw(self, amount) local balance = self:getBankBalance() if amount > balance or not self:addMoney(amount) then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You dont have money in your bank account.") return false end self:setBankBalance(balance - amount) return true end function Player.depositMoney(self, amount) if not self:removeMoney(amount) then return false end self:setBankBalance(self:getBankBalance() + amount) return true end function onSay(player, words, param) local split = param:split(",") local balance = player:getBankBalance() if split[1] == nil then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: the commands are:\n !bank balance.\n !bank deposit, XXXX.\n!bank depositall.\n!bank transfer, amount, toPlayer.") return end --------------------------- Balance --------------------------- if split[1] == 'balance' then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: Your account balance is " .. balance .. ".") --------------------------- Deposit --------------------------- elseif split[1] == 'deposit' then local amount = tonumber(split[2]) if not amount then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You need to put the amount of money to add.") return false end local amount = math.abs(amount) if amount > 0 and amount <= player:getMoney() then player:deposit(amount) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You added " .. amount .. " to your account, You can withdraw your money anytime you want to.\nYour account balance is " .. player:getBankBalance() .. ".") else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You do not have enough money to deposit.") end --------------------------- Depositall --------------------------- elseif split[1] == 'depositall' then local amount = player:getMoney() local amount = math.abs(amount) if amount > 0 and amount == player:getMoney() then player:deposit(amount) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You added " .. amount .. " to your account, You can withdraw your money anytime you want to.\nYour account balance is " .. player:getBankBalance() .. ".") else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You do not have enough money to deposit.") end --------------------------- Withdraw --------------------------- elseif split[1] == 'withdraw' then local amount = tonumber(split[2]) if not amount then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You need to put the amount of money to withdraw.") return false end local amount = math.abs(amount) if amount > 0 and amount <= player:getBankBalance() then player:withdraw(amount) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: Here you are " .. amount .. " of your account, You can deposit your money anytime you want.\nYour account balance is " .. player:getBankBalance() .. ".") else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You do not have enough money on your bank account.") end --------------------------- Withdrawall --------------------------- elseif split[1] == 'withdrawall' then local amount = player:getBankBalance() local amount = math.abs(amount) if amount > 0 and amount <= player:getBankBalance() then player:withdraw(amount) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: Here you are all your money on your account, You can deposit your money anytime you want.\nYour account balance is " .. player:getBankBalance() .. ".") else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You do not have enough money on your bank account.") end --------------------------- Transfer --------------------------- elseif split[1] == 'transfer' then local data = param local s = data:split(", ") if s[2] == nil then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You need to put the amount of money") return false else if not tonumber(s[2]) then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You need to put the amount in numbers only.") return end end if s[3] == nil then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You need to put the player name") return false end local a = tonumber(s[2]) local amount = math.abs(a) local getPlayer = Player(s[3]) if getPlayer then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You seccesfully transferred " .. s[2] .. "\n to " .. s[3] .. " bank account.") player:transferMoneyTo(s[3], amount) else if not playerExists(s[3]) then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: A player with name: " .. s[3] .. " does not exists.") return false end if playerExists(s[3]) and player:transferMoneyTo(s[3], amount) then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: You seccesfully transferred " .. s[2] .. "\n to " .. s[3] .. " bank account.") end end else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "[BankSystem]: Invalid param.") end return false end Al correr el archivo en un servidor de pokemon produce un error: [Error - LuaScriptInterface::loadFile] data/talkactions/scripts/bank.lua:3: function arguments expected near 'ï' [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/bank.lua) data/talkactions/scripts/bank.lua:3: function arguments expected near 'ï' Agradeceria saber cual es el error es para tener sistema de bank en un servidor de pokemon
  3. 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"/>
  4. Tipo do script: TalkAction Protocolo (versão do Tibia):8.60 Servidor utilizado:global compacto com a data base do styller yorots, e uso executavel do styller tbm. Nível de experiência: media alta Adicionais/Informações: Meu servidor é sqlite sem site, ja tem o comando !rank (axe,sword,etc) mais eu queria adicionar tambem o comando !rank guild, onde mostrasse a guild que tem mais frags, igual aquele que coloca no site do gesior, mais no meu caso por um comando talkaction !rank guild.
  5. Em data/talkactions/script Crie um Arquivo com o nome playerchangename.lua Cole isto: em Talkaction Coloque isto <talkaction words="!name" filter="quotation" event="script" value="playerchangename.lua"/> No caso será usado assim: (!name"Jon Snow) Creditos @Noninhouh
  6. Boa tarde! Sou novo aqui no tibiaking, mas já peguei vários scripts! hahaha! Nome do Script: !createguild Tipo do Script: talkaction Versão Utilizada: 8.6 Servidor Utilizado: Tfs Nível de Experiência: Iniciante/Intermediário Bom, é o seguinte: - no talkactions.lua, estão os seguintes scripts: - no config.lua, está assim: Porém, quando o player cria a guild, aparece a mensagem confirmando que a Guild foi criada com sucesso mas se dou um "look" nele, não consta essa guild. Informações adicionais: - Sqlite não aparece a guild na tabela; - não tem site; - estava funcionando normalmente (até eu zerar o sv, trocando o forgottenserver.s3db). Por favor, se alguém puder me ajudar! REP+!
  7. Olá Pessoal! Estou tendo problemas com o TALKACTIONS desse sistema. tive anteriormente com alguns arquivos no site, mais questionei aqui no forúm e o luanluciano93 me ajudou em todos eles. Porém agora ao tentar utilizar o comando no SV não vai e da o seguinte erro no console: Se alguem puder me ajudar com esse erro, agradeço! Segue em anexo a talk actions guild.points.lua guildpoints.lua
  8. Topico resolvido por mim mesmo. Descobri oque causava o erro, >era o simples fato de nao ter espaço de "SQMs" nas bordas do evento, e quando alguma bomba explodia e nao tinha espaço para explodir, gerava o erro que vcs viram no post.. se algum moderador quiser trancar o topico ou algo do tipo, está livre para fazer isso! vlw
  9. Quero um script que mostre a lista de comandos do talkactions.xml, mas de determinado access. Exemplo: Player - Group access 1 Tutor - Group access 2 Tutor Sênior - Group access 3 Game Master - Group access 4 Community Manager - Group access 5 Administrador - Group access 6 Se determinado Player, Tutor, GM, CM usar o comando, só irá aparecer a lista de comando de determinado access. Obs: Pode deixar o Administrador ver todos os comandos. Agradeço!!
  10. Depois da atualização da TFS, esses scripts ficaram assim: [Warning - Event::checkScript] Can not load script: scripts/alladdons.lua data/talkactions/scripts/alladdons.lua:1: unexpected symbol near '�' [Warning - Event::checkScript] Can not load script: scripts/allmounts.lua data/talkactions/scripts/allmounts.lua:1: unexpected symbol near '�' Alguem poderia ajudar ? alladddons.lua function onSay(cid, words, param) local femaleOutfits = { ["citizen"]={136}, ["hunter"]={137}, ["knight"]={139}, ["noblewoman"]={140}, ["warrior"]={142}, ["barbarian"]={147}, ["druid"]={148}, ["wizard"]={149}, ["oriental"]={150}, ["pirate"]={155}, ["assassin"]={156}, ["beggar"]={157}, ["shaman"]={158}, ["norsewoman"]={252}, ["nightmare"]={269}, ["jester"]={270}, ["brotherhood"]={279}, ["demonhunter"]={288}, ["yalaharian"]={324}, ["warmaster"]={336},["wayfarer"]={366}, ["afflicted"]={431}, ["elementalist"]={433}, ["deepling"]={464}, ["insectoid"]={466}, ["red baron"]={471}, ["crystal warlord"]={513}, ["soil guardian"]={514}, ["demon"]={542} } local maleOutfits = { ["citizen"]={128}, ["hunter"]={129}, ["knight"]={131}, ["nobleman"]={132}, ["warrior"]={134}, ["barbarian"]={143}, ["druid"]={144}, ["wizard"]={145}, ["oriental"]={146}, ["pirate"]={151}, ["assassin"]={152}, ["beggar"]={153}, ["shaman"]={154}, ["norsewoman"]={251}, ["nightmare"]={268}, ["jester"]={273}, ["brotherhood"]={278}, ["demonhunter"]={289}, ["yalaharian"]={325}, ["warmaster"]={335}, ["wayfarer"]={367}, ["afflicted"]={430}, ["elementalist"]={432}, ["deepling"]={463}, ["insectoid"]={465}, ["red baron"]={472}, ["crystal warlord"]={512}, ["soil guardian"]={516},["demon"]={541} } local player, param = Player(cid), string.lower(param) local addondoll_id = 9693 if player:getItemCount(addondoll_id) > 0 then if param ~= "" and maleOutfits[param] and femaleOutfits[param] then local outfit = player:getSex() == 0 and femaleOutfits[param][1] or maleOutfits[param][1] if not player:hasOutfit(outfit, 3) then player:removeItem(addondoll_id, 1) player:sendTextMessage(MESSAGE_INFO_DESCR, "Seu Addon full foi adicionado!") Position(getThingPos(cid)):sendMagicEffect(CONST_ME_GIFT_WRAPS) player:addOutfitAddon(outfit, 3) else player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce ja tem este addon") end else player:sendTextMessage(MESSAGE_INFO_DESCR, "Digite novamente, algo esta errado!") end else player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce nao tem addon doll!") end end allmounts.lua function onSay(cid, words, param) local table = { -- ["mount"] = {price = x, id = x}, ["black sheep"] = {price = 0, id = 4}, ["crystal wolf"] = {price = 0, id = 16}, ["draptor"] = {price = 0, id = 6}, ["dromedary"] = {price = 0, id = 20}, ["gnarlhound"] = {price = 0, id = 32}, ["hellgrip"] = {price = 0, id = 39}, ["kingly deer"] = {price = 0, id = 18}, ["lady bug"] = {price = 0, id = 27}, ["manta ray"] = {price = 0, id = 28}, ["midnight panther"] = {price = 0, id = 5}, ["racing bird"] = {price = 0, id = 2}, ["rapid boar"] = {price = 0, id = 10}, ["scorpion king"] = {price = 0, id = 21}, ["panda"] = {price = 0, id = 19}, ["tiger slug"] = {price = 0, id = 14}, ["tin lizzard"] = {price = 0, id = 8}, ["titanica"] = {price = 0, id = 7}, ["uniwheel"] = {price = 0, id = 15}, ["widow queen"] = {price = 0, id = 1} } local player, param = Player(cid), string.lower(param) local mountdoll_id = 13030 -- id do addon doll local t = table[param] if player:getItemCount(mountdoll_id) > 0 then if param ~= "" and t then if not player:hasMount(t.id) then player:sendTextMessage(MESSAGE_INFO_DESCR, "Sua mount foi adicionada!") player:removeItem(mountdoll_id, 1) Position(getThingPos(cid)):sendMagicEffect(CONST_ME_GIFT_WRAPS) player:addMount(t.id) else player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce ja tem esta mount.") end else player:sendTextMessage(MESSAGE_INFO_DESCR, "Digite novamente, algo está errado!") end else player:sendTextMessage(MESSAGE_INFO_DESCR, "Voce não tem um mount doll!") end end
  11. Versão : 1.0 Introdução Bem Este Script Foi Um Pouco Pensativo Ate Demais Para Fazer , Mas Ele Funciona Assim Quand Você Digitar /shop Ira Aparecer Uma Janela Onde Aparecerá Mais Comandos Tipo : /shop armas e /shop equipamentos , "Arma" São Espadas Etc.. Não Pensa Outra Coisa.. Dai Aparecerá Outra Janela Mostrando Ao Jogador As Ofertas Então Ele Poderá Comprar Uma Das Ofertas ! .. Bem Não Vou Explicar Muito Aqui , Explicarei Mais A Baixo... Não Sei se Existe Outro Sistema de Loja Igual Este , Mas Vamo Lá] Abra : Data/TalkActions/TalkActions.xml e adicione Está Tag : Depois Disto Abra : Data/TalkActions/Scripts e Copie Um Arquivo .lua e Renomeia Para SistemaDeLoja Remova Tudo Que Há Dentro e Coloque Isto : Configuração : (Script) (.lua) Simples , Abra Isto : Data/Items/Items.xml , Bem Ai Tem Alguns Items Do Seu Servidor No Caso Todos , Aperte Ctrl + F e Pesquise o Item Que Você Quer Bem Eu Escolhi Este: o Id Dele é 7402 , Então Pronto Feche o Items.xml , Agora Abra : Data/TalkActions/Scripts/SistemaDeLoja Agora Começa a Complicar Pra Min e Pra Vocês , Pois Vai Ser Duro De Explica Isto.. Lá No Inicio Do Script Contém Isto : No if (param == "buy flash kunai") then , Vocês Editam Está Parte Que Está em Negrito : if (param == "buy flash kunai") , e Edita Como Quiser , Tipo se Você Deixar Assim : if (param == "2") , o Jogador Tera Que Digitar /shop 2 , Para Aparecer Oque Vem Abaixo ! Mas Lembre Ele Serve Para Comprar Não Crie Uma Loja 2 Aqui , Crie Seilá Comprar Pokebola , Ai Compra Pokebola.. Assim Como Todos os if (param == "") , Bem Vamos Continuar Está Parte Agora : if doPlayerRemoveMoney(cid, 100000) == TRUE then Editam Está Parte Que Está Em Negrito : if doPlayerRemoveMoney(cid, 100000) == TRUE then , Ela é o Dinheiro Que Irá Sumir Do Player Pode Coloca 1, 100 , 600000 Seilá Cria Oque Achar Melhor, Façam Isto Com Todos if doPlayerRemoveMoney(cid, ) , Continuando Está Parte Agora : Elá é Um Pouco Grande Vou Deixar No Spoiler , Editem Está Parte : #-ARMAS-#Loja Naruto Master#-ARMAS-#\n\nParabéns Você Comprou Uma Flash Kunai \n\nSeu Dinheiro Agora é De : " .. getPlayerMoney(cid) .. "\n\n#-ARMAS-#Loja Naruto Master#-ARMAS-# , Coloquem Oque Quiser Mais Não Removam Os \n\n Como Disse No Meu Outro Script , Elas Servem Para Pular de Linha Não Iram Aparecer No Jogo.. Bem Está Quase Terminando Agora Está Parte: doPlayerAddItem(cid, 7382, 1) , Editem Apenas Está Parte em Negrito : doPlayerAddItem(cid, 7382, 1) , Bem o Número 7382 , é aquele Número Que Pegamos La No Items.xml , o Id Que eu Peguei Foi : 7402 , Agora So Trocar Por Isto : doPlayerAddItem(cid,7402, 1) , Viram ? So Coloquem o Id No Lugar do 7382 , Agora Aquele Número 1 Bem No Final é Tantos De Items Daquela ID , Que Irá Vim Se Colocar Dois Vai Vim Dois Items , O Meu Ficaria Assim : doPlayerAddItem(cid,7402, 2) , Irá Vim Dois Items Do ID 7402 , Agora: Else é se o Personagem Não Tiver o Dinheiro Que Você Colocou , Irá Aparecer Oque ? , Vamos Lá : Bem se Ele Não Tiver o Dinheiro Necessario Irá Aparecer Está Menssagem Vocês Editem Apartir Destá Parte : Outra Vez Falando Não Removam os \n\n Vocês Podem Trocar Eles de Lugar , Mas Eles Servem Para Pular Linhas Não Iram Aparecer No Seu Jogo Bem é Isto , a Explicação Não foi tão Boa , Mas Vocês Podem Editar Tudo , Tudo Que Coloquei Neste Tópico Vocês Podem Editar Comandos Originais do Script : /shop /shop equipamentos /shop armas Créditos : Zauster (100%) Deixa Rep+ se Gosto Vlw !
  12. iae pessoal do TK , seguinte estou com um otserver 7.4 e só está faltando as talkaction xml e os scripts todos ta faltando também, alguem poderia me indicar onde conseguir ?
  13. Boa dia, boa tarde, boa noite! Eu estou procurando por uma talkaction para ver a vida/ mana atual/máxima Exemplo: !life-1000/1000 !mana-1000/1000 Dou rep+
  14. Tava na VPS, apareceu esse erro varias vezes e uns 5 segundos depois crashou o server, acredito que seja quando alguém "entra/gruda" onde não deveria, erro: data\talkactions\scripts\move1.lua
  15. Comando !played Aparecerá por exemplo: Total time played: 3 days, 7 hours, 25 minutes, since 10 July 2015. Instalando played.lua function onSay(cid, words, param, channel) local v = "" local srt = "" local secs = "" secs = getPlayerOnlineTime(cid) -- converting secs -- local hours = math.ceil(secs / 3600) - 1 local minutes = math.ceil((secs - (3600 * hours)) / 60) if (minutes == 60) then minutes = 0 hours = hours + 1 end local days = math.ceil(hours / 24) - 1 hours = math.ceil(hours - (24 * days)) if (hours == 24) then hours = 0 days = days + 1 end -- end of conversion -- str = "Total time played: ".. days .." days, ".. hours .." hours, ".. minutes .." minutes, since " .. os.date("%d %b %Y", getCreateDate(cid)) .. "." doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str) return true end function getPlayerOnlineTime(cid) local query = db.getResult("SELECT `onlinetimeall` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";") if query:getID() ~= -1 then return query:getDataInt("onlinetimeall") end query:free() return LUA_ERROR end function getCreateDate(cid) local query = db.getResult("SELECT `create_date` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";") if query:getID() ~= -1 then return query:getDataInt("create_date") end query:free() return LUA_ERROR end talkactions.xml <talkaction words="!played" script="played.lua"/> Créditos Peonso
  16. Informação Não importa o que a pessoa digite, ela em hipótese nenhuma conseguirá falar. Exemplo: azhaurn.servegame.com azhaurn...servegame....com azhaurn!!! serve game!!! com a z h a u r n servegame c o m Se ela digitar tipo assim, mesmo assim, não conseguirá falar. Instalando blocklinks.lua local blockedLinks = {'PALAVRA 1', 'PALAVRA 2', 'PALAVRA 3', 'PALAVRA 4'} local muteStorage = 16246 local muteTime = 2 -- EM SEGUNDOS -- END OF CONFIG -- local blockedLinksData = {} local separator = '[ !\t%$%^%+%-%.%%_,<>]*' for _, linkText in pairs(blockedLinks) do local data = {} data.link = linkText data.preg = '.*' for c in string.gmatch(linkText, '.') do if(c == '.') then data.preg = data.preg .. '.*' else data.preg = data.preg .. c .. separator end end data.preg = data.preg .. '.*' table.insert(blockedLinksData, data) end function isLegalMessage(words) for _, blockedLink in pairs(blockedLinksData) do if(string.match(words, blockedLink.preg) ~= nil) then return false, blockedLink.link end end return true, '' end function onSay(cid, words, param, channel) words = words .. ' ' .. param local legalMessage, forbiddenLink = isLegalMessage( string.lower(words)) if(not legalMessage) then local muteStorageValue = getPlayerStorageValue(cid, muteStorage) if(muteStorageValue > os.time()) then doPlayerSendCancel(cid, 'You are still muted for ' .. muteStorageValue-os.time() .. ' seconds.') return true end setPlayerStorageValue(cid, muteStorage, os.time()+muteTime) if(channel == CHANNEL_DEFAULT) then doCreatureSay(cid, '...', TALKTYPE_SAY) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Link: ' .. forbiddenLink .. ' PROIBIDO.') return true end return false end talkactions.xml <talkaction words="illegalWords" default="1" script="blocklinks.lua"/> Modificando Em local blockedLinks = acrescente o link ou a palavra que você quer que a pessoa não consiga falar. Créditos Gesior.pl
  17. Olá ao executar a talkactions /tour aparece o seguinte erro: Segue os seguintes scripts acima mencionado: 011-string.lua Na linha 43: tmp = str:sub(pos):trim() string.explode = function (str, sep, limit) if(type(sep) ~= 'string' or isInArray({tostring(str):len(), sep:len()}, 0)) then return {} end local i, pos, tmp, t = 0, 1, "", {} for s, e in function() return string.find(str, sep, pos) end do tmp = str:sub(pos, s - 1):trim() table.insert(t, tmp) pos = e + 1 i = i + 1 if(limit ~= nil and i == limit) then break end end tmp = str:sub(pos):trim() table.insert(t, tmp) return t end Tour.lua Na linha 46: local playerstring = string.explode(getGlobalStorageValue(listsubscribe), ",") local playerduel = 223023 -- playerstorage local subscribe = 223024 -- playerstorage local enabledtour = 223025 -- globalstorage local listsubscribe = 223026 -- globalstorage local countsubscribe = 223027 -- globalstorage local start = 223028 -- globalstorage local goldsub = 223029 -- globalstorage local silversub = 223030 -- globalstorage local bronzesub = 223031 -- globalstorage local gold = 1 local silver = 2 local bronze = 3 function onSay(cid, words, param, frompos) --local players = getPlayersOnline() if getGlobalStorageValue(enabledtour) <= 0 then return doPlayerSendTextMessage(cid,22,"Não está tendo evento.") end local modalidade = getGlobalStorageValue(enabledtour) local frasemod = "Bronze" if modalidade == gold then frasemod = "Gold" elseif modalidade == silver then frasemod = "Silver" end local playerstring = string.explode(getGlobalStorageValue(listsubscribe), ",") local subscribes = getGlobalStorageValue(countsubscribe) local xxs = "Numero de Inscritos "..subscribes.." \nCategoria : "..frasemod.."\n" xxs = xxs .."C = Classificado\nB = Batalhando\nA = Aguardando\n\n" for _, pid in ipairs(playerstring) do local player = getPlayerByName(pid) if isPlayer(player) then if getPlayerStorageValue(player,subscribe) >= 1 and getPlayerStorageValue(player,playerduel) >= 1 then xxs = xxs .."[".. getCreatureName(player) .. "][C] [B] [on] lv = "..getPlayerLevel(player).."\n" end if getPlayerStorageValue(player,subscribe) >= 1 and getPlayerStorageValue(player,playerduel) <= 0 then xxs = xxs .."[".. getCreatureName(player) .. "][C][A] [on] lv = "..getPlayerLevel(player).."\n" end else xxs = xxs .."[".. pid .. "][OFFLINE] \n" end end doShowTextDialog(cid, 2501, xxs) return true end REP+ sem duvidar! agradeço desde já.
  18. O titulo já diz tudo! tem como Globalevents executar um Talkactions ?
  19. Preciso de um comando para o servidor TFS 0.3, para poder deixar o Chat "Help" mais limpo e organizado. Pensei no comando /mute que deixaria o player por um tempo "mutado". Tentei por tópicos utilizados no Fórum e não obtive sucesso. Espero ajuda. Versão 9.8 .
  20. Screenshot Descrição Lembra quando apenas o leader e vice-leader da guild poderiam usar o comando !go e logo mudava o outfit de todos? Pois então. Instalando Crie um arquivo chamado guild_outfit.lua na pasta talkactions e coloque: function string.diff(self) local format = { {'day', self / 60 / 60 / 24}, {'hour', self / 60 / 60 % 24}, {'minute', self / 60 % 60}, {'second', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' and ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('second') then local a, b = ret:find(' and ') ret = ret:sub(b+1) end return ret end local config = { exhaustion = 299551, -- exhaust storage duration = 5 -- CONTADO EM SEGUNDOS, POR EXEMPLO 5*60 PARA 5 MINUTOS. } function onSay(player, words, param, channel, creature) local playerGuild = player:getGuild() local creature = player if (os.time() - player:getStorageValue(config.exhaustion)) < config.duration then player:sendTextMessage(MESSAGE_INFO_DESCR,"You have to wait ' .. string.diff(player:getStorageValue(config.exhaustion)-os.time()) .. ' before using this command again.") return false end if(not playerGuild or playerGuild:getId() == 0) then player:sendTextMessage(MESSAGE_INFO_DESCR,"Sorry, you're not in a guild.") return false end if player:getGuildLevel() < 2 then -- 3 = Leader, 2 = Vice-Leader, 1 = Regular Member player:sendTextMessage(MESSAGE_INFO_DESCR,"You have to be Leader or Vice-Leader of your guild to change outfits!") return false end local outfit = creature:getOutfit() local count = 0 local message = "*Guild* Your outfit has been changed by leader. (" ..player:getName() .. ")" for _, members in ipairs(Game.getPlayers()) do if(members:getGuild() == playerGuild and player ~= members) then local newOutfit = outfit if(not members:hasOutfit(outfit.lookType, outfit.lookAddons)) then local tmpOutfit = members:getOutfit() newOutfit.lookAddons = 0 --tmpOutfit.lookAddons if(not members:hasOutfit(outfit.lookType, 0)) then newOutfit.lookType = tmpOutfit.lookType end end members:getPosition():sendMagicEffect(66) members:setOutfit(newOutfit) members:sendTextMessage(MESSAGE_INFO_DESCR, message) count = count + 1 end end player:sendTextMessage(MESSAGE_INFO_DESCR,"Guild members outfit has been changed. (Total: " .. count .. ")") player:setStorageValue(config.exhaustion, os.time() + config.duration) return false end talkactions.xml <talkaction words="!go" event="script" value="guild_outfit.lua"/> Créditos Slawkens, narko.
  21. Screenshot Como se usa Use !exp nomedomonstro E então aparecerá: Instalando monster.lua function onSay(cid, words, param, channel) local exp = getConfigValue('rateExperience') local time = 60 -- EM SEGUNDOS if param == "" then doPlayerSendCancel(cid, "Param Needed(For Ex:!exp rotworm)") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if not getMonsterInfo(param) then doPlayerSendCancel(cid, "Monster Name Is Incorrect") return true end if exhaustion.check(cid, 1023) then doPlayerSendCancel(cid, "You Need To Wait "..math.floor(exhaustion.get(cid,1023))..".") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if getExperienceForLevel(getPlayerLevel(cid)+1) > getPlayerExperience(cid) then local exped = getExperienceForLevel(getPlayerLevel(cid)+1) - getPlayerExperience(cid) local monsterned = string.lower(getMonsterInfo(param).experience) * exp local expneed = math.floor(exped / monsterned)+1 doPlayerPopupFYI(cid, "You need to kill "..expneed.." "..param.." to advance to Level "..getPlayerLevel(cid)+1 .."") exhaustion.set(cid, 1023, time*1000) elseif getPlayerExperience(cid) > getExperienceForLevel(getPlayerLevel(cid)+1) then local exped2 = getPlayerExperience(cid) - getExperienceForLevel(getPlayerLevel(cid)+1) local monsterned2 = string.lower(getMonsterInfo(param).experience) * exp local expneed = math.floor(exped2 / monsterned2)+1 doPlayerPopupFYI(cid,"You need to kill "..expneed2.." "..param.." to advance to Level "..getPlayerLevel(cid)+1 .."") exhaustion.set(cid, 1023, time*1000) end return true end talkactions.xml <talkaction words="!exp" event="script" value="monster.lua"/> ATENÇÃO Se seu servidor for de exp stages, apenas mude: local exp = getConfigValue('rateExperience') para: local exp = getExperienceStage(getPlayerLevel(cid)) Créditos tetra20, Erexo
  22. Screenshots ​ Comando !highscores Instalando /globalevents/globalevents.xml <globalevent type="startup" name="Highscore" script="highscores.lua"/> <globalevent interval="10800000" name="Highscores" script="highscores.lua"/> /globalevents/scripts/highscores.lua local QueryList = { ['Level'] = {'`name`, `level` AS `score` FROM `players`', 'ORDER BY `experience` DESC'}, ['Magic Level'] = {'`name`, `maglevel` AS `score` FROM `players`', 'ORDER BY `maglevel` DESC, `manaspent` DESC'}, --['Storage'] = {'`players`.`name` AS `name`, `value` AS `score` FROM `player_storage` LEFT JOIN `players` ON `player_storage`.`player_id` = `players`.`id`', 'AND `key` = 1550 ORDER BY `value` DESC'} } for i, skill in ipairs({'fist','club','sword','axe','dist','shielding','fishing'}) do local index = (skill == 'dist' and 'Distance' or skill:gsub('^%l',string.upper)) .. (i < 6 and ' Fighting' or '') QueryList[index] = {'`name`, `skill_' .. skill .. '` AS `score` FROM `players`','ORDER BY `skill_' .. skill .. '` DESC, `skill_' .. skill .. '_tries` DESC'} end function updateHighscores() for skill, query in pairs(QueryList) do local t, Query = {}, db.storeQuery('SELECT ' .. query[1] .. ' WHERE `deletion` = 0 AND `group_id` < 3 ' .. query[2] .. ' LIMIT 30;') if Query ~= false then repeat table.insert(t, {result.getDataString(Query, 'name'), result.getDataInt(Query, 'score')}) until not result.next(Query) result.free(Query) setGlobalStorageValue(skill, t) end end setGlobalStorageValue('highscores', os.time()) end function onStartup() updateHighscores() end function onThink(interval) updateHighscores() return true end /creaturescripts/creaturescripts.xml <event type="modalwindow" name="Highscores" script="highscores.lua"/> /creaturescripts/scripts/highscores.lua SkillWindow = { [1337] = 'Local highscores at ' .. getConfigInfo('serverName'), [1338] = 'Level', [1339] = 'Magic Level', [1340] = 'Shielding', [1341] = 'Distance Fighting', [1342] = 'Sword Fighting', [1343] = 'Club Fighting', [1344] = 'Axe Fighting', [1345] = 'Fist Fighting', [1346] = 'Fishing', --[1347] = 'Storage' } highscores = ModalWindow(1337, SkillWindow[1337], 'Choose a category:') for i, skill in ipairs({'Level','Magic','Shielding','Distance','Sword','Club','Axe','Fist','Fishing'}) do highscores:addChoice(i, skill) end --highscores:addChoice(10, 'Storage') highscores:addButton(1, 'Show') highscores:addButton(2, 'Close') highscores:addButton(3, 'Info') highscores:setDefaultEnterButton(1) highscores:setDefaultEscapeButton(2) highscores:setPriority(true) function string.diff(diff) --by Colandus and fixed by Cykotitan local format = { {'day', diff / 60 / 60 / 24}, {'hour', diff / 60 / 60 % 24}, {'minute', diff / 60 % 60}, {'second', diff % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' and ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('second') then local a, b = ret:find(' and ') ret = ret:sub(b+1) end return ret end function string.abbr(first, final, limit) local str = first .. final if str:len() > limit then str = first:sub(1, limit-(final:len())) .. final end return str end function sendSkillWindow(cid, windowId) local highscore = ModalWindow(windowId, 'Ranking for ' .. SkillWindow[windowId], 'Scroll down for entire list') for rank, score in ipairs(getGlobalStorageValue(SkillWindow[windowId])) do highscore:addChoice(rank, string.abbr(rank .. '. ' .. score[1], '... ' .. score[2], 30)) end highscore:addButton(1, 'Back') highscore:addButton(2, 'Close') highscore:addButton(3, 'Info') highscore:setDefaultEscapeButton(2) highscore:setPriority(true) highscore:sendToPlayer(cid) end function onModalWindow(cid, modalWindowId, buttonId, choiceId) if not SkillWindow[modalWindowId] then return end if buttonId == 3 then doPlayerPopupFYI(cid, 'Local highscores were last updated ' .. string.diff(os.time()-getGlobalStorageValue('highscores')) .. ' ago.') elseif buttonId == 1 then if modalWindowId == 1337 then sendSkillWindow(cid, 1337+choiceId) else highscores:sendToPlayer(cid) end return end return unregisterCreatureEvent(cid, 'Highscores') end /talkactions/talkactions.xml <talkaction words="!highscores" script="highscores.lua" /> /talkactions/scripts/highscores.lua function onSay(cid, words, param) registerCreatureEvent(cid, 'Highscores') highscores:sendToPlayer(cid) return false end Créditos cbrm
  23. Comando !money Você pode utilizar apenas UMA VEZ, ao utilizar, de forma aleatória você terá a chancer de ganhar crystal coin, platinum coin ou gps. Instalando give_me_money.lua azar = { [1] = {item=2148, name='gold coin'}, [2] = {item=2152, name='platinum coin'}, [3] = {item=2160, name='crystal coin'}, } queststatus = getPlayerStorageValue(cid, 7820) function onSay(cid, word, param) local random_azar = math.random(1,3) local random_count = math.random(1,100) if queststatus <= 0 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You recive " .. azar[random_azar].name .. " as your reward.") doPlayerAddItem(cid,azar[random_azar].item,[random_count]) setPlayerStorageValue(cid,7820,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You already have you reward.") end return true end talkactions.xml <talkaction words="!money" script="give_me_money.lua" /> Créditos garu066
  24. Comando !color /color Você usa o comando e a cor do seu outfit muda de forma aleatória. Instalando randomcolor.lua local config = { needPremium = true, -- Precisa de premium? needMoney = 25000, -- Precisa de premium? Se precisar, coloque o dinheiro necessário, se não precisar, coloque "false". makeExhaustion = 5, --- Quer deixar com exhaust? Coloque o tempo de exhaust em segundos, se não quiser, coloque "false". exhaustionStorage = 3232, ------ storage para salvar o exhausted. effect = CONST_ME_BLOCKHIT, -- Irá aparecer algum efeito? Se sim, coloque o número do efeito, coloque "false" se não. msg = "MUDANDO DE COR DE OUTFIT....", -- Mensagem que irá aparecer type = MESSAGE_INFO_DESCR, - O tipo de mensagem que será enviada, aqui estão tipos de mensagem: --[[MESSAGE_EVENT_ADVANCE, MESSAGE_EVENT_DEFAULT, MESSAGE_STATUS_CONSOLE_ORANGE, MESSAGE_INFO_DESCR, MESSAGE_STATUS_SMALL, MESSAGE_STATUS_CONSOLE_BLUE, MESSAGE_STATUS_CONSOLE_RED, MESSAGE_STATUS_WARNING, you can see it too in lib/constant.lua ]] -- } function onSay(cid, words, param, channel) if (exhaustion.get (cid, config.exhaustionStorage)) then return doPlayerSendCancel (cid, "Wait "..exhaustion.get (cid, config.exhaustionStorage).. " seconds to do it again.") end if (config.needPremium and isPremium (cid) == false) then return doPlayerSendCancel(cid, "You need premium to use this command.") end if (config.needMoney ~= false and tonumber(config.needMoney) and doPlayerRemoveMoney(cid, config.needMoney) == false ) then return doPlayerSendCancel (cid, "You need "..config.needMoney.. " to use this command.") end if (config.makeExhaustion ~= false and tonumber(config.makeExhaustion)) then exhaustion.set (cid, config.exhaustionStorage, config.makeExhaustion) end if (config.effect ~= false and tonumber(config.effect)) then local pos = getThingPos(cid) doSendMagicEffect(pos, config.effect) end if (config.msg ~= false) then doPlayerSendTextMessage(cid, config.type, config.msg) end local out = getCreatureOutfit(cid) doCreatureChangeOutfit (cid, {lookType = out.lookType, lookHead = math.random(132) , lookBody = math.random(132), lookLegs = math.random(132), lookFeet = math.random(132), lookAddons = out.lookAddons } ) return true end talkactions.xml <talkaction words="!color;/color" event="script" value="randomcolor.lua" /> Observação Caso queira que o player logue e logo mude a cor do outfit automaticamente, coloque isso em login: local out = getCreatureOutfit(cid) doCreatureChangeOutfit (cid, {lookType = out.lookType, lookHead = math.random(132) , lookBody = math.random(132), lookLegs = math.random(132), lookFeet = math.random(132), lookAddons = out.lookAddons } ) Créditos StreamSide, Jetro
  25. Comando !balance !deposit !withdraw Instalando balance.lua function onSay(cid, words, param) if getTilePzInfo(getPlayerPosition(cid)) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your account balance is ".. getPlayerBalance(cid) .." gold.") else doPlayerSendCancel(cid, "You can only use this command in PZ.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end end deposit.lua function onSay(cid, words, param) if getPlayerTown(cid) == 24 then --------- ID DA CIDADE doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You cannot deposit money being in Rookgaard.") return end if isPlayer(cid) == TRUE and param ~= "" then if getTilePzInfo(getPlayerPosition(cid)) == TRUE then if doPlayerRemoveMoney(cid, param) == TRUE then doPlayerSetBalance(cid, param) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have added the amount of ".. param .." gold to your balance. You can withdraw your money anytime you want to.") else doPlayerSendCancel(cid, "You do not have enough money.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end else doPlayerSendCancel(cid, "You can only use this command in PZ.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end end end withdraw.lua function onSay(cid, words, param) if getPlayerTown(cid) == 24 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You cannot withdraw money being in Rookgaard.") return end if isPlayer(cid) == TRUE and param ~= "" then if getTilePzInfo(getPlayerPosition(cid)) == TRUE then if getPlayerBalance(cid) >= param then doPlayerSetBalance(cid, getPlayerBalance(cid) - param) doPlayerAddMoney(cid, param) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Here you are, ".. param .." gold.") else doPlayerSendCancel(cid, "You do not have enough money.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end else doPlayerSendCancel(cid, "You can only use this command in PZ.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end end end talkactions.xml <talkaction words="!balance" script="balance.lua" /> <talkaction words="!deposit" script="deposit.lua" /> <talkaction words="!withdraw" script="withdraw.lua" /> Créditos Rurouni

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...