Ir para conteúdo
  • Cadastre-se

xWhiteWolf

Héroi
  • Total de itens

    3604
  • Registro em

  • Última visita

  • Dias Ganhos

    158

Tudo que xWhiteWolf postou

  1. os.time() é uma função que retorna o Unix time. Basicamente são os segundos que se passaram desde 00:00:00 de 1 de janeiro de 1970. Foi a data em que o "tempo" começou na era dos computadores e a medida acabou sendo usada até hoje. É uma ótima função para brincar com o tempo e é amplamente usada em todo tipo de linguagem. No tibia seus principais usos estão em global events e storages (exaustão entre comandos). O formato principal dessa função é assim. Fazer tal coisa salva o os.time num storage fim pegar o os.time novo e subtrair o os.time antigo (getPlayerStorageValue), se isso for &
  2. acho q o problema foi que vc deixou um numero muito alto no multiplicador de dano e deixou um numero mt pequeno no multiplicador de defesa: <formula meleeDamage="8.0" distDamage="8.0" wandDamage="3.0" magDamage="3.5" magHealingDamage="7.0" defense="1.1" magdefense="1.3" armor="50.0"/> aumenta o defense, magdefense e o armor.. isso pra cada classe!
  3. lê oque eu falei e vê oque tu fez O certo era ter ficado assim: function onCastSpell(cid, var) if getPlayerStorageValue(cid, 378378) >=3 then doCombat(cid, combat, var) --- isso aqui que é o "resto" do script end return true ---da função oncastspell end ---- da função on cast spell
  4. Vou te ensinar 5 passos simples pra conseguir tudo que vc quiser aqui: 1) clica no Procurar e escreve oque vc quiser. 2) Repita os passos anteriores pra qualquer dúvida que vc tenha; 3) Caso não ache, procure no google seguido de otserv.. exemplo: quero achar um castle war 24h, então eu escrevo: "Castle War 24h otserv" 4) Caso não tenha sucesso, crie um tópico MUITO BEM EXPLICADO sobre qual é sua dúvida, faça questão de reler seu tópico a fim de não deixar nenhuma dúvida e checar possíveis erros de ortografia que tornem a leitura dúbia, lembre de falar sua versão de server e que versão d
  5. danih, vc só colocar as coisas fora da function principal quando elas não variam com o tempo. a pos do player tem que ser pega quando ele clicar na alavanca e não quando liga o server. o certo seria: function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getPlayerPosition(cid) local up = {x= pos.x, y = pos.y, z= pos.z+1} -- aumenta um andar local down = {x= pos.x, y = pos.y, z= pos.z-1} -- diminui um andar. if (item.itemid == 1946) then doTeleportThing(cid, up) elseif (item.itemid == 1945) then doTeleportThing(cid, down) end return true end função ao Usar: pega a posição
  6. bom, a galera tá usando mais loops [for, while] (digamos que tá na moda) e tão preferindo fazer funções. O script novo é basicamente isso, e sem contar tb que ele é pro TFS novo (1.0) nessa nova versão você pode inserir uma função dentro de outra usando ":" como nesse exemplo aqui for i = 1,4 do Player(cid[5-i]):teleportTo(new_player_pos[i]) para i = 1,4 fazer: Player(cid[5-i]): teleportar para (NovaPosiçãoDePlayer) Ele vai começar com i = 1, daí teremos Player de numero 4 vai ser teleportado para a posição de numero 1 da table de new_player_pos dps o player de numero 3 vai
  7. dica pra fazer o do elevador: if item.id = 1945 then local pos = getPlayerPos (cid) np = {x= pos.x, y = pos.y, z= pos.z+1} -- aumenta um andar doTeleportThing(cid, np) elseif item.id = 1946 then np = {x= pos.x, y = pos.y, z= pos.z-1} -- diminui um andar. doTeleportThing(cid, np) end ISSO É SÓ UM ESBOÇO de como fazer o script. Daí vc coloca um actionid no actions.xml e coloca eles na alavanca, se o item for 1945 ele sobe o player e se for 1946 ele desce um andar.
  8. não precisa fazer por query :/ é só colocar do jeito que o Max demonstrou pois já há a função setCreatureMaxHealth(cid, newHp) e setCreatureMaxMana(cid, newMana) eu usei assim no meu sistema de reset: local hp = getCreatureMaxHealth(cid) local resethp = hp*(config.percent/100) setCreatureMaxHealth(cid, resethp) local differencehp = (hp - resethp) doCreatureAddHealth(cid, -differencehp) local mana = getCreatureMaxMana(cid) local resetmana = mana*(config.percent/100) setCreatureMaxMana(cid, resetmana) local differencemana = (mana - resetmana) doCreatureAddMana(cid, -differencemana) se vc qui
  9. tem outros sistemas de castle que contém o global events, dá uma procurada aí que vc acha.. aqui no TK tem pelo menos uns 2
  10. faz uma function onLogin que sete um storage com os.time () no player, dai na talkaction vc coloca pra checar os.time () - esse storage que vc salvou. Dessa forma vc vai ter como medir a diferença de tempo em que ele logou e o tempo na hora que ele executa a talkaction.
  11. ela tá por fórmula tb, que estranho.. posta seu vocations.xml aí pra mim dar uma olhada. Não consigo imaginar oque esteja causando isso :/
  12. único erro aparente é que o os.time() não usa milisegundos, ele usa o tempo em segundos.. então não precisa multiplicar por mil; local pausa = days*24*60*60*1000 ficaria local pausa = days*24*60*60 e um adendo: quando vc pretende colocar action por itemid você não precisa colocar esse if item.itemid == seuitem porque o script só vai ser ativado quando for aquele itemid então não faz sentido isso. A gente coloca essa condicional quando tiver mexendo com dois ou mais items no mesmo script ou em alguns casos extremos quando o cara quer ter certeza absoluta que o action/uniqueid pertence aquel
  13. Ulatson, eu ando meio ocupado pra ficar scriptando então só vou dar dicas de como fazer ou onde conseguir: tem como colocar no script por exemplo para o Player falar só !resetar? Esse script foi feito para ser com Npc (porque eu acredito que dá mais RPG pro jogo), aqui no fórum vc encontra outros scripts feitos em talkaction desse modelo aí que você quer nesse script os outros jogadores vão conseguir visualizar quantos resets o player tem ? sim, ao dar Look aparece a quantidade de resets. tem como colocar nesse modelo abaixo: level 10.000 -3 resets após 3 resets o player só vai poder reset
  14. no caso vc teria que criar novas vocações como sendo Hibridos, exemplo: Se o cara era Paladino (3) e decide Virar Sorc (1) ele resetava como sendo Dark Paladin (9) e poderia usar algumas magias de paladin, algumas de sorc. Dava pra fazer tb algumas magias exclusivas de vocações como uma flecha encantada ou coisas parecidas.. A idéia é legal mas pra eu te ensinar a fazer isso você teria que manjar bastante das engines do seu server porque requer bastante trabalho manual. Em todo caso vou deixar essa resposta aqui e se alguém tiver muita paciência pra fazer pra ti ele pode usar essa lógica aqui
  15. todas as magias estão assim ou somente essa magia? Posta o script dela por favor pra eu dar uma olhada
  16. achei muito legal e inclusive eu tive uma idéia muito loca lendo os sistemas que esse server possui, vou tentar criar no próximo fds e se eu conseguir eu passo pra vocês, acho que vai ajudar.
  17. não executa porque "pos" não existe... que parametro é esse "pos" que você utilizou? function potion(pos, cid) local limitedeuso = 49012 doPlayerSetExperienceRate(pos,expfinal) doPlayerSendTextMessage(pos,22,textofinal) setPlayerStorageValue(cid, limitedeuso, 0) end você tinha que ter declarado ele antes ou utilizado outro parametro já conhecinho. Eis os conhecidos: function onUse(cid, item, frompos, item2, topos)
  18. especifique mais gafanhoto, attack melee mesmo, distance, wand ou spells? Ou Todos??
  19. /attr set level "valor" não sei se vai dar certo mas é esse o comando q eu conheço
  20. eu nunca mexi com Otb Editor, se não eu te ajudava :/ eu só sei que ele existe e oque ele é capaz de fazer
  21. http://www.tibiaking.com/forum/topic/11142-criar-um-item-com-id-propria-usando-o-item-editor/ http://www.tibiaking.com/forum/topic/11142-criar-um-item-com-id-propria-usando-o-item-editor/ http://www.tibiaking.com/forum/topic/20068-item-editor/
  22. http://www.tibiaking.com/forum/topic/33736-addevent-send-magic-effect-algu%C3%A9m-sabe/
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo