
Tudo que Marco Oliveira postou
-
[AJUDA] Quest de vocação...
function onUse(player, item, fromPosition, target, toPosition, isHotkey) if getPlayerVocation(cid) == X then --X = ID da vocation. player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The chest is empty.") return true end player:addItem(X, 1) --Id do item, quantidade do item. player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You found a Item.") --Item name. player:setStorageValue(X, 1) --Valor da Storage da quest. return true end
-
(Resolvido)COMO COMPILAR OTX OU TFS NO UBUNTU 16.04
Faça um tópico e me envie o link!
-
(Resolvido)COMO COMPILAR OTX OU TFS NO UBUNTU 16.04
Libs: sudo apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmysqlclient-dev libboost-system-dev libboost-iostreams-dev libpugixml-dev libcrypto++-dev Download TFS: git clone --recursive https://github.com/otland/forgottenserver.git Compilando TFS: cd forgottenserver mkdir build && cd build cmake .. make Movendo TFS e executando: mv tfs .. ./tfs
-
Globalevent - Efeito com dano
Olá tudo bem, criei um script bem basicão com base em outro que eu tinha. Como eu disse no titulo é um global event que solta um efeito em determinada coordenada com um intervalo de tempo, mas não consegui colocar pra dar dano caso o player esteja na position quando acontece o efeito. Tentei adicionar um match.random com min e max mas não obtive exito. script.lua local positions = { {position = Position(33372, 31343, 5), effect = 7}, } function onThink(interval) for i = 1, #positions do local settings = positions[i] local spectators = Game.getSpectators(settings.position, false, true, 7, 7, 5, 5) if #spectators > 0 then if settings.effect then settings.position:sendMagicEffect(settings.effect) end end end return true end
-
[PEDIDO] Contator de Dias
De uma olhada nesse Tópico AQUI!
-
Remover função do gesior
Desabilitar botão direito: <script language="javascript"> document.onmousedown=disableclick; status="Right Click Disabled"; Function disableclick(e) { if(event.button==2) { alert(status); return false; } } </script> Desabilitar botão ctrl: <script language = "JavaScript" type = "text/javascript" > // bloqueando a tecla Ctrlif (document.all) { document.onkeydown = function() { var teclaCtrl = event.keyCode ? event.keyCode : (event.which ? event.which : event.charCode); if (teclaCtrl == 17) { event.which = 0; return false; } }}</script>
-
Error em liberar missão
Olá, tudo bem com vocês? Estou tendo um problema para liberar as missões do rashid em meu servidor, já revirei os scripts e não encontro onde esteja o bug, uma vez que funcionou para as outras quests. Já verifiquei as storages e também a endline das missões, está tudo correto como deveria ser. Este é o error que aparece em meu terminal: 2019-01-13 19:20:21 - Lua Script Error: [Event Interface] 2019-01-13 19:20:21 - data/events/scripts/player.lua:Player@onRequestQuestLine 2019-01-13 19:20:21 - data/lib/core/quests.lua:3276: attempt to compare number with nil 2019-01-13 19:20:21 - stack traceback: 2019-01-13 19:20:21 - [C]: in function '__lt' 2019-01-13 19:20:21 - data/lib/core/quests.lua:3276: in function 'missionIsStarted' 2019-01-13 19:20:21 - data/lib/core/quests.lua:3241: in function 'getMissionsCount' 2019-01-13 19:20:21 - data/lib/core/quests.lua:3382: in function 'sendQuestLine' 2019-01-13 19:20:21 - data/events/scripts/player.lua:1067: in function <data/events/scripts/player.lua:1066>
-
Gesior AAC - 2020
Fixed Fixed
-
2 Sites em uma vps tem como?
Crie duas pastas dentro do www do teu xampp, cada um representará um site diferente do outro.
-
Gesior Tibia Coins
Primeiro passo é ir na pasta classes no arquivo account.php: Na linha public function setPremiumPoints($value){$this->data['premium_points'] = $value;} public function getPremiumPoints(){return $this->data['premium_points'];} Altere para public function setPremiumPoints($value){$this->data['coins'] = $value;} public function getPremiumPoints(){return $this->data['coins'];} Agora o passo mais difícil que você deve tomar cuidado é mudar tudo que está como premium_points para coins em todos os arquivos do website.
-
Auto git pull e backup
O script nada mais faz que dar um git pull do seu repositório automaticamente quando o servidor recebe reload ou crasha. Na pasta raiz de seu repositório crie um arquivo chamado startserver.sh e uma pasta chamada logs dentro da pasta raiz de seu site. pastaOt="caminho do servidor" comandoBackup="caminho do servidor/backup/backup.sh" echo "Iniciando o programa" cd $pastaOt mkdir -p /logs mkdir -p build while true do cd $pastaOt ./tfs 2>&1 | awk '{ print strftime("%F %T - "), $0; fflush(); }' | tee "/var/www/html/logs/$(date +"%F %H-%M-%S.log")" exitcode=${PIPESTATUS[0]} if [ $exitcode -eq 0 ]; then echo "Clean close" git pull cd build cmake .. make if [$? -ne 0]; then echo "Compilation failed!" else echo "Compilation successful!" mv tfs .. fi cd .. else echo "Server Crash!!! (O arquivo de log está guardado na pasta logs)" fi echo "Server Down, backup database..." $comandoBackup sleep 2 done; Ainda na pasta raiz do seu servidor crie uma pasta chamada backup e dentro dela crie um arquivo chamado backup.sh CAMINHO="caminho do servidor/backup/" NOMEBACKUP="nome do arquivo de backup" USER="usuario do phpmyadmin" SENHA="senha do phpmyadmin" BANCO="nome da database" TEMPO="$(date +'%d-%m-%Y-%H-%M')" if [[ -z "$USER" || -z "$SENHA" || -z "$BANCO" ]]; then echo "Por favor preencha o usuário, senha e banco de dados nas configurações." else mysqldump -u$USER -p$SENHA $BANCO > $CAMINHO"/"$NOMEBACKUP"-"$TEMPO".sql" fi Não se esqueça da permissão 777 em todos os arquivos, e também de ligar o servidor com o comando ./startserver.sh OBS: você deve configurar a chave ssh no seu git para que não peça o e-mail e senha a cada reload, o git clone também deve ser feito atraves de ssh e não https
-
Gesior AAC - 2020
Ainda não entendi qual a duvida, seja mais claro
-
Gesior AAC - 2020
Opa, desculpa haha! já ta la meninho Só falta mais alguns dias! Obrigado, sempre tentando inovar um pouquinho apesar dos golpes que a gente leva haha! Ultimas Atualizações: 1- fix error on line 14 index.php for php7+ compatibility 2- Upload New Facebook Widget 3- Update .htaccess 4- Update index.php
-
Gesior AAC - 2020
Olá, estou deixando minha contribuição para o open-tibia, fornecendo a versão mais recente do meu site. Compatível com a versão mais recente do TFS e OTX. O layout é semelhante ao tibia.com, mas não contém todos os recursos. Conto com a contribuição de todos neste projeto. Algumas funcionalidades: Highscores NEW PagSeguro Lightbox New Tickets NEW Suporte https Créditos: Gesior.pl Felipe Monteiro Marco Oliveira Ricardo Souza Link para download ou contribuição: GITHUB
-
Qual melhor Base para usar em um projeto do zero
Recomendo você utilizar as sources do Mattyx14 (OTX), quase que diariamente tem correção de bugs, então facilita bastante. https://github.com/mattyx14/otxserver
-
Ae galera, do nada meu site começou aparecer esses quadradinhos e eu n fiz nenhuma configuração, o que é isso?por favor me ajudem, leiam a descrição.
Error ocasionado por falta de alguma imagem em seu site! clique com o botão direito do seu mouse em uma areá da pagina busque por inspecionar elemento e em seguida clique em console que irá aparecer a imagem que está em falta. aparentemente é algum efeito de natal ou posso estar enganado!
- comando tibia ot v10.98
-
Houses.php com images
Download images: mega.nz Codigo houses.php: pastebin
-
10.+ Global Full - projeto em andamento
Entre em contato comigo via wpp 38991863004.
-
Erro Gesior
O projeto é meu, testei e está funcionando normalmente! Utilize a database que vem no site e tudo irá ocorrer bem.
-
Barra de Rolagem no footer
Estou usando uma cópia do site tibia e com ela veio a barra de rolagem mesmo que fica no rodapé, mas eu não posso obtê-lo! Alguém poderia me ajudar a removê-lo ... é algo que não faz diferença no corpo do site e acredito que só deixa mais poluído. Pastebin css: http://pastebin.com/raw/YfdCkVyp
-
Malvera Global
Opa, tudo bem com você ? Hoje venho aqui a procura de um WebMaster para o projeto Malvera Global que já está em fase de testes finais para abertura, Porem necessitamos de um WebMaster... Nossa equipe é bem organizada e temos como foco inicial o profissionalismo, o servidor está aberto em malvera.online venha fazer uma visita. Todos os membros da equipe serão remunerados assim que possivel, caso tenha interesse entre em contato via facebook, skype ou WPP. Facebook: fb.com/marcoolivers Skype: marco.olivers Whatsapp: 38991863004
-
Gesior Removido
Removido
-
[Pedido] Liberar quest's no QuestLog
Creio eu que o titulo seja auto explicativo, porem não encontro tutorial algum na internet ensinando fazer isso! Achei somente em ot 8.6....... Utilizo TFS 1.3 meu Login.lua local events = { 'ElementalSpheresOverlords', 'BigfootBurdenVersperoth', 'Razzagorn', 'Shatterer', 'Zamulosh', 'The Hunger', 'The Rage', 'Eradicator', 'Eradicator1', 'Rupture', 'World Devourer', 'Tarbaz', 'Shulgrax', 'Ragiaz', 'Plagirath', 'Mazoran', 'Destabilized', 'BigfootBurdenWiggler', 'SvargrondArenaKill', 'NewFrontierShardOfCorruption', 'NewFrontierTirecz', 'ServiceOfYalaharDiseasedTrio', 'ServiceOfYalaharAzerus', 'ServiceOfYalaharQuaraLeaders', 'InquisitionBosses', 'InquisitionUngreez', 'KillingInTheNameOfKills', 'KillingInTheNameOfKillss', 'KillingInTheNameOfKillsss', 'MastersVoiceServants', 'SecretServiceBlackKnight', 'ThievesGuildNomad', 'WotELizardMagistratus', 'WotELizardNoble', 'WotEKeeper', 'WotEBosses', 'WotEZalamon', 'WarzoneThree', 'PlayerDeath', 'AdvanceSave', 'bossesWarzone', 'AdvanceRookgaard', 'PythiusTheRotten', 'DropLoot', 'Yielothax', 'BossParticipation', 'Energized Raging Mage', 'Raging Mage', 'modalMD1', 'VibrantEgg', 'DeathCounter', 'KillCounter', 'bless1' } local function onMovementRemoveProtection(cid, oldPosition, time) local player = Player(cid) if not player then return true end local playerPosition = player:getPosition() if (playerPosition.x ~= oldPosition.x or playerPosition.y ~= oldPosition.y or playerPosition.z ~= oldPosition.z) or player:getTarget() then player:setStorageValue(Storage.combatProtectionStorage, 0) return true end addEvent(onMovementRemoveProtection, 1000, cid, oldPosition, time - 1) end function onLogin(player) local loginStr = 'Welcome to ' .. configManager.getString(configKeys.SERVER_NAME) .. '!' if player:getLastLoginSaved() <= 0 then loginStr = loginStr .. ' Please choose your outfit.' player:sendTutorial(1) else if loginStr ~= '' then player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) end loginStr = string.format('Your last visit was on %s.', os.date('%a %b %d %X %Y', player:getLastLoginSaved())) end player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) local playerId = player:getId() -- Stamina nextUseStaminaTime[playerId] = 1 -- STAMINA DEVIDO A QUEDAS START --local stamina_full = 42 * 60 -- config. 42 = horas -- if player:getStamina() >= stamina_full then -- player:sendCancelMessage("Your stamina is already full.") -- elseif player:getPremiumDays() < 1 then -- player:sendCancelMessage("You must have a premium account.") -- else -- player:setStamina(stamina_full) -- player:sendTextMessage(MESSAGE_INFO_DESCR, "Your stamina has been refilled.") -- end -- STAMINA DEVIDO A QUEDAS END -- Promotion --[[ local vocation = player:getVocation() local promotion = vocation:getPromotion() if player:isPremium() then local value = player:getStorageValue(Storage.Promotion) if not promotion and value ~= 1 then player:setStorageValue(Storage.Promotion, 1) elseif value == 1 then player:setVocation(promotion) end elseif not promotion then player:setVocation(vocation:getDemotion()) end--]] -- ABRIR CHANNELS if(not isInArray({1,2,3,5,6,7,8}, player:getVocation():getId()) or player:getLevel() < 6) then -- player:openChannel(7) -- help channel player:openChannel(3) -- world chat player:openChannel(6) -- advertsing rook main else -- player:openChannel(7) -- help channel player:openChannel(3) -- world chat player:openChannel(5) -- advertsing main end -- -- Rewards local rewards = #player:getRewardList() if(rewards > 0) then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("You have %d %s in your reward chest.", rewards, rewards > 1 and "rewards" or "reward")) end -- Update player id local stats = player:inBossFight() if stats then stats.playerId = player:getId() end -- Events for i = 1, #events do player:registerEvent(events[i]) end if player:getStorageValue(Storage.combatProtectionStorage) <= os.time() then player:setStorageValue(Storage.combatProtectionStorage, os.time() + 10) onMovementRemoveProtection(playerId, player:getPosition(), 10) end return true end
-
Formação de Equipe [RLMap]
A ideia de formular um servidor global que foca no realismo do Tibia começou quando um servidor "famosinho" começou a sofrer resets constantes e muitos bugs.. Reunindo ex jogadores que são programadores tivemos a ideia de formular um servidor que terá principalmente profissionalismo e transparencia. Vai aqui alguns dados do servidor: Stages do Server: 1 - 10, 50x 11 - 50, 200x 51 - 80, 150x 81 - 100, 100x 101 - 120, 80x 121 - 140, 60x 141 - 160, 40x 161 - 180, 20x 181 - 200, 15x 201 - 220, 10x 221 - 240, 8x 241 - 260, 6x 261 - 280, 4 x 281 - 300, 3 x 301, 2x Skill Rate: 30x Magic Rate: 9x Loot Rate: 4x Kills to RedSkull: 5x Kills to BlackSkull: 10x Sistemas e Ideias: • GM para Rookguardian. • Server Save as 6 da manhã. • War Anti Entrosa e Guild War. • Ancident Ferumbras - Pode matar os bosses a cada 2 dias.. • Respawn do ORC da Dwarven Armor 1 vez na semana. • Reward System. • Espaços reservados para cassino. • Quest's com acessos facilitados. • Store somente com itens de quest's que podem ser conseguidos de forma gratuita no jogo. • Bota Vip com speed da boh e dobro de heal da soft boots. Equipe: • Progradores: • Mappers: • WebMastters: • Gamemasters: • Tutores: (A equipe já possui alguns membros no momento, como um programador e um mapper, mas precisamos de mais gente no momento.) Para participar é simples, deixe seu contato no campo de respostas junto com algum showoff ou fale de algum trabalho recente que teve. (O projeto tera um github onde todos poderão reportar bugs e ajudar a corrigi-los) Conto com o apoio de todos. Att: Marco Oliveira