Ir para conteúdo

FeeTads

Membro
  • Registro em

  • Última visita

Tudo que FeeTads postou

  1. então, basicamente essa função, vai checar se o player é maior que level 8, se ele for, vai fazer o que esta dentro do IF, exemplo: if getPlayerLevel(cid) > 8 then --level maior que 8 doTeleportThing(cid, TempleTownId(1)) -- se o player for maior que level 8, entra aki e teleporta ele pro templo end consegue me mandar seu código por aqui mesmo, e mais explicativo o que vc gostaria? posso tentar arrumar pra você, mas DETALHA BEM o que vc necessita
  2. cara, como não uso esse código e não consigo testar ele, arrumar por aqui seria dificil kkkkkkkkk, mas te chamei no discord ai, posso te ajudar a resolver, sem testar pra eu saber como roda o script é dificil, qualquer coisa te ajudo la e não cobro por isso tbm
  3. coloca um getTileItemById(pos, item.itemid).uid pra checar se existe item no local, ou até um getThingFromPos(pos).itemid, faz um if checando se há algo, se for maior que 0 ai chama o doRemove, se não, não chama
  4. mas claro, fica checando a area toda varias vezes kkkkkk, eu tenho uma função no meu server, muito mais clean mano... bota essas 2 funtions na sua lib function doCleanArea(pos_superior_esquerda, pos_inferior_direita) local monsters = getMonstersInArea(pos_superior_esquerda, pos_inferior_direita) for _, cid in pairs(monsters) do doRemoveCreature(cid) end end function getMonstersInArea(pos1,pos2) local monsters = {} if pos1.x and pos1.y and pos2.x and pos2.y and pos1.z == pos2.z then for a = pos1.x, pos2.x do for b = pos1.y,pos2.y do local pos = {x=a,y=b,z=pos1.z} if isMonster(getTopCreature(pos).uid) and not isSummon(getTopCreature(pos).uid) then table.insert(monsters,getTopCreature(pos).uid) end end end return monsters else return false end end ai no teu script ó chamar a função doCleanArea ex: doCleanArea( {x=1000, y=1000, z=7}, {x=1010, y=1010, z=7} ) ou pode setar antes e colocar no script só a variável. ps: caso queira que remova até summon tira o " and not isSummon(getTopCreature(pos).uid) "
  5. pelo que parece é essa função, comparando o world com 0 troca pra players = getPlayersOnline() if #players < 1 then return true end no caso disso: function onThink(cid, interval) if table.find(config.days, os.date("%A-%H:%M")) then if(getWorldCreatures(o) <= 0)then return true end ... pra isso: function onThink(cid, interval) if table.find(config.days, os.date("%A-%H:%M")) then players = getPlayersOnline() if #players < 1 then return true end ....
  6. é pq ele não colocou uma checagem, só da a storage e não checa, ai ele vai poder usar novamente caso vc queira que o player use o itemX no itemY apenas 1x na vida, coloca pra checar assim. local config = { itemY = 2160, -- Id do item Y message = 'A mensagem que ira aparecer quando usar o item X no item Y.', storage = 412311 hours = 24 } function onUse(cid, item, fromPosition, itemEx, toPosition) -- esse if o player só usa 1x e nunca mais if getPlayerStorageValue(cid, config.storage) == 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você já usou esse item no item Y.") return true end -------------------------------------------------------------------- -- esse if deixa o player usa a cada tempo, exemplo pode usar o itemX no itemY a cada 24 horas if getPlayerStorageValue(cid, config.storage) - os.time() > 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "ainda não é possivel usar o itemX no item Y.") return true end ---------------------------------------------------------------------- if (itemEx.itemid == config.itemY) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.message) doRemoveItem(item.uid, 1) -- storage de usar apenas 1x setPlayerStorageValue(cid, config.storage, 1) --storage pra usar o itemX no itemY a cada 24h setPlayerStorageValue(cid, config.storage, os.time() + 60*60*config.hours) end return true end
  7. posta teu login.lua ai pra ver oq pode ser mano fica na pasta data > creaturescripts > scripts > login.lua
  8. então, isso é um problema basico do 8.6 quando ele não encontra o player, ele nao retorna nada, só um erro. coloca isso no começo do script if not isCreature(cid) then return true end ai ele vai checar se existe aquela criature, caso ele não encontre, ele ja retorna true pra função function onEquip(cid) if not isCreature(cid) then return true end ... vai ficar assim
  9. if getPlayerLevel(cid) > 8 then --level maior que 8 --código end basicamente só isso mano, agora se for pra algo mais especifico, vc pode montar uma table de leveis, mas ai eh mais chatinho, mas basicamente é getPlayerLevel(cid) pra checar se é maior ou menos que tal numero..
  10. Cara eu posso te ajudar inicialmente com algum tipo de programação lua, dependendo da versão se for 8.6 melhor ainda, chama no PV, posso te dar um básico de como funciona, e caso queira mais aprofundado, aí podemos conversar sobre o resto
  11. Os summons vc diz do utevo res? Ou algum outro tipo de summon?
  12. vc sabe que não importa o tamanho da sprite ou quão descentralizada ela seja né? que ela sempre vai ocupar 1 SQM, tlg né? o que eu to falando é que a sprite ta descentralizada, ela devia ta centralizada pra esquerda, no começo do SQM, e ela ta centralizada a direita, no final do SQM. bom como ja expliquei, o erro é a Sprite, não vou me alongar mt pq ja ta sem nexo isso.
  13. não cara kkkkk, é simples, nos derivados a sprite é correta, e colocada na mesma posição da do tibia padrão, quem sabe fazer as sprites deixa certinho, essa ta errada por esse motivo, ou seja, o erro é a sprite, ajeitando a sprite vai arrumar, não tem nada de DLL ou bug
  14. exatamente meu mano, vc ta usando uma sprite deitada, pra tibia que eh 3D, a sprite ta "centralizada" pq seu nome eh curto, bota ai um nome grande que vc vai ver como não ta centralizada, e embaixo dele na neve, ta """centralizado""" pq a neve ocupa 100% do SQM, e a sprite ta totalmente pra direita do SQM, bom, o unico jeito de consertar isso é consertar a sprite
  15. mano, o tibia é terceira pessoa que vc ve pela lateral direita, tudo que vc vê é lateral, ve a barra de vida e o nome cara... a barra de vida do Teste acaba e ainda tem sprite, quanto que no tibia o personagem começa junto com o nome na esquerda, como eu disse, é a sprite disso tenho certeza, e é mais facil arrumar a sprite doq esse """"bug"""'
  16. claro que não mano kkkkkkk, o nome do seu boneco Teste acaba e ainda tem sprite, ve como fica uma sprite de GOD do tibia. o personagem fica a esquerda da barra de vida, o seu personagem ta a direita da barra de vida, confia mano é a sprite, coloca uma sprite de tibia que vc vai ver como é a sprite pra direita
  17. é um problema da sua sprite mano, sua sprite ta muito pra direita, a mensagem está saindo certo, vc teria que alterar a sprite pra ser mais pra esquerda
  18. se colocar [10] = {monster_name = "Draken Elite, Draken Spellweaver, RotWorm, Snake", exp = 30, loot = 10}, por exemplo assim, não vai pegar todos esses monstros?
  19. creio que isso possa debugar o client mano, caso vc use 8.6 provavelmente um item novo debugaria, eu indico vc usar a função onMoveItem aki o link pra como colocar ela na source https://tibiaking.com/forums/topic/47698-onmoveitemcid-item-count-tocontainer-fromcontainer/ local dontMoveitems = {1111,2222,3333} function onMoveItem(item, frompos, pos, cid) if isInArray(dontMoveitems, item.itemid) then doPlayerSendCancel(cid, 'Você não pode mexer esse item.') return false end return true end um exemplo, caso o player esteja tentando mover o item 1111 ou 2222 ou 3333 ele não deixa creio que seja até mais facil, só colocar o ID ali, doq sempre alterar no items.otb kkkk coisa que eu não indico muito vc mexer caso não tenha um OT totalmente custom que seja obrigatório o uso do client próprio a e esqueci de dizer, precisa registrar no XML e no login.lua "registerCreatureEvent(cid, "MoveItem")"
  20. storage que mostra no site = 88888 storage que teu item adiciona = 13540 isso é uma função da source/DB que pega a coluna "premdays isso é outra coluna da DB chamada "vip_time" mano, pra te ajudar nisso teria que colocar tudo ser apenas uma coisa só kkkkkkkkk, como vc usa item, provavelmente vc não usa o premium days da source (esse eh o sistema que o global usa), e nem o viptime que aparece no site troque isso: por isso: $main_content .= ($player->getStorage(13450) > 0) ? '<font color="#00CD00" style="text-shadow: 1px 1px #014b01;"><b>VIP Account</b></font>' : '<font color="#FF0000" style="text-shadow: 1px 1px #580208;"><b>Not Vip</b></font>'; troque isso: por isso: getPlayerStorageValue(cid, 13450) ja vai funcionar no site e no ot, porém usar varios arquivos que contenham dentro "function onLogin()" eu não recomendo, principalmente esse de alterar a rate imagina que vc tem 5 arquivos que alteram a rate do player, todos vão atualizar quando o player logar, porem todos vão pegar a rate fixa "1.2" por exemplo, o mais facil era colocar essa rate pra atualizar diretamente no arquivo login.lua, qualquer coisa chama no PV que te dou umas ajudas mano.
  21. consegue mandar algum video ou algo pra eu entender melhor mano? nao jogo DBO mas posso tentar te ajudar
  22. esse código só serve pra arquivos .xml meu mano pra vc usar acentos nó que vai aparecer na tela do player, você precisa formatar o arquivo em ANSI, ele vem por padrão UTF-8, e pra fazer isso vc precisa usar o notepad++ pra colocar os acentos vc vai precisar abrir seu arquivo do seu OT com notepad++ ai vai na opção formatar, e clica em "Codificação em ANSI" ai caso JÁ EXISTA, palavras com acentos, você vai precisar consertar elas ~pq vão ficar com símbolos bugados~ exemplo: ai após formatar e arrumar, so salvar o arquivo CTRL + S e dar reload e testar ai fica certinho na tela do player assim.
  23. function onUse(cid, item, frompos, item2, topos) if item.uid == 61466 then local guild = '' local guildName = getGuildNameByID(getGlobalStorageValue(realCastle.guild_storage)) print(guildName) if getGlobalStorageValue(realCastle.guild_storage) > 1 then guild = "a guild "..guildName.." possui o dominio" else guild = "nenhuma guild possui o dominio do castelo" end local domain = realCastle.isOpen() and "as guilds estao batalhando pelo dominio do castelo" or guild local msg = " --------[CASTLE]-------\n\n\nAtualmente "..domain..".\n\nProxima batalha: Amanhã as 21:00." doShowTextDialog(cid,8977,msg) return true end if not realCastle.isOpen() then doTeleportThing(cid,getTownTemplePosition(1)) return true end if not realCastle.isDominating(cid) then realCastle.domain(cid) doSendMagicEffect(getThingPos(cid), CONST_ME_CRAPS) else doPlayerSendCancel(cid,"Sua guild ja esta com o dominio do castelo.") end return true end tenta assim
  24. Tenta assim function onUse(cid, item, frompos, item2, topos) if item.uid == 61466 then local guild = '' if getGlobalStorageValue(realCastle.guild_storage) > 1 then guild = guild.."a guild "..getGuildNameByID(getGlobalStorageValue(realCastle.guild_storage)).." possui o dominio" else guild = guild.."nenhuma guild possui o dominio do castelo" end local domain = realCastle.isOpen() and "as guilds estao batalhando pelo dominio do castelo" or guild local msg = " --------[CASTLE]-------\n\n\nAtualmente "..domain..".\n\nProxima batalha: Amanhã as 21:00." doShowTextDialog(cid,8977,msg) return true end if not realCastle.isOpen() then doTeleportThing(cid,getTownTemplePosition(1)) return true end if not realCastle.isDominating(cid) then realCastle.domain(cid) doSendMagicEffect(getThingPos(cid), CONST_ME_CRAPS) else doPlayerSendCancel(cid,"Sua guild ja esta com o dominio do castelo.") end return true end
  25. Tenta assim mano. function onUse(cid, item, frompos, item2, topos) if item.uid == 61466 then local guild = getGlobalStorageValue(realCastle.guild_storage) > 1 and "a guild "..getGuildNameByID(getGlobalStorageValue(realCastle.guild_storage)).." possui o dominio" or "nenhuma guild possui o dominio do castelo" local domain = realCastle.isOpen() and "as guilds estao batalhando pelo dominio do castelo" or guild local msg = " --------[CASTLE]-------\n\n\nAtualmente "..domain..".\n\nProxima batalha: Amanhã as 21:00." doShowTextDialog(cid,8977,msg) return true end if not realCastle.isOpen() then doTeleportThing(cid,getTownTemplePosition(1)) return true end if not realCastle.isDominating(cid) then realCastle.domain(cid) doSendMagicEffect(getThingPos(cid), CONST_ME_CRAPS) else doPlayerSendCancel(cid,"Sua guild ja esta com o dominio do castelo.") end return true end

Informação Importante

Confirmação de Termo