Ir para conteúdo

FeeTads

Membro
  • Registro em

  • Última visita

Tudo que FeeTads postou

  1. basicamente sim, porém vai ter outras funções que são TFS, ai vc vai ter que meio que entender oq é TFS e oq é OTX kkkk, posso postar aqui o código certo qualquer hora, mas isso demoraria alguns dias pra eu refazer e testar, mas vai tentando refazer
  2. cara creio que seja esses for eles percorrem de 1 ao tamanho dos itens e transforma, se tu puder identar seu código e posta em spoiler seria mais facil pra eu visualizar e tentar te responder, mas a principio, tenta tirar os 2 for do seu código e testar
  3. tu pode usar o msm script, só adaptar mano, Player:get pra getPlayer ... não é muito dificil mas eh um pouco chato q vai demorar algumas horas de teste kkkkk
  4. sua distro eh TFS ou OTX? se for OTX não funciona msm teria que adaptar, oq não eh muito dificil, se for TFS é qual versão?
  5. cara o mais próximo que achei do que vc falou foi esse post aqui. https://tibiaking.com/forums/topic/100304-npc-daily-task-com-4-opções-diarias
  6. FeeTads postou uma resposta no tópico em Suporte Tibia OTServer
    é pq teu gsto, não ta recebendo nada mano o certo era getGlobalStorageValue(6565656), ai sim funcionaria normal, tem q ver daonde ele puxa essa global storage isso foi só um exemplo ta, ele precisa receber algum numero que ta no seu script. eu tenho aqui esse script 100% funcional, mas ele n tem o removeplayers, que no caso serve pra hunt do castelo, se vc não tiver hunt dentro do castelo posso te passar, ou se usar tbm, ai vc só precisar ajustar ele
  7. @moskitinho tava revendo esse script, e percebi que se o player falar ou usar não sei, o script não ta checando se ele tem o itrm antes Então deveria ficar assim eu acho. if getPlayerStorageValue(cid, 64801) < 1 then if getPlayerItemCount(cid, item.uid) >= 1 then ... Não lembro ao certo se no playe item count é UID ou Item.itemID PORÉM, vc pode por o id do mount doll que vai funcionar Caso ele esteja funcionando somente com o doll desconsidere kkk, mas trnho quase ctz que esta funcionando e dando as mounts sem o doll
  8. boa kkkk, não sei muito bem ainda como funciona revScript, mas to pegando o jeito kkkkk, agora só vai
  9. local addondoll = Action() function addondoll.onUse(cid, item, toPosition, itemEx, fromPosition) local mounts = { ["Black Sheep"]={4}, ["War Bear"]={3}, ["Tamed Panda"]={19}, ["Crystal Wolf"]={16}, ["Undead Cavebear"]={12}, ["Siegebreaker"]={56}, ["Ringtail Waccoon"]={68}, ["Gnarlhound"]={32}, ["Ladybug"]={27}, ["Tiger Slug"]={14}, ["Widow Queen"]={1}, ["Rapid Boar"]={10}, ["Stampor"]={11}, ["Racing Bird"]={2}, ["Armoured War Horse"]={23}, ["Tundra Rambler"]={62}, ["Draptor"]={6}, ["Dragonling"]={31}, ["Jade Lion"]={48}, ["Kingly Deer"]={18}, ["Dromedary"]={20}, ["Donkey"]={13}, ["Water Buffalo"]={35}, ["Blazebringer"]={9}, ["Jade Pincer"]={49}, ["Undead Cavebear"]={12}, ["Titanica"]={7}, ["Manta"]={28}, ["Plumfish"]={80}, ["Tin Lizzard"]={8}, ["Walker"]={43}, ["Ironblight"]={29}, ["Magma Crawler"]={30}, ["Shock Head"]={42}, ["Flamesteed"]={47}, ["Doombringer"]={53}, ["Flitterkatzen"]={75}, ["Slagsnare"]={93}, ["Nightdweller"]={100}, ["Gorongra"]={98}, ["Mouldpincer"]={104}, ["Reed Lurker"]={109}, ["Sparkion"]={110}, ["Shadow Claw"]={114}, ["Dreadhare"]={117}, ["Stone Rhino"]={119}, ["Shadow Sphinx"]={122}, ["Jungle Saurian"]={123}, ["Blazing Unicorn"]={126}, ["Cranium Spider"]={129}, ["Marsh Toad"]={133}, ["Ebony Tiger"]={136}, ["Tawny Owl"]={140}, ["Lacewing Moth"]={143}, ["Festive Snowman"]={148}, ["Rabbit Rickshaw"]={151}, ["River Crocovile"]={154}, ["Gryphon"]={157}, ["Jousting Eagle"]={158}, ["Cerberus Champion"]={159}, ["Battle Badger"]={160}, ["Floating Sage"]={166}, ["Haze"]={169}, ["Antelope"]={170}, ["Snow Strider"]={171}, ["Eventide Nandu"]={178}, ["Spectral Horse"]={179}, ["Voracious Hyaena"]={180}, ["Krakoloss"]={184}, ["Rift Watcher"]={190}, } if getPlayerStorageValue(cid, 64801) < 1 then for name, id in pairs(mounts) do doPlayerAddMount(cid, id[1]) end doSendMagicEffect(getThingPos(cid), CONST_ME_FIREWORK_YELLOW) doRemoveItem(item.uid) setPlayerStorageValue(cid, 64801, 1) end return true end addondoll:id(37587) addondoll:register() creio que 12.64 é tfs 1.5, então pode ser que seja "Player:getStorage(64801)", porém acho q deve funcionar assim tbm bobiei não tinha lido que eh OTX, assim creio que vai funcionar normal caso não funcione posta o erro do console em spoiler pf
  10. salve rapaziada, do TK, esses tempos eu tava a procura de um autoloot bom e eficiente, e como vocês devem saber, o autoloot usado nos scripts .lua são bem "pesados" o @Naze fez um excelentíssimo trabalho e disponibilizou um script de autoloot na source, porém como a vida é dificil, ele tem alguns bugs de função e um deles é no "remove autoloot" que quando o player digita "!autoloot remove, nome-do-item" nada acontece, eu decidi mexer e vim disponibilizar arrumado pra vcs. LEMBRANDO QUE 100% DOS CRÉDITOS SÃO AO @Naze porém se vc procurar no tópico dele ainda vai estar bugado, então resolvi deixar aqui certinho pra ajudar quem precisar. Link do tópico do naze: https://tibiaking.com/forums/topic/101086-otimizado-autoloot-in-sources-for-otx2-ou-menor/ caso alguém ja utilize esse autoloot e esteja com o problema de remover items do autoloot só ir em player.cpp e trocar isso: void Player::removeAutoLoot(uint16_t id) { if(checkAutoLoot(id)) { return; } AutoLoot.remove(id); } por isso: void Player::removeAutoLoot(uint16_t id) { if(!checkAutoLoot(id)) return; for(std::list<uint16_t>::iterator it = AutoLoot.begin(); it != AutoLoot.end(); ++it) { if((*it) == id) { AutoLoot.erase(it); break; } } } todos os créditos ao Naze, não sei se alguém mais fez esse código, mas como peguei do link citado acima que é post dele deixo aqui o autoloot 100% funcional direto nas sources
  11. mano, não tem como remover pq 65536 é a quantidade maxima de bits que o tibia 8.6 suporta, não tem como modificar isso, pelo menos no OT 8.6, oq vc pode fazer é colocar a vida em porcentagem, ai vai ficar 100/100 indicando a porcentagem de vida da pessoa. esse link aki do TK ensina como fazer.
  12. Salve rapaziada do TibiaKing, estou a procura de uma database clean, mysql, pra poder resetar meu OT, a minha database depois de um tempo, o save fica pesado e demora +5 segundos pra executar, então to a procura de uma database, limpa que eu possa adicionar as coisas necessárias e que tenha só o necessário. DB = MySql, phpmyadmin Site = Gesior pra OTX 2x
  13. boa mano, obrigado pela dica, eu não curto mt usar o print, mas vou começar que isso ajuda mt msm, principalmente em scripts que usam data e hora e são mais de 1
  14. kkkkkkkkk tmj mano qualquer coisa só postar, se eu ver e estiver ao meu alcance to ai pra ajudar
  15. troca isso local invasion = configInv[tostring(os.date("%X"))(1, 5)] por isso também local invasion = configInv[tostring(os.date("%X")):sub(1, 5)]
  16. @Thony D. Serv cara, creio que seja pq vc n botou return true ali kkkkkkkkkkkkkkkkkkk function onThink(interval, lastExecution) local invasion = configInv[tostring(os.date("%X"))(1, 5)] if invasion then setWorldType(WORLD_TYPE_NO_PVP) doBroadcastMessage(invasion.nombre .. " inicia em 1 minutos.") addEvent(executeInvasion, 1000 * 60 * 1, invasion) addEvent(setWorldType, 1000 * 60 * noPvpDelay, WORLD_TYPE_PVP) end end no lugar disso bota isso function onThink(interval, lastExecution) local invasion = configInv[tostring(os.date("%X"))(1, 5)] if invasion then setWorldType(WORLD_TYPE_NO_PVP) doBroadcastMessage(invasion.nombre .. " inicia em 1 minutos.") addEvent(executeInvasion, 1000 * 60 * 1, invasion) addEvent(setWorldType, 1000 * 60 * noPvpDelay, WORLD_TYPE_PVP) end return true end
  17. mostra o erro do console em spoiler
  18. hmm, nesse quesito faz sentido, mas ai você poderia colocar 20s e botar doBroadcastMessage(tab_val.text, MESSAGE_STATUS_CONSOLE_RED) ai vai aparecer no chat Default do player, mas do jeito q vc explicou também funciona kkkkk, boa mano, só vai agora
  19. local msg = { ["Monday"] = { --Segunda ['19:00'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:05'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:10'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:15'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:20'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:25'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:29'] = {text = 'Evento Up Acaba Em 1 Minuto', type = 21}, }, ["Wednesday"] = { --Quarta ['19:00'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:05'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:10'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:15'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:20'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:25'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:29'] = {text = 'Evento Up Acaba Em 1 Minuto', type = 21}, }, ["Saturday"] = { --Sabado ['19:00'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:05'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:10'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:15'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:20'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:25'] = {text = 'Evento Up Aberto No Segundo Andar Do Temple', type = 21}, ['19:29'] = {text = 'Evento Up Acaba Em 1 Minuto', type = 21}, }, } function onThink(interval, lastExecution) if msg[os.date("%A")] then hours = tostring(os.date("%X")):sub(1, 5) tab_val = msg[os.date("%A")][hours] if tab_val then return tab_val and doBroadcastMessage(tab_val.text, tab_val.type) or true end end return true end tenta esse script, mudei pra ele checar o dia logo no começo, diferente do seu que recebe data e hora antes de checar kkk, acho q assim deve funcionar e alias monday é segunda e Wednesday é quarta kkkkkkk, isso pode te atrapalhar depois, arrumei no script, vai que sla e creio também que Type = 21 pra broadcast não funciona, tem que colocar no lugar desse tab_cal.type o tipo de message, tipo doBroadcastMessage(tab_val.text, MESSAGE_STATUS_CONSOLE_RED) e vc tem ctz que quer esse script mandando a cada 5s na tela de todos mano? eu acho isso meio poluido sabe, magina em 1 minuto aparecer 12 mensagens dessa que duram 5s, a mensagem nem vai sair da tela durante o minuto todo, se eu fosse vc, ja que tem 7 horarios com aviso, colocaria o interval em 20000, que seria 20s, seria mais clean, isso é só minha opnião kkk as vezes a cada 5s eh melhor, mas ai eh com vc
  20. FeeTads postou uma resposta no tópico em Suporte Tibia OTServer
    o char fica indo pra cima e voltando pra tras? como um PK tentando entrar no PZ? ou ele sobe em cima? se ele ficar subindo e voltando tem que modificar na source o magicfield
  21. no lugar desse msg[day][hours] bota isso if (msg[day][hours]) ~= nil then
  22. sim, no começo onde tem "itemsID" ali vc bota os ID's que quiser, tipo 9693 do addon doll, e 10000, por exemplo, ai todos os addons q os players quiserem fazer vai precisar desses 2 items, e de montaria, creio que esse script ja n funcione, pq não sei como funciona as montarias do 9x+ por script, até onde eu sei esse script q te mandei só da addon mesmo, agora se teu OT for aqueles que o addon tem uma montaria, ai sim esse script funciona tbm existe sim, porém seria outro script, mas ai eu ja n manjo mt
  23. local itemsID = {9693, 10503} local maleOutfits = {["addon"] = {273}} local femaleOutfits = {["addon"] = {270}} -- aqui abaixa ta comentado a minha lista de addons, só descomentar e comentar o de cima que funciona pra todos esses addons --como o seu só da 1 addon, esse dará todos em 1 só arquivo --local femaleOutfits = { ["citizen"]={136}, ["hunter"]={137}, ["mage"]={138}, ["knight"]={139}, ["nobleman"]={140}, ["summoner"]={141}, ["warrior"]={142}, ["barbarian"]={147}, ["druid"]={148}, ["wizard"]={149}, ["pirate"]={155}, ["assassin"]={156}, ["shaman"]={158}, ["nightmare"]={269}, ["brotherhood"]={279}, ["demonhunter"]={288}, ["yalaharian"]={324} } --local maleOutfits = { ["citizen"]={128}, ["hunter"]={129}, ["mage"]={130}, ["knight"]={131}, ["nobleman"]={132},["summoner"]={133}, ["warrior"]={134}, ["barbarian"]={143}, ["druid"]={144}, ["wizard"]={145}, ["pirate"]={151}, ["assassin"]={152}, ["shaman"]={154}, ["nightmare"]={268}, ["brotherhood"]={278}, ["demonhunter"]={289}, ["yalaharian"]={325} } local msg = {"Este addon não existe!", "Você precisa ter o "..getItemNameById(itemsID[1]).." para trocar no addon.", "Parâmetro incorreto!", "Você liberou um novo addon"} function onSay(cid, words, param) local param = string.lower(param) if(getPlayerItemCount(cid, itemsID[1]) > 0) then if (getPlayerItemCount(cid, itemsID[2]) > 0) then if(param ~= "" and maleOutfits[param] and femaleOutfits[param]) then for i=1, #itemsID do doPlayerRemoveItem(cid, itemsID[i], 1) end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[4]) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) if(getPlayerSex(cid) == 0)then doPlayerAddOutfit(cid, femaleOutfits[param][1], 3) else doPlayerAddOutfit(cid, maleOutfits[param][1], 3) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[1]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não possui o item "..getItemNameById(itemsID[2]).."!") end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[2]) end end @carloos creio que esse funcione, ele checa se o player tem os 2 items, se tiver ele da o addon e remove os 2 items, PORÉM, aonde ta local maleOutfits = {["addon"] = {273}} local femaleOutfits = {["addon"] = {270}} o "addon" precisa ser trocado pro nome do outfit mesmo, ali vc deve botar tipo "mage", pq ai quando a pessoa digitar "!addon mage" vai entrar nesse script se não a pessoa vai ter que digitar "!addon addon" no caso que eu comentei, vai dar todos, mas 1 por vez kkk, 2 items = 1 addon, vai ficar mais simples pra vc
  24. até onde sei, você poderia fazer um monstro com algum creaturescript que anda tal posição após falar com ele, e que seja sumon, não sei se isso seria possivel, e se for, creio q seria extremamente complexo kkkkkk
  25. o pior que eu fiz um que funciona só no creatureScript e DataBase mano kkkkkk ainda mostra no site, se quiser posso te passar boa mano, ja ajuda quem precisar, vai ser bom pra comunidade kkkkkkkkkk, pior que eu to aprendendo muita coisa com .lua, sou programador mas mexo com lua faz 1 mes, ai usei teu pedido ai como cobaia tbm kkkkkkkkk, tmj mano, quando precisar de alguma ajuda chama discord ou marca em algum post, o woox e o vodkart dificilmente vão responder os caras são bem ocupados

Informação Importante

Confirmação de Termo