Histórico de Curtidas
-
joaopedrodepaiva recebeu reputação de FearWar em TibiaKing OTX 2 + Cast System E Guild WarsQuer dizer que algum/alguns itens não estão definidos no xml. Você pode usar um comparador de .txt pra ver quais os itens que "faltam". Mas recomendo pegar um xml completo, ou o mais próximo disso.
-
joaopedrodepaiva deu reputação a Nolangg em TibiaKing OTX 2 + Cast System E Guild Warsna verdade, é só pegar qualquer items.xml do mattyx (podendo ser o otxserver 2 - 2.15)
essa src tem alguns bugs pelo que me falaram.., quando tiver tempo vou dar uma ajeitada nela e depois re-disponibilizar aqui mesmo.
-
joaopedrodepaiva deu reputação a Rogex Joyz em Roshamuul full para tibia 8.60!!! (O mais completo para a versão, com prision, rosha lower, bones e boss room)Roshamuul perfeita com sprites do 8.6 para você colocar no seu servidor. Vejo muitos servidores utilizando este mapa da famosa Rosha porém pouquissímos divulgam.
- unknown author
ENJOY ?
roshamuul full 8.60.otbm
-
joaopedrodepaiva deu reputação a Endless em [MyAAC] Plugin Auction SystemOlá senhores, desenvolvi um Plugin que vai dar um "tchann" extra em seu servidor rsrsrs.
Sobre o Sistema:
Este é o Sistema de Auction, convertido para MyAAC.
Testado para 0.3.6 / 0.4
Para alterar qualquer configuração do sistema, você pode acessar: system/pages/auction.php
Demo:
Instalação:
Baixe o plugin: auction-system.zip
Vá até o Painel de Administração, selecione a aba 'Plugins' e selecione auction-system.zip, clique em upload.
Mova o arquivo => auctionsystem.lua <= para `data/talkactions/scripts`
Adicione a tag `<talkaction words="!offer_gold" event="script" value="auctionsystem.lua"/>` em talkactions.xml de seu servidor
Pronto, instalado XD!!
PS:
-> O sistema foi testado e não apresentou problemas, porém se vierem a encontrar falhas, favor reportar para que eu possa manter o tópico atualizado/corrigido.
-> Eu faço correções no sistema caso esteja errado, mas não faço adaptações pro seu servidor. Caso queira variações do sistema, favor enviar seu pedido no discord da Academia de Programação, ou em meu discord privado: Endless#5410
Créditos:
@Tottin Por desenvolver junto comigo a lógica.
Créditos pela script base: https://tibiaking.com/forums/topic/34172-trade-off-shop-offline/?tab=comments#comment-192640
-
joaopedrodepaiva deu reputação a xWhiteWolf em Sistema de Reset 100%Fala galera do TK, hoje vim pra trazer pra vocês um npc criado por mim e pelo Nogard numa madrugada aí para solucionar a dúvida de um cara no suporte. Eu dei uma melhorada no script original, tirei umas coisas repetidas e adicionei novas funções;
Você agora pode configurar se quer que o preço aumente a cada reset, se quer que o level pra resetar aumente e se vc quer que a vida resete junto (e quanto % da vida atual será a vida após resetar).
Testado em TFS 0.3.6, Versão 8.45
Sem mais delongas, vamos ao script.
Antes de tudo crie um arquivo chamado reseter.lua na pasta data\npc\scripts\ e coloque isso daqui dentro dele:
Você pode editar tudo mexendo aqui:
local config = {
minlevel = 150, --- level inical para resetar
price = 10000, --- preço inicial para resetar
newlevel = 20, --- level após reset
priceByReset = 0, --- preço acrescentado por reset
percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total)
levelbyreset = 0 --- quanto de level vai precisar a mais no próximo reset
}
Feito isso, crie agora o npc que irá utilizar esse script.. em data\npc crie um arquivo.xml chamado Reseter.xml e coloque isso dentro dele:
Agora é só colocar o seu npc no mapa pelo mapa editor e curtir
OBS 1: Se seu server for 8.6 ou maior troque no script.lua as funções db.executeQuery por db.query
OBS 2: Esse script dava pra ser diminuido ainda mais mas por hora deixa ele assim, se vc tiver alguma proposta melhor por favor poste nos comentários que eu testo a sua versão e edito o tópico se for o caso.
OBS 3: Não remova os créditos, isso é a coisa mais baixa e suja que alguém pode fazer.. eu scripto pra ajudar a comunidade do Tibia a evoluir e libero 99% doque eu faço, se vocês não removerem os créditos e não postarem em outros fórums sem minha permissão isso pode continuar assim.
--- EDIT: Coloquei algumas imagens pra vcs verem como fica no server
EDIT: Arrumei o problema de o npc não dar bye automáticamente qnd o player se afasta, bugando em algumas versões e impedindo de conversar com outros npcs. Apenas substituam o arquivo em scripts pela versão atualizada, grato.
EDIT2: Novos erros arrumados, agora o NPC dá bye automaticamente e não buga qnd te reseta.
EDIT3: Resolvido bug de dar hi, reset, yes várias vezes e derrubar o servidor (troque tanto o xml qnt o script do npc)
O script também foi identado.
-
joaopedrodepaiva deu reputação a Vodkart em script de Addon doll urgente !!!posta ai o teu script, deve ter configurado errado!!
eu arrumo
----------------------- edited ---------------------------
vou editar aqui e ja te mando, vc colocou os ids errado das outfits
local addons = { ["citizen"] = {id = 2110, sex = {[0] = 136,[1] = 128}}, ["hunter"] = {id = 10529, sex = {[0] = 137,[1] = 129}}, ["mage"] = {id = 5903, sex = {[0] = 138,[1] = 130}}, ["knight"]= {id = 11205, sex = {[0] = 139,[1] = 131}}, ["nobleman"]= {id = 10530, sex = {[0] = 140,[1] = 132}}, ["noblewoman"]= {id = 10530, sex = {[0] = 140,[1] = 132}}, ["summoner"]= {id = 2322, sex = {[0] = 141,[1] = 133}}, ["warrior"]= {id = 10542, sex = {[0] = 142,[1] = 134}}, ["barbarian"]= {id = 10543, sex = {[0] = 147,[1] = 143}}, ["druid"]= {id = 11330, sex = {[0] = 148,[1] = 144}}, ["wizard"]= {id = 11250, sex = {[0] = 149,[1] = 145}}, ["oriental"]= {id = 11201, sex = {[0] = 150,[1] = 146}}, ["pirate"]= {id = 5810, sex = {[0] = 155,[1] = 151}}, ["assassin"]= {id = 6579, sex = {[0] = 156,[1] = 152}}, ["beggar"]= {id = 2108, sex = {[0] = 157,[1] = 153}}, ["shaman"]= {id = 6512, sex = {[0] = 158,[1] = 154}}, ["norseman"]= {id = 8982, sex = {[0] = 252,[1] = 251}}, ["norsewoman"]= {id = 8982, sex = {[0] = 252,[1] = 251}}, ["nightmare"]= {id = 9019, sex = {[0] = 269,[1] = 268}}, ["jester"]= {id = 9693, sex = {[0] = 270,[1] = 273}}, ["brotherhood"]= {id = 11249, sex = {[0] = 279,[1] = 278}}, ["demonhunter"]= {id = 11138, sex = {[0] = 288,[1] = 289}}, ["yalaharian"]= {id = 2194, sex = {[0] = 324,[1] = 325}}, ["warmaster"]= {id = 2194, sex = {[0] = 336,[1] = 335}}, ["wayfarer"]= {id = 2194, sex = {[0] = 366,[1] = 367}} } function onSay(cid, words, param) local param = param:lower() if param == "" or not addons[param] then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Not A Good Param.") return true end local var = addons[param] if not doPlayerRemoveItem(cid, var.id, 1) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You need a "..getItemNameById(var.id)..".") return true end doPlayerAddOutfit(cid, var.sex[getPlayerSex(cid)], 3) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Full Addon "..param.." Set sucesfully added!") return true end
!addon noblewoman ou !addon nobleman
!addon norseman ou !addon norsewoman
-
joaopedrodepaiva deu reputação a WooX em Tutorial - Push cruzado e sua históriaPush Cruzado
Como prometido, hoje eu vou ensinar como implementar o push cruzado. Este tutorial é feito especificamente para a versão 2 do OTX, porem, devido a simplicidade do código (sério, é muito simples, você vai se surpreender), acredito que possa ser implementado em qualquer source code disponível atualmente.
Antes do tutorial vou falar sobre como surgiu o "sistema" e de como o mesmo ficou popular entre os jogadores de Baiak, então senta que lá vem história.
Se você não tem interesse na história de como surgiu e se popularizou e só está aqui pelo tutorial de como implementar, pule para o final do tópico.
História
Familiar para alguns e desconhecido para muitos outros, o que afinal é esse tal de push cruzado que alguns tanto falam?
Para entender como surgiu, teremos que voltar alguns anos no tempo, em uma época que OTX não existia e o TFS 1.x ainda era um sonho distante, época essa em que a maioria dos servidores com protocolo 8.60 utilizavam como engine a velha TFS 0.3.6. Foi neste período que alguns jogadores de enforced descobriram este bug, isso mesmo que você leu, o push cruzado é na verdade um bug!
Mas calma! é apenas um bug inofensivo, mesmo assim, não deixa de ser um bug, que hoje em dia é divulgado como feature nos servidores. Antes de entrar mais a fundo nessa questão, vou terminar de explicar como ele foi descoberto, como ele pode ser utilizado e as vantagens que ele concede aos jogadores que sabem como utiliza-lo.
Nos saudosos dias em que o protocolo 8.60 estava no seu auge na comunidade OpenTibia (70% da Otserv List era composta por servidores 8.60), poucos tinham acesso para a até então recente TFS 0.4 (nesta época TFS 0.4 não era pública, e só podia ser obtida doando uma quantia aos desenvolvedores). Até então, era raro encontrar servidores rodando com TFS 0.4, mais raro ainda um servidor enforced/war, mas assim como uma agulha no palheiro, ele estava lá, Mega-War, o que eu acredito que tenha sido o primeiro servidor de war 8.60 a usar a recente distro.
OTServList em 2011
E foi neste servidor que o push cruzado foi descoberto, por jogadores dedicados a se aperfeiçoarem no PvP, estes foram os primeiros e os que deram origem ao que hoje se conhece como enforcedeiros (jogadores assíduos de servidores de war, com uma habilidade surreal no PvP). Mas algumas questões ficam no ar, TFS 0.4 era realmente recente, porem o protocolo 8.60 já existia há um bom tempo no TFS 0.3, então porque este bug não foi descoberto antes? porque neste servidor em especifico se outros servidores de war 8.60 já existiam?
A resposta é: este bug surgiu justamente no TFS 0.4, para ser mais especifico na rev 3777, tanto é que a versão anterior do TFS (0.3) não continha este bug e nas revisões seguintes do TFS 0.4 ele foi corrigido, com isto o push cruzado se "perdeu", existindo somente no TFS 0.4 (Rev 3777). Devido a isto, os servidores privados de enforced (onde se encontra a maioria dos enforcedeiros hoje em dia) e alguns servidores baiaks utilizam TFS 0.4 até hoje, mesmo existindo opções excelentes em comparação, como TFS 1.x e OTX, tudo devido a este bugzinho que se popularizou muito entre alguns jogadores ao longo do anos. Mas como o push cruzado se popularizou tanto a ponto de chegar ao que é hoje?
Os enforcedeiros tinham um estilo único de PvP, fazendo jogadas que para muitos até hoje não é possível sem o uso de bot. Com o tempo, estes jogadores foram gravando e postando vídeos no Youtube de suas jogadas, para muitos dos que assistiam, tal nível de habilidade só podia ser atingido com auxílio do bot, os mais humildes, aqueles que aceitavam que aquilo era possível sem o uso de bot, entravam nestes servidores de war com a intenção de aprender, não só o push cruzado, mas o push a distancia, a velocidade para realizar jogadas e a visão de jogo num geral.
Alguns dos vídeos antigos da época do Mega-War.
Neste ultimo vídeo em especial, é possivel ver o push cruzado sendo realizado por volta de 1:22 e 3:20 de vídeo.
No inicio de 2013, sem motivo aparente o Mega-War simplesmente fechou. Mas onde há demanda, sempre haverá oferta, com isso surge o ainda mais famoso Total-War.
O Mega-War foi o inicio para essas estrelas do PvP, mas foi no Total-War que a coisa realmente cresceu. Com cada vez mais vídeos de jogadores exibindo jogadas espetaculares, mais aparecia os chamados novatos (jogadores que admiravam os enforcedeiros e tinham interesse em aprender e praticar as técnicas usadas), na época do Mega-War, dava pra contar nos dedos a quantidade de pessoas que sabiam fazer o push cruzado, afinal, era uma coisa totalmente nova, com poucos meses do Total-War online esse numero cresceu exponencialmente, o servidor ficou no seu auge por cerca de 1 ano e alguns meses.
Alguns vídeos de enforcedeiros no Total-War (incluindo o meu ?).
Poucos sabem disso, mas eu era GM no Total-War, ajudei no servidor por alguns meses até ter um desentendimento com o dono, nesse momento eu decidi abrir o meu próprio servidor enforced. Eu acompanho a comunidade brasileira de OpenTibia desde 2010, mas nunca tinha levado a sério a ideia de ter meu próprio servidor até então, foi nessa época que eu criei a minha conta aqui no TibiaKing, pois o antigo XTibia (lugar onde eu conheci o que era OpenTibia) havia fechado.
No ano de 2014 encontrar as sources do TFS 0.4 já não era mais problema, estavam por todo lugar. Eu peguei um datapack com mapa de venore (assim como o Mega e Total-War) e coloquei online, nesse período eu comecei a estudar a fundo como funcionava OTServers. Devido a testes de diversas versões diferentes de source, já na época eu percebi que push cruzado era algo exclusivo do TFS 0.4 (isso explica porque o dono do Total-War se recusava a fazer um upgrade), era também tempo do inicio do repositório do OTX que se mostrava promissor em relação ao TFS 0.4.
Cerca de 1 ano depois da abertura do meu servidor eu decidi tentar adicionar o cruzado nas sources do OTX2, uma pessoa dedicada com um objetivo, mas sem saber de nada, por semanas eu comparei o código de ambas as sources, arquivo por arquivo (haja dedicação), e por fim consegui adicionar ao OTX (quando eu descobri o que era, eu confesso que de imediato me arrependi de ter gasto tanto tempo com isso). Com essa alteração eu resetei e reinaugurei meu servidor, o servidor era chamado de Ultra-War, mas ficou mais conhecido por todos como Sv2 porque o servidor era hosteado em 3 locais diferentes, e 1 dos locais era aqui no Brasil, este era conhecido como Sv2.
O Ultra-War foi o primeiro servidor a ter o push cruzado sem utilizar do TFS 0.4, na época OTX já estava se tornando muito popular pois dava uma sensação de ping menor ao jogar, rodando o servidor com OTX e em 3 hosts diferentes, os poucos players que sobraram no Total-War migraram para o Ultra-War, e assim como o Total-War ocupou o lugar do Mega-War no seu fim, o Sv2 passou a segurar esta tocha. Alem dos já antigos enforcedeiros, jogadores novos não paravam de vir de todos os lugares, muitos deles quando aprendiam e aperfeiçoavam as técnicas iam logo aplicar em servidores UP Level (principalmente Baiaks), foi ai que o push cruzado se popularizou fora do enforced, com os jogadores pedindo aos administradores para adicionarem algo que eles sequer tinham noção do que era.
Vídeos do jogador que eu acredito ser o maior responsável pela popularidade do PvP no estilo enforced nos Baiaks.
Enfim... a história acaba por aqui (até porque ficou longa pra kct), no final das contas a história não foi sobre o push cruzado em si, mas sobre o enforced e os enforcedeiros num geral. Agora vamos para a parte que todos querem ver.
O que é e como utilizar
O push cruzado nada mais é do que permitir que o jogador empurre (push) outros jogadores e criaturas enquanto se movimenta ao mesmo tempo, basicamente é apenas isso. O que isso proporciona ao jogador, ai já é outra historia (brincadeira, depois dessa ultima, chega de história), isso permite ao jogador executar jogadas que sem o push cruzado seriam executadas de maneira bem mais lenta, e até mesmo jogadas que seriam impossíveis de serem realizadas sem o uso do famoso cruzado.
Veja abaixo alguns exemplos.
Tutorial
Como eu mencionei antes, o push cruzado é na verdade um bug, caso implementado, isso possibilita aos jogadores realizarem jogadas que sem ele seriam impossíveis. Se mesmo ciente disto você deseja seguir em frente, basta seguir os passos abaixo.
Pronto, com isso você pode habilitar ou desabilitar o push cruzado diretamente pelo config.lua, sem a necessidade de recompilar a source.
Créditos
Me, myself and I.
-
joaopedrodepaiva deu reputação a Nolangg em TibiaKing OTX 2 + Cast System E Guild WarsIrei adicionar essas coisas que pediu. [edit: os dois foram adicionados no repositorio do github, agora está publico normalmente]
-
joaopedrodepaiva deu reputação a Pedro. em (Resolvido)Field 'comment' doesn't have a default value - ZnoteAccVá para a tabela Players e defina o campo de comentário como anulável e defina o valor padrão como null .
-
joaopedrodepaiva deu reputação a Nolangg em TibiaKing OTX 2 + Cast System E Guild WarsFala Guys...
Beleza?
hoje estou postando um DataPack (que é literalmente o OTX 2.15 do mattyx14 ) com algumas alterações...
Github Repo: https://github.com/eclipse606/tfs
irei adicionando aos poucos novas features e coisas pra ficar legal pra vocês usarem em seus servidores, mas, no momento o que há de novo?
Cast com Setas o mesmo que eu postei aqui:
para diferenciar um pouco dele, agora quando múltiplos casts são ativos ele além de ter o cast com setas, ele dá uma mensagem (avisando o último e o primeiro cast)...
vídeozinho mostrando:
Rec-1.m4v
e agora também há o push cruzado
que o @WooX postou aqui:
tem explicação mais profunda no post dele, então vejam lá, que tá bem explicadinho...
scan do executável do datapack: virus total
postei scan só do executável pois acredito que é a unica coisa que irá executar, de resto, é tudo igual do github do mattyx14
lembrando que atualizações serão feitas e eu mudarei aqui no tópico mesmo e postando no github (no momento ainda não adicionei então não vou postar aqui)
o que eu ainda irei adicionar [em breve]...?
Auto Loot
KenfiLib (suporte tfs 1.x scripts)
Loot Channel (Funcionando)
Watch System
Spawn Divider (spawn divider não é do tibiaking mas, é uma feature que irei por) // créditos by @Lyu
e coisas que pedirem nos comentários desde que seja do tibiaking
para funcionar corretamente, use a database que está junto com os arquivos (db.sql), é a mesma do Baiak Pvp
é só isso guys, usem como quiser esse datapack.
OTX 2.15 original caso queiram:
OTX 2.15
** Atualização 25/03/2022 **
Autoloot by Naze adicionado na source e executável atualizado...
vídeo mostrando:
Untitled.mp4
por enquanto é só, em breve novas atualizações ! (estarei postando no github agora, só adicionando logs aqui para saberem que atualizei)
TK_OTX2.rar
-
joaopedrodepaiva deu reputação a Cat em Como usar Remere's Map EditorFunções do RME
Neste tópico mostrarei os menus do Map Editor e todas as respectivas funções.
File Menu
• New: Carregará um mapa novo, você deve configurar o client em Default Version de preferences/client version, pois é daqui que a opção New vai obter os dados sobre o gráfico usado no seu mapa.
• Open: Use para abrir um mapa. O editor pode pedir que você selecione o client se este não estiver configurado apropriadamente em preferences/client version.
• Save As: Salva o mapa na extensão .otbm.
• Close: Fecha o Editor, o Rme sempre perguntará se você quer salvar o mapa, se este já não estiver salvo.
• Import: Importa outros mapas dentro do seu mapa aberto, seja ele um mapa vazio ou com conteúdo, você pode escolher a posição que as partes importadas serão coladas configurando import offset.
• Map file: É possível importar mapas de versões diferentes do mapa receptor, porém dependendo o grau de diferença das versões, isso pode ocasionar bugs no seu mapa.
• Import offset: Posição do mapa aberto em que será colado o mapa importado.
- O Import Offsert vai posicionar o mapa na posição em que ele estava quando você o copiou + os valores X e Y de offset. Ou seja, se você importar um mapa que estava originalmente na posição x1000, y2000 e atribuir em offset os valores x3000,y3000 - esse mapa será importado na posição x4000,y5000.
• House & Spawn import behaviour: Permite alterar de que forma os arquivos house e spawns serão importados.
• Export: Utilizado para exportar minimaps. A imagem será exportada no formato .bmp, é possível exportar apenas o terreo, um andar específico ou todos os andares. Basta selecionar a pasta onde será salvo.
• Reload: Permite reiniciar todas as configurações do map editor, usado ao adicionar novas extensões, sprites ou itens sem precisar fechar o editor.
• Recent Files: Um atalho para mapas que foram abertos recentemente.
• Preferences: Aqui configura-se otimização e performance do editor, leitura de clients, opções visuais, entre outras opções.
• Always make map backup: Cria um backup automático para restauração.
• Create map on startup: Quando abrir o editor, vai carregar um novo mapa automaticamente (com base nas configurações de preferences/client version).
• Undo queue size: (PAR): Memória ram do seu PC, é recomendado por a metade dela aqui para não travar tanto o editor.
• Undo maximum memory size (MB): Tamanho máximo de memória que o RME poderá utilizar, aumente para metade da memória ram de seu pc (caso queira coloque mais).
• Worker Threads: Número de núcleos de processador que o RME pode utilizar, nessa parte depende se seu processador, caso seu pc só tenha um núcleo deixe apenas um caso tenha 2, deixe 2 e se for maior que isso deixe o tanto que você preferir.
• Replace Count: Quantidade de itens que você pode substituir no mapa utilizando a ferramenta de substituição (Ctrl + Shift + F). Use a opção replace count on selected area para substituir apenas em um local específico do mapa.
• Group same-type actions: Agrupa ações do mesmo tipo (desenho, seleção, etc...)) quando várias ocorrerem em ordem consecutiva. (PAR).
• Warn for duplicate IDs: Avisará se tiver IDs duplicados no mapa.
• House brush removes items: Se ativado, o brush de houses vai remover itens que apareceriam toda vez que o mapa iniciasse no server.
• Auto-assign door ids: Isso irá atribuir automaticamente IDs de porta únicas para todas as portas colocadas com o brush de portas (ou portas feitas com house brush). Não afeta as portas colocadas usando a paleta RAW.
• Doodad brush only erases same: Doodad brush vai apenas apagar itens que pertencem a brush atual.
• Eraser leaves unique items: A ferramenta eraser (borracha) vai ignorar containers com itens dentro, assim como itens com action/unique ids.
• Auto create spawn when placing creature: Se marcado, não vai precisar por o spawn manualmente, quando colocar a criatura o spawn vai ser posto automaticamente.
• Prevent toporder conflict: Se marcada, você não pode por vários itens com a mesma toporder em um tile usando o raw brush.
• Use merge move: Itens movidos não vão substituir os mesmos itens já inseridos.
• Use merge paste: Itens colados não vão substituir os mesmos itens já inseridos.
• Hide items when zoomed out: Esconde alguns itens quando der zoom para longe.
• Use icon selection shadow: Vai por uma “sombra” no item selecionado na paleta, pra facilitar a visualização.
• Use memcached sprites: Quando marcado, as sprites serão carregadas na memória logo na abertura do mapa e descompactadas no tempo de execução. Isso é mais rápido, mas consome mais memória. Se não for marcado, o editor usará menos memória, mas haverá uma diminuição do desempenho devido à leitura de sprites a partir do disco.
• Icon background color: Isso muda a cor do background dos icones das paletas em todas as janelas. A cor padrão é preto.
• Cursor color: Muda a cor do SQM transparente de seleção, que acompanha o mouse na interface.
• Secondary cursor color: Este muda a cor do cursor secundário, para houses e flags.
• Screenshot directory: Diretório onde será salvo as prints.
• Screenshot format: Formato das imagens (para tirar print aperte f11).
• Terrain, doodad, item e raw palette style: Define se a paleta será com ícones grandes, pequenos ou em lista.
• Switch mouse buttons: Troca o direito e esquerdo do mouse conforme sua preferência.
• Double click for properties: Clique duplo abre as propriedades do item.
• Used inversed scroll: Quando marcado, arrastar o mapa usando o botão central do mouse será invertido (comportamento RTS padrão).
• Scroll e zoom speed: Muda a velocidade do zoom e do scroll.
• Client Version - Configurações de leitura do client, identificar o Tibia.spr e Tibia.dat que são arquivos necessários para abrir um novo mapa ou editar um existente. Por exemplo, se você estiver tentando abrir um mapa de poketibia usando um client do Tibia Global, vai dar erro porque poketibia tem itens e gráficos configurados pra outro estilo de jogo.
Para não haver conflito na leitura, após configurar o client, copia o items.otb do seu SERVER/DATA/ITEMS para o diretório REMERESMAPEDITOR/DATA/VERSÃO.
• Default client version: Versão que você quer utilizar, toda vez que abrir um novo mapa essa será a versão dele.
• Version Search Path: é o local seu cliente se encontra.
• Check file signatures: Desmarcada não vai pedir realizar a checagem automática do diretório selecionado, não forçar a checagem.
Menus: Edit, Map, View, Floor E Window
Abaixo, Mostraremos as funções destes menus e como utilizar:
MENU EDIT
a. Defazer e refazer são teclas de atalho que lhe permitem corrigir alterações feitas no mapa.
b. O Replace item fará com que todos os itens em uma área abrangente do mapa sejam trocados por um ID de sua escolha.
j. • Use Find Item para localizar um id nas paletas do editor. Você também pode pesquisar o nome do item.
• Use Find>everything, actions ids, unique ids, containers, writeables. Abrirá uma tabela mostrando todos os elementos mencionados, ao clicar neles você será levado à posição no mapa.
c. Em Selection há opções de auxílio ao copiar ou mover mapas, também servem de apoio para as ferramentas de exportação.
d. Em Border Options:
Auto Magic - Ativa e desativa o auto border, pode-se usar a tecla A como atalho. Borderize Selection - Aplica auto border na área selecionada. Borderize Map - Aplica auto border no mapa todo. Randomize Selection - Embaralhar a organização dos pisos com várias sprites (montagem do desenho do piso) na área selecionada. Randomize Map - Embaralha os pisos do mapa todo. e. Em Other Options:
Remove items by ID - Remove do mapa todos os IDs do item de sua escolha. Remove all corpses - Remove os corpos do mapa todo. Remove all unreachable tiles - Remove todos os tiles (pisos) que não podem ser vistos pelo player. Clear Invalid Houses - Limpa as houses bugadas ou incorretas. Clear Modified state - Limpa tudo que foi feito no mapa, é quase como fechar o mapa e abrir novamente sem salvar as alterações. f. Goto Position - Serve para localizar posições no mapa.
g. Jump to Brush - Leva até o item pesquisado na paleta auto border (terrain, doodad, etc...).
h. Jump to Item - Leva até o item pesquisado na paleta RAW.
i. Cut - Recorta partes selecionadas do mapa, Ctrl + c para copiar o mapa e Ctrl + v para colar.
MENU MAP
-> A - Em Edit Towns cadastrar novos templos (locais onde jogadores nascem após morrer, citizen checkpoints).
Cleanup vai limpar todos os itens inválidos do seu mapa. -> C - Mostra estatísticas do mapa.
-> B - Em Properties, propriedades do mapa, explicaremos abaixo:
-> -> 1 Map Description é a descrição do seu mapa, serve para identificar e/ou informar. Se você usar TFS, ela provavelmente aparecerá na sua Distro.
-> -> 2 Map Version é a rev do tfs, para gerenciamento do protocolo do mapa.
-> -> 3 A versão atual do seu mapa será mostrada aqui. Você pode trocar versão do mapa, ao mudar a versão, o mapa vai carregar os arquivos do client da versão nova e pode haver conflito, por exemplo se for uma versão inferior e o mapa possuir itens da versão superior "mapeados", nesse caso as sprites se transformarão em imagens de alerta vermelhas, estas que podem ser removidas facilmente;
-> -> 4 Dimensões, limite do seu mapa. Você pode expandir se precisar de espaço ou diminuir se houver em excesso.
-> -> 5 Em Arquivos external House e Spawn, definimos o nome do arquivo que guardará dados sobre houses criadas e mobs colocados no mapa.
MENU VIEW
New View - Abre uma cópia da aba atual. Enter Fullscreen - Deixa o editor no modo tela cheia. Take Screenshot - Tira print do mapa, para configurar é em File - Preferences - Graphics. Show shade - Aplica uma sombra nos andares inferiores. Show all floors - Mostra todos os andares abaixo do que você está (com exceção do térreo), desativado vai escondê-los. Ghost loose items - Deixa itens mais transparentes, com exceção dos grounds e borders. Ghost higher floors - Mostra ou esconde outros andares. Show Ingame Box - Ativa visualização na tela com proporção da tela do Client do Tibia. Show gride - Ativa grades, todos os itens ficam com uma borda branca. Highlight Items - Destaca itens que possuem mais itens em cima deles, quando mais item tiver no mesmo lugar, diferente a cor vai ficar. Show Creaturas - Mostra ou esconde criaturas. Show Spawns - Mostra ou esconde os spawns. Show Special - Mostra ou esconde os tiles especiais, isto é, pz, battle, etc. Only show colors - Mostra apenas itens especiais do mapa. Only show modified - Mostra apenas o que foi modificado no mapa a partir de quando abriu ele. Show Houses - Mostra as houses, tilles e saídas. Show Pathing - Mostra os itens que são bloqueados, o player não pode pisar.
MENU FLOOR
Acesso aos andares no mapa.
MENU WINDOW
Minimap, ou usando o atalho M, abre o minimap. New palette Abre ou recarrega paletas fechadas ou arrastadas. Terrain, doodad, item, house, creature, waypoint e raw são paletas do Map Editor que podem ser abertas diretamente, carregando a palleta inteira junto. Terrain - Paleta com brushs de pisos, walls, escadas, bordas... Doodad - Paleta com atalhos para cenário, árvores, construções, e outros brushs. Item - Paleta com itens do client. House - Paleta para criação e edição de casas. Creture - Paleta com monstros e NPCs. Waypoint - Paleta para marcar/salvar posições no mapa. Raw - Todos os itens não cadastrados nos brushs são catalogados em Raw, Se você adicionar novos itens eles aparecerão em Raw - Others.
-
joaopedrodepaiva recebeu reputação de Ramon Bernardo em Ajuda com HostCom certeza não é mais fácil kkkkkkkk, ainda mais dependendo da versão que for usar. Se for TFS 1.2+ é tudo tranquilo, mas se for uma 0.3.6/0.4... esquece usar linux. Compilar essas sources nos novos linux é uma completa dor de cabeça pra quem entende, pra quem não entende então...
-
joaopedrodepaiva deu reputação a koyotestark em [TFS 0.4 Rev3996 ] Colocar para dano de Energy tirar sangue igual PhysicalDamageBom pessoal, a muito tempo venho tentando colocar isso em meu servidor e finalmente consegui e vou repassar isso pra vocês, não entendo muita coisa de programação, mas quando a gente não pode pagar tem que aprender a se virar.
Com isso, quando vc botar em sua magia
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
ela vai dar dano de energy, porem vai aparecer efeito de sangue como physical tirar sangue como fisical, e a cor do hit tomado será o de energy liláz.
>> Source que usei: [8.60] TFS 0.4 Rev3996 War & Cast
Então vamos lá, primeiro que vamos precisar ter os codigos da distro pra compilar.
Tambem é preciso de um programa para compilar [gerar o executavel do servidor]
usei o: Stians Repack Dev-Cpp 0.2 - 64bit {meu sistema é 64 bits, entao tive que usar este.}
Vamos lá, abra o Stians Repack Dev-Cpp 0.2 {Programa que usei} e encontre o "TheForgottenServer.dev" para abrir o projeto "caso nunca tenha feito isso antes.
abra o game.cpp do lado esquerdo <<
Feito isso, aperte CTRL + F para fazer uma pesquisa e procure por: case COMBAT_ENERGYDAMAGE:
vai estar assim
case COMBAT_ENERGYDAMAGE: { textColor = COLOR_PURPLE; magicEffect = MAGIC_EFFECT_ENERGY_DAMAGE; break; }
Você vai substituir por:
case COMBAT_ENERGYDAMAGE: { Item* splash = NULL; switch(target->getRace()) { case RACE_BLOOD: textColor = COLOR_PURPLE; magicEffect = MAGIC_EFFECT_DRAW_BLOOD; splash = Item::CreateItem(ITEM_SMALLSPLASH, FLUID_BLOOD); break; default: break; } if(splash) { internalAddItem(NULL, target->getTile(), splash, INDEX_WHEREEVER, FLAG_NOLIMIT); startDecay(splash); } break; }
Observação, você "que nunca fez isso" deve pegar do case até e a chave fechada } <<, este simbolo aqui
Feito isso, aperte F9 para iniciar a compilação {Lembre-se antes de renomear, ou apagar a pasta Obj } se tudo correr bem, o executavel irá ser criado.
OBS: Como citado acima, não sou programador, então não saberei responder caso ocorra algum erro. Mas tentarei
-
joaopedrodepaiva deu reputação a oclipper em [TUTORIAL] Light Hack Address - OTClientAqui estão os passos pra encontrar o Address de LUZ para seu light hack em OTClient.
Pra encontrar esse Address o jeito mais FACIL é encontrando as direções do boneco primeiro. Pois na região da memoria o Address de LUZ esta perto das direções do boneco
PASSO 1
1- Deixe seu boneco virado para Norte
2- Value Type deixe "4 bytes"
3- Coloque 0 em Value (0= Norte, 2= Sul, 1= Direita, 3 = esquerda)
4- Clique em First Scan, voce vai notar que irá encontrar varios address na lista
PASSO 2
1- Vire o boneco pro SUL
2- Coloque 2 em Value
3- Clique em Next Scan
4- Repita esse procedimento mudando a direção do boneco até penerar a lista
PASSO 3
1- Penerou a lista até sobrar 1 address, dê 2 cliques nele que irá aparecer na parte de baixo
PASSO 4
1- Clique com botao Direito do mouse na linha do address
2- Clique em Browse this memory region
PASSO 5
AQUI VOCE PRECISA DE UMA TORCH
1- Acenda e apague a torcha até encontrar na região da memoria os numeros que ficarão piscando quando vc acender/apagar (na foto é 07 CE)
PS: 07 = tamanho da luz (7sqms) (CE = cor da luz)
2- Os numeros piscando podem estar um pouco pra cima de onde abrir a janela
PASSO 6
1- Selecione os numeros que apareceram e clique em cima com botao Direito do mouse
2- Clique em Add this address to the list
PASSO 7
1- Agora encontre a linha do address que voce adicionou na lista e clique com botao Direito
2- Clique em Browse this memory region
PASSO 8
1- Mude o MAX LEVEL para "1"
2- Clique em OK
3- Vai aparecer uma confirmaçao, clique OK de novo
4- Ele pede pra salvar, dê qualquer nome e clique em Salvar
PASSO 9
1- Pronto, voce tem o Address e o OFFSET do seu Light, basta usar no seu light hack.
2- O OFFSET ai é "A8"
-
joaopedrodepaiva deu reputação a Naze em [VIDEO] Virtualiza Linux Com Acesso "localhost" Direto do WindowsEstava precisando de uma maquina linux para alguns trabalho e testes e bancar minha vps só pra isso não é viavel, usar dual boot tbm não é do meu gosto, e criar uma maquina virtual não chegava ao ponto que exatamente eu queria, que é facilidade e trabalha no terminal do Linux.
Então descobri um metodo que seria criar uma maquina virtual e rodala em background, e usar como se estivessa montado com a rede do meu Windows, podendo acessar pelo localhost, sem ta colocando numeros de porta na frente (localhost:1234).
Com isso vai ta podendo trabalha em um Linux direto de seu PC, como se estivesse acessando uma VPS comum, e ter total controle de sua maquina podendo até entra na interface grafica oq nao faz sentido ja que tou fazendo isso pra nao precisa entra nela.
Fiz um video explicando todos passo e deixarei os links e comando utilizado a baixo. O video está acelerado para nao ficar mais extenso.
VirtualBox: download
Lembre-se de desativar Hyper-V em seu windows caso tenha ativado para virtualbox funcionar corretamente.
Linux Mint: download
Aconselho a baixar a edição Xfce por ser mais leve e rapida..
Instalar ssh:
sudo apt-get install openssh-server verificar:
sudo service ssh status
Codigo para criar arquivo .bat, lembre-se de trocar o diretorio de acordo com sua instalação e o nome de acordo com o que criou:
Iniciar:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm "NOME DA MAQUINA" -type headless desligar:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm "NOME DA MAQUINA" poweroff soft
Acesso ssh é feito por:
usuario@localhost
No meu caso usei usario "naze" e cmd do windows 10
ssh naze@localhost
-
joaopedrodepaiva deu reputação a Toca do Aranha em Erro com as Spellsabra seu arquivo actions.xml e remova está linha
<action itemid="7588-7591;8472-8473;7618;7620;8704;7441;" event="script" value="liquids/potions.lua"/>
e substitua por está
<action itemid="7588-7591;8472-8473;7618;7620;8704;7441" event="script" value="liquids/potions.lua"/>
Obs: eu tive a "audácia" de baixar a base e procurar o problema, e ai está!.
o único problema era após o ID "7441" tinha um> ; <.
-
joaopedrodepaiva recebeu reputação de LoLos em (Resolvido)Erro ao tentar colocar vida e mana por % na source.Cara!! Se você fosse mulher eu já teria pedido em casamento kkkkkkkkkkkkkk
Funcionou perfeitamente aqui!
Valeu mesmo!! Alias enche o saco do @Rusherzin agradecendo por mim
#--------------------------------------------------------------------------------------------------------------------------#
Se você estiver olhando esse tópico no futuro, siga as instruções do tópico @Ackerzin Funcionou comigo.
#--------------------------------------------------------------------------------------------------------------------------#
Problema Resolvido!
-
joaopedrodepaiva deu reputação a xWhiteWolf em Critical Skill SystemFala galera do TK, vejo que tem bastante gente procurando esse sisteminha que é praticamente igual ao dodge system, então eu decidi fazer visto que na realidade era só mudar 3 linhas kkkk em todo caso ta aí pra quem quiser:
creaturescripts.xml:
<!-- CRITICAL SYSTEM --> <event type="statschange" name="critical" event="script" value="critical.lua"/> creaturescripts\scripts\login.lua:
--- CRITICAL SYSTEM ---- registerCreatureEvent(cid, "critical") if getPlayerStorageValue(cid, 48913) == -1 then setPlayerStorageValue(cid, 48913, 0) end creaturescritps\scripts\critical.lua:
--[[Critical System ------------------------- By Night Wolf]] local lvlcrit = 48913 local multiplier = 1.5 function onStatsChange(cid, attacker, type, combat, value) if isPlayer(attacker) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then if (getPlayerStorageValue(attacker, lvlcrit)*3) >= math.random (0,1000) then dano = math.ceil(value*(multiplier)) doTargetCombatHealth(attacker, cid, combat, -dano, -dano, 255) doSendAnimatedText(getCreaturePos(attacker), "CRITICAL!!", 144) return false end end return true end lvlcrit é o storage que fica salvo o seu level de critical e multiplier é o multiplicador do dano para ataques críticos.. nesse caso um ataque critico vai ser 1,5 vezes maior doque um ataque normal (50% maior)
Agora em actions.xml adicione:
<action itemid="1294" script="criticalrock.lua"/> e em actions\scripts\criticalrock.lua adicione:
--- CRITICAL System by Night Wolf local config = { effectonuse = 14, -- efeito que sai levelscrit = 100, --- leveis que terão storagecrit = 48913 -- storage que será verificado } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, config.storagecrit) < config.levelscrit then doRemoveItem(item.uid, 1) doSendMagicEffect(topos,config.effectonuse) doPlayerSendTextMessage(cid,22,"You've Leveled your Critical Skill to ["..(getPlayerStorageValue(cid, config.storagecrit)+1).."/"..config.levelscrit.."].") setPlayerStorageValue(cid, config.storagecrit, getPlayerStorageValue(cid, config.storagecrit)+1) elseif getPlayerStorageValue(cid, config.storagecrit) >= config.levelscrit then doPlayerSendTextMessage(cid,22,"You've already reached the MAX level of Critical Skill.\nCongratulations!!!!") return 0 end return 1 end Feito isso tá pronto, pra editar o item que dá a skill de critical vc edita no actions.xml mesmo:
<action itemid="1294" << ID do item que será usado pra dar a skill.
A config tá bem simples:
effectonuse = 14, -- efeito que sai
levelscrit = 100, --- leveis que terão
storagecrit = 48913 -- storage que será verificado.
Lembrando que cada pedra utilizada dará 0,3% a mais de chance.. 10 pedras dão 3% de chance de dar critico a cada ataque e 100 pedras (NIVEL MÁXIMO PADRÃO) dará 30% de chance de dar crítico em cada ataque.
Espero que vcs gostem, qualquer coisa deixem os comentários aqui.
Obs: aqui tá uma foto
Note que esse script só funciona em players, se vc quiser que funcione em monstros você vai ter que abrir um por um todos os monstros do server e colocar essa tag aqui:
<script> <event name="critical"/> </script> coloque antes de </monster>
Minha dica: coloquem apenas no Trainer pra que o player consiga ver que ele tem o critical e quanto ele tira e deixem avisado que o sistema só vai funcionar em players.
-
joaopedrodepaiva deu reputação a Naze em Otimizado: AutoLoot in Sources for TFS 0.3.6, TFS 0.4@RicK Sanchez Na linha 722 tenta substituir
unsigned long lootListSize; por
uint64_t lootListSize = 0;
Teria q colocar um configManager com numero de slots free numa verificação na parte de add do talkactions, depois edito esse post com essa modificação.
-
joaopedrodepaiva deu reputação a Ackerzin em (Resolvido)Erro ao tentar colocar vida e mana por % na source.Tenta seguir esse topico.
-
joaopedrodepaiva deu reputação a Ackerzin em Mana&Life 100/100 sem bug.Mana e Life 100/100
Salve galerinha, estive procurando em vários tópicos, algum codigo de life e mana 100/100, e nenhum deles funcionava perfeito para oque eu precisava, todos eles paravam de funcionar quando o player atingia o level 715835 ou mana/life "21474847" o numero 100 da vida virava 65750 ou da mana, de qual você atingisse primeiro "21474847" e pra quem quer por high XP isso é um problema, mas depois de muito, MUITO,MUITO,muito esforço de um amigo, @Rusherzin, ele conseguiu burla isso, e agora você pode pegar quantos de level/mana/life quiser que não vai sair de 100/100, então é isso vamos ao que interessa.
TFS 0.4 foi testado !
Nas SOURCES arquivo protocolgame.cpp procure por:
void ProtocolGame::AddPlayerStats(NetworkMessage_ptr msg) e substitua por isso:
Imagem mostrando certinho a life/mana
Créditos:
99% @Rusherzin Por fazer tudo !
1% @Zzyzx Por ficar incomodando até ele fazer !
-
joaopedrodepaiva deu reputação a Naze em Otimizado: AutoLoot in Sources for TFS 0.3.6, TFS 0.4Uns dos problemas das maiorias dos otserv casual que estão online é o autoloot, alguns com erros e defeito na checagem dos containers e sempre consumindo muito por ser em lua fazendo checagens de tile, corpo, itens e etc. Por isso decidi da uma contribuição a essa comunidade que me evoluiu bastante um autoloot diretamente na source na função que insere os itens no corpo, otimizando em 100% na hr da entrega do item, e não tendo problemas ocasionais como corpos sobre corpos ou varias bags.
Esse sistema já é bem comum quando comprado, mas gratuito acredito que ainda não tinha disponível, então fiz esse totalmente do 0 na source tfs 0.4 rev 3999 (do yan).
Atenção na instalação! Qualquer problema pra compilar que envolva as linhas presente no código verifique novamente se instalou corretamente antes de pedir ajuda para evitar flood. Qualquer bug, erro ou mal funcionamento encontrado pode postar que estarei corrigindo, mas não irei customizar a seu agrado, você consegue fazer isso sozinho com atenção e calma, e se precisa de ajuda é só posta as duvidas.
Imagens do Sistema:
Características:
-> Otimizado executando apenas funções necessarias -> Comandos simples e praticos -> !autoloot on/off //Autoloot estara sempre ligado, e caso queria desliga use '!autoloot off' -> !autoloot bank/bag //Define para onde ira o dinheiro coletado, direto banco ou no inventario -> !autoloot list //Lista todos itens adicionados para coleta -> !autoloot clear/clean //Remove todos itens da lista -> !autoloot add, name item, name item, ... //Adiciona itens na lista, podendo adicionar quantos quiser de uma vez. Ele retorna um messagem dizendo os itens que foram adicionados e os que deram erro e não foram adicionados, talvez por escrito errado, ja existente na lista, na lista de bloquados, etc. -> !autoloot remove, item name, item name, ... //Remove itens da lista, com a mesma logica do add. -> Opções configuravel pelo Config.lua -> AutoLoot_MoneyIDs //IDs dos Itens Moedas do servidor como gold coins, platinium coins, crystal coins. -> AutoLoot_BlockIDs //IDs dos itens bloqueados para autoloot -> AutoLoot_MaxItem //Quantidade maxima de itens para adicionar a lista -> Sistema livres de bugs ou logs de erros.
Instalação:
Toda instalação será feita na source, exceto por 1 linha em talkactions.xml e 3 variáveis no config.lua
TFS 0.4 :
Link para Otx -> https://tibiaking.com/forums/topic/101086-otimizado-autoloot-in-sources-for-otx2-ou-menor/
Nas versões atual da TFS para servidores 10+ não ira funcionar pois algumas funções são diferente e não irei corrigir agora, em breve passo o mesmo pra tfs 1.x e otx3.
Esse sistema foi totalmente feito por mim, mas dou créditos também ao @Mathias Kenfi por me ajudar muito na evolução em lua/c++ e a tabela sql é a mesma usada no quick autoloot 1.3 postado por Pedriinz
@Edit:
Quem usa source de derivados caso ocorra erro aplica as alterações dos comentários abaixo.
Pequena correção em talkactions.cpp na parte remove na linha if(!player->checkAutoLoot(itemId)), para if(player->checkAutoLoot(itemId))
-
joaopedrodepaiva deu reputação a Sleet em SSL Handshake failedEstou usando o servidor OTX do malucooo.
Acabei de trocar de VPS e passei o servidor com os mesmos arquivos, do mesmo jeito, para o novo VPS.
Porém, quando tento entrar no servidor, aparece o seguinte erro:
Estou utilizando o client 11.49 do Tibia. Isso acontece antes de entrar na lista de personagens.
No VPS antigo, a lista de personagens carregava, mas não entrava no jogo, aparecia outro erro (aparecia que o servidor estava offline, quando na verdade estava online pois eu conseguia entrar no client 10.)
EDIT
? Que vergonha... É só tirar o "s" do https no client...
-
joaopedrodepaiva deu reputação a Diego Rulez em Google Cloud PlataformIntrodução
O que eu quero falar aqui não é a parte técnica de segurança, desempenho e outros pontos. Quero falar sobre o dia a dia de alguém que pretende ser um administrador e que acabou de começar um projeto. Mesmo que você seja leigo e tenha dificuldades com a "tela preta" do Linux onde você digita os comandos, ainda assim vale a pena optar pelo Linux logo de primeira pelos seguintes motivos:
Quando você for inaugurar seu servidor você vai querer que ele tenha uma boa estabilidade e não fique travando ou sendo derrubado e você vai conseguir isso apenas utilizando Linux, então pra que aprender a montar tudo no Windows se depois, de qualquer forma, você vai ter que aprender Linux? Todo conhecimento é válido, mas você estaria atrasando seu lado fazendo isso. Visual Studio, complementos, bibliotecas. Antes de compilar sua source para Windows você vai precisar fazer o download, instalar e preparar o seu ambiente de trabalho e isso vai te custar muito tempo visto que são programas pesados, que demoram para serem baixados e instalados e que precisam de configurações muito especificas para compilar sem erros. Se você pode fazer isso tudo em 5 minutos e sem erros no Linux, porque insistir no Windows?
Google Cloud Platform
Ativando os créditos
Criando o VPS
Liberando as Portas
Criando um acesso
Enviar arquivos para o VPS
A parte de compilação da source, instalar o site e abrir o server ficará para o próximo tópico, visto que, é possível aplicar em qualquer VPS e não somente do Google.
Se deseja instalar um site e fazer a compilação da source clique aqui
Se você tiver qualquer dúvida em relação a esse tutorial não fique acuado em perguntar, irei responder todas as dúvidas no tópico.
Não respondo PM, porém também estou no Discord do TibiaKing e posso ajuda-los por lá.
-
joaopedrodepaiva deu reputação a gpedro em (Resolvido) Erro Gesior ACCVá em C:\xampp\php, abra o arquivo php.ini
procure por error_reporting
o que tiver lá, mude para
após isso, reinicie o apache.