Ir para conteúdo
Banner com Efeitos

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. amigo vc provavelmente errou alguma configuração, a unica forma de dar callstack overflow é qnd vc sair ele te teleportar pro teleporte de entrada e a entrada te levar pro teleporte de saída. Aí vc entra e fica saindo e entrando infinito
  2. xWhiteWolf postou uma resposta no tópico em Eventos de Mapping
    O mapa 1 está muito mais bonito com o contraste das cores com a água e o nivel de detalhes, mas o tanto de detalhes acabou tendo o efeito oposto principalmente pela quantidade de erros que estão a mostra. Nota final: 6.7 O mapa 2 está mais "simples" porém se atentou ao tema e foi uma execução perfeita. Eu só melhoraria os trilhos indo pela montanha, isso ficou um pouco estanho. Nota final: 8.5 Meu voto vai pro mapa 2.
  3. xWhiteWolf postou uma resposta no tópico em Eventos de Mapping
    Mapa 1: bordas muito irregulares, muita informação no mapa (items largados a esmo), coisas sem sentido (tubarão tão próximo da areia, uma bananeira no meio de uma praia?, a quantidade absurda de peixes no barco para duas pessoas, uma única barraca para duas pessoas, um narguile e duas almofadas no meio do nada, iluminação (????)... e por aí vai...) Nota final: 1 Mapa 2: Boa transição entre as bordas, percebam a forma que ele faz a transição da grama, pra grama mais ressecada e por fim a areia. Eu colocaria uma distância maior e outros tipos de plantas porque você tem aí muitas arvores/plantas grandes disputando os mesmos nutrientes num solo seco. Gostei da utilização das pedras, sobretudo nos terrenos argilosos mas faltou uma explicação pra ter áreas argilosas em contraste com a area de areia (argila é composta por agua, areia e sedimentos rochosos, então você quase acertou). Talvez se houvesse uma transição suave entre os terrenos: arvores > plantas baixas > grama verde > grama mais seca > argila > areia; e uma fonte de agua entre as arvores e a grama verde ficaria muito mais real. Bom jogo de bordas, cria uma dinâmica legal e sensação de 3D, gostei dos detalhes na ponte Nota final: 8 Meu voto vai pro mapa 2.
  4. eu nao conheço de OTX mas aparentemente essa versão q vc usa é equivalente a um TFS 1.x. Como esse código foi feito pra 0.4 não vai funcionar mesmo O erro que dá ta falando que você tá tentando passar um objeto por parametro como cópia e não como referencia
  5. colocou certinho antes do ultimo return true?
  6. o config.chance é a chance de achar um item picaretando, qnd acha um item, ele pega aleatoriamente entre o level minimo e o maior level que você tá
  7. xWhiteWolf postou uma resposta no tópico em Monsters, NPC, Raids & Mounts
    da forma q tá feito e da forma que o questlog foi feito não dá teria que ou modificar muito esse script ou refazer o sistema de questlog
  8. xWhiteWolf postou uma resposta no tópico em Monsters, NPC, Raids & Mounts
    as tasks tem numeros, certo? e a dificuldade também. Cria uma tabela com quais tasks devem ganhar storage e ai vc só verifica isso na hora da recompensa e mapeia esse storage.
  9. xWhiteWolf postou uma resposta no tópico em Monsters, NPC, Raids & Mounts
    é possível sim mas dependendo de como vc queira fazer isso pode se tornar uma tarefa bem complexa, talvez se vc der mais detalhes do que vc quer exatamente eu possa te orientar. O limite é o limite de numeros que cabe num storage, q se não me engano é algo em torno de 65000, mas tenta colocar mais e vê se ele contabiliza.
  10. ???? nao tem calculo, olha como funciona: local hp = getCreatureMaxHealth(cid) -- pego a vida máxima local resethp = hp*(config.percent/100) -- multiplico ela por 15 e divido por 100 (extraio 15%) setCreatureMaxHealth(cid, resethp) -- seto a vida máxima como sendo 15% da vida anterior local differencehp = (hp - resethp) -- pego a diferença de hp entre oque vc tinha e oque vc passou a ter doCreatureAddHealth(cid, -differencehp) -- removo essa diferença o que vc quer não tem nada a ver com o sistema, vc tem que colocar pra ganhar + hp ao upar ou deixar um level minimo maior pra resetar. Ou isso ou vc aumenta o 15 pra 20%
  11. faltou uma aulinha de % aí hahaha percent = 15, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) se você quer começar um novo reset com a vida que você tinha antes + 15% a porcentagem ali na configuração tem que ser 115. Dessa forma vc mantém os 100% que você tinha antes e de quebra ganha os 15% a mais que você quer
  12. @Maurilio1067 ta literalmente em cima do arquivo: "Enfim, vamos ao script: actions\scripts\mining.lua:"
  13. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    é só adicionar nessa tabela. Ele só aumenta o atributo se ele já existir. for key, value in pairs(self.attributes) do if getItemAttribute(self.item.uid, key) ~= nil or self.item[key] ~= 0 then doItemSetAttribute(self.item.uid, key, (self.item.level > 0 and getItemAttribute(self.item.uid, key) or self.item[key]) + value) end end Se você tiver esse atributo em itens que não sejam shield, vc faz outro if pra verificar se o type é shield.
  14. Eu trabalho na área então vou te explicar como funciona: Um programador bom custa de 3 a 10 mil reais. Vamos pegar o valor mínimo para facilitar ao máximo, até porque muita gente aqui não é um programador profissional nem nada do tipo. Considerando que um freelancing é muito mais caro que um salário normal, ainda assim vamos tomar 3k como base. Em 21 dias úteis no mês, isso daria 142 reais diários. Numa jornada CLT de 8 horas, seria aproximadamente 18 reais por hora. 18 reais por hora. Vamos reduzir isso pra 15 para facilitar os cálculos. Considera que tu contratou um cara profissional de Lua, pensa no tempo q ele ter que estudar pra aprender as funções exclusivas do TFS e entender todo o ambiente. Agora pensa que pra ele fazer isso, ele precisaria estudar por dias numa outra linguagem (C++). Eu chuto que ele levaria pelo menos 20 horas para entender o basico e mais umas 20 para sair com uma versão do sistema pronta e testada. Com todas as reduções que eu fiz, isso sairia em torno de 600 reais. Se fosse um sistema complexo, as interações entre as features escalam e o numero de testes que você precisa fazer cresce exponencialmente, e portanto o numero de horas necessárias também. Eu tenho +- 12 anos de experiencia com otserver, a maioria dos meus sistemas eu faço em algumas poucas horas. Mas já fiz eventos complexos, que me tomaram 3~4 dias trabalhando praticamente full time. No fim das contas, cobrar 200 reais por um evento desses é uma mixaria. Pensa que na otland tem gente contratando scripter brasileiro para fazer jobs recebendo em dólar para fazer coisas super simples. Hoje em dia eu não faço nenhum trabalho pro mundo de otserver, a não ser q seja por hobby. É muito mais vantajoso fazer trabalhos para os gringos em outras linguagens do que vender coisas pro tibia e ganhar uma merrequinha e ter que ouvir o client falando que tá caro.
  15. sim mas requer source editing, eu vou dizer os passo do que você precisa fazer mas eu não tenho como fazer tudo pra você: 1- Modificar o callback onKill na source -> tem uma série de modificações que seriam aceitaveis nesse caso mas a mais simples seria um parametro adicional chamado lastHit que seria true/false caso a pessoal seja o lastHit. 2- Se for lastHit você vai verificar se ele está em party e com o sharedExp ligado, caso esteja vc vai percorrer toda a party verificando se o membros estão num determinado range do player ou da criatura que morreu (você que escolhe, eu prefiro a criatura). A partir daí vc vai colocar essas pessoas q se enquadram nesses criterios dentro de uma tabela e percorrer essa tabela dando storage pra elas usando a mesma lógica do meu creaturescripts. 3- Basicamente tudo que é cid tem que virar pid lá, e pid será nada mais nada menos que os elementos dessa tabela de jogadores que são aptos a receber o count da task. Aí você faz um else pra se ele n tiver em guild para dar só pro cid.
  16. ela conta pra quem deu mais dano e quem deu ultimo hit só
  17. vai no link, clica em F12, aperta CTRL + SHIFT + C e clica no elemento da tabela, aí dá ctrl C no body e cola num arquivo de texto.
  18. cola o script no seu comentário por favor pra eu n acabar pegando o errado
  19. você pode tanto colocar as tasks no questlog ou colocar uma opção pro npc falar
  20. para zerar vc usa: doPlayerSetStorageValue(cid, config.experience, Editei ali em cima e ja aproveitei e corrigi um fecha parenteses q tava faltando
  21. fala qual o erro ou edita né amigo kkk
  22. 1- Coloca em creaturescripts/scripts/ login.lua antes do ultimo return true: if getPlayerStorageValue(cid, 19333) == -1 then setPlayerStorageValue(cid, 19333, 0) setPlayerStorageValue(cid, 19334, 0) end 2- a formula fica nessa linha aqui: if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then você muda para: if experience >= 10 *(getPlayerStorageValue(cid, config.storage) + 1) then 3- basicamente colocar um else
  23. se esse realmente for o unico problema, cria um trigger no banco de dados onUpdate q se o townid atual novo for = 0 então faz novo = antigo. xD Isso resolve teu problema mas claro q isso é colocar um band-aid, o ideal seria tu descobrir pq isso acontece e corrigir a causa raiz
  24. Da forma com que fizeram o questlog, ele é um arquivo imutável em XML. Eu precisaria passar todo o questlog pra Lua inicialmente antes de pensar em colocar essa contagem pra lá.
  25. deu certo agora com Earth Tumb? xD

Informação Importante

Confirmação de Termo