-
Total de itens
341 -
Registro em
-
Última visita
-
Dias Ganhos
18
Tudo que Night Wolf postou
-
statschange tem um problema de callstack overflow que toda vez que vc trabalha com danos que vão ser recalculados vc precisa contornar com uma das soluções abaixo: 1- Usar a spell durar só 1 dano 2- Controlar o combat por storage (funciona mas é falho e custoso) Vocês conseguiram fazer pro primeiro caso, mas a real é q a idéia inicial era a spell durar um tempo o debuff, e não só até o proximo dano.
-
dúvida Alguns ataques dão um dano absurdo
pergunta respondeu ao srkapetinha de Night Wolf em Scripts
skill elevada, ser adm, weapons com dano absurdo.. tudo isso poderia explicar os ataques exagerados. Não tem como saber.. -
1º - Informe-nos a versão que vc utiliza tanto de tibia quanto de TFS, se é Otclient etc. 2º - Poste os links dos que você tentou e deu errado pra gente tentar arumar 3º - Informe os erros que deu.
-
Se vc não tiver nada na source que defina a resistencia positiva ou negativa à determinado elemento, vc pode tentar alterar um item aleatório e botar resistencia negativa nele por certo tempo. O único problema q imagino é se o player remover o item, deslogar ou morrer... mas aí vc pode fazer creaturescripts pra evitar isso. Com movements vc evita de remover o item q tá com debuff, com condition_infight vc evita q deslogue e com onDeath vc evita q ele drope o item com a resist.
-
dúvida Pegar valores em tabela da database.
pergunta respondeu ao otavio101 de Night Wolf em Scripts
edit porque escrevi correndo e ficou um texto disléxico: Tem certeza q fazer dessa forma é a melhor opção? Oque vc quer que sua magia realmente faça? -
eu realmente ficava o dia todo no suporte, mas isso foi em outro fórum.. aqui ainda não fiz isso, apenas ajudo esporadicamente qnd sobra um tempinho. Se eu realmente voltar a ficar ativo todos os dias no suporte, aí eu vou ter todos os requisitos (posts e rep) que me faltam.. então relaxe gafanhoto <3 ahuhuahu
-
e se ele não possuir esse item 2250? a magia não irá funcionar? E se ele usar a spell e jogar fora o item 2502?
-
dúvida Pegar valores em tabela da database.
pergunta respondeu ao otavio101 de Night Wolf em Scripts
"Como posso pegar um valor da database e colocar em uma variável: Ex: Variavelid = Valor do id da tabela players" em geral os servidores utilizam a função db.getResult pra pegar o resultado de uma query na database, porém isso muda com a versão. "E como pegar o ultimo ID criado?" utilize a query na database SELECT * from players ORDER BY id DESC LIMIT 1 Selecionar tudo de players, ordenar por id de forma descendente e pegar só o primeiro. "Esses IDs das tabelas são gerados automaticamente em sequencia?" Depente, id do que? se for de players, sim pois eles possuem um trigger (ativador) que cada vez que uma conta é inserida o id é auto incrementado (se era 15, vira 16 no novo) -
Nossa, me citaram aqui auheuhhua enfim.. Não acho que eu mereça o cargo de Herói, por mais que eu já tenha ajudado muito a seção de scripting eu ainda sou relativamente novo aqui no xtibia. Minha conta original está banida desde 2007 porque eu liberei grande parte dos códigos que eram vendidos na época, uso essa daqui atualmente (criada em 2014) mas minhas contribuições no xt foram pontuais e em grande parte restritas ao suporte. O skulls, caronte, zipter, (e alguns outros q nao lembro agora) fazem muito mais que eu pelo fórum e a verdade é que eu estou ficando pra trás por conta de falta de tempo e ou conhecimento. Pra mim o cargo de herói tinha que ser dado pra alguém que realmente fez história e mudou o opentibia de forma definitiva, citaram o Colex aqui e eu não poderia concordar mais: O cara quando estava na BlackOnyx criou coisas que até hoje o Tibia global tenta imitar... não dá pra dizer que nenhum de nós está realmente no mesmo nível que alguém como ele. Ao restante, não é uma pip diferente que vai dizer se vc contribuiu ou não, ajude quem puder por ajudar e não por uma mudança mínima no seu perfil. Abraços do Lobo.
-
@@Skulls, funcionou? não era pra funcionar.. funções de storage são restritas à players pois envolvem modificações na database. Acho q se pá vc tá pegando o uid de um monstro e na hora de salvar na database deve estar com o mesmo numero (uid) de um player existente. Mas sei lá né, pelo menos no 0.4 que eu mexo é assim, não sei se alguma source tem suporte pra storage em monstros
-
Podia ser mínimo de 1 ano de contribuição, 2 anos é muita coisa.. e levar em consideração as contribuições significativas. O lance do alerta foi muito sagaz pois impede heróis de virarem folgados
-
Rapaz, se for 0.3~0.4 vc tem uma gama infinita de creaturescripts pra brincar.. onAttack onFollow onTarget Experimenta cada um deles com return false e verifica qual que impede o monstro de seguir o player. Não sei se vou levar advertencia por postar link de outros fóruns mas não tem como eu copiar todo o contéudo que eu escrevi lá aqui. To meio sem tempo pra ficar abrindo sv e fazendo testes, mas prometo q se vc não conseguir eu vou fazer de tudo pra tentar algo aqui também. Boa sorte amigo, e se conseguir, por favor compartilhe a solução ^^
-
não se tiver outro target, o problema do script acima é que ele não assume modo defensivo na presença de outro player.. lembro de um teste q eu fiz com um demon e somente um personagem da vocação q nao podia ser atacada, oque aconteceu foi que o demon ficava correndo pra lá e pra cá em volta do player como se tivesse se preparando pra ir atacar ele, mas não ia. Não lembro se o demon me seguia caso eu fugisse mas pro seu caso acredito q isso nao seria um problema.. a menos q vc esteja pensando em fazer monstros de raças que não atacam os humanos, por exemplo.. mas aí compensa mais trabalhar em cima da IA via source
-
então tenta trocar pra toda vez que for iniciar o combat, se for player checar as criaturas em volta e ver se há monstros passivos e aí vc usa o dotargetCombat, se fizer um script só pro combat dos monstros, vc pode configurar quais vão ser agressivos só botando a tag do creaturescript no xml
-
Isso daqui é um script pra monstros não atacarem determinadas vocações, alguns NTO's utilizam algo semelhante para não atacar determinados storages, acredito que com as modificações corretas daria pra implementar um sistema complexo de hierarquia na ordem de ataques: Se o lobo tem um cervo e um humano pra atacar, qual dos dois ele escolhe? Observe o script: não é de minha autoria, tenho aqui no pc salvo mas peguei de algum lugar acho.. só não lembro onde. Com algumas tabelas vc consegue controlar muita coisa nesse script, só tem que verificar se na targetList ele considera outros monstros, porque se não... teria que modificar essa função na source
-
pensei nisso hoje, se nao me engano tem scripts de monstros passivos por aí via source editing, com a tag de monstros passivos daria pra fazer monstros agressivos atacarem os passivos da mesma forma que atacam um player, mas como não mexo com c++, não faço idéia de como seria uma possivel implementação disso
-
a gente só vai conseguir te ajudar se vc explicar melhor oque vc quer, cria paredes? quantas? onde? posição fixa? porque ele iria ficar a cada hora checando uma mesma posição pra criar parede lá? faz parte de alguma quest? Vê quantas perguntas tem pra ser respondidas? na próxima vc cria um tópico com todas elas já respondidas e aí talvez as 10 pesoas que visualizaram seu tópico já poderiam ter te ajudado> Este tópico já foi visualizado por 10 usuário(s) [ Ocultar Lista ]
-
duas coisas impedem um monstro de ser criado: Ele não existir e a posição não estiver livre. Vc tem que verificar essas duas coisas antes de criá-lo.
-
dúvida Como adicionar delay nesse código? REP+
pergunta respondeu ao totonho18 de Night Wolf em Scripts
O código acima irá funcionar e servir o propósito, porém uma boa prática quando trabalhamos com functions no addEvent é re-checar os parâmetros que iremos utilizar do callback. Em outras palavras, se vamos utilizar o cid na function, temos que checar se ele ainda existe quando o addEvent for chamado. addEvent(function() if isCreature(cid) then doTeleportThing(cid, townpos) doSendMagicEffect(getPlayerPosition(cid), 10) end end, 5 * 1000, cid, townpos) -- 5 * 1000 representa 5 segundos ate teleportar. -
basicamente é isso daqui: variavel skillTotal é a skill do player + (attack * 12) levelTotal é o level * 2 local skillTotal = skill + attack * 12 local levelTotal = level * 2 MÍNIMO QUE VAI TIRAR: -(skillTotal * 1.1 + levelTotal), MÁXIMO QUE VAI TIRAR: -(skillTotal * 7 + levelTotal)
-
@@Skulls então, não é aleatório, ele segue a ordem do next. Isso que vc falou de indexação fora de ordem está correto, mas tem casos em que ipairs não funcionaria como tabelas contendo nil pois o next iria retornar falso e cancelar (semelhante à um break)
-
sim, é o v. Se o código realmente foi testado e funcionou, eu não sei dizer porquê. getPlayersOnline() retorna tabela de players online na forma {uid1, uid2, uid3} vc ta querendo dar os itens via uid na função pois doPlayerAddItem requer um uid no parâmetro, logo vc quer o value da tabela, não o índice. A diferença entre pairs e ipairs é que ambas são funções de busca porém pairs itera em pares sequenciais (i = i + 1) enquanto que ipairs busca o próximo elemento diferente de nil. Há casos em que pairs não irá funcionar e casos que ipairs não irá funcionar. Portanto é bom conhecer os dois usos e testar sempre. pairs e ipairs não retornam informações diferentes, quem dita isso é o return da função, pairs e ipairs são meras funções pra percorrer a tabela retornada. Leia isso daqui tb: http://www.lua.org/pil/7.3.html
-
editado: não tinha lido a ultima página.. já falaram do os.time(). foi mal.
-
poketibia Spell Que Faz Monstro Trocar Cor Da Outfit Aleatoriamente.
pergunta respondeu ao Developer Berg de Night Wolf em Scripts
só fazendo um adendo aqui: quando vc quer que um monstro ative um callback, vc só registra o evento no monstro. Caso contrário se tiver algum player com o nome do pokemon, ele vai mudar a outfit também. -
poketibia Spell Que Faz Monstro Trocar Cor Da Outfit Aleatoriamente.
pergunta respondeu ao Developer Berg de Night Wolf em Scripts
faz statsChange, uma tabela com cor de outfit e tipo de combat (dá pra extrair o combat pela statschange). Se a cor do outfit for a cor da resistencia, dá return false e cria outro combat mais fraco (cuidado com stackoverflow aqui pq ele vai tentar fazer isso tendendo a infinito). Do contrário, seta a cor do outfit como sendo a referente ao combat. Fim.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.