Ir para conteúdo

Agaka

Membro
  • Registro em

  • Última visita

Tudo que Agaka postou

  1. Agaka postou uma resposta no tópico em Suporte Tibia OTServer
    @bpm91 Copia uma tag qualquer ai e substitui o type e outros..
  2. Agaka postou uma resposta no tópico em Suporte Tibia OTServer
    @bpm91 Esse código só irá funcionar se sua source possuir a função moveItem! Em data/creaturescripts/scripts crie um arquivo .lua e cole o script \/ dentro. Registre o evento creaturescripts.xml, tag: <event type="moveitem" name="NAME" event="script" value="FILE.lua"/> Agora é só registrar o evento no login.lua e gg. registerCreatureEvent(cid, "NAME")
  3. @OinomedRellik Já que você não especificou se a potion seria multi use (teria "mira" ? ) algumas identificações eu não fiz. Caso não seja o que você esperava, detalha melhor as condições que eu reorganizo o código. Para configurar o tempo entre 1 heal e outro é aqui: local count = 1 while (count < (config.healCount + 1)) do addEvent(doHeal, count * 1000, cid) count = count + 1 end 1000 = 1 segundo.
  4. Agaka postou uma resposta no tópico em Suporte Tibia OTServer
    @bpm91
  5. @Stareqj Para trocar a outfit do player: doCreatureChangeOutfit(cid, {lookType = outfit}) Para adicionar uma outfit a um player, nesse tópico tem a respota. ttps://tibiaking.com/forums/topic/95814-itemoutfit/page/2/
  6. @KOLISAO Entendi.. thanks! @Aldimun Vou deixar aqui o script que criei, se quiser usar fica a seu critério hue
  7. @Aldimun EDIT: Pesquisei aqui e pelo que entendi ao gastar as 100 cargas do barril, você só poderá usar se colocar um novo barril seria isso?
  8. Agaka postou uma resposta no tópico em Suporte Tibia OTServer
    @bpm91 Seria isso ? function onUse(cid, item, fromPosition, itemEx, toPosition) local str = 11001 local mailbox = 2593 if itemEx.itemid == mailbox then if getPlayerStorageValue(cid, str) == 3 then doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT) setPlayerStorageValue(cid, str, 4) end end return true end
  9. @marcot Não encontrei nenhum problema. Caso tenha encontrado algo pode me falar, se quiser. @Aldimun Esse é um erro de caracteres especiais, eles podem ser copiados junto com o código ao dar ctrl+c. Copia daqui https://pastebin.com/Zs69U3Gk
  10. Em data/actions/scripts, crie um arquivo .lua, nomeie-o e cole o código dentro. Em data/actions, abra o arquivo actions.xml e adicione esta tag: <action itemid="1445;3365" event="script" value="SEU ARQUIVO.lua"/> Em itemid você passa o id dos barris e separa eles por vírgulas, assim você não precisa criar 1 tag para cada barril. Em data/creaturescripts/scripts, abra o login.lua e procure pela função onLogin(cid). Abaixo dela adicione: local barrelStr = {264017, 264028} -- Coloque aqui as storages de cada barril for i,_ in ipairs(barrelStr) do if getPlayerStorageValue(cid, barrelStr[i]) < 0 then setPlayerStorageValue(cid, barrelStr[i], 0) end end OBS: As storages de cada barril precisam ser diferentes uma da outra. Esse script que você vai adicionar em creaturescripts é pra que quando o player logue ele já receba a storage 0 e a contagem de usos (quantas vezes ele poderá usar o barril) ocorra sem erros.
  11. @Aldimun Para configurar é bem simples, segue como está no script e gg. Entre os colchetes [...] vai o id do barril. local config = { [1445] = { str = 5050512, -- Storage uses = 2, -- Quantas vezes pode usar o barril flask = 7636, -- ID flask potion = 7618 -- ID potion }, [3365] = { str = 50505326, -- Storage uses = 2, -- Quantas vezes pode usar o barril flask = 7636, -- ID flask potion = 7620 -- ID potion } } function onUse(cid, item, fromPosition, itemEx, toPosition) local barrel = config[item.itemid] if barrel then if getPlayerStorageValue(cid, barrel.str) < barrel.uses then local flasks = getPlayerItemCount(cid, barrel.flask) if flasks > 0 then doPlayerRemoveItem(cid, barrel.flask, flasks) doPlayerAddItem(cid, barrel.potion, flasks) setPlayerStorageValue(cid, barrel.str, (getPlayerStorageValue(cid, barrel.str) + 1)) else doPlayerSendTextMessage(cid, 27, "You don't have empty potion flasks.") end else doPlayerSendTextMessage(cid, 23, "It is empty.") end end return true end No login.lua adicione isso: local barrelStr = {11231231, 123123123, 1231231} -- Todas as storages dos barris for i,_ in ipairs(barrelStr) do if getPlayerStorageValue(cid, barrelStr[i]) < 0 then setPlayerStorageValue(cid, barrelStr[i], 1) end end O código acima vai fazer com que todos os player, ao logar, recebam a storage 1, assim não ocorrerá erro no contador de usos lá no barril. OBS: Lembre-se de não deixar as storages iguais.
  12. @Aldimun Entendi o que você quer, mas, isso vale para todas as potions (normal, strong, great) ? Existe algum limite de quantas flasks eu posso encher a cada use?
  13. @hiquezerah Estranho, testei aqui e está funcional. Verifica se as posições estão corretas. Me desculpe, passei a informação errada no post acima sobre a ordem das posições à você. from = canto superior esquerdo. to = canto inferior direito.
  14. @hiquezerah Testa agora, acredito que o crash foi solucionado. O problema do tile que eu havia citado.. passa uma posição dentro da área, após o tile, para o player ser teleportado que soluciona. Edit: Um membro apontou alguns erros no código.. código melhor estruturado! newPos = posição para qual o player será teleportado.
  15. @hiquezerah from = canto superior esquerdo. to = canto inferior esquerdo. OBS: O script não pode checar o tile em que o player irá pisar. Fica esperto!
  16. @Maniaco Relaxa mano, faço isso por que gosto... Tenho até conta no pastebin mas não costumo usar AHSUAHS. Tá aqui: https://pastebin.com/RV89Jmer
  17. @Maniaco Me desculpe se esqueci de alguma verificação hahaha. Npc.lua Npc.xml
  18. @Maniaco Mano, vamos organizar melhor essa parada.. KKK Se você usar o script assim ele logo vai lotar o arquivo e ficar um bagulho tosco. Por isso vamos organizar kk. Crie um arquivo .lua em data/lib com o nome SEAL_MONSTERS. Dentro cole o código abaixo. É nesse arquivo que você vai adicionar e remover monstros... configurar. Agora, substitua o código que você usava antes por este. Código do selo... Lembrando que, as storages de cada monstro precisam ser diferentes uma da outra.
  19. @leozincorsair Usa essa spell, os portais são 1 para o mundo normal e outro para o kamui. Como o portal já vai estar salvando a posição do player, eu removi essa 'função' da spell. Spell Portal (mundo normal) // Configure aqui o tempo que o player demora para sair do kamui. Portal kamui Como falei acima, a storage dos 2 portais precisam ser iguais.
  20. @leozincorsair É nóis UHASUUAHSU. Para que o player não possa sair do kamui tão rápido, no script do portal do mundo normal use o código abaixo. function onStepIn(cid, fromPosition, toPosition) local enter = {x = 1250, y = 1250, z = 7} local tempo = 30 local s_time = 992343 local PlayerPos = getCreaturePosition(cid) setPlayerStorageValue(cid, 5020, PlayerPos.x) setPlayerStorageValue(cid, 5021, PlayerPos.y) setPlayerStorageValue(cid, 5022, PlayerPos.z) setPlayerStorageValue(cid, s_time, os.time() + tempo) return true end Agora no portal do kamui.. function onStepIn(cid, fromPosition, toPosition) b1 = getPlayerStorageValue(cid, 5020) b2 = getPlayerStorageValue(cid, 5021) b3 = getPlayerStorageValue(cid, 5022) local s_time = 992343 local pos = getCreaturePosition(cid) local back = {x = b1, y = b2, z = b3} local cantGo = {x = pos.x, y = pos.y + 1, z = pos.z} if getPlayerStorageValue(cid, s_time) >= os.time() then doPlayerSendTextMessage(cid, 27, "Espere "..getPlayerStorageValue(cid, s_time) - os.time().." segundos para sair.") doTeleportThing(cid, cantGo) return true end doTeleportThing(cid, back) return true end OBS: As storages dos 2 arquivos precisam ser a mesma.
  21. @leozincorsair Na própria spell o portal está recebendo o actionID 5560. Pode ficar tranquilo quanto a isso ahhaha.
  22. @leozincorsair Foi mal, realmente foi erro meu. Bom, pra fazer com que quem entre possa sair, vai ser preciso criar um novo movement. Por que? Simples, quando o player casta a spell a posição dele fica salva. Já o player que entrar no portal do mundo normal não vai ter suas posições salvas, logo não poderá retornar. Mas vamos lá. Spell Portal do mundo normal (Esse script vai salvar a posição dos outros players.) Portal para sair do kamui Tags dos movements Portal do mundo normal <movevent type="StepIn" actionid="5560" event="script" value="step.lua"/> Portal no kamui <movevent type="StepIn" actionid="5506" event="script" value="step2.lua"/>
  23. @leozincorsair AUSHAUSHS. Vamo lá. - Ao usar a spell é criado um teleport embaixo do player. -> O usuário da spell ganha a storage pra poder sair da sala do kamui. - Ao entrar no portal vão para o kamui... - Quando o player (que usou a spell) pisar no portal para sair, ele vai sair normalmente, porém ele não está podendo entrar novamente pelo mesmo portal. -> A storage que ele ganha ao usar a spell, agora, foi perdida. - Quem entrar pelo primeiro portal (e não for o conjurador da spell), não poderá sair da área.
  24. @leozincorsair Então cara, testei aqui e está tudo 100%. Testa ela ai, com calma, e me fala caso algo esteja fora do que você tinha pedido.

Informação Importante

Confirmação de Termo