Ir para conteúdo

Omega

Marquês
  • Total de itens

    1165
  • Registro em

  • Última visita

  • Dias Ganhos

    13

Tudo que Omega postou

  1. Roksas, tava testando umas coisas com creaturescripts de monstros ontem e não funcionava no login.lua. Talvez seja do servidor, mas eu tive que colocar a tag do evento no .xml do monstro. Dessa maneira: <script> <event name="Nome do Creaturescript"/> </script> Colocando isso debaixo da TAG </flags> (creio que sirva em qualquer lugar) Aí na segunda linha do script (embaixo da função e seus parâmetros, você registra o evento) Eu também gosto de adicionar um string.lower na comparação pra não errarem por escrever por falta ou abuso de letras maiúsculas, além de ter consertado uma coisa: você colocou 40/100 getCreatureHealth(cid), mas acho que a intenção era getCreatureMaxHealth(cid). Enfim, a minha versão final fica assim:
  2. Omega

    Dois Pedidos

    Não tá mostrando a correção em spoiler? http://pastebin.com/SRNS27CF No Notebook, não estava aparecendo. Mais entrei aqui no Desketop apareceu Valeu. Vou testa e amanha respondo aqui te avisar se tiver algum BUG. Mais mesmo assim obrigado. Erro : [03/09/2013 13:27:01] [Error - CreatureScript Interface] [03/09/2013 13:27:01] data/creaturescripts/scripts/new/wand.lua:onLogin [03/09/2013 13:27:01] Description: [03/09/2013 13:27:01] data/creaturescripts/scripts/new/wand.lua:5: attempt to call global 'doRemoveWand' (a nil value) [03/09/2013 13:27:01] stack traceback: [03/09/2013 13:27:01] data/creaturescripts/scripts/new/wand.lua:5: in function <data/creaturescripts/scripts/new/wand.lua:3> Cara, não tá lendo a função doRemoveWand antes... tenta passar pra functions.lua na lib ou copiar e colar ela antes do script de login
  3. Meu pedido: (EDIT²: acho que como assinatura ficaria melhor) Tema: Game of Thrones | Tamanho: Imagem para assinatura | Omega // Leoric Sei lá, gostei do que vi nos outros pedidos, então acho que confio no seu trabalho Obrigado desde já EDIT: Achei essa imagem com o juramento Patrulha da Noite, e gostaria de pedir pra encaixar alguns (não precisa de todos) os dizeres dela na imagem.
  4. Omega

    [Pedido] Mensagem

    Cria um arquivo chamado admlogin.lua e salva em creaturescripts/scripts function onLogin(cid) if getPlayerGroupId(cid) == 6 then doBroadcastMessage(getCreatureName(cid)..' online!') end return true end Vai em creaturescripts.xml e adiciona isso: <event type="login" name="ADMLogin" event="script" value="admlogin.lua"/> Eu tô considerando que já tem o ADM no nome dele. Se não, fica assim: function onLogin(cid) if getPlayerGroupId(cid) == 6 then doBroadcastMessage('.ADM '..getCreatureName(cid)..' online!') end return true end
  5. Omega

    Wolrd Hell

    O cara tá certo, isso é em spells.xml, mas se quiser adicionar por fora, faz assim: function onCastSpell(cid, var) local mana = 100 local exhaust = 5 local storage = 13055 if getCreatureMana(cid) > mana then if getPlayerStorageValue(cid,storage) < os.time(t) then local parameters = { cid = cid, var = var,combat1 = combat1,combat2 = combat2} doCreatureSay(cid, "exevo gran mas hell", TALKTYPE_ORANGE_1) addEvent(onCastSpell1, 0, parameters) addEvent(onCastSpell2, 0, parameters) setPlayerStorageValue(cid,storage,os.time(t) + exhaust) else doPlayerSendCancel(cid,'You are exhausted.') doSendMagicEffect(getCreaturePosition(cid),2) end else doPlayerSendCancel(cid,'You don\'t have enough mana.') doSendMagicEffect(getCreaturePosition(cid),2) end end
  6. Cara, eu testei aqui várias vezes e tá funcionando, sim. Funciona no meu OT 8.6. Tenta com a configuração padrão (a que eu postei), mudando a chance pra 100 e o nome pra demon. Daí testa reiniciando o seu OT e matando um demon.
  7. Omega

    Dois Pedidos

    Não tá mostrando a correção em spoiler? http://pastebin.com/SRNS27CF
  8. Depois de bater MUITO a cabeça aqui, consegui. Vamos lá: 1. Pasta Monsters Escolha um monstro para editar o loot e abra o .xml dele Adicione isso nas embaixo da </flags> : <script> <event name="CustomDrop"/> </script> 2. Pasta Creaturescripts Adicione isso em creaturescripts.xml: <event type="death" name="CustomDrop" event="script" value="customdrop.lua"/> Crie um arquivo chamado customdrop.lua em creaturescripts/scripts com esse código: 3. Configurando para mais de um monstro Aplique a etapa 1 (Pasta Monsters) ao novo monstro escolhido. Vá em customdrop.lua e apague o return true e pule duas linhas Selecione da terceira linha até essas duas linhas Copie e cole No segundo config = {... (ou seja, a primeira parte que você copiou), mude para config2 Mude todas as linhas que chamam o config na segunda parte para config2 Legal essa sua ideia (é sua mesmo?) Vou até usar aqui no meu servidor =P
  9. Omega

    Dois Pedidos

    tenta essa correção pro conjurewand.lua
  10. Omega

    Dois Pedidos

    Cara, o chato da wand é que vão ser vários arquivos: um da spell pra criar a wand, outro de movements pra não deixar o cara tirar ela depois que cria e mais um pra se o cara logar, ele perder a wand quando voltar. Portanto, aí vai: TAGs: creaturescripts.xml: <event type="login" name="wandLogin" event="script" value="wandlogin.lua"/> movements.xml: <movevent type="DeEquip" itemid="ID DA WAND" event="script" value="wandmove.lua"/> spells.xml: Arquivos: spells/support/conjurewand.lua: movements/scripts/wandmove.lua: creaturescripts/scripts/wandlogin.lua:
  11. Porque você vai usar um addEvent com um cid. O cid é único pra cada criatura e jogador. Daí, imagina se o jogador morre ou loga. O computador não sabe que é pra mudar o cid dele nesse caso, e quando (ou se) ele voltar, aquele cid que você usou já não existe mais. Então o computador lê um cid e tenta procurar uma criatura, mas não acha, ai aparece aquele erro no distro: creature not found. Por isso você usa if not isCreature(cid) then return true end em scripts desse tipo, porque se não for uma criatura, ele nem vai tentar fazer nada e não vai dar erro.
  12. Cara, dá pra fazerem movements: um onStepOut, verificar se o id da porta é o da porta aberta e trocar pro da porta fechada. Alguém sabe qual é o stackpos de portas ou tem que fazer um loop pra checar todas? Eu tô fora de casa, então se ninguém tiver tentado fazer isso até eu voltar, eu tento.
  13. Não é problema com a sua distro, não. O nome da variável é taskstg, não tasksg. Eu devo ter escrito errado. Se der algum outro desse erro, é só substituir por taskstg.
  14. Omega

    Dois Pedidos

    Qual as Linhas? Esse Sto e a que eu tenho que coloca no bau? O erro foi que eu tinha esquecido de colocar vírgula listar no config. Pra colocar esse baú no jogo você coloca uma tag com a seguinte tag no actions.xml: <action actionid="actionid" script="baumagiavip.lua"/> Aí coloca um baú com o action id que você preencher (salva o código como baumagiavip.lua em actions/scripts)
  15. E qual é o erro? Não acontece nada? Não aparece nada na janela do servidor? Tenta uma última coisa, então: usa /storage NomeDoJogador,89716 Se aparecer storage -1, não sei qual é o problema (tente refazer os passos que o Roksas disse, substituindo o script do creaturescripts pelo que eu postei) Se aparecer algo diferente de -1, substitua todos os campos que tem 89716 por algum outro numero grande e aleatorio Poste aqui tudo o que aconteceu: erro, mensagens, etc.
  16. Cara, não consigo ver nada de errado. Você tem certeza que não esqueceu de colocar registerCreatureEvent (como o Roksas falou no primeiro post dele) dentro do login.lua? Colocou a tag certa no creaturescripts.xml? Qual é o erro?
  17. Cara, se você não quer task por comando, pode usar uma dessas alternativas: http://www.xtibia.com/forum/topic/220239-tasks-diarias-e-por-level/ --> feita por mim http://www.xtibia.com/forum/topic/151636-simple-task-30/ --> feita pelo Vodkart
  18. Tenta usar isso aqui: function onKill(cid, target, lastHit) local pokeR = "Pikachu" local pokeT = {x = 500, y = 400, z = 7} if not isMonster(target) then return true end if string.lower(getCreatureName(target)) == string.lower(pokeR) and getPlayerStorageValue(cid,89716) == -1 then doTeleportThing(cid, pokeT) doPlayerSendTextMessage(cid, 20, "[Recompensa] Você foi recompensado por matar o "..pokeR..".") setPlayerStorageValue(cid,89716,1) return true end return true end
  19. Cara, até tem, mas eu teria que refazer boa parte dos códigos. Dá uma olhada nessa task pra ver se não é melhor pro que você quer: http://www.xtibia.com/forum/topic/151636-simple-task-30/ Tem vários tipos de task postadas aqui, cada uma com suas peculiaridades. A minha pode ser repetida, a do Vodkart é muito mais completa, mas não pode repetir e não tem configuração de tempo, a do Roksas não tem npc, é direto pelo comando e fica aparecendo mensagens conforme você progride na task. Enfim, escolhe qual é a melhor opção pra você. Varia para cada um. EDIT: se mesmo assim você ainda preferir a minha task, eu tiro um tempo pra ajeitar depois.
  20. Cara, fiz um script anti-idle, talvez funcione para o que você quer. Tag no creaturescripts.xml: <event type="login" name="AntiIdle" event="script" value="antiidle.lua"/> Arquivo antiidle.lua em creaturescripts/scripts (não precisa registrar no login.lua) function doCheckIdle(cid,oldPos,oldDir) local storage = 908870 local time = 20 -- tempo em minutos para que o cara seja kickado se ficar na mesma posição if not isPlayer(cid) then return false end local idleTime = getPlayerStorageValue(cid,storage) local newPos = getCreaturePosition(cid) local newDir = getPlayerLookDir(cid) if oldPos == newPos and oldDir == newDir then setPlayerStorageValue(cid,storage,idleTime+1) else setPlayerStorageValue(cid,storage,-1) end if idleTime >= time then doRemoveCreature(cid) elseif idleTime >= (time-1) then doPlayerSendTextMessage(cid,21,'Voce foi detectado pelo anti-idle. Mude sua posicao nos proximos 10 segundos ou sera kickado.') addEvent(doCheckIdle,10000,cid,newPos,newDir) else addEvent(doCheckIdle,60000,cid,newPos,newDir) end return true end function onLogin(cid) addEvent(doCheckIdle,60000,cid,getCreaturePosition(cid),getPlayerLookDir(cid)) return true end
  21. É disso que você tá falando? Se for de grana, tem na configuração. Se não for essa a dúvida, explique melhor.
  22. Adicione a tag onDeEquip no movements.xml (igual a do onEquip, mas com De) Agora o creaturescripts: Não tinha carregado o post do cara aí de cima. Só vi uma diferença significativa: - Na minha correção, o cara só perde o anel se ele não estiver ativado (se quiser mudar pra ativado você coloca getPlayerStorageValue(cid,...) >= 30) - Na correção do Smix você sempre vai perder o ring quando desequipar, ativado ou não.
  23. Omega

    2 Scripts

    Corrigido no tópico > http://www.xtibia.com/forum/topic/220287-anel-ressucitador/
  24. Ô caramba, tem um erro imbecil mesmo! Cara, é o seguinte: estava escrito onPreprareDeath, mas a função é onPrepareDeath. Tô corrigindo no tópico principal, mas a solução é a seguinte: Substitua: Por Agora deve funcionar. Qualquer coisa estou a disposição.
  25. Meu nome é Daniel, tenho 20 anos e moro no Rio de Janeiro. Estudo engenharia química e trabalho como professor particular.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...