Ir para conteúdo

Doughell

Membro
  • Registro em

  • Última visita

Tudo que Doughell postou

  1. Muitos scripters fazem scripts que impeça a passagem de um no-vip, já servidores mais sérios não possui vips é o que mais importa no jogo seria a premium account. Com esta action, será bem útil pois não permitirá a passagem de frees. Confiram: Premium Tile Crie um arquivo em movements/scripts com o nome de pt.lua e adicione o seguinte: local increasingItems = {[416] = 417, [426] = 425, [446] = 447, [3216] = 3217, [3202] = 3215} local decreasingItems = {[417] = 416, [425] = 426, [447] = 446, [3217] = 3217, [3215] = 3202} function onStepIn(cid, item, position, fromPosition) if(increasingItems[item.itemid] ~= nil) then if(isPlayer(cid) ~= TRUE or isPlayerGhost(cid) ~= TRUE) then doTransformItem(item.uid, increasingItems[item.itemid]) end end if item.actionid == 7890 then if isPremium(cid) == FALSE and getPlayerAccess(cid) < 4 then doTeleportThing(cid, fromPosition, FALSE) doPlayerSendCancel(cid,"Apenas premium accounts passam aqui.") return FALSE end end return TRUE end Agora adicione em movements.xml a seguinte linha: <movevent event="StepIn" actionid="7890" script="pt.lua"/> <movevent event="StepOut" actionid="7890" script="tiles.lua"/> É isso, galera espero que tenham gostado qualquer dúvida comentem!
  2. Bom em muitos servidores "avacalhados" possuem aquelas runas ou até mesmo comandos onde se teleporta para o templo sem nenhuma restrição, por exemplo: Ta na war, a vítima se teletransporta pro templo sem nenhuma restrição com uma palavra mágica. Ridículo, não é mesmo? Pois é, agora acabei aperfeiçoando está ideia e vejam o script: Rune Teleport Crie um arquivo em actions/scripts com o nome de teleportrr.lua e adicione: function onUse(cid, item, frompos, item2, topos) local days = 1 if getPlayerStorageValue(cid, 7870) <= 0 and getCreatureCondition(cid, CONDITION_INFIGHT) == FALSE then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doSendMagicEffect(getPlayerPosition(cid),10) doPlayerSendTextMessage(cid,22,"You have just used your daily teleport rune charge.") setPlayerStorageValue(cid, 7870, os.time()+days*3600*24) else horas = math.floor((getPlayerStorageValue(cid, 7870) - os.time())/(3600)) minutos = math.floor((getPlayerStorageValue(cid, 7870) - os.time())/(60)) if horas >= 1 then return doPlayerSendCancel(cid, "You will be able to use the teleport rune in "..(minutos < 0 and 0 or minutos).." minutes") else return doPlayerSendCancel(cid, "You are in the middle of a fight, you cannot use the teleport rune.") end end end E adicione em actions.xml a seguinte linha: <action itemid="2314" event="script" value="teleportrr.lua"/> É isso e me desculpem pela demora de correções de bug!
  3. Doughell postou uma resposta no tópico em Portal
    Boa Augusto, e lembram-se! Antes conseguia usar o novo IP ts.tibiaking.com é o antigo, agora e apenas o novo!
  4. Alem disso pode ser problema no config.lua, verifique as coordenadas onde o player nasce.
  5. Ótima aula Lpz, sobre quem esta criando novos scripts tambem auxilio o uso do gráfico ou apenas com as perguntas e respostas (e a que eu utilizo) pois tudo fica mais fácil para elaborar o script! Reputado!
  6. Doughell postou uma resposta no tópico em Monsters, NPC, Raids & Mounts
    Cara, ficou muito bom mesmo o resultado! Como dito, fácil de configurar! Reputado! @Lpz Bem vindo a equipe dos Aprendizes!
  7. Haha, boa ideia vou por em prática!
  8. Doughell postou uma resposta no tópico em Playground (Off-topic)
    Nunca fui convidado para uma festa dessas, quem diria se eu fosse \o
  9. Melhor servidor da versão 9.10, muito bom mesmo!
  10. 130 membros registrados, é isso ai!
  11. Bem lembrando Lpz, não perdi nada em migrar para este fórum! Aqui valorizam bem mais os usuários, e não porquê possui poucos e é fácil para dar atenção, não é não, e por causa da organização da Equipe tanto como Aprendizes como os Superiores (Imperadores, Moderadores, Suporters...).
  12. É isso galera, TibiaKing crescendo cada vez mais! Espero que desse número venha mais 100, mais 100 é futuramente seja um fórum preferencial a todos!
  13. Boa Kimoszin, belos scripts! Este ai foi bem útil, criaram a pouco tempo um por comandos mais nunca tinha visto com a função OnUse, parabêns mesmo! Reputado!
  14. Otimo script e bem simplificado, diferente daqueles !moves com diversas linhas, parabêns! Reputado!
  15. Otimo inicio Lpz, parabêns por essa introdução e sobre a programação. lua, estarei acompanhando! Reputado!
  16. Doughell postou uma resposta no tópico em Playground (Off-topic)
    Bela tirinha, hahahahha. Aproveitando esse tópico, lembrei quando comecei a fazer o inglês cheguei lá na sala de aula a professora já chego falando em Inglês, bom dia não sei o que blá blá blá (tudo em inglês), quando ela sento na cadeira peguei o material e meti o pé, porquê não sei nada de inglês e ela já chega apavorando, falo. hahaha, no outro dia voltei para fechar a matricula.
  17. Doughell postou uma resposta no tópico em Design Show Off
    O que seria isso?
  18. Bom, ficarei com o "desmembrando" o script é você faz as aulas (se quiser, claro), mudarei os titúlos.
  19. Olá a todos frequentadores da seção Scripting! Hoje partiremos para nossa segunda aula de Scripting, as duas aulas foram bem rápidas essa aqui já será um pouco mais complexa, mas espero que usufruam bem dela! local config = { doorPosition = {x = 100, y = 100, z = 7}, doorID = 1000, minAccess = 6, message = { doorOpen = "The door has been opened!" doorClose = "The door has been closed!" } } function onSay(cid, words, param) if getPlayerAccess(cid) >= config.minAccess then local item = getTileItemById(config.doorPosition, config.doorID) if item.uid > 0 then doRemoveItem(item.uid, 1) doPlayerSnedTextMessage(cid, 22, config.message.doorOpen) else doCreateItem(config.doorID, 1, config.doorPosition) doPlayerSendTextMessage(cid, 22, config.message.doorClose) end end return true end Agora vamos as explicações: local config = { Esse o inicio de uma tabela, para fácilitar a organização (isso e uma das vantagens). doorPosition = {x = 100, y = 100, z = 7}, A posição aonde o item/door será removido e adicionado. doorID = 1000, O ID da door, selecione corretamente! minAccess = 6, O acesso que precisa ter no minimo para executar o comando, message = { Entre essa tabela, terá as mensagens de abertura e fechamento. doorOpen = "The door has been opened!" Mensagem que aparecerá ao abrir o portão. doorClose = "The door has been closed!" Mensagem que aparecerá ao fechar o portão. } } Fecha as tabelas. function onSay(cid, words, param) Para executar o comando é por meio de falas, palavras (exemplo: !gate) if getPlayerAccess(cid) >= config.minAccess then A if onde checa o acesso minimo para executar o comando. local item = getTileItemById(config.doorPosition, config.doorID) Checa o tile (piso) para as configurações da posição da porta e do ID. doRemoveItem(item.uid, 1) Remove o ID da door selecionado e a quantidade 1. doPlayerSnedTextMessage(cid, 22, config.message.doorOpen) else Para mandar a mensagem ao abrir a porta, o número 22 e a cor da mensagem. Observação: A função "else" fará o contrário do de baixo, por exemplo No de baixo deu certo, no de cima com o else dará certo. doCreateItem(config.doorID, 1, config.doorPosition) Criará a door (com a id selecionada) na quantidade 1 com as configurações da posição. doPlayerSendTextMessage(cid, 22, config.message.doorClose) Mandará uma mensagem que a porta foi fechada. end end return true end O final do script, para fechar as ifs o script e checar a função no return, no caso true.
  20. Valeu ai Alexx pela força! Continue com seus scripts de website
  21. Olá a todos frequentadores da seção Scripting, tomei minha própria iniciativa junto com o Lpz de criar dicas ao scripting, como perceberam ele já começou com seu tópico dicas onde foi muito importante a iniciantes! Hoje começarei de nv. de script inferior, com scripts/comandos/funções básicas! Então vamos começar com o comando parecido com o do !aol que é bastante útil a outros servidores. Ok, vamos lá! function onSay(cid,words,param) if doPlayerRemoveItem(cid,2145,10) == TRUE then doPlayerAddItem(cid,1738,1) doCreatureSay(cid,"MENSAGEM QUE A TALKACTION FOI REALIZADA COM SUCESSO",TALKTYPE_ORANGE_1) else doCreatureSay(cid,"MENSAGEM QUE HOUVE ERRO NA TALKACTION, MOTIVO: FALTA DE DINHEIRO",TALKTYPE_ORANGE_1) end end Agora vamos as explicações: function onSay(cid,words,param) Para executar o comando é por meio de falas, palavras (exemplo: !aol) if doPlayerRemoveItem(cid,2145,10) == TRUE then Esta linha já diz tudo "PlayerRemoveItem" significa que removerá o tal item do player, no caso removerá o ID 2145 (Small Diamonds) e a quantidade, que seria 10. Para modificar altere o número 2145 (Small Diamonds) para o que desejar idem a quantidade, que e o número 10. OBSERVAÇÃO do Alexx Pirado lol: Além de remover, ele checa se o player possui o item e a quantidade. Após isso executa a função. doPlayerAddItem(cid,1738,1) Essa função ela mesmo diz já "AddItem" ao executar o comando e não houver erros/falhas (ex: falta de dinheiro) adiciona o id do item, você mesmo opta por qual item adicionar e a sua quantidade. No caso os números 1738 é o ID do item é o número 1 e a quantidade. doCreatureSay(cid,"MENSAGEM QUE A TALKACTION FOI REALIZADA COM SUCESSO",TALKTYPE_ORANGE_1) else Essa mensagem será mandada para a creature(pessoa,player) entre as aspas adicione uma mensagem de sucesso, onde a pessoa conseguiu executar o script sem problemas (onde teve o dinheiro suficiente). Observação: A função "else" fará o contrário do de baixo, por exemplo No de baixo deu certo, no de cima com o else dará certo. O TALKTYPE_ORANGE_1 e a cor que aparecerá na tela do jogador, no caso laranja (mude ao seu gosto). doCreatureSay(cid,"MENSAGEM QUE HOUVE ERRO NA TALKACTION",TALKTYPE_ORANGE_1) Essa mensagem será mandada para a creature(pessoa,player) entre as aspas adicione uma mensagem de erro, onde a pessoa não consegui executar o script por que não possuia dinheiro (que e o caso do script). end end Os dois end servirão para fechar o if e o script. É isso ai galera, primeira "aulinha" espero que tenham gostado quem sabe hoje mesmo posto outra um pouco mais avançada!
  22. Doughell postou uma resposta no tópico em Websites
    Otimo script, facilitará muito a vida de alguns para a organização de si mesmo e do site! Parabêns, continue com o seu trabalho!
  23. Doughell postou uma resposta no tópico em Playground (Off-topic)
    Eu já vi este sprite em algum lugar, aguarde... Retire o que eu disse, acabei me confundindo. Belo trabalho!
  24. Obrigado pelo comentário, e qual seria o erro que não foi possível encontrar?
  25. Doughell postou uma resposta no tópico em Eventos de Design
    Ferlations

Informação Importante

Confirmação de Termo