Histórico de Curtidas
-
Placido deu reputação a victorat em Bless... Bug antigo sem soluçaono seu config.lua tenta deixar assim:
blessingOnlyPremium = true
blessingReductionBase = 30
blessingReductionDecreament = 5
eachBlessReduction = 1
aqui eu mudei o EACHblessreduction para valor 1 e deu certo, por enquanto não apresentou problemas..
-
Placido deu reputação a Gaonner em Anti DivulgacaoBem,não vou dar explicações, esse código é da otland,e eu coloquei aqui no Tibiaking pra disposição.
Pois to vendo sites vendendo esse code.
Esse code impede que qualquer jogador fale uma frase com .servegame / .no-ip
Vá em game.cpp e procure por:
Em baixo você adiciona:
Se você quiser adicionar mais de 2 tipos de servidores (.servegame;no-ip)
Adicione(exemplo) :
int(text.find("otglobal.com")) > 0)
Ficando assim :
--------------
Salve,Compile,e pronto,seu console anti divulgação está pronto.
Créditos :
- Summ - Criador
- Gaonner - Trazer o Conteúdo
-
Placido deu reputação a xWhiteWolf em New Library v. 1.2Fala galera, hoje vim trazer pra vocês uma nova biblioteca de funções que eu venho desenvolvendo, pretendo ir atualizando esse tópico constantemente sempre adicionando funções novas e explicando a utilização delas. Algumas funções que eu coloquei aqui estão presentes na OTAL também, porém algumas eu fiz pequenas correções de forma que essa lib poderia facilmente substituir a OTAL sem grandes problemas (pelo menos se você utilizava apenas as funções básicas da otal)
Todas as funções que não tem -- nome do autor do lado dela foram feitas por mim, xWhiteWolf ou Night Wolf (NW). O restante delas são créditos dos devidos autores, apenas coloquei pois considero funções vitais no server de cada um. Crie um arquivo em data/lib chamado 075 - White Wolf Functions.lua e coloque o seguinte código dentro:
Agora eu vou explicar oque cada função faz porque de nada adianta lançar uma lib e não explicar oque ela faz não é mesmo? hahaha
Obs inicial: quando uma função tiver em seus parametros um [] significa que oque está dentro do colchetes não é um parâmetro obrigatório.
Como usar: doShowTimeByPos(cid, getCreaturePosition(cid), 20, 20)
Irá fazer uma contagem regressiva na posição que o player se encontra começando de 20 e mandando a mensagem na mesma cor da fala dos monstros.
Essa função é bem útil em actions/spells para fazer contagem de tempo em runas como a magic wall e ver quanto tempo falta pra magic wall sumir)
Obs: Espero que ajude bastante pessoas a entender sobre funções, eu utilizei cid como o principal uid das funções nos exemplos mas você pode muito bem utilizar outros uids, fica a critério seu.
Qualquer dúvida comentem abaixo que eu vou tentar ajudar da melhor maneira.
Ahhh, isso daí foi testado em 8.54 mas deve funcionar em quase todas as versões que tenham as funções básicas do TFS.
EDIT: Pessoal, agora é sério, essa lib tem fácil umas 600 linhas, das quais umas 500 eu devo ter codado sozinho (na mão, linha por linha). Eu tive todo o trabalho de testar cada uma delas e oque eu peço é o mínimo de gratidão e respeito. Se eu te ajudei clique em Gostei, se você tiver alguma dúvida eu to me colocando a disposição de responder qualquer coisa relacionada ao tópico, mesmo que você não saiba nem oque é uma lib apenas venha aqui e escreva sua dúvida.
EDIT 2: Duas novas funções adicionas, espero que gostem!
EDIT 3: Três novas funções adicionadas juntamente com suas respectivas explicações.
-
Placido deu reputação a Killua em CMS #01 - Sala SecretaSala Secreta
Esse código foi testado no TFS 0.3.6 mas da maneira que fiz deve funcionar em todos os demais.
O script é de uma sala misteriosa na qual os players vão parar por acidente (Não serão teleportados).
Ao pisar em um determinado SQM, a sala é inteira trancada em volta do player, deixando ele sozinho ali dentro. Após isso, 3 pilares começam a "atirar" uns nos outros e, em seguida, começam a atirar no player. Nesse momento, o player deve sair andando pela sala até encontrar o SQM correto, onde deve permancer. Quando ele levar os "tiros" estando no SQM correto, uma chest aparecerá na sua frente. Ao abrir a chest, ele recebe o prêmio, a chest some, a sala é destrancada e ele é enviado para fora.
OBS: As posições dos pilares, SQM correto e chest, bem como o prêmio da quest são de fácil configuração nas tabelas no início do código.
Vídeo demonstrativo:
Instalação
Crie secretRoom.lua em data/movements/scripts e cole este código:
Em movements.xml, cole esta TAG:
<movevent type="StepIn" actionid="3781" event="script" value="secretRoom.lua"/> Crie secretRoomChest.lua em data/actions/scripts e cole este código:
Em actions.xml, cole esta TAG:
<action uniqueid="9123" event="script" value="secretRoomChest.lua"/> Coloque actionID 3781 nos pisos que servirão de entrada para a sala.
Está feito, espero que gostem. Com criatividade dá pra montar uma quest legal e com bastante RPG.
Eu irei aproveitar esse script no otPokémon também
-
Placido deu reputação a xWhiteWolf em [DUVIDA] Variavel Localbom, algumas coisas à respeito do local:
- é uma variável que tem seu escopo delimitado pelo bloco, ou seja, se vc fizer:
local a = 1 print(a) vai retornar 1
e
local a = 5 if true then local a = 1 end print(a) vai retornar 5.
"Mas lobo, eu setei o a como 1, porque ele printa 5?" bem, o a só vai ser 1 dentro do bloco que você definiu ele, ou seja, apenas dentro do if."
- Ela (a váriavel local) é armazenada de outra forma, consumindo bem menos memória e fazendo o programa à acessar de forma mais rápida doque uma global
- Tem um número máximo de variáveis locais por função, se não me engano é 200, se vc atingir esse numero, vai dar merda.
Aqui tem um link explicando sobre o upvalues, acho que vai tirar sua dúvida (tá em ingles)
-
Placido deu reputação a 3visan em [Aula 2] Lógica da Programação#Aula 1 Introdução
Lógica da Programação
Aula 2
O que é a Lógica da Programação?
Bem, tudo o que é escrito em alguma linguagem de programação deve seguir uma lógica para poder funcionar. Vamos pegar um exemplo simples e curto: Um script de SD. (Sudden Death Rune)
Quando o script de SD for chamado (Alguém usou a SD), ela segue passos básicos, que é basicamente a execução dela. Primeiro o script vai verificar se quem usou a SD possui nível, magic level, etc... suficiente para poder usar a SD. Se não possuir opa! Ela vai enviar uma mensagem de erro ao jogador, um efeito de fumaça e vai encerrar a execução. Caso contrário: se for um jogador com todos os requerimentos básicos para usar uma SD, então o script vai verificar se o alvo é um Player ou Monstro. Se não for vai enviar uma mensagem de erro, efeito, e vai parar de executar. Se for um monstro ou player, então o script fará um efeito da SD atingindo o alvo, toda aquela piromancia louca, e então vai tirar o devido dano do jogador.
Um pouco cansativo de ler tudo isso, mas observe o exemplo abaixo:
Quando uma SD for usada, então faça: Verifique se o jogador que usou a SD possui nível igual ou maior que 45, e se possui nível mágico maior ou igual a 15. Se possuir, faça: Se o alvo da SD for um Monstro ou Jogador, então faça: Calcule o dano que causará ao alvo. Remova uma carga da SD. Execute o efeito de SD. Calcule o dano que causará ao alvo e execute-o no alvo, tirando a vida dele ou mana, no caso de o alvo estiver usando o Magic Shield (Utamo Vita). Mas se o alvo da SD não for um Monstro ou Jogador, então faça: Envie uma mensagem de erro ao jogador. Envie um efeito de fumaça na posição do jogador. Aqui termina a verificação se o alvo da SD é um Monstro ou Jogador, ou nenhum dos dois. Mas se o jogador não possuir estes requerimentos, então faça: Envie uma mensagem de erro ao jogador. Envie um efeito de fumaça na posição do jogador. Aqui termina a verificação se o jogador possui ou não os requerimentos. Aqui termina a execução da SD. Agora, depois deste algoritmo, talvez tenha ficado mais claro como os programas de computador funcionam. Tudo não passa de um processo lógico, onde a linguagem de programação só serve como uma "máscara" para que o programador escreva o código seguindo esta lógica, por isso é ultra importante saber a lógica da programação antes de começar a programar. O que é um Algoritmo? O "código" que eu escrevi acima (Dentro da caixa de texto) representando o uso da SD foi um algoritmo. Os algoritmos são formas de representar a lógica seguida pelo programa. São passos que o programa segue para atingir determinado objetivo ou em outras palavras, completar uma tarefa (No caso da SD, matar ou não o alvo, ou enviar uma mensagem de erro). Um exemplo de algoritmo são as operações matemáticas, como somar, dividir, multiplicar, subtrair... Quando você soma 2 mais 2, você está executando um algoritmo para ele atingir o objetivo (O resultado!!), que é 4. Um programa ou script é basicamente a escrita dos algoritmos em uma linguagem de programação que é executada pelo computador de forma lógica. Alguns exemplos de algoritmos para representar ações da vida real: Tomar Banho: Código: Ir ao banheiro Tentar ligar o registro Verificar se o chuveiro ligou, se ligou então faça: Se molhe Se ensaboe Se lave Se enxague Desligue o registro Se enchugue Verificar se tem vontade de colocar uma roupa, se tiver, então faça: Coloque uma roupa Mas se não tiver vontade de colocar uma roupa, então faça: Saia pelado pela rua gritando: "Preciso de um penico!!" Finalize a verificação se tem vontade de colocar uma roupa ou não Mas se o chuveiro não ligar, então faça: Chame um técnico e arrume o problema Finalize a verificação se o chuveiro funciona ou não Finalize a execução do banho Comer Pizza: Convidar os amigos e amigas Ir até a pizzaria Se houver uma menina (Ou menino) no grupo que esteja a fim de você e você não esteja a fim dela ou dele, então faça: Peça pizza de alho, cebola e atum Mas se houver uma menina (Ou menino) no grupo que esteja a fim de você e você esteja a fim dela ou dele, então faça: Lamente-se por não ter ido a um cinema Mas se não houver ninguém a fim de você, então faça: Peça qualquer pizza Finalize a verificação se há ou não uma menina (Ou menino) no grupo que esteja a fim de você e você esteja ou não a fim dela ou dele Peça uma coca cola Diga ao garçom que prefere gelada (Ciclo) Enquanto não for a hora de pagar a conta, faça: Coma a pizza Peide Diga que foi mal Tome um gole da coca Arrote Diga que é natural Finalize se for a hora de pagar a conta ou volte ao começo do ciclo se ainda não for Se você tiver dinheiro suficiente, então faça: Diga aos seus amigos que não tem dinheiro e pague só metade Mas se você não tiver dinheiro, então faça: Diga aos seus amigos que não tem dinheiro e corra para não apanhar Finalize a verificação se você tem dinheiro ou não Vá embora Finalize a execução de comer pizza
Esta aula foi curta pois eu prefiro lhes ensinar as estruturas lógicas conforme ensino as mesmas em Lua, assim trabalhando a lógica e Lua ao mesmo tempo. Primeiro ensino como funciona a estrutura na Lógica e depois ensino como aplicar em Lua.
Exercícios-Tarefa:
1. Monte o algoritmo de um script de "Shovel (Pá)".
2. Monte o algoritmo de um script de "Pedra que troca sexo".
3. Monte o algoritmo de "Ir ao cinema".
4. Monte o algoritmo de "Fazer bolo".
Resposta1:
verifique se o alvo da pá é um buraco que pode ser aberto
, se for, então faça: Verifique se o buraco está aberto,
se não estiver, então faça: Transforme o ID do buraco fechado para o ID de um buraco aberto
Mas se o buraco estiver aberto, então faça: Envie uma mensagem de erro ao jogador dizendo: "This hole is already opened."
Envie um efeito de fumaça na posição do jogador Finalize a verificação se o buraco está aberto
Mas se não for, então faça: Envie uma mensagem de erro ao jogador dizendo: "Sorry, this is not possible." Envie um efeito de fumaça na posição do jogador Finalize a verificação se é ou não um buraco que pode ser aberto.
Resposta2:
Verifique se quem clicou na pedra é um jogador
, se for, então faça:
Verifique se o jogador é mulher
, se for, então faça:
Transforme o sexo dele em homem
Execute um efeito de magia azul
na posição do jogador Envie uma mensagem ao jogador afirmando que o sexo dele foi trocado
Mas se o jogador é homem, então faça:
Transforme o sexo dele em mulher
Execute um efeito de magia azul na posição do jogador
Envie uma mensagem ao jogador afirmando que o sexo dele foi trocado
Finalize a verificação se o jogador é mulher ou homem
Finalize a verificação se quem clicou na pedra é um jogador
Resposta3:
Se arrume
Tome banho
Dirija seu carro até o cinema
Pague o ingresso
Assista o filme
Volte para casa
Resposta4:
AQUI
Sei que isso é meio estranho mas acredite ira ajudar sim.
Creditos:
99% Skyen Hasus
1% Vittu
#Aula 3 Primeiros passos
-
Placido deu reputação a 3visan em [Aula 1] IntroduçãoIntrodução
Aula 1
O que é scripting?
Do modo mais simples possível: scripting é o ato de programar. O nome scripting vem do nome "script".
O que é um script?
De um modo geral, um script é um bloco de Código escrito em uma linguagem de programação interpretada, ou seja, ele precisa que alguma coisa leia ele e possa "traduzir" seu conteúdo. Lembre-se de que "script" não é um termo específico de Open Tibia Servers.
O que é uma linguagem de programação interpretada?
Os brasileiros falam português, ingleses falam inglês e chineses falam mandarim, e com isso o mundo é composto por várias línguas.
No mundo da programação não é diferente. Existem várias línguas que podem ser usadas, cada uma com uma característica e modo de escrever diferente (Assim como o português é diferente do inglês).
Entre estas linguagens, existem 2 tipos: as linguagens interpretadas e as linguagens compiladas (Não-interpretadas). Podemos fazer uma comparação tosca com a vida real: o português seria uma linguagem interpretada (Nosso cérebro precisa "traduzir" a mensagem), e os desenhos seriam a língua compilada (Nosso cérebro reconhece automaticamente a "mensagem" do desenho).
As linguagens compiladas são aquelas que não precisam ser lidas por nenhum programa, pois "conversam" diretamente com o computador, enquando a linguagem interpretada não consegue se comunicar com o computador, então a linguagem compilada recebe a mensagem do codigo interpretado e traduz numa linguagem que o computador entenda, dai a linguagem interpretada pode conversar com o computador (Desde que alguém traduza suas mensagens).
Voltando para a parte de Open Tibia Servers, a linguagem compilada é a linguagem usada no seu servidor: o .exe no Windows, por exemplo, e a linguagem interpretada são os scripts .lua. O seu servidor compilado vai ler os scripts .lua e traduzir o conteúdo deles para que o computador possa executar o que o script manda.
Se os scripts são escritos em linguagens interpretadas, qual é a linguagem dos script usados nos Open Tibia Servers?
Os Open Tibia Servers usam uma linguagem de programação (Interpretada) chamada Lua, que foi feita aqui no Brasil mesmo.
Características da linguagem de programação Lua:
Linguagem de Programação Interpretada
Linguagem de Programação Imperativa ou Programação Procedural
Linguagem de Scripts ou Linguagem de Extensão
Pequena, Fácil, Leve e Eficiente
" Lua foi criada por um time de desenvolvedores do Tecgraf da PUC-Rio, a princípio, para ser usada em um projeto da Petrobras. Devido à sua eficiência, clareza e facilidade de aprendizado, passou a ser usada em diversos ramos da programação, como no desenvolvimento de jogos (a LucasArts, por exemplo, usou a linguagem no jogo Escape from Monkey Island), controle de robôs, processamento de texto, etc. Também é freqüentemente usada como uma linguagem de propósito geral. "
Wikipédia - Lua (Linguagem de Programação)
O que eu preciso para aprender Lua e começar a produzir meus scripts?
Paciência (Embora seja de fácil aprendizado, você vai levar algum tempo para aprender a linguagem)
Humildade (Nunca se sinta o melhor, nem ridicularize aqueles que tiverem um conhecimento menor que o seu)
Vontade (Não adianta fazer as coisas sem o menor interesse, você não chegará a lugar nenhum sem vontade)
Criatividade (O principal para produzir um script é ter a idéia do que você vai fazer)
Conhecer a Lógica da Programação (Não se preocupe, eu vou ensinar a Lógica da Programação nas próximas aulas.)
Interpretador Lua (Para testar seus scripts, claro. Você pode usar o seu OTServer para testar, e ainda usar um interpretador Lua para testar seus scripts simples fora do OTServer)
Editor Lua (Não é realmente necessário, uma vez que você pode usar um editor de textos qualquer, como o bloco de notas, mas ter um Editor Lua vai ajudar muito, e alguns até vêm com um Interpretador Lua junto!)
Pagar uma taxa de R$ 700,00, afinal, não estou escrevendo estas aulas de graça! (OK, não precisa pagar nada, mas no mínimo poste seus scripts aqui e ajude a seção a crescer )
Onde posso encontrar um Interpretador e/ou Editor Lua?
Como interpretador (No caso de produzir scripts para Open Tibia Servers) você deve usar um servidor próprio, pessoal somente para testar os scripts que você fez, e pode usar também um Interpretador Lua geral, para testar seus scripts fora dos OTServers.
Como Editor Lua você pode usar qualquer editor de textos, mas eu recomendo usar um editor que seja próprio para a linguagem Lua. Existem dois editores que já vem com um Interpretador Lua "embutido". São eles: OTScript Live! [Download] e SciTE (Scintilla) [Removido].
Exercício-Tarefa:
Pesquise mais na internet sobre a linguagem Lua, Scripts, etc...
Creditos:
99%: Skyen Hasus
1% Vittu
#Aula 2 Logica da Programação
-
Placido deu reputação a pokefelipe em (Resolvido)[Ajuda] Como adicionar Pokémons sem ConfigurationBoa Tarde galera do TK !
Vim pedir uma ajuda, bom como nunca adicionei pokémons em um server sem o Configuration.lua, alguem poderia me ensinar como adiciona ?
Darei um Rep +
-
Placido deu reputação a biriba800 em Website Fire 1.0 [Template]Eaw glaera do tibia king tava desenvolvendo um template de poketibia e finalmente consegui um resultado n sei se ele ta bom mais espero que gostem se gostarem da +rep
ScreenShot:
Download template:
Scan