Ir para conteúdo

Adriano SwaTT

Membro
  • Registro em

  • Última visita

Tudo que Adriano SwaTT postou

  1. Exatamente, precisa por StepIn e StepOut em movements. Enfim, sobre o piso não afundar e voltar ao original, creio que seja o return true para que o script padrão do item aja naturalmente. Teste assim: local idpedra = XXXX -- ID da pedra local pos = {x=000, y=000, z=0, stackpos=1} -- Coordenada da pedra local msg_remover = "Pedra removida com sucesso." -- Mensagem ao remover a pedra local msg_repor = "Pedra adicionada novamente." -- Mensagem ao repor a pedra function onStepIn(cid, item, position, item2, fromPosition) local check = getTileItemById(pos, idpedra).uid if check > 0 then doRemoveItem(check, 1) doPlayerSendTextMessage(cid, 4, msg_remover) return true else doPlayerSendCancel(cid, "A pedra já foi removida.") end return true end function onStepOut(cid, item, position, item2, fromPosition) local check = getTileItemById(pos, idpedra).uid if check < 1 then doCreateItem(idpedra, 1, pos) doPlayerSendCancel(cid, msg_repor) return true end return true end Boa sorte. Caso não funcione posso fazer para que o próprio script faça esta função. Basta me avisar.
  2. Nossa, realmente o player Online bloqueia a remoção direta na database com comandos do tipo. Porém, com ele Online daria pra fazer com a função normal "setPlayerStorageValue". Ficaria tipo assim, ex: local strg = XXXX -- valor da storage local plstr = getPlayersOnline() setPlayerStorageValue(plstr, strg, -1) Ou talvez precisaria fazer uma tabela usando um for, acho que consigo criar este script para executar na database para os que não estiverem Online e por comando tradicional para os que estiverem. Será mesmo necessário?
  3. Para PVP Enforced realmente não pega Skull, fica nas sources para funcionar desta forma.
  4. Me informe por favor. No caso seria um item em formato de estrela ou é basicamente um Mapa que lembre uma estrela?
  5. Qual ip está enviando para os respectivos computadores se conectarem? Ip Direta ou Redirecionamento?
  6. Bom, crie o respectivo piso com a actionID normalmente e registre a ação em movements.xml. O script lua segue abaixo: local idpedra = XXXX -- ID da pedra local pos = {x=000, y=000, z=0} -- Coordenada da pedra local msg_remover = "Pedra removida com sucesso." -- Mensagem ao remover a pedra local msg_repor = "Pedra adicionada novamente." -- Mensagem ao repor a pedra function onStepIn(cid, item, position, item2, fromPosition) local check = getTileItemById(pos, idpedra).uid if check > 0 then doRemoveItem(check, 1) doPlayerSendTextMessage(cid, 4, msg_remover) else doPlayerSendCancel(cid, "A pedra já foi removida.") end return true end function onStepOut(cid, item, position, item2, fromPosition) local check = getTileItemById(pos, idpedra).uid if check < 1 then doCreateItem(idpedra, 1, pos) doPlayerSendCancel(cid, msg_repor) end return true end Não testei, poste o resultado para que possamos resolver possíveis bugs juntos. Boa sorte.
  7. Muda a linha 20 para a mesma coisa que está na 15. #EDIT: Sacanagem postar os erros de um script que nem imaginamos como é né.. Como poderemos ajudar? :/
  8. Tranquilo, que bom que funcionou. Confesso que foi um dos primeiros scripts de edição direta na Database que crio. Faça bom aproveito.
  9. Creio que já testei assim, mas vamos lá. Obrigado por hora. #Compilando e já edito. ##EDIT: Não funcionou :/
  10. Aproveitando o ensejo, e para a versão 0.3.6, como fazemos esta alteração? Que por sinal, encontra-se da seguinte forma: Aguardo.
  11. Teste assim: local tpid = 1387 -- ID do teleporte local timeremove = 5 -- Em minutos, remove teleporte local create_tp = {x=XXX, y=XXX, z=XXX} -- Coordenada de onde será criado local destine_tp = {x=XXX, y=XXX, z=XXX} -- Coordenada de destino local msg_create = "Mensagem de aviso sobre ativação do evento." local msg_final = "Evento finalizado e teleport removido com sucesso." function onTime(interval) doBroadcastMessage(msg_create) doCreateTeleport(tpid, destine_tp, create_tp) addEvent(RemoveTPEvent, timeremove * 60 * 1000) return true end function RemoveTPEvent() if getTileItemById(create_tp, tpid).uid > 0 then doRemoveItem(getTileItemById(create_tp, tpid).uid, 1) doBroadcastMessage(msg_final) else Print('Não há teleport para ser removido.') end return true end ou assim: local tpid = 1387 -- ID do teleporte local timeremove = 5 -- Em minutos, remove teleporte local create_tp = {x=XXX, y=XXX, z=XXX} -- Coordenada de onde será criado local destine_tp = {x=XXX, y=XXX, z=XXX} -- Coordenada de destino local msg_create = "Mensagem de aviso sobre ativação do evento." local msg_final = "Evento finalizado e teleport removido com sucesso." function onTime(interval) doBroadcastMessage(msg_create) doCreateTeleport(tpid, destine_tp, create_tp) addEvent(RemoveTPEvent, timeremove * 60 * 1000) return true end function RemoveTPEvent() doRemoveItem(getTileItemById(create_tp, tpid).uid, 1) doBroadcastMessage(msg_final) return true end
  12. Atualizei o script. Teste agora, foi uma desatenção minha. Caso não funcione, me diga qual sua distro para que eu adapte a função onTime. Abraços.
  13. Obrigado, vou apenas pedir para marcar como Melhor Resposta para que o tópico receba o status de Resolvido. Faça bom aproveito.
  14. Bom dia. 1º Script: Este é do teleport que se abre automaticamente. A tag em globalevents.xml será esta: <globalevent name="TpAuto" time="14:00" event="script" value="tpauto.lua"/> E o script lua será este abaixo: ____________________________________________________________________________________ 2º Script: Já a de remover Storage, teste este script aqui: local strg = 'XXXX' -- Mantenha as aspas Ex: '12321' function onThink(interval, lastExecution, thinkInterval) db.executeQuery("DELETE FROM `player_storage` WHERE `key` = strg;") return true end A tag no globalevents será parecida com a de cima, mudando, é claro, o nome do evento e do arquivo lua. Boa sorte.
  15. Atualizei, com level agora: Se não depende de Premium Account: Boa sorte.
  16. Boa tarde. Fiz em talkactions pois não curto muito spells, trabalhei muito pouco com.. Enfim, segue abaixo: Boa sorte.
  17. Só queria saber se essa magia será de ataque, defesa, etc.. Porque precisamos aproveitar as funções já de uma vez.
  18. Adriano SwaTT postou uma resposta no tópico em Ferramentas OpenTibia
    Pra falar a verdade nunca fiz a mudança.. Creio que seja possível, até mais facilmente, através do programa Object Builder. Boa sorte.
  19. Muito bom o servidor, baixado e reputado. Obrigado por compartilhar.
  20. Adriano SwaTT postou uma resposta no tópico em Suporte & Pedidos
    O Projeto está pausado pois tenho um em prioridade. Mas breve estarei retomando para terminar com rapidez. Obrigado por comentar.
  21. Nossa, realmente este script tem alguma coisa.. Mas está tenso de encontrar. Teste assim: function onUse(cid, item, frompos, item2, topos) if getItemAttribute(item.uid, "corpseowner") ~= cid then doPlayerSendCancel(cid, "You're not the owner.") return true end local items = {} for x=0, (#getContainerSize(item.uid)) do local itens = getContainerItem(item.uid, x) --if isInArray(toloot, itens.itemid) then table.insert(items, {i=itens.itemid, q=itens.type}) doRemoveItem(itens.uid) --break --end end for y=1, #items do doPlayerAddItemStacking(cid, items[y].i, items[y].q) doPlayerSendTextMessage(cid, 20, "Looted "..items[y].q.."x "..getItemNameById(items[y].i)..".") end if #items > 0 then return true else return false end end Boa sorte.
  22. Testei este e funcionou tranquilamente. Boa sorte.
  23. Melhor, poste o script AutoLoot pra eu conferir uma coisa. Fico aguardando.

Informação Importante

Confirmação de Termo