Ir para conteúdo

Omega

Marquês
  • Total de itens

    1165
  • Registro em

  • Última visita

  • Dias Ganhos

    13

Tudo que Omega postou

  1. 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
  2. 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
  3. 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.
  4. Omega

    Dois Pedidos

    Não tá mostrando a correção em spoiler? http://pastebin.com/SRNS27CF
  5. 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
  6. Omega

    Dois Pedidos

    tenta essa correção pro conjurewand.lua
  7. 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:
  8. 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.
  9. 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.
  10. 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.
  11. 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)
  12. 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.
  13. 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?
  14. 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
  15. 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
  16. 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.
  17. 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
  18. É disso que você tá falando? Se for de grana, tem na configuração. Se não for essa a dúvida, explique melhor.
  19. 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.
  20. Omega

    2 Scripts

    Corrigido no tópico > http://www.xtibia.com/forum/topic/220287-anel-ressucitador/
  21. Ô 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.
  22. Meu nome é Daniel, tenho 20 anos e moro no Rio de Janeiro. Estudo engenharia química e trabalho como professor particular.
  23. Pra por spoiler você faz isso: [ spoiler ] CONTEÚDO EM SPOILER [ /spoiler ]. Claro, sem os espaços dentro dos colchetes ( [ ] ). O erro foi que você botou numa pasta (novos) e não deve ter sinalizado isso dentro da tag do creaturescripts.xml Compara: <event type="preparedeath" name="Anel Ressucitador" event="script" value="ring.lua"/> (30/08/2013 20:37:05] [Warning - Event::loadScript] Event onPrepareDeath not found (data/creaturescripts/scripts/novos/Anel Ressucitador.lua) O erro diz: - Aviso: não consegui carregar o script que tá aqui (data/creaturescripts/scripts/novos/Anel Ressucitador.lua) - Então tenta mudar o value="ring.lua" para value="novos/Anel Ressucitador.lua"
  24. Omega

    Dois Pedidos

    Erro bobo meu, tenta de novo.
  25. Um usuário me pediu pra fazer e achei interessante, então vou postar aqui pra quem quiser usar: INFORMAÇÕES: Ring que previne a morte de um jogador que tiver equipado o ring por pelo menos 5 minutos. CÓDIGO: Creaturescript:Crie um arquivo chamado ring.lua em creaturescripts/scripts: Tag no creaturescripts.xml <event type="preparedeath" name="Anel Ressucitador" event="script" value="ring.lua"/> Tag no login.luaAdicione isso perto dos outros register em creaturescripts/scripts/login.lua registerCreatureEvent(cid, "Anel Ressucitador") Movement:Crie um arquivo ringres.lua em movements/scripts Tag no movements.xml: <movevent type="Equip" itemid="id do ring" level="level necessário" script="ringres.lua"/> OBSERVAÇÕES: Se houver algum bug, poste o erro em spoiler no comentário ou será ignorado Cuidado para não deixar duas tags do mesmo item no movements.xml Verifique quais atributos esse item muda no items.xml
  • Quem Está Navegando   0 membros estão online

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