Ir para conteúdo

Nych

Membro
  • Registro em

  • Última visita

  1. ArielZeRah reagiu a uma resposta no tópico: [8.6] CityWar - Evento
  2. O fato é de uns tempos pra cá encheu de servidor que é só baixar, executa e fica online. Pessoal ficou mal acostumado com essa comodidade e não tenta aprender mais nada (na minha opinião, começou/aumentou na mesma época dos derivados). Entrar em fórum BR de tibia hoje em dia é só ver sobre DBO, Naruto e Pokemon, mas o engraçado é que estão tão acomodados com os servers que já tem, que não vejo nenhum desses customs usando tfs 1.x, pq esse povo não sabe quase nada e quem sabe, guarda pra eles (e com razao). Comunidade brasileira de tibia está morta, você vê o forum de request lotado de pedido besta (tile premium, perder promote ao logar e nao ser premium, action de tal coisa) e repetido, mas ninguem pensa em tentar resolver antes de pedir. Você vai na otland, percebe que as coisas lá ainda estão um pouco mais decentes (não tanto, mas ainda melhor que aqui). Fora que sei lá, ultimamente esses fóruns BRs eu tenho achado uma bagunça devido conteúdo repetido (10 globais, 15 baiaks, 50 poketibia), só tem tópico de request/support, fora que o IPB ficou estranho (pra mim) de uns tempos pra cá. Por um lado, é uma "boa" época pra quem quer ganhar dinheiro, já que a demanda está tão alta e muitos scripters/programadores estão largando essa vida, o desespero do pessoal vai fazer com que aumente a demanda de freelancers. Enfim, a comodidade matou o termo "open", pois o pessoal só quer usufruir sem contribuir nada.
  3. Cat reagiu a uma resposta no tópico: O que está acontecendo com Open Tibia Brasil?
  4. Cat reagiu a uma resposta no tópico: O que está acontecendo com Open Tibia Brasil?
  5. KotZletY reagiu a uma resposta no tópico: [8.6] Battleboats - Evento
  6. KotZletY reagiu a uma resposta no tópico: [8.6] CityWar - Evento
  7. Pronto.
  8. luanluciano93 reagiu a uma resposta no tópico: [8.6] CityWar - Evento
  9. Movie reagiu a uma resposta no tópico: [8.6] CityWar - Evento
  10. Este é um evento do tipo lastmanstanding, um evento de guerra que rolava na cidade. Foi feito pro tfs 0.4 Informações sobre configuração está na lib. Em creaturescripts: Adicione no login. lua: -- Verificar se é primeira vez que loga, pois ao usar storage ele ja começa com -1, -- Então vamos zera-lo para que os frags/kills comecem do 0. if (getPlayerStorageValue(cid, 102089) ~= 1) then setPlayerStorageValue(cid, 102089, 1) setPlayerStorageValue(cid, configCityWar.storageEvent1, 0) setPlayerStorageValue(cid, configCityWar.storageEvent2, 0) end registerCreatureEvent(cid, "WarCityDeath") warCityDeath.lua: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if isInArea(getCreaturePosition(cid), configCityWar.fromPos, configCityWar.toPos) then setPlayerStorageValue(cid, configCityWar.storageEvent2, getPlayerStorageValue(cid, configCityWar.storageEvent2)+1) setPlayerStorageValue(lastHitKiller, configCityWar.storageEvent1, getPlayerStorageValue(lastHitKiller, configCityWar.storageEvent1)+1) end return true end creaturescripts.xml <event type="preparedeath" name="WarCityDeath" event="script" value="warCityDeath.lua"/> globalevents: function onTime(interval) OpenEventCityWar() return true end <globalevent name="CityWar" time="13:18" event="script" value="GlobalEventCityWar.lua"/> lib: -- Funcionamento: Assim que iniciado o evento, aparecerá um teleport em uma posição pré-determinada na variavel "teleportPosition" que levará -- os jogadores que pretendem entrar no evento para a posição no mapa configurado em "teleportToPosition", nesse lugar será tipo uma sala de espera -- que todos os player vão esperar o tempo configurado em "timeTeleport", para que os portões/pedras configurados em "positionsTrapFlorest" sejam -- abertos e assim iniciando o evento! Não esquece de colocar pvp tool e no logout em toda zona do evento. configCityWar = { teleportId = 1387, -- id do teleport. storageEvent1 = 59682, -- storage no qual será guardada o número de kill do jogador no evento. storageEvent2 = 59683, -- storage no qual será guardada o número de death do jogador no evento. storageGlobal = 92831, -- verifica se evento está aberto ou feixado. teleportToPosition = {x = 97, y = 72, z = 7}, -- posição para qual o teleporte leva. teleportPosition = {x = 32347, y = 32213, z = 7, stackpos = 1}, -- posição que é criado o teleporte na cidade, não é necessario alterar o stackpos. timeOpen = 5, -- tempo em minutos que abrirá o teleporte após iniciar o evento. timeShow = 3, -- tempo em que fica mostrando na tela os tops frags do evento. timeTeleport = 30, -- tempo em minutos para o portal do evento ser fechado altomaticamente, 5 minutos antes do final do evento em si. fromPos = {x = 32366, y = 32213, z = 7}, -- area superior esquerda do mapa do evento. toPos = {x = 32370, y = 32217, z = 7}, -- area inferior direita do mapa do evento. } recompensaCityWar = { {itemid = 2160, quant = 5}, {itemid = 2316, quant = 1} -- pode adicionar quantos premios for necessario, mas a ultima linha deixa sem a virgula final. } function OpenEventCityWar() -- abri o evento. local posTp = configCityWar.teleportPosition for i=0, 255 do posTp.stackpos = i if (getThingfromPos(posTp).itemid == configCityWar.teleportId) then doRemoveItem(getThingfromPos(posTp).uid) end end setGlobalStorageValue(configCityWar.storageGlobal, 1) addEvent(OpenTeleport, 1000*60*configCityWar.timeOpen) doBroadcastMessage("O teleport para a City War iniciará em ".. configCityWar.timeOpen .." minutos!") end function OpenTeleport() -- abri teleporte inicial. doCreateTeleport(configCityWar.teleportId, configCityWar.teleportToPosition, configCityWar.teleportPosition) addEvent(printCityWar, 1000*60*configCityWar.timeShow) addEvent(CloseTeleportCityWar, 1000*60*configCityWar.timeTeleport) end function printCityWar() if (getStatusCityWar()) then showTopsCityWar() addEvent(printCityWar, 1000*60*configCityWar.timeShow) end end function CloseTeleportCityWar() -- fexa teleporte na cidade. local posTp = configCityWar.teleportPosition for i=0, 255 do posTp.stackpos = i if (getThingfromPos(posTp).itemid == configCityWar.teleportId) then doRemoveItem(getThingfromPos(posTp).uid) end end addEvent(CloseEventCityWar, 1000*60*5) doBroadcastMessage("O evento City War acabará em 5 minutos!") end function CloseEventCityWar() -- fecha o evento. setGlobalStorageValue(configCityWar.storageGlobal, 0) removePlayersCityWar() premiarTopsCityWar() zeraStoragesPlayers() doBroadcastMessage("O evento City War foi finalizado, agradecemos aos participantes!") end function removePlayersCityWar() -- remove os players do evento. local online = getPlayersOnline() for i=1, #online do if isInArea(getPlayerPosition(online[i]), configCityWar.fromPos, configCityWar.toPos) then doTeleportThing(online[i], getTownTemplePosition(getPlayerTown(online[i]))) end end end function premiarTopsCityWar() -- adiciona os premios para os ganhadores. for i=1, 5 do local S = string.explode(listaFrags[i], "-") if getPlayerByNameWildcard(S[2]) then for i=1, #recompensaCityWar do doPlayerAddItem(getPlayerByNameWildcard(S[2]), recompensaCityWar[i].itemid, recompensaCityWar[i].quant) end else local parcel = doCreateItemEx(9081, 1) for i=1, #recompensaCityWar do doAddContainerItem(parcel, recompensaCityWar[i].itemid, recompensaCityWar[i].quant) end doPlayerSendMailByName(S[2], parcel) end end end function showTopsCityWar() -- mostra na tela os top frags. local listaFrags = {} local online = getPlayersOnline() for i=1, #online do listaFrags[#listaFrags+1] = getPlayerStorageValue(online[i], configCityWar.storageEvent1) .."-".. getPlayerName(online[i]) .."-".. getPlayerStorageValue(online[i], configCityWar.storageEvent2) end local stringAux = "" for j=1, #listaFrags-1 do for i=1, #listaFrags-j do local listaPosition1 = string.explode(listaFrags[i], "-") local listaPosition2 = string.explode(listaFrags[i+1], "-") if (tonumber(listaPosition1[1]) < tonumber(listaPosition2[1])) then stringAux = listaFrags[i] listaFrags[i] = listaFrags[i+1] listaFrags[i+1] = stringAux end end end local textPrint = "Top City War fraggers: " for i=1, 5 do local listaPosition = string.explode(listaFrags[i], "-") if i~=5 then textPrint = textPrint.. listaPosition[2] .."[".. listaPosition[1] .."/".. listaPosition[3] .."], " else textPrint = textPrint.. listaPosition[2] .."[".. listaPosition[1] .."/".. listaPosition[3] .."]." end end doBroadcastMessage(textPrint) end function getTopsCityWar() -- retorna uma lista com os top frags. local listaFrags = {} local online = getPlayersOnline() for i=1, #online do listaFrags[#listaFrags+1] = getPlayerStorageValue(online[i], configCityWar.storageEvent1) .."-".. getPlayerName(online[i]) .."-".. getPlayerStorageValue(online[i], configCityWar.storageEvent2) end local stringAux = "" for j=1, #listaFrags-1 do for i=1, #listaFrags-j do local listaPosition1 = string.explode(listaFrags[i], "-") local listaPosition2 = string.explode(listaFrags[i+1], "-") if (tonumber(listaPosition1[1]) < tonumber(listaPosition2[1])) then stringAux = listaFrags[i] listaFrags[i] = listaFrags[i+1] listaFrags[i+1] = stringAux end end end return listaFrags end function getStatusCityWar() -- retorna se o evento esta aberto ou feixado. if (getGlobalStorageValue(configCityWar.storageGlobal) > 0) then return true end return false end function zeraStoragesPlayers() db.executeQuery("UPDATE `player_storage` SET `value` = 0 WHERE `key` = '".. configCityWar.storageEvent1 .."';") db.executeQuery("UPDATE `player_storage` SET `value` = 0 WHERE `key` = '".. configCityWar.storageEvent2 .."';") end talkactions: function onSay(cid, words, param, channel) OpenEventCityWar() return true end <talkaction log="yes" words="/opencity" access="5" event="script" value="openCityWar.lua"/>
  11. Bem, resolvi liberar tudo que eu achei no meu dropbox da época que usava tfs 0.4 (meados de 2011), aqui está um dos scripts: Não lembro quem é o dono ou quem me passou, se tiver algum crédito, deve estar no MOD Descrição: Todos os jogadores podem se juntar, cada jogador tem seu próprio barco. Depois de participar (digitar o comando ou entrar no teletransporte), o jogador deve enviar todo o equipamento para o depósito. Ele tem 2 minutos para fazê-lo, se não o fizer, vai ser teletratado fora do evento, e em seu lugar, será capaz de entrar em uma nova pessoa disposta. Todos os jogadores estiverem prontos, eles receberão uma mochila especial com o equipamento necessário para Battle Boats - 5x Bomb, 2x Emboscada e 3x Life. Todos os jogadores podem usar vários comandos: vá, pare, direita, esquerda, para cima, para baixo, rápido, lento. O objetivo é destruir o barco dos outros jogadores antes do seu. Battle_Boats.otbm
  12. Gostava mais quando o pessoal colocava tutorial ensinando a colocar do que entregar pronto nas sources, ao menos aprendia algo e não só pegava e já tentava usar. Sobre o mercado, interessante, não tinha visto ainda... Daí fui ver, achei alguns scripts interessantes, porém há um ou outro que parece apenas script pego na otland e modificado em algumas coisas, o cara simplesmente não fala qual o diferencial do script dele pra um bem parecido, free.
  13. Nych alterou sua foto pessoal
  14. Virou forma de obter dinheiro até nos distros cara... Você vai no github, o cara fala que tal sistema funciona, dai não funciona. Ele manda uma lábia tipo "Então se quiser, você pode arrumar"... dai você vai na otland pesquisar sobre, você acha o mesmo cara vendendo o mesmo sistema, dizendo que está totalmente funcional. A comunidade aberta não é mais aberta, se você quer obter algo, ou você faz, ou você paga e ainda pagando, capaz de receber incompleto... Sobre servidores, pior ainda, você só vê gente postando baiak/global/poketibia, não vê mais quase ninguém tentando inovar, colocar mapa customizado, sistema novo... Isso só cria muita gente preguiçosa - que acha que é só colocar o OT online e ganhar dinheiro - tanto que é só olhar a seção de suporte pra perceber que tem cada pergunta que se o cara tirasse 30 minutos pra ver com calma, resolveria. Eu to com um serverzinho RPG, mapa customizado, tentando usar o que posso e não cobro/peço donate, porque quero aprender mais sobre o TFS 1.x e suas variações, mas é complicado sem uma comunidade que lhe dê um norte. Mas sinceramente, tá difícil.
  15. Há alguma forma simples de remover o aviso do battleye protection? Sem o uso de ipchanger, pois gostaria de fazer um client custom. (vide imagem)
  16. @Mathwsz A comunidade brasileira de tibia (Não só o TK), perdeu o interesse em aprender. Eles veem um servidor global com 500+ jogadores ON, pensa que consegue fazer o mesmo pra ganhar um dinheiro, dai cria essas porcarias que tem por ai, usa esses datapack pronto (nem sequer testam) e acham que o dinheiro vai cair do ceu. Pode ver que relacionando com antigamente, numeros de server BR caíram (Só ver a quantidade de paginas na otservlist). Eu mesmo to tentando criar um server com mapa custom, inserir um pouco de RPG, novas mecanicas... Mas eu sei como estão as pessoas que jogam, sei que to nadando contra a mará, porque quero fazer minha parte e ao menos dizer a mim mesmo que eu tentei. OBS: Caso não dê certo, transformo meu projeto num Sword Art Online de tibia xD
  17. Creio eu que enquanto esse pessoal (comunidade brasileira) só queira saber de OT pronto (global/baiak/pokeot), vai continuar assim. As pessoas já se acostumaram a entrar nesses sites, pegar o ot pronto e só meter on, daí como já ficaram acostumados, não querem tentar entender o script que buga, não quer entender como script funciona, não quer nada, além de receber as coisas prontas.
  18. Comecei a fazer um pouco, enquanto tenho umas atividades do estágio, então começarei pelo o que é simples. Fiz as alterações na source pra mineração se comportar como uma skill, que nem o fishing (me baseei no fishing). Além da alteração na source, fiz no otcliente, exibindo a skill e a barra de progresso dela: Falta apenas melhorar o lua pra o sistema de mineração, vou fazer baseado no fishing também, da seguinte forma: Quando o player usar o pick nas paredes de pedra em caves, a barra da skill vai subindo, dependendo do valor da skill, os itens irao variar de itens comuns a raros, onde cada item terá seu objetivo no server, seja como recipe ou como cristal pra algo importante. #Edit Script lua feito (foi mais simples do que imaginei)
  19. Olá pessoal, queria discutir com vocês esse meu "pequeno" projeto que eu estou pensando em fazer, e como eu não aguento mais ver poketibia ou mapa global, resolvi fazer algo diferente, apesar de não esperar muito, devido a comunidade atual. Bem, agora vou falar rapidamente sobre minha ideia para o projeto: 1. Informações Iniciais Por gostar bastante de servidores RPG, que são poucos hoje em dia, e também de mexer em otserver, resolvi pôr em prática o que venho aprendendo na universidade, assim, criando esse projeto "solo" (na verdade, continuando), onde o mesmo seria uma forma de aprendizado e passatempo pra mim. 2. Sobre o Projeto Tentarei fazer na versão mais atual do theforgottenserver (10.77 atualmente), com algumas customizações próprias e outras que eu encontrarei na comunidade de OpentTibia ao longo do projeto. Além do mais, quero fazer algo bem customizado, por assim dizer, tentar "destibiar" parte do servidor, inserindo coisas que não são comuns você achar em servidores por aí ou simplesmente fugir do padrão que vemos nesses servidores de tibia, farei isso através de sistemas diferentes, NPCs diferentes, coisas do tipo, eu realmente quero fugir da mesmice. 3. Sobre o Mapa Bem, como é a continuação de um projeto que eu obtive por terceiros (lembrando, o projeto final não é 100% de autoria minha), o mapa já está quase finalizado, faltando apenas alguns detalhes. Pelo fato de gostar de servidores RPG, eu tive preferência por um mapa customizado, onde até eu mesmo ainda tenho muito a explorar nele, para finalizar quests e testar, claro. Caso alguém que leia aqui nunca tenha visto sobre o Neptune, vou colocar algumas imagens pra vocês verem como é o mapa, espero que achem ele tão legal quanto eu achei. E aqui, algumas informações retiradas do remeres: 4. Customizações Atualmente, estou fazendo ainda uma pequena lista de customizações, que vão desde coisas simples, onde você acha pesquisando no fórum, até algumas outras coisas melhoradas, onde eu tenho que fazer do zero, tanto no server, quanto no cliente. Bem, irei colocar uma pequena lista do que já tenho em mente, e com isso queria pedir a opinião de vocês, no que posso acrescentar, melhorar, retirar. 5. Observações Caso essa minha ideia tenha um bom feedback e as coisas andem como estou planejando, penso em tentar conseguir um patrocinio aqui, pra que tenha maior repercussão no negócio, mas por hora, quero apenas discutir com vocês por aqui, ver o que cada um acha... 6. Créditos Como o projeto passou pela mão de algumas pessoas até chegar na minha, deixo aqui os créditos dos envolvido(s) que eu sei. Alvanea - User de outro fórum Wypas.eu - Algumas partes do Mapa ---------- Mais uma vez, peço o feedback de vocês, sei que o projeto tem muito a melhorar pra se tornar um RPG legal, mas eu realmente preciso de ideias, pois a maioria que listei aí não tornam o server em si em RPG, torna apenas um mapa custom.
  20. Nych postou uma resposta no tópico em Suporte Tibia OTServer
    Resumindo, eu queria adicionar uma nova skill para aparecer no client (as alterações no otclient já estão, prontas, eu creio). Eu fiz da seguinte maneira: 1 - Procure por "fish" na source e abaixo disso, eu ia adicionando o código referente a nova skill, que seria "mining" 2 - Fiz as alterações na database (tabela players, adicionei skill_mining e skill_mining_tries) 3 - Como eu disse, fiz as alterações no otclient pra aparecer a nova barra (veja a imagem). O valor inicial na barra está aparecendo corretamente (inicial 10), mas quando eu uso o item pra minerar, a barra não "sobe" 3.1 - Eu modifiquei a action que usa o pick, está parecido com o de fishing, a cada vez que ele usa, a função player:addSkillTries(SKILL_MINING, 1) é executada (com isso, a barra deveria subir) OBS: Mesmo executando a função que eu disse acima, não ocorre nenhuma alteração no banco de dados, em skill_mining_tries, o que deveria mudar, por isso, acho que o erro é na source, devo ter esquecido algo Imagem: http://i.imgur.com/pON4goT.jpg Source que eu editei: https://www.sendspace.com/file/m90nxg
  21. Sei que estou ressuscitando este tópico, mas foi porque muita coisa mudou nas sources... Poderia atualizar esse tutorial?

Informação Importante

Confirmação de Termo