Blazera 8.60
blazera.net
SOBRE O BLAZERA
Um fresh start em um servidor 8.6 clássico, com real map, focado na experiência raiz do Tibia. | Classic Real Map • Fresh Start • Client 8.6 • Old School Gameplay • Active Community
Inicia em:
--
Participar
Histórico de Curtidas
-
N3MESIZ deu reputação a Cat em Água transparente no Tibia 70% (psd + png + obd)ÁGUA TRANSPARENTE NO TIBIA
Amostra/teste:
Download Tibia.otfi -> Arquivo necessário para ativar transparência no seu client.
(coloque junto ao tibia.dat e tibia.spr)
Tibia.otfi
Para ativar a transparência nas versões 8.54 e 8.60 é necessário o uso de dll:
https://github.com/SaiyansKing/Tibia-Extended-Client-Library
Download Object Builder -> Programa usado para add sprites
https://github.com/ottools/ObjectBuilder/releases/tag/v0.4.8
Download Item Editor -> Usado para cadastrar as propriedades de itens novos e abrir no map editor.
https://github.com/ottools/ItemEditor/releases/tag/v0.5.1
Download Sprites
Contém:
- Sprites de piso d'água full ground + 1 estilo borda (recomendo usar todos como borda, tirar full ground)
- Sprites borda água-barranco.
- Sprites borda água-areia.
- Sprites borda areia-barranco-água.
- Sprites borda água solo.
- Sprites cachoeira + quedas d'água versão leste/norte
- Sprites água transparente versão córrego (12x)
sprites transparentes.rar
(Senha para abrir o arquivo: tibiaking)
-
-
N3MESIZ deu reputação a Killua em Como usar addEventUsando addEvent
O uso do addEvent tem inúmeras utilidades e pode ser complicado para algumas pessoas, inclusive era para mim quando eu estava começando a aprender LUA.
Para que serve o addEvent?
Para "chamar" uma função após um periodo de tempo, ou seja, executar uma função após um tempo estipulado.
O addEvent tem como parâmetros: callback, delay e ...
addEvent(callback, delay, ...)
Onde callback é a função que será chamada, delay é o tempo (em milissegundos) até que se chame essa função e ... são os parâmetros que a função chamada utiliza. Exemplo:
addEvent(doBroadcastMessage, 1000, "Bom dia", 23) Aqui, após 1 segundo (1000 ms), a função doBroadcastMessage(message, type) será executada com os parâmetros message = "Bom dia" e type = 23.
O addEvent pode ser usado de duas maneiras:
Chamando uma função existente ou criando uma nova função.
Para chamar uma função existente, basta usar como acima, para usá-lo para criar uma nova função, usa-se assim, por exemplo:
addEvent(function() if isCreature(cid) then doPlayerAddItem(cid, 2160, 10) doPlayerSendTextMessage(cid, 25, "Voce ganhou 10k.") end end, 1000) Assim é basicamente a mesma coisa, mas pude colocar várias funções dentro de um único addEvent e mantive o delay 1000 (1 segundo).
Obs: Precisei usar 2 ends, um para fechar function() e outro para fechar o if.
Atenção! Além disso, existe uma outra diferença entre as duas formas de uso, vou tentar explicar da melhor maneira possível:
Quando usamos o addEvent com uma função já existente (1o exemplo), as informações usadas serão as geradas no momento em que o evento foi chamado, por exemplo:
function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 10 then doPlayerSendTextMessage(cid, 25, "Uma pedra sera criada na sua posiçao dentro de 2 segundos.") addEvent(doCreateItem, 2000, 1308, 1, getThingPos(cid)) end return true end Se usarmos assim, a pedra será criada na posição onde o jogador se encontrava no momento em que "deu use" e não onde ele estará 2 segundos depois. Se você quiser que a pedra seja criada na nova posição do jogador (pos de 2 segundos depois), você deve fazer uma nova checagem, criando uma função:
function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) > 10 then doPlayerSendTextMessage(cid, 25, "Uma pedra sera criada na sua posiçao dentro de 2 segundos.") addEvent(function() if isCreature(cid) then doCreateItem(1308, 1, getThingPos(cid)) end end, 2000) end return true end Atenção novamente: A checagem if isCreature(cid) que utilizei, é muito importante para um addEvent que envolva criaturas. Se você executasse o addEvent sem a checagem e o player logasse ou morresse antes desses 2 segundos se passarem, daria um erro na distro e interromperia o resto do script.
Recursão
Uma outra ótima funcionalidade dos addEvents é a recursão, ou seja, criar um evento que fica se repetindo. É simplesmente um addEvent chamando a sí mesmo.
Para usar, crie uma função, exemplo:
function respawnMonster(name, pos) if doCreateMonster(name, pos) then doBroadcastMessage(name.." nasceu!") end addEvent(respawnMonster, 10000, name, pos) end Quando chamada, esta função ficará criando um monstro e uma determinada área a cada 10 segundos, sem nunca parar.
Para chamar a função, seria assim:
respawnMonster("Demon", {x = 123, y = 123, z = 5}) Considerações
Reloads param os addEvents. Se um script talkaction executou um addEvent programado para acontecer depois de 5 minutos e se dentro deste intervalo de tempo, você usar /reload talkactions, o addEvent será interrompido.
Erros no código podem fazer o evento ser interrompido, preste sempre atenção.
Se ainda ficou com alguma dúvida, poste aqui.
-
N3MESIZ deu reputação a KotZletY em Erro Catch@UnzVega catch.lua
-
N3MESIZ deu reputação a KotZletY em Erro Sourcer (Level Sistem)@UnzVega faltou incluir configmanager.h em map.cpp, no tutorial também fala.
E para os próximos erros revise todo o tutorial, algo você estará fazendo de errado!!
-
N3MESIZ deu reputação a KotZletY em Erro Sourcer (Level Sistem)@UnzVega faltou as variáveis de lvl min e max em monsterType:
https://tibiaking.com/forums/topic/53938-c-level-monster/