-
Total de itens
270 -
Registro em
-
Última visita
-
Dias Ganhos
2
Histórico de Curtidas
-
-
amoxicilina recebeu reputação de denysmenetix em Monglor Island
Olá Kinganos, venho aqui hoje pra trazer um mapa que fiz hoje mesmo no tédio de não ter nada pra matar o tempo neste calor insuportável que se encontra SP, então chega de mimimi e vamos ao que interessa, Rs...
Imagens
Download
Monglor Island.rar
Coordenadas: X= 1026 Y= 1062 Z= 7
Senha: tibiaking
Espero que gostem e faça bom uso!
-
amoxicilina deu reputação a Toruk em effect player vip/premium
local config = { effect = 30, -- Efeito que vai usar storage = 998899, -- Storage que o player precisa ter tempo = 3, -- Tempo em segundos 1200 - 20 minutos text = 'TRK' } local PremiumEfect = CreatureEvent("PremiumEfect") function PremiumEfect.onLogin(player) player:registerEvent("PremiumEfect") if player:getStorageValue(config.storage) == 1 then SendEffect(player:getId()) end return true end function SendEffect(cid) local player = Player(cid) if not player then return end player:getPosition():sendMagicEffect(config.effect) player:say(config.text, TALKTYPE_MONSTER_SAY) addEvent(SendEffect, config.tempo*1000, player:getId()) return true end PremiumEfect:register()
-
amoxicilina deu reputação a najatheus em Addon System - (PDA)
System de addon, funciona da seguinte maneira:
- O item deve ser usado diretamente na pokebola, caso o player deseje colocar um novo addon no pokemon, evoluir ou transformar em shiny, devera ser utilizado o comando: !removeAddon
Instruções:
Insira na pasta datapack/actions/script/
Addon.lua
addonbox.lua
Insira na pasta datapack/lib/
Addon System.lua
Agora, em datapack/actions/actions.xml :
<action itemid="13103;13114;13107" event="script" value="Addon.lua"/> <!-- Aqui estarão os id dos addons que vão ser utilizados na pokebola --> <action itemid="2183" event="script" value="addonbox.lua"/> <!-- Id da addon box -->
Agora, em datapack/actions/scripts/goback.lua, abaixo de :
local pk = getCreatureSummons(cid)[1] if not isCreature(pk) then return true end Insira :
local pk = getCreatureSummons(cid)[1] if not isCreature(pk) then return true end local slot = getPlayerSlotItem(cid, CONST_SLOT_FEET) local addon = getItemAttribute(slot.uid, "pokeaddon") addonTransformOutfit(cid, addon, pokemon)
Agora, em datapack/actions/scripts/order.lua, abaixo de :
doSummonMonster(cid, pokemon) local pk = getCreatureSummons(cid)[1]
Insira :
local slot = getPlayerSlotItem(cid, CONST_SLOT_FEET) local addon = getItemAttribute(slot.uid, "pokeaddon") addonTransformOutfit(cid, addon, pokemon)
Agora, em datapack/actions/scripts/evolution.lua, abaixo de :
if not isMonster(item2.uid) or not isSummon(item2.uid) then return true end if #getCreatureSummons(cid) > 1 then return true --alterado v1.9 end Insira :
local poke_addon = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "pokeaddon") if(poke_addon)then return doPlayerSendCancel(cid, "Please remove addon before evolution, Command: !removeAddon") end
Agora, em datapack/actions/scripts/sh stone.lua, abaixo de :
if getPlayerSlotItem(cid, 8).uid == itemEx.uid then if #getCreatureSummons(cid) <= 0 then Insira :
local poke_addon = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "pokeaddon") if(poke_addon)then return doPlayerSendCancel(cid, "Please remove addon before evolution, Command: !removeAddon") end Agora, em datapack/creaturescripts/scripts/look.lua, abaixo de :
if getItemAttribute(thing.uid, "gender") == SEX_MALE then table.insert(str, "It is male.") elseif getItemAttribute(thing.uid, "gender") == SEX_FEMALE then table.insert(str, "It is female.") else table.insert(str, "It is genderless.") end Insira :
if(getItemAttribute(thing.uid, "pokeaddon"))then local table_addon = ADDON_CONFIG[getItemAttribute(thing.uid, "pokeaddon")] if not table_addon then return true end table.insert(str, "\n" .. "Addon : " .. table_addon.name_addon .. ".") end Agora, em datapack/lib/order.lua, abaixo de :
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])) doRemoveCreature(getCreatureSummons(cid)[1]) setPlayerStorageValue(cid, 17000, 1) Insira :
local slot = getPlayerSlotItem(cid, CONST_SLOT_FEET) local addon = getItemAttribute(slot.uid, "pokeaddon") addonTransformOutfitAbility(cid, addon) Continuando em datapack/lib/order.lua, abaixo de :
elseif skill == "ride" then local pokemon = rides[getPokemonName(getCreatureSummons(cid)[1])] doChangeSpeed(cid, -getCreatureSpeed(cid)) local speed = 150 + PlayerSpeed + getSpeed(sid) * 5 * speedRate doChangeSpeed(cid, speed) setPlayerStorageValue(cid, 54844, speed) doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1) doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])) doRemoveCreature(getCreatureSummons(cid)[1]) setPlayerStorageValue(cid, 17001, 1) Insira :
addonTransformOutfitAbility(cid)
Agora, em datapack/movements/scripts/surf.lua, abaixo de:
doSetCreatureOutfit(cid, {lookType = surfs[getPokemonName(getCreatureSummons(cid)[1])].lookType + 351}, -1) doCreatureSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", lets surf!", 1) doChangeSpeed(cid, -(getCreatureSpeed(cid))) Insira :
addonTransformOutfitAbility(cid) Continuando, em datapack/movements/script/surf.lua, abaixo de:
doSummonMonster(cid, pokemon) local pk = getCreatureSummons(cid)[1] Insira :
local slot = getPlayerSlotItem(cid, CONST_SLOT_FEET) local addon = getItemAttribute(slot.uid, "pokeaddon") addonTransformOutfit(cid, addon, pokemon) Agora, em datapack/talkactions/scripts/ crie um arquivo .lua, coloque dentro :
function onSay(cid, words, param, channel) if(#getCreatureSummons(cid) >=1)then return false end local slot = getPlayerSlotItem(cid, CONST_SLOT_FEET) if not slot then return false end local addon_ball = getItemAttribute(slot.uid, "pokeaddon") if(addon_ball)then removeAddon(cid,slot,addon_ball) return true end end Agora, em datapack/talkactions/talkactions.xml registre :
<talkaction words="!removeAddon" hide="yes" event="script" value="nome do arquivo.lua"/>
Configurações :
ADDON_CONFIG ={ [1] = { -- Type do attribute do addon addon1 = 2079, -- Id da outfit pokemon = "Blastoise", -- O pokemon name_addon = "Red ninja pack", -- Nome do addon habilidade = 2089, -- Id da outfit correspondente com sua habilidade }, } local addon_type = { [13114] = { -- Id do item pokemon_use = "Blastoise", -- O pokemon type = 1, -- Valor do attribute }, } Return_addon_table = { [1] = { -- Type do attribute retu = 13114, -- o id do item que o player vai ganhar }, } Creditos :
Sr. Naja
20210725_201402.mp4 -
amoxicilina deu reputação a Erimyth em Live oficial Ravendawn dia 10/04 às 16:00h + Sorteio de Chaves
Está chegando o grande dia!! A LIVE mais esperada do Ravendawn acontecerá no dia 10/04/2021 "Sábado às 16:00h"
Além dessa grande noticia da live, a equipe do Ravendawn irá distribuir 5 Chaves para o alfa (Fase 3), e 20 Chaves para o beta fechado!
Conteúdo principal da live!
✔️ Primeiro trailer oficial do Ravendawn! ✔️ Perguntas e respostas com a equipe de desenvolvimento. ✔️ Sorteio de 5 Alpha Keys durante a live para os espectadores!
? Sorteio das Chaves
Para conseguir algumas dessas chaves é muito simples! ?
Para cada item abaixo que você concluir você receberá pontos e poderá ter a chance de ganhar uma chave! ?
Todos os pontos serão somados e os vencedores serão selecionados aleatoriamente! ✔️
? Discord
https://discord.gg/Ravendawn
- Reaja a esta postagem no discord - 1 ponto
? Pontos no Facebook
https://www.facebook.com/ravendawnonline/posts/284616256565939?_rdc=1&_rdr
- Curta a página do Facebook - 1 ponto
- Curta a postagem do Facebook - 1 ponto
- Comente a postagem do Facebook marcando um amigo para assistir a transmissão ao vivo! - 2 pontos
- Compartilhe a postagem no Facebook - 3 pontos
? Instagram
https://www.instagram.com/p/CNViIQppMtH/
- Curta a página do Instagram - 1 ponto
- Curta a postagem do Instagram - 1 ponto
- Compartilhe a postagem do Instagram - 3 pontos
? Twitter
https://twitter.com/ravendawnonline/status/1379518549761347590
- Curta a página no Twitter - 1 ponto
- Curta o tweet do evento - 1 ponto
- Compartilhe o tweet do evento - 3 pontos
?Youtube
https://youtube.com/c/RavendawnOnline
- Inscreva-se no nosso canal do youtube - 2 pontos
?Twitch
https://twitch.tv/RavendawnOnline
- Siga nossa Twitch - 2 pontos
Você tem até o dia 09/04 para participar!
Anunciaremos os vencedores pouco antes da nossa transmissão ao vivo no dia 10 de abril, na sala de anúncios no Discord!
Certifique-se de estar seguindo o canal oficial do Ravendawn na Twitch, para não perder a transmissão! https://twitch.tv/RavendawnOnline Se você não puder assistir a live, poderá assistir a gravação no canal do Youtube https://youtube.com/c/RavendawnOnline ?
-
amoxicilina deu reputação a Erimyth em Ravendawn - Apresentação Inicial
Reacendendo um estilo de arte isométrico focado na imersão em jogo, na comunidade e no design de personagens únicos ao invés de gráficos vazios.
Hoje o tibiaking vem apresentar a comunidade um jogo inspirado em tíbia e Albion. trazendo uma proposta que aparenta ser inovadora, com mecânicas jamais vistas antes em ot servers, o projeto foi criado do 0 tornando um jogo original.
Reacendendo um estilo de arte isométrico focado na imersão em jogo, na comunidade e no design de personagens únicos ao invés de gráficos vazios. Ravendawn será um MMORPG free to play, com foco apenas em monetização ética.
Por que Ravendawn é diferente de qualquer outro MMORPG?
Construção de casas no mundo
Em Ravendawn, o mundo é seu para conquistar! A vastidão da paisagem de Ravendawn significa que você pode construir basicamente em qualquer lugar - no meio de uma densa floresta, na areia do litoral, até mesmo no topo de uma montanha desolada. Com construção de casas e fazendas no mundo real, tudo o que você precisa fazer é reivindicar um terreno e deixar sua imaginação fluir. Una forças com outros aventureiros, reúna seus recursos e reivindique até mesmo ilhas para sua nova aliança! De uma simples cabana de madeira cercada por terras agrícolas à uma mansão de pedra que se ergue sobre seus convidados, não importa, quem sabe é você. Ravendawn é a sua tela, pinte como desejar.
Economia orientada pelo jogador
Toda a economia de Ravendawn é dirigida inteiramente por vocês, os jogadores. Com sistemas de Pacotes e Navegação, construídos com elementos de inteligência artificial auto-equilibrável, os jogadores são livres para trazer uma variedade de bens valiosos por toda parte no mundo de Ravendawn. Independente de você optar por levar seus produtos por terra ou por mar, você desempenha um papel ativo em uma economia em constante mudança.
Mas esteja avisado - planejar uma viagem através dos mares ou uma viagem pelas montanhas também pode ser perigoso! Outros jogadores podem emboscá-lo e matá-lo para pegar sua mercadoria. Está planejando lucrar com uma longa viagem através do mar ou uma caminhada pelas montanhas? Certifique-se de contratar um guarda-costas ou forjar alianças com outros jogadores para proteger sua riqueza e garantir sua segurança!
Customização quase que ilimitada
Um dos, senão o mais importante princípio no design de Ravendawn é personalização quase que ilimitada. Ser capaz de moldar seu personagem exatamente como você deseja, com o mínimo de limitações possível. Mas isso não para em seu personagem. Os navios, montarias, tradecarts e casas no mundo de Ravendawn são quase tão profundamente personalizáveis quanto o seu próprio personagem.
Site
https://ravendawn.online Redes Sociais
Facebook: https://www.facebook.com/ravendawnonline
Instagram: https://www.instagram.com/ravendawnonline
Twitter: https://twitter.com/ravendawnonline
Discord: https://discord.com/invite/fUE8VJtXvN
-
amoxicilina deu reputação a EddyHavoc em Linguagem dos Orcs
A Linguagem Orc
A Linguagem Orc é muito antiga no Tibia, acredita-se que surgiu em Rookgaard em 17 de Março de 2000. Um fato curioso é que com o passar dos tempos aparentemente até mesmo os próprios Orcs foram deixando de falar esta linguagem, ao menos conosco.
Podemos encontrar bastante informações sobre esta língua em Rookgaard, existem livros escritos e NPCs que podemos conversar usando esta linguagem. Ela pode ser útil para conseguir até mesmo alguns benefícios na ilha.
Abaixo irei citar algumas traduções da linguagem orc para o inglês.
Traduções
Palavra aprendidas no Livro chamado "My Travels" encontrado na Academia de Rookgaard, acredita-se que este livro foi escrito pela Amber:
charach -> hi
Palavras aprendidas diretamente com a Amber:
burp -> no
mok -> yes
pixo -> arrow
Palavras aprendidas com o Blind Orc
Ikem -> I
goshak -> Buy
Porak -> Weapons
Bata -> Armors and Helmets
Dora -> Shield
Porak (Weapons):
Charcha -> Sabre
Burka -> Short Sword
Burka Bata -> Sword
Batuk -> Bow
Bata (Armos and Helmets):
Aka Bora -> Leather Armor
Tulak Bora-> Studded Armor
Hakhak -> Hatchet
Grofa -> Studded Helmet
Dora (Shields):
Donga -> Brass Shield
Outras palavras:
aka -> leather
ba -> what
burp -> no
buta -> stupid
futchi -> bye
humak -> human
ikem -> I
klamuk -> unknown insult (noun)
maruk -> you
nixda -> not enough gold (em alemão é algo como "nichts da" = "nothing there")
pashak -> sell
rambo -> thank? or friend?
ta -> this
tefar -> bunch or 10 (but orcs can only count to 5, so it's unlikely)
tulak -> studded (this word is not used in studded helmet)
ul -> for
zambo -> thank? or friend?
Palavras encontradas em livros escrito na linguagem dos Orcs próximo a Bear Room Quest:
5 5 5 5 2 -> 22 (na linguagem orc os números vão até 5)
arash -> ?
bana -> destroy? kill?
batash -> ?
Booz -> ?
bota -> ?
ferut -> ?
gort -> ?
karak -> ?
karakim -> ?
karek -> ?
kiskesh -> ?
mora -> ?
Omark -> ?
ouk -> ?
taka -> ?
utash -> ?
Palavras encontradas em notas penduradas nas paredes:
daem -> ?
desmet -> ?
irkm -> ?
Exemplo de Negociação com o Blind Orc
Iniciando a conversa com o Blind Orc sem ser na linguagem Orc:
(Ele não irá negociar com você se você não falar na linguagem Orc)
- Hi.
- Buta humak! -> Stupid human!
Iniciando a conversa na linguagem Orc:
Charach. -> Hi.
Ikem Charach maruk. -> I greet you.
Negociando:
Ikem goshak. -> I buy.
Ikem pashak porak, bata, dora. Ba goshak maruk? -> I sell weapons, armors/helmets, shields. What buying you?
Negociando Armas:
Goshak porak. -> Buy weapon.
Ikem pashak charcha, burka, burka bata, hakhak. Ba goshak maruk? -> I sell sabre, short sword, sword, hatchet. What buying you?
Negociando Armaduras e Capacetes:
Goshak bata. -> Buy armor/helmet.
Ikem pashak aka bora, tulak bora, grofa. Ba goshak maruk? -> I sell leather armor, studded armor, studded helmet. What buying you?
Negociando escudos:
Goshak dora. -> Buy shield.
Ikem pashak donga. Ba goshak maruk? -> I sell brass shield. What buying you?
Comprando um item:
Goshak batuk. -> Buy bow.
Ahhhh, maruk goshak batuk? -> Ahhhh, you buying bow?
Mok. -> Yes.
Maruk rambo zambo! -> You thank friend(?)!
Comprando flechas (Só é possível comprar de 10 em 10):
Goshak pixo. -> Buy arrows.
Maruk goshak tefar pixo ul batuk? -> You buy ten(or bunch) arrows for bow?
Mok. -> Yes.
Considerações Finais
Vocês gostaram desse tipo de conteúdo? Eu particularmente sou apaixonado pela Lore do Tibia! Deixe um comentário falando sobre o que você achou deste tópico, deste tipo de conteúdo, e o que você gostaria de saber sobre a história desse jogo maravilhoso em tópicos futuros!
Até a próxima!
Maruk rambo zambo!
-
amoxicilina recebeu reputação de Bruxo Ots em Monglor Island
Olá Kinganos, venho aqui hoje pra trazer um mapa que fiz hoje mesmo no tédio de não ter nada pra matar o tempo neste calor insuportável que se encontra SP, então chega de mimimi e vamos ao que interessa, Rs...
Imagens
Download
Monglor Island.rar
Coordenadas: X= 1026 Y= 1062 Z= 7
Senha: tibiaking
Espero que gostem e faça bom uso!
-
amoxicilina recebeu reputação de Augusto em Solução Hasflag OTX tfs 1.3 10~12
Olá pessoal, venho aqui hoje trazer a solução para o erro que tenho visto no servidor OTXServer Global Full Kilmaresh by malucooo, hasflag e não perde o Loot ao morrer.
erro hasflag na console:
Lembrando que essa solução consegui através de outro fórum e resolvi trazer-lo aqui.
Quem me ajudou a solucioná-lo foi: Sarah Wesker, da otland.
Então vamos ao que interessa, rs...
Abra a pasta do seu servidor OTX em, data/lib/core/player.lua
Cole ao final.
function Player.hasFlag(self, flag) if not flag or type(flag) ~= 'number' then return false end return bit.band(self:getGroup():getFlags(), flag) ~= 0 end Pronto! resolvido os problemas. ?
-
amoxicilina recebeu reputação de WooX em Trade Offline V2.0
Não tive a oportunidade de testar, mais parece um ótimo recurso para os otserver, seria mais interessante se toda transação fosse realmente feita pela web ai realmente seria um trade off-line literalmente. Tem meu respeito!
-
amoxicilina deu reputação a WooX em Trade Offline V2.0
Trade Offline V2.0
Esse sistema me foi pedido a alguns meses atrás e hoje tirei um tempinho pra trazer aqui.
O sistema consiste em permitir que jogadores negociem sem contato direto entre comprador e vendedor.
Mas como assim?
O vendedor pode criar um anuncio de venda informando item, valores ou até mesmo items que ele queira em troca, após feito o anuncio todas essas informações ficam armazenadas no banco de dados do servidor, permitindo assim serem exibidas em uma página no site para interessados, junto de todas informações fornecidas pelo vendedor é exibido um comando para que os interessados possam adquirir a oferta exibida na página.
Sobre o sistema
O sistema foi testado apenas em OTX2, mas provavelmente também funcione em TFS 0.4
Versão para TFS 1.x adaptada pelo @luanluciano93
Como mencionado acima, o sistema funciona de forma semelhante ao Market System das versões atuais porem sem exibição gráfica das ofertas in-game, para isso o sistema vai acompanhado de uma página para o Gesior AAC. Este sistema existe no fórum há um bom tempo e já é familiar pra muitos jogadores, essa versão trás consigo algumas melhorias e diferenças que irei listar abaixo.
Sistema
Agora é possivel vender um item exigindo outro item em troca ao invés de dinheiro. Containers com um conjunto de items dentro agora podem ser anunciados. Agora o sistema verifica as cargas e durações dos items antes de criar uma oferta. Novo parâmetro adicionado para verificar informações de ofertas in-game. Agora todo valor recebido vai diretamente para o banco do vendedor. Página
A depender da quantidade de ofertas existentes no servidor, a página agora irá separa-las por páginas. Agora além do valor é exibido também imagem da moeda a depender do valor da oferta. Agora é possivel ver as características tanto dos items ofertados como dos items exigidos pelo vendedor. Adicionado filtros para exibir somente ofertas de items vip, containers ou trocas. Adicionado barras de pesquisas para filtrar as ofertas por items ou nome do jogador.
Algumas imagens
Instalação
Antes de mais nada é necessário citar os requisitos necessários para o funcionamento correto do sistema, ele utiliza de algumas funções que não estão no script principal e portanto é necessário a instalação de uma lib extra, também é necessário instalar as funções doItemSetDuration e getItemDurationTime na source do servidor, ambos os links se encontram abaixo.
Todos os arquivos necessários para a instalação estão anexados no tópico, irei apenas dizer onde instalar e como deve ser configurado.
Primeiramente importe o arquivo schema.sql no banco de dados, ou se preferir pode executar as queries a seguir.
CREATE TABLE IF NOT EXISTS `trade_off_offers` ( `id` int(11) NOT NULL auto_increment, `player_id` int(11) NOT NULL, `type` int(1) NOT NULL DEFAULT '0', `item_id` int(11), `item_count` int(11) NOT NULL DEFAULT '1', `item_charges` int(11) NULL, `item_duration` int(11) NULL, `item_name` varchar(255), `item_trade` tinyint(1) NOT NULL DEFAULT '0', `cost` bigint(20) UNSIGNED NOT NULL, `cost_count` int(11) NOT NULL DEFAULT '1', `date` bigint(20), PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS `trade_off_container_items` ( `offer_id` int(11) NOT NULL, `item_id` int(11), `item_charges` int(11) NULL, `item_duration` int(11) NULL, `count` int(11) DEFAULT '1' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; ALTER TABLE `trade_off_container_items` ADD KEY `offer_id` (`offer_id`); ALTER TABLE `trade_off_container_items` ADD CONSTRAINT `offer_id_fk` FOREIGN KEY (`offer_id`) REFERENCES `trade_off_offers`(`id`) ON DELETE CASCADE;
Configuração no arquivo tradeoff.lua:
-- Trade Offline 2.0 by WooX -- local config = { priceLimit = 2000000000, -- 2kkk offerLimit = 3, offerLimitStor = 86420, infoOnPopUp = true, infoMsgType = MESSAGE_STATUS_CONSOLE_BLUE, errorMsgType = MESSAGE_STATUS_CONSOLE_RED, successMsgType = MESSAGE_INFO_DESCR, helpMsg = "Enter the parameters (add, remove, active, buy, info).", goldItems = {2148, 2152, 2160}, itemsVIP = {4540, 4545, 4560}, } priceLimit: define o valor máximo de uma oferta. offerLimit: define o valor máximo de ofertas que um jogador pode adicionar. offerLimitStor: storage que irá armazenar quantas ofertas ativas o jogador possui. infoOnPopUp: pode ser definido como true ou false, se definido como falso irá enviar os detalhes da oferta no default ao invés de como é mostrado nas imagens acima. infoMsgType: define como será exibido uma mensagem de informação ao jogador (não recomendo mexer a menos que saiba o que está fazendo). errorMsgType: define como será exibido uma mensagem de erro ao jogador (não recomendo mexer a menos que saiba o que está fazendo). successMsgType: define como será exibido uma mensagem de ação sucedida ao jogador (não recomendo mexer a menos que saiba o que está fazendo). helpMsg: mensagem que será enviada para o jogador caso ele erre os parâmetros do comando. goldItems: nesta tabela deve ser preenchido todos os IDs de moedas no servidor como gold coins, platinum coins, etc. itemsVIP: nesta tabela deve ser preenchido os IDs dos items vips existentes no servidor.
Agora para a instalação da página, no arquivo mysql_db.php deve ser preenchido os dados para conexão no banco de dados do servidor.
/** * Host do banco de dados * @var string */ private static $DB_HOST = 'localhost'; /** * Usuario de conexao ao banco de dados * @var string */ private static $DB_USER = 'root'; /** * Senha de conexao ao banco de dados * @var string */ private static $DB_PASS = 'SUA_SENHA'; /** * Nome do banco de dados * @var string */ private static $DB_NAME = 'NOME_BANCO'; Após feito isso, o arquivo paginationClass.php em conjunto do arquivo mysql_db.php devem ser adicionados no seguinte diretório do Gesior AAC.
classes/
Finalizado isto, basta jogar o arquivo tradeoff.php dentro do diretório informado abaixo e o sistema estará pronto para uso.
pages/
Avisos
Eu escrevi somente o sistema, não sou o autor da página para o Gesior AAC portanto não estarei dando suporte em relação a página que não seja sobre a instalação da mesma no Gesior AAC 2012, e embora esteja funcional, eu não recomendo o uso da página devido a falta do uso de cache para leitura do items.xml. Foram mais de 600 linhas de código sem contar funções extras e alterações na source, além de muitas horas de testes para garantir que tudo estava funcionando corretamente, tudo que peço em troca é que não removam os créditos no arquivo quando forem usar.
Créditos
@MatheusDuarte pela página do Gesior AAC.
schema.sql tradeoff.lua tradeoff.php mysql_db.php paginationClass.php
-
amoxicilina recebeu reputação de Naze em Monglor Island
Olá Kinganos, venho aqui hoje pra trazer um mapa que fiz hoje mesmo no tédio de não ter nada pra matar o tempo neste calor insuportável que se encontra SP, então chega de mimimi e vamos ao que interessa, Rs...
Imagens
Download
Monglor Island.rar
Coordenadas: X= 1026 Y= 1062 Z= 7
Senha: tibiaking
Espero que gostem e faça bom uso!
-
amoxicilina recebeu reputação de Cat em Monglor Island
Olá Kinganos, venho aqui hoje pra trazer um mapa que fiz hoje mesmo no tédio de não ter nada pra matar o tempo neste calor insuportável que se encontra SP, então chega de mimimi e vamos ao que interessa, Rs...
Imagens
Download
Monglor Island.rar
Coordenadas: X= 1026 Y= 1062 Z= 7
Senha: tibiaking
Espero que gostem e faça bom uso!
-
amoxicilina recebeu reputação de Cat em Download Clients 11+ IP 127.0.0.1
tem loguin.lua funfando ai?
-
amoxicilina deu reputação a Cat em Yutae - Cidade + Hunts
Yutae
Fiz essa cidade a alguns anos e estava guardada no meu PC. Completei ela com 5 hunts, pois tinha um comprador interessado, porém o mesmo foi assaltado e desistiu da compra, então decidi postar pra vocês. O mapa é simples, mas tem vários acessos pela cidade pra WAR e locais para NPC, é uma cidade completa, as houses já vem cadastradas, mais informações e imagens abaixo.
Informações:
Versão: 11.0
Depots: 38
Criaturas: 596
Casas: 24 (maior casa: "Plazza C GH II" (145 sqm))
Show Off Cidade:
Templo & Depot:
Norte da Cidade e Porto
Centro da Cidade:
Arredores:
Saída sul para as hunts com algun s mobs:
Show Off Hunts:
1 - Azul: Shock Head, Betrayed Wraith, Destroyer e Blightwalker
Imagens:
2 - Amarelo: Serpent Spawn, Medusa e Wyvern,
Imagens:
3 - Laranja: Wailing Window, Son of Verminor e Plaguesmith.
Imagens:
4 - Vermelho: Silencer, Demon, Behemoth, Dark Torturer e Juggernaut.
Imagens:
5 - Rosa: Fury, Grim Reaper e Hellhound.
Imagens:
6 - Cinza: Serpent Spawn & Medusa
7 - Marrom: Betrayed Wraith, Blightwalker e Undead Dragon.
A ilha das fury acompanha um depot:
Baixar mapa:
Yutaev1_Nolis.rar
Créditos:
@SamueLGuedes
@Cat
-
amoxicilina deu reputação a L3K0T em Anunciar quem Matou um Monstro
L3KOT tfs: 1.3
Bom esse sistema é bem simples, ele anuncia pro servidor todo ao matar um tal monstro especifico.
1° vai em otserv\data\creaturescripts\scripts copia um arquivo.lua, renomeia para monsterkill.lua e add dentro;;;
function onDeath(monster, corpse, killer, mostDamageKiller, unjustified, mostDamageUnjustified) local monstro = "Diablo" if monster:getName() == monstro then Game.broadcastMessage("O Jogador "..killer:getName().." matou o Boss " ..monster:getName().. "! ") end return true end
Em creaturescripts.xml add
<event type="death" name="monsterkill" script="monsterkill.lua"/>
Abra o xml do monstro que você quer que apareça a mensagem global depois de mata-lo e add lá no final depois de loot;;
<script> <event name="monsterkill" /> </script> feito isso, salve tudo e pronto!!! Sucesso e jamais desista do seus projetos.
ajuda sandada para @Faysal creditos: L3K0T and @Faysal
-
amoxicilina recebeu reputação de Cat em Solução Hasflag OTX tfs 1.3 10~12
Olá pessoal, venho aqui hoje trazer a solução para o erro que tenho visto no servidor OTXServer Global Full Kilmaresh by malucooo, hasflag e não perde o Loot ao morrer.
erro hasflag na console:
Lembrando que essa solução consegui através de outro fórum e resolvi trazer-lo aqui.
Quem me ajudou a solucioná-lo foi: Sarah Wesker, da otland.
Então vamos ao que interessa, rs...
Abra a pasta do seu servidor OTX em, data/lib/core/player.lua
Cole ao final.
function Player.hasFlag(self, flag) if not flag or type(flag) ~= 'number' then return false end return bit.band(self:getGroup():getFlags(), flag) ~= 0 end Pronto! resolvido os problemas. ?
-
amoxicilina deu reputação a malucooo em [WIP] OTXServer 12.31 Global Full + Kilmaresh (Issavi) + BESTIARY - QUICKLOOT
OTXServer Global Full Kilmaresh by Malucooo
[CLIENTS COMPATÍVEIS]
http://www.gitlab.com/guilhermesidney/cliente10/
[DOWNLOAD]
BAIXEM EM: https://github.com/malucooo/otxserver-new
DISTRO COMPILADA EM: https://ci.appveyor.com/project/malucooo/otxserver-new/build/artifacts
WEBSITE COMPATIVEL EM: https://github.com/omarcopires/gesior/
[FEATURES]
REWARD SYSTEM, PREY SYSTEM, IMBUIMENT SYSTEM, DAILY REWARD SYSTEM, EXERCISE WEAPONS, BESTIARY, QUICKLOOT...
[MAPA]
FULL GLOBAL MAP WITH KILMARESH (ISSAVI)
[AGRADECIMENTO]
TIBIAKING PELO ESPAÇO CONCEDIDO, TODOS QUE COLABORARAM MOSTRANDO OS BUGS, AOS AMIGOS QUE TRABALHAM COMIGO AQUI NO FÓRUM E NO GRUPO DO WHATSAPP, OTXSERVER (Matt Gomez), AOS CRIADORES DO THE FORGOTTEN SERVER E MAIS UMA VEZ A TODOS QUE ACREDITARAM E ACREDITAM NO PROJETO.
[CONTATO]
FACEBOOK:https://www.facebook.com/erick.nunes.75/
SKYPE: [email protected]
WHATSAPP: +5544998940391.
[Créditos]
Tfs 1.3 Developers -Zbizu - Pitis91 - MatheusMkalo - Gesior - Lundrial - M4G0 -
Fish04k - Printer - Djarek - Ninjalulz - Slavidodo - Thexamx - Socket2810 - Ciroc - Absolute - Gordonbay - Mitsuig - Alissonfgp - Gunz - Bruno Minervino - Comedinha -Hirako - Maya - Mattyx14 – Darkjav - Viking Tibia - Cjaker (Eternal-Scripts)
-
amoxicilina recebeu reputação de gabitutox em [WIP] OTXServer 12.31 Global Full + Kilmaresh (Issavi) + BESTIARY - QUICKLOOT
estava com mesmo problema passei a usar MYACC funcionou consegui, logar ate no client 12.00 só não consegui logar no 12.30.
link MYACC: https://github.com/slawkens/myaac/releases/tag/v0.8.1
Tenta com essa login.php
<?php require_once('common.php'); require_once('config.php'); require_once('config.local.php'); require_once(SYSTEM . 'functions.php'); require_once(SYSTEM . 'init.php'); require_once(SYSTEM . 'status.php'); # error function function sendError($msg){ $ret = []; $ret["errorCode"] = 3; $ret["errorMessage"] = $msg; die(json_encode($ret)); } $request = file_get_contents('php://input'); $result = json_decode($request); $action = isset($result->type) ? $result->type : ''; switch ($action) { case 'cacheinfo': die(json_encode([ 'playersonline' => $status['players'], 'twitchstreams' => 0, 'twitchviewer' => 0, 'gamingyoutubestreams' => 0, 'gamingyoutubeviewer' => 0 ])); break; case 'eventschedule': die(json_encode([ 'eventlist' => [] ])); break; case 'boostedcreature': die(json_encode([ 'boostedcreature' => false, ])); break; case 'login': $port = $config['lua']['gameProtocolPort']; // default world info $world = [ 'id' => 0, 'name' => $config['lua']['serverName'], 'externaladdressprotected' => $config['lua']['ip'], 'externalportprotected' => $port, 'externaladdressunprotected' => $config['lua']['ip'], 'externalportunprotected' => $port, 'previewstate' => 0, 'location' => 'BRA', // BRA, EUR, USA 'anticheatprotection' => false, 'pvptype' => array_search($config['lua']['worldType'], ['pvp', 'no-pvp', 'pvp-enforced']), 'istournamentworld' => false, 'restrictedstore' => false, 'currenttournamentphase' => 2 ]; $characters = []; $account = null; // common columns $columns = 'name, level, sex, vocation, looktype, lookhead, lookbody, looklegs, lookfeet, lookaddons, deletion, lastlogin'; $account = new OTS_Account(); $account->find($result->email); $config_salt_enabled = fieldExist('salt', 'accounts'); $current_password = encrypt(($config_salt_enabled ? $account->getCustomField('salt') : '') . $result->password); if (!$account->isLoaded() || $account->getPassword() != $current_password) { sendError('Account name or password is not correct.'); } $players = $db->query("select {$columns} from players where account_id = " . $account->getId())->fetchAll(); foreach ($players as $player) { $characters[] = create_char($player); } $worlds = [$world]; $playdata = compact('worlds', 'characters'); $session = [ 'sessionkey' => "$result->email\n$result->password", 'lastlogintime' => (!$account) ? 0 : $account->getLastLogin(), 'ispremium' => (!$account) ? true : $account->isPremium(), 'premiumuntil' => (!$account) ? 0 : (time() + ($account->getPremDays() * 86400)), 'status' => 'active', // active, frozen or suspended 'returnernotification' => false, 'showrewardnews' => true, 'isreturner' => true, 'fpstracking' => false, 'optiontracking' => false, 'tournamentticketpurchasestate' => 0, 'emailcoderequest' => false ]; die(json_encode(compact('session', 'playdata'))); break; default: sendError("Unrecognized event {$action}."); break; } function create_char($player) { global $config; return [ 'worldid' => 0, 'name' => $player['name'], 'ismale' => intval($player['sex']) === 1, 'tutorial' => false, //intval($player['lastlogin']) === 0, 'level' => intval($player['level']), 'vocation' => $config['vocations'][$player['vocation']], 'outfitid' => intval($player['looktype']), 'headcolor' => intval($player['lookhead']), 'torsocolor' => intval($player['lookbody']), 'legscolor' => intval($player['looklegs']), 'detailcolor' => intval($player['lookfeet']), 'addonsflags' => intval($player['lookaddons']), 'ishidden' => intval($player['deletion']) === 1, 'istournamentparticipant' => false, 'remainingdailytournamentplaytime' => 0 ]; }
-
amoxicilina deu reputação a
ADM Flowem PokeXMex 0.1.0 2020
Base Cyan Modificada
PokeXMex 0.1.0
• Menu:
├ Informações; ├ Erros; ├ Prints; ├ Download; └ Creditos. └ Future Update. Ocultar conteúdo [+] Novas Sprites Exclusivas
[+] Megas 1,2 e 3 Geração
[+] Clan System
[+] TV System
[+] Sistema de Dungeon
[+] Shinys
[+] Várias Quests
[+] Helds System;
[+] Novas Pokéballs exclusivas;
[+] Fly,Ride e Surf free;
[+] Boost System 100% (Cada pokémon tem sua quantidade de stone para deixar + 50);
[+] Order System;
[+] Cap System (Máximo 6 pokémons em mãos);
[+] Pokémons balanceados.
[+] Smeargle System.
Ocultar conteúdo Tenhe Unois Errores Qe Nao Tira A Base.. Pode Ficar Online
Ocultar conteúdo
Trade Center,,,
Smeargle System..
Ocultar conteúdo https://www.mediafire.com/file/9re31x0t3gxu9cy/PokeXMex_2020.rar/file
Creditos Base Cyan.. Qen Tenha Os Nicks
Ocultar conteúdo [+] Ditto Memory
[+] Autoloot
[+] Daily Catch;
[+] Daily Kill;
[+] Efeito de drop;
[+] Premiações por Tempo Online
[+] Market System
[+] Ganho de experiência após capturar o pokémon pela primeira vez;
-
-
amoxicilina deu reputação a 9k22 em Npc não remove storage
aaah, são 2 horas? Eu entendi 2 dias... Me desculpe:
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { item1 = 12400, item2 = 12400, item3 = 12400, item4 = 12400, count1 = 5, count2 = 5, count3 = 5, count4 = 10, level = 8, -- Level que precisara para viajár sto = 99952, -- Storage não mecher tempo = 2, -- tempo que vai durar a storage (em horas) quest = 39455, -- quest necessaria... } if msgcontains(msg, 'missão') then if (getPlayerStorageValue(cid, config.sto) <= os.time()) then if getPlayerStorageValue(cid, 39455) >= 1 then if getPlayerItemCount(cid, config.item1) >= config.count1 and getPlayerItemCount(cid, config.item2) >= config.count2 and getPlayerItemCount(cid, config.item3) >= config.count3 and getPlayerItemCount(cid, config.item4) >= config.count4 then selfSay('Claro Você me provou que será um grande guerreito, agora Você tera acesso de 2 dias ao treinamento offline, com ele você pode treinar durante 12 horas seguidas.', cid) setPlayerStorageValue(cid, config.sto, os.time()+config.tempo*60*60) doPlayerRemoveItem(cid, config.item1, config.count1) doPlayerRemoveItem(cid, config.item2, config.count2) doPlayerRemoveItem(cid, config.item3, config.count3) doPlayerRemoveItem(cid, config.item4, config.count4) else selfSay('Traga-me os 25 protective charm para poder usar o trainer offline', cid) end else selfSay("Você não completou a quest do ilha dos orc ao south da cidade, complete-a e e mostre-me que você e realmente um guerreiro promissor.", cid) end else selfSay('Você já fez essa missão, volte aqui quando não tiver mais acesso ao treiner, e faremos uma troca de 25 protective charm por mais 2 dias de acesso ao as estatuas.' , cid) return true end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
amoxicilina deu reputação a 9k22 em Npc não remove storage
Olá @amoxicilina, tudo bem?
Tente assim:
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { item1 = 12400, item2 = 12400, item3 = 12400, item4 = 12400, count1 = 5, count2 = 5, count3 = 5, count4 = 10, level = 8, -- Level que precisara para viajár sto = 99952, -- Storage não mecher tempo = 2, -- tempo que vai durar a storage (em horas) quest = 39455, -- quest necessaria... } if msgcontains(msg, 'missão') then if (getPlayerStorageValue(cid, config.sto) <= os.time()) then if getPlayerStorageValue(cid, 39455) >= 1 then if getPlayerItemCount(cid, config.item1) >= config.count1 and getPlayerItemCount(cid, config.item2) >= config.count2 and getPlayerItemCount(cid, config.item3) >= config.count3 and getPlayerItemCount(cid, config.item4) >= config.count4 then selfSay('Claro Você me provou que será um grande guerreito, agora Você tera acesso de 2 dias ao treinamento offline, com ele você pode treinar durante 12 horas seguidas.', cid) setPlayerStorageValue(cid, config.sto, os.time()+config.tempo*24*60*60) doPlayerRemoveItem(cid, config.item1, config.count1) doPlayerRemoveItem(cid, config.item2, config.count2) doPlayerRemoveItem(cid, config.item3, config.count3) doPlayerRemoveItem(cid, config.item4, config.count4) else selfSay('Traga-me os 25 protective charm para poder usar o trainer offline', cid) end else selfSay("Você não completou a quest do ilha dos orc ao south da cidade, complete-a e e mostre-me que você e realmente um guerreiro promissor.", cid) end else selfSay('Você já fez essa missão, volte aqui quando não tiver mais acesso ao treiner, e faremos uma troca de 25 protective charm por mais 2 dias de acesso ao as estatuas.' , cid) return true end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
amoxicilina deu reputação a gabrielzika em (Resolvido)NPC Que troca storage por itens
@amoxicilina
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { item1 = 12400, item2 = 12400, item3 = 12400, item4 = 12400, count1 = 5, count2 = 5, count3 = 5, count4 = 10, level = 300, -- Level que precisara para viajar sto = 99952, -- Storage não mecher tempo = 172800, -- tempo que vai durar a storage quest = 444454, -- quest necessaria... } if msgcontains(msg, 'mission') then if (getPlayerStorageValue(cid, config.sto) <= os.time()) then if getPlayerStorageValue(cid, config.quest) >= 1 then if getPlayerItemCount(cid, config.item1) >= config.count1 and getPlayerItemCount(cid, config.item2) >= config.count2 and getPlayerItemCount(cid, config.item3) >= config.count3 and getPlayerItemCount(cid, config.item4) >= config.count4 then selfSay('Claro, você foi para a próxima missão. Boa sorte.', cid) setPlayerStorageValue(cid, config.sto, os.time()+config.tempo) doPlayerRemoveItem(cid, config.item1, config.count1) doPlayerRemoveItem(cid, config.item2, config.count2) doPlayerRemoveItem(cid, config.item3, config.count3) doPlayerRemoveItem(cid, config.item4, config.count4) else selfSay('Traga-me os 25 protective charm para poder treinar comigo por dois dias.', cid) end else selfSay("voce nao completou a quest do vilarejo dos orc ao south da cidade, complete-a e e mostre-me que voce e realmente um guerreiro promissor.", cid) end else selfSay('Você Ja fez essa missão!' , cid) return true end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
xml
<?xml version="1.0" encoding="UTF-8"?> <npc name="NomeDoNpc" script="NomeDoArquivo.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="589" head="20" body="100" legs="50" feet="99" corpse="2212"/>] <parameters> <parameter key="message_greet" value="Parabens, voce provou-me que e um guerreiro promissor. Se quiser continuar diga {mission}."/> </parameters> </npc>
-
amoxicilina deu reputação a Bruxo Ots em Animated Outfits 12.31
Ola Tibianos!!!!
Gesior tinha atualizado até a versão 10.92 com addons, monstros e mounts.
Mas como ele não atualizou mais, decidi continuar nesse movimento, então sempre
que possivel estarei trazendo as novidades do nosso querido e amado tibia.
Meta é sempre estar atualizando com os novos looks do global.
Adicionei o cache em todos os arquivos, então agora e so baixar e usar, claro que precisa
ser configurado no site de vocês.
Nessa ultima att ja vem com o incrivel Dragon Slayer e as montarias novas que a cip lançou para ajudar o pessoal com Covid-19.
Download
Créditos
Tutorial Gerando Cache so se não souber mesmo.