-
Total de itens
2571 -
Registro em
-
Última visita
-
Dias Ganhos
28
Tudo que Bruno postou
-
Na verdade, o OTB está na versão 10.76 atualizada pela tfs oficialmente, apenas alertando para corrigir a informação
-
Man, não foi o que você fez, me desculpe! Nas suas duas verificações ele checa se contem a mensagem "hi", sendo que isso é só uma vez. Caso caia nesta condição ele vai chegar o level, então deveria estar funcionando perfeitamente. Faz o seguinte, posta seu script todo que é mais fácil de ajudá-lo. "and" ou "e" ou "&&" (em qualquer linguagem que seja) -> só é verdadeiro quando todas as condições forem verdadeiras.
-
script [Tutorial] Básico Sobre CreatureScripts
tópico respondeu ao JuniorPavani de Bruno em Tutoriais de Scripting
Magina man disponha! Estamos aqui para isso!- 12 respostas
-
- tutorial
- creaturescripts
-
(e 2 mais)
Tags:
-
script [Tutorial] Básico Sobre CreatureScripts
tópico respondeu ao JuniorPavani de Bruno em Tutoriais de Scripting
Tutorial aprovado e movido, obrigado por compartilhar conosco. Sugiro que apenas revise o comentário da linha 2, pois além de checar o level, ele checa a storage também.- 12 respostas
-
- tutorial
- creaturescripts
-
(e 2 mais)
Tags:
-
script [Tutorial] Básico Sobre CreatureScripts
tópico respondeu ao JuniorPavani de Bruno em Tutoriais de Scripting
Olha amigo, apenas dê uma incrementada em seu script, para que fique algo simples e funcional. Exemplo: Linha 2: if getPlayerLevel(cid) >= 100 and getPlayerStorageValue(cid, 1234) < 1 then Adionado a opção >=, pois eu ot com exp alta, o player pode pular do level 99 para o 101 por exemplo e também uma checagem por storage para verificar se ele já pegou a premiação, para evitar que ele fique se matando e pegando várias vezes a premiação E por fim, colocando uma linha para atribuir o valor da storage caso ele pegue a recompensa. setPlayerStorageValue(cid, 1234, 1) Ficando assim o resultado: function onAdvance(cid, skill, oldLevel, newLevel) if getPlayerLevel(cid) >= 100 and getPlayerStorageValue(cid, 1234) < 1 then -- checa level e storage doPlayerAddItem(cid, 2160, 100) -- entraga a premiação setPlayerStorageValue(cid, 1234, 1) -- define a storage para 1, para evitar entregar o premio mais de uma vez doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabéns, você ganhou 1kk por atingir level 100!") doSendMagicEffect(getCreaturePosition(cid), 30) end return true end- 12 respostas
-
- tutorial
- creaturescripts
-
(e 2 mais)
Tags:
-
Amigo, não tem necessidade, este post está com a ultima versão do tfs, na qual este bug já está corrido, veja você mesmo: https://github.com/brunominervino/forgottenserver/blob/master/src/player.cpp#L322 Att.
-
m método diferente de agir. Escolhas diferentes, um projeto surpreendente, e o melhor é open source. Sim, você pode ter acesso a este servidor que estou desenvolvendo em parceria com a Serversoft para você. Um servidor com uma mega estrutura para suportar seus jogadores online sem nenhum problema como: debug, bug de clonagem, instabilidade entre diversos outros dos servidores free's disponíveis para download nessa vasta internet tibiana. Uma inovação no ramo de OTservers, distribuindo não só a datapack como as sourcers e os sistemas, absolutamente tudo que você procura. Basta baixar, compilar... Mas eu não sei compilar. Não há problema nisso, o OTPanel da Serversoft faz tudo isso para você. Basta clicar num botão de "play" e ver a mágica acontecer. O projeto Vanaheim, foi criado com o intuito de ser inteiramente grátis para toda a comunidade. Um servidor no qual a diversão é o fator principal, um projeto com viabilidade absoluta por todos os tibianos. O projeto conta com uma área exclusiva no GitHub para que todos possam acompanhar a evolução do mesmo, dia a dia, diversas atualizações estarão disponíveis a todos. Desde uma action até uma modificação na source vocês terão acesso. O servidor conta com um mapa Global Full, quando eu digo full, quero dizer que está 99.99% do mapa completo, sem bugs entre outros. Um servidor que você escolhe a rate experience/skill que desejar, ele vai se adaptar! Você pode escolher se quer ou não que as quests tenham as missões originais 100%! GITHUB Para acompanhar e baixar o servidor atualizado, segue o link do nosso projeto no GitHub: DOWNLOADS Servidor Mapa Yasir Scan CRÉDITOS TFS Team Orts Project
-
Este conteúdo é de minha autoria e eu não postei no fórum pelo fato de estar com problemas ontem a noite. Estou fechando o tópico para que eu mesmo poste. Tópico movido para Lixeira Pública por conter link offline.
-
[MODULE] Extended Opcodes SEM SOURCES
tópico respondeu ao david0703 de Bruno em Tutoriais de Clients
Claro, concerteza man! Mais eu ainda acho que você não precisaria chegar em 20 likes para disponibilizar o conteúdo, crio que você chegaria em 20 likes mais rápido se disponibilizasse, pois até onde eu vi seu conteúdo está obfuscado e não há como saber qual o verdadeiro conteúdo. -
Tente assim: if msgcontains(msg, 'hi') then if getPlayerLevel(cid) >= 20 and getPlayerLevel(cid) <= 49 then -- acão 1 elseif getPlayerLevel(cid) >= 50 and getPlayerLevel(cid) <= 99 then -- acão 2 end end
-
[MODULE] Extended Opcodes SEM SOURCES
tópico respondeu ao david0703 de Bruno em Tutoriais de Clients
@@david0703, 1º Você não precisa criar um novo post para citar uma parte do seu tópico, quando ele pediu exemplos, ele quis dizer algo que não está no tópico, porque realmente, para quem não entende, só lendo fica difícil de entender. 2º Não é permitido coisas do tipo "libero código após 20 likes", 3º Sua sugestão será levada em consideração, obrigado por compartilhar conosco. -
[Arquivado]Qual é o melhor sistema pra TFS 1.0/TFS 1.1 hoje?
tópico respondeu ao OtservME de Bruno em Noticias - Arquivo
Olha cara, eu ainda não sei bem, estou com tempo muito curto para pensar, só quando eu começar mesmo. Mas estava estudando umas possibilidades hoje e minha mão coçou para usar um Framework kkkk -
1. Abra o arquivo 'httpd.conf' em 'C:\xampp\apache\conf' em Altere: # Virtual hosts #Include "conf/extra/httpd-vhosts.conf"Para: # Virtual hosts Include "conf/extra/httpd-vhosts.conf"apenas remova o '#' do começo da linha 2. Agora abra o arquivo 'httpd-vhosts.conf' em 'C:\xampp\apache\conf\extra' e adicione as seguintes linhas: <VirtualHost *:80> ServerAdmin postmaster@host.localhost DocumentRoot "C:/xampp/htdocs" ServerName localhost ServerAlias www.localhost ErrorLog "logs/host.localhost-error.log" CustomLog "logs/host.localhost-access.log" combined </VirtualHost> <VirtualHost *:80> ServerAdmin postmaster@siteum.localhost DocumentRoot "C:/xampp/htdocs/drupal" ServerName siteum.localhost ServerAlias www.siteum.localhost ErrorLog "logs/siteum.localhost-error.log" CustomLog "logs/siteum.localhost-access.log" combined </VirtualHost> <VirtualHost *:80> ServerAdmin postmaster@sitedois.localhost DocumentRoot "C:/xampp/htdocs/drupal" ServerName sitedois.localhost ServerAlias www.sitedois.localhost ErrorLog "logs/sitedois.localhost-error.log" CustomLog "logs/sitedois.localhost-access.log" combined </VirtualHost> 3. Reinicie todos os serviços 4. Agora em 'WINDOWS\system32\drivers\etc\hosts' adicione as seguintes linhas: 127.0.0.1 siteum.localhost 127.0.0.1 sitedois.localhost 127.0.0.1 www.sitedois.localhost 127.0.0.1 www.sitedois.localhost 5. Agora faça o download do 'Drupal 7 (recomendado)' e crie um diretório chamado 'drupal' em 'C:\xampp\htdocs\' e coloque todo o conteúdo do download do Drupal 7 (incluindo a estrutura da pasta e seu conteúdo) neste novo diretório.Você pode encontrar, por exemplo, o arquivo 'C:\xampp\htdocs\drupal\sites\default\default.settings.php', que é o site 'default' criado pelo drupal. 6. Crie os diretórios de seus sites: a.) siteum.localhost e b.) sitedois.localhost em 'C:\xampp\htdocs\drupal\sites\' 7. Crie duas databases para seus dois sites do Drupal (com os nomes siteum e sitedois por exemplo) usando http://127.0.0.1/phpmyadmin/ 8. Abra as Urls a.) http://siteum.localhost/ e b.) http://sitedois.localhost/ e siga com o processo de instalação do Drupal. 9. Agora a instalação está feita, seus sites são: a.) http://siteum.localhost/ e b.) http://sitedois.localhost/ Espero ter ajudado!
-
website Tabela Top 10 - Com Level & Magic Level - Modern ACC
tópico respondeu ao LeoTK de Bruno em Websites & Layouts
Tutorial aprovado amigo, Obrigado por compartilhar. -
Tem sim, vá até o ultimo andar e deixe a opção marcada: Edit -> Selection -> Lower Floors Ai faz o mesmo procedimento acima que ele seleciona todos os andares abaixo.
-
[Pedido] Dicas para elaborar botões para site
pergunta respondeu ao LeoTK de Bruno em Dúvidas e Pedidos
@@Kleiry, Resposta as dúvidas aqui no fórum, Não crie posts passando contatos externos para sanar dúvidas. @@Brunds, Hoje em dia, você não precisa criar no photoshop, tente utilizar o bootstrap. -
[Arquivado]Qual é o melhor sistema pra TFS 1.0/TFS 1.1 hoje?
tópico respondeu ao OtservME de Bruno em Noticias - Arquivo
Minha meta é criar um novo, com código limpo, porém seguro! Estou começando a esboça-lo, mais com certeza este mês de Abril está sendo muito complicado para mim! Logo, lançarei em meu github e quem quiser acompanhar e ajudar fique a vontade! Se possível, me sugiram nome ao projeto rsrs! Abraço! PS: Recomento o Modern. -
Sim e é muito legal que dá para caçar criaturas de diferentes elementos hahah
-
Vlw Dani Hoje em dia está muito fácil compilar as sources rsrs
-
Compilando TFS 1.3 no Windows 1. Baixe os softwares requeridos Para compilar o The Forgotten Server no Windows, você vai precisar: Visual Studio 2015 (Compilador) TFS SDK v3.2 (libs) Libs do Boost C++ (32-bits, 64-bits) 2. Instale os softwares requeridos Após ter baixado os softwares listados na etapa acima, comece instalando o Visual Studio e Boost C++. Extraia o TFS SDK v3.2 em qualquer pasta do seu computador e execute o arquivo "register_tfssdk_env.bat" para setar a variável de ambiente do local onde está o TFS SDK, assim nosso compilador irá encontrar as libs quando começar a compilar. Mova o arquivo "register_boost_env.bat" da pasta do TFS SDK para a pasta onde você instalou as libs do Boost C++ e execute-o (se você seguiu os passos do instalador, está esta na pasta chamada boost_1_62_0). 3. Baixe as sources Se você possuir o Git Client instalado, você poderá clonar a última cópia com este comando: > git clone https://github.com/otland/forgottenserver.git Se você não possuir o Git Client instalado, você poderá baixar a última cópia do The Forgotten Server através do link: https://github.com/otland/forgottenserver/archive/master.zip 4. Compilando Procure o diretório vc14 na pasta do The Forgotten Server que você baixou, e abra o arquivo "theforgottenserver.sln". Isso deverá iniciar o Visual Studio 2015 e você estará pronto para continuar. Para configurar a compilação, navegue para Build -> Configuration Manager no menu superior. Um popup deverá aparecer onde você poderá escolher entre "Release" ou "Debug" para compilar, escolha também para qual Platadorma você irá compilar: 32-bits (Win32) ou 64-bits (x64). Para iniciar a compilação, abra o menu Build novamente e clique em Build Solution (Ctrl + Shift + B). 5. Vídeo-aula 6. Créditos Mark - Autor do tutorial e do projeto The Forgotten Server Bruno Minervino - Tradução e gravação do vídeo
-
É uma possibilidade sim Obrigado man. Opa, claro, podemos conversar sim!
-
Introdução Ele simplesmente manda um efeito para o Top Level caso ele estiver online, além disso, ele checa quando o top é ultrapassado e o efeito passa automaticamente ao novo top. Instalação: Em data/creaturescripts/creaturescripts.xml adicione: <event type="login" name="TopEffect" event="script" value="topeffect.lua"/> <event type="advance" name="CheckTop" event="script" value="topeffect.lua"/>Agora crie um arquivo em data/creaturescripts/scripts com o nome topeffect.lua e adicione: --[[ Script by Bruno Minervino para o Tibia King Caso for postar, colocar os créditos ]] local config = { tempo = 10, --tempo em segundos mensagem = { texto = "[TOP]", --não use mais de 9 caracteres efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText }, efeito = 30, --efeito da função doSendMagicEffect globalstr = 5687 -- uma global storage qualquer q esteje vazia } --[[ Não mexa em nada abaixo ]] local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0 function onLogin(cid) local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local pid = query:getDataString("id") local name = query:getDataString("name") if getPlayerName(cid) == name then if topPlayer ~= getPlayerID(cid) then topPlayer = getPlayerID(cid) end setGlobalStorageValue(config.globalstr, pid) TopEffect(cid) end end registerCreatureEvent(cid, "CheckTop") return true end function onAdvance(cid, skill, oldlevel, newlevel) if skill == 8 then local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local level = tonumber(query:getDataString("level")) if level < newlevel and topPlayer ~= getPlayerID(cid) then doBroadcastMessage("O jogador " .. getPlayerName(cid) .. " tornou-se o novo Top Level. Parabens!", 22) topPlayer = getPlayerID(cid) doSaveServer() setGlobalStorageValue(config.globalstr, getPlayerID(cid)) TopEffect(cid) end end end return true end function TopEffect(cid) if not isPlayer(cid) then return true end if topPlayer == getPlayerID(cid) then doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito) doSendMagicEffect(getCreaturePosition(cid), config.efeito) addEvent(TopEffect, config.tempo * 1000, cid) end end function getPlayerNameById(id) local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id)) if query:getID() ~= -1 then return query:getDataString("name") end return 0 end function getPlayerIdByName(name) local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name)) if query:getID() ~= -1 then return tonumber(query:getDataString("id")) end return 0 end function getPlayerID(cid) return getPlayerIdByName(getPlayerName(cid)) end Espero que gostem
- 20 respostas
-
- toplevel effect
- tibia
-
(e 2 mais)
Tags:
-
Introdução: É uma wand que ataca vários elementos aleatoriamente, porém não somente isso, você pode travar um único elemento através de uma talkaction. OBS: Testado em tfs 0.4 Instalação: Vá até data/weapons/scripts e crie um arquivo chamando wandelementos.lua e coloque o seguinte conteúdo: local min, max = 1700,1900 --Ataque mínino e ataque máximo local w = { [1] = {ef = 36, sh = 3, dmg = COMBAT_FIREDAMAGE}, [2] = {ef = 42, sh = 28, dmg = COMBAT_ICEDAMAGE}, [3] = {ef = 46, sh = 38, dmg = COMBAT_POISONDAMAGE}, [4] = {ef = 17, sh = 31, dmg = COMBAT_DEATHDAMAGE}, [5] = {ef = 47, sh = 35, dmg = COMBAT_ENERGYDAMAGE}, [6] = {ef = 36, sh = 31, dmg = COMBAT_PHYSICALDAMAGE}, [7] = {ef = 49, sh = 37, dmg = COMBAT_HOLYDAMAGE} } function onUseWeapon(cid, var) local effect = getPlayerStorageValue(cid, 4561) local target = getCreatureTarget(cid) if target ~= 0 then local wx = w[effect] or w[math.random(#w)] doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh) addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, wx.ef) end return true end Altere o min e max de acordo com sua necessidade. Agora vá em data/weapons/weapons.xml e coloque o seguinte conteúdo: <wand id="7424" level="100" mana="30" event="script" value="wandelementos.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5" showInDescription="0"/> <vocation id="6" showInDescription="0"/> </wand> Altere o id, level e mana de acordo com sua necessidade. Agora vamos configurar a talkaction que troca os elementos. Vá até data/talkactions/scripts e crie um arquivo chamando elementos.lua e coloque o seguinte conteúdo: local config = { wand_id = 7424, --ID da wand types = { ["all"] = -1, --Ataca os elementos aleatoriamente ["fire"] = 1, ["ice"] = 2, ["poison"] = 3, ["death"] = 4, ["energy"] = 5, ["physical"] = 6, ["holy"] = 7 } } function onSay(cid, words, param) local wand_left = getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid local wand_right = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid if wand_left ~= config.wand_id and wand_right ~= config.wand_id then doPlayerSendCancel(cid, "Voce deve estar equipado com uma ".. getItemNameById(config.wand_id) .." para usar este comando.") return true end if config.types[param] then setPlayerStorageValue(cid, 4561, config.types[param]) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Sua wand ira atacar ".. param .. ".") else local str = "" for i, _ in pairs(config.types) do str = str .. ", ".. i end doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Os elementos disponiveis sao: ".. string.sub(str, 3, #str) ..".") end return true end Altere o wand_id conforme configurado em weapons. Agora vá em data/talkactions/talkactions.xml e coloque o seguinte conteúdo: <talkaction words="!elemento;/elemento" event="script" value="elementos.lua"/> Exemplo de funcionamento: Agradeço MaXwEllDeN pela ajuda.
-
Curti , Muito obrigado por compartilhar conosco!
-
infra DEV C++ Compilando TFS no Windows
tópico respondeu ao Natanael Beckman de Bruno em Tutoriais de Infraestrutura
Olá Natanael, tudo bem? Conheço seus conteúdos, na qual gosto muito deles, porém temos que seguir normas para que um conteúdo seja aprovado, sem abrir exceções. Neste caso, estarei postando os scans, porém, não precisa ser rude pois o @Krono está apenas seguindo as normas nas quais citei. Um Abraço
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.