Líderes
-
-
anthonyx22
MembroPontos90Total de itens -
-
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 06/29/16 em todas áreas
-
[DxP] Exclusivo Poketibia OpenSource+Cliente+Site+DB
[DxP] Exclusivo Poketibia OpenSource+Cliente+Site+DB
Maxwell743 reagiu a Duduph por uma resposta no tópico
1 pontoExclusivo! PokeTibia DxP OpenSource praticamente completo com sistemas e funções nunca liberados. ATENÇÃO: Não dou suporte, apenas estou disponibilizando o server para quem quiser continua-lo ou pegar os sistemas. Se alguns grandes aqui do TK quiserem ajudar nos bugs fiquem a vontade, pois este server é praticamente completo, com funções e sistemas nas sources, acho que nunca liberados para o publico. Aconselho a trocarem o mapa ou criarem outro por que não testei o mesmo, e não sei se há bugs ou armadilhas. • Menu: ├ Informações; ├ Bugs; ├ Prints; ├ Download; └ Créditos. • Informações Basicas • • Duel System. • Nick System. • TV System. • Autoloot System. • Block Respaw System. • Mega Evolução Ssystem. • Auto Stacking System. • Player passa por dentro de outros Players(Não sei o nome deste sistema kk). • Ditto Memory System. • Player pode usar potions, revive, soltar poke andando sem parar. • Limite de efeitos aumentados nas sources até 380(Podendo aumentar muito mais) • Transparência. • Cliente criptografado(Acompanha OBD único para o cliente). • Sistemas básicos como fly, ride, surf, order etc. • Held System(Não tem todos, falta fazer alguns, ja tem o x-luck). • Fishing trocando o outfit automaticamente. • Icone System. • Varias Pokeballs novas. • Task System. • Guild System. E muito+, não testei o servidor todo. podem ter sistemas no server que eu esqueci de colocar aqui na lista. • Bugs • Irei postar os que eu sei, podem haver mais. • Gym System não esta funcionando. Postarei a lista completa de bugs conhecidos e o que ja foi corrigido logo mais. • Prints • • Mega Evolução • Ditto Memory. • TV System. • Auto Loot System. • Block Respaw System. • Irei colocar mais prints em breve(Estou com pouco tempo agora). • Downloads• Alguns antivirus detectam virus, possiveis dlls não reconhecidas, baixem por sua conta em risco, não estou obrigando ninguem a baixar, estou trabalhando no server e nao tive problemas. Caso tenham problemas na descompactação dos arquivos utilizem o 7zip, compactador que utilizei. • Créditos • •CipSoft •Nintendo •TFS Team •Dark X Poke •PXG •Tom Lukz (Smix) •Allan Harlen (Kttallan/lordsorte) •Eduardo Meskita (FuuinFake) •Noninhouh •Tony Araujo •Taiger/Dudu •Drakopoulos •Justiceiro751 •Techrlz •RicardoRox E a todos que tiveram alguma participação em sistemas, server, site, cliente etc. Mais atualizações em breve!!!1 ponto -
[DOWNLOAD] Poke Zot Atualizado + WebSite
[DOWNLOAD] Poke Zot Atualizado + WebSite
marcelinho1234 reagiu a Nicrox por uma resposta no tópico
1 pontoOi, pessoal. Aqui está o server + site que eu estava editando. Adicionei box 10, 11, 12, 13, 14, 15. Editei os mapas e retirei os bugs. Se tiver bugs, pode falar vou arrumar. Download Client MediaFire // 4shared Server MediaFire // 4shared Server sem Website MediaFire // 4shared Download Mapa Editor extendido MediaFire Rep+ Thanks1 ponto -
Naruto War Life BY King of Narutibia
Naruto War Life BY King of Narutibia
Cat reagiu a King of Narutibia por uma resposta no tópico
1 pontoQuando eu fiz um topico eu coloquei naruto white edited king of narutibia , parece que foi removido , então melhorei aquela versão e fiz uma nova com nome Naruto War Life Servidor: - Vocações Naruto, Sasuke, Sakura, Lee, Neji, Tenten, Kiba, Shino, Kisame, Hidan, Kakuzu, Itachi, Deidara, Kakashi, Killer Bee, Yamato, Madara, Minato, Hashirama, Tobirama, Obito, Kankuro, Gaara, Kabuto, Jiraya, Tsunade, Anbu, Hinata. - Vocações novas Rikudou Sennin, Kaguya, Sasori, Konan, Raikage. ( Estão com poderes e outfits certo ) - Novos items Donates [DONATE] kurama bandane [DONATE] kurama chakra coat [DONATE] kurama chakra legs [DONATE] kurama chakra boots [DONATE] rikudou coat [DONATE] madara gumbai [DONATE] susanoo gloves [DONATE] teleport scroll ( Teleporta você ao seu alvo , Recarga 20 segundos ) [DONATE] Premium 30D ( se usado lhe da 30 dias de premium ) [DONATE] Item Box ( Da um item Donate Aleatorio ) - Novos Sistemas Prisão Ao dizer /jail (PLAYER) , ele ira para a cadeia no ultimo andar do templo e ficará la por 2 minutos , apos isso será libertado automaticamente ( TRADUZIDO PARA O PORTUGUES POR MIN ) Donate No primeiro andar do templo tem uma alavanca ao puxa-la mostra-ra o jeito de comprar items com PREMIUM POINTS Bug ao dizer !bug , se não estiver em battle , teleportara você ao ultimo andar do templo , para caso caia em um bug Teleport Scroll como eu havia dito , vou dar uma explicação agora , este scroll so pode ser usado quando há um target , quando usado ele teleportará seu personagem até seu alvo , mas a uma duração de recarga de 20 segundos , ou seja so pode ser usado 1 a cada 20 segundos ( INFINITO ) NPC no primeiro andar , há um npc que troca 20 premium points por uma vocação dentre: HASHIRAMA , MINATO , TOBIRAMA , MADARA , RIKUDOU SENNIN , KAGUYA - Monstros Eu balancei os montros , pois eu ja tinha balanceado mais ficou muito forte , então balancei e deixei meio medio , e adicionei o montro False Zetsu no lugar do Insect - DOWNLOAD SERVER 4SHARED CLIENTE MEDIAFIRE - SCAN SERVER SCAN CLIENT SCAN Conta do ADM login: admin senha: mod CREDITOS Beeny - Por disponibilizar a Base King of Narutibia - Por editar o servidor1 ponto -
[8.6] Staff Time
1 ponto#UPDATE# V 1.1 - BUG DE BUGAR STORAGE AO FECHAR O SERVE REMOVIDO É um sistema onde mostra o tempo que o jogador ficou online no server... E tem mais alguns comandos adicionais: /stafftime NOME DO JOGADOR DA STAFF faz com que mostre o tempo de determinado player da staff /allstafftime faz com que mostre o tempo de todos os membros da staff /stafftimecleall Reinicia o tempo de todos os membros da staff /stafftimeclear NOME DO JOGADOR DA STAFF Reinicia o tempo de determinado player da Staff Na pasta MODS: StaffTime.xml <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Staff Time System" version="1.1" author="vodkart" contact="none" enabled="yes"> <config name="stafftime_lib"><![CDATA[ _Staff_Config_ = { storages = {448507,448508,448509}, min_group_id = 1 -- aqui vai contar a partir do 2, 3, 4 ... } function timeString(timeDiff) local dateFormat = { {"day", timeDiff / 60 / 60 / 24}, {"hour", timeDiff / 60 / 60 % 24}, {"minute", timeDiff / 60 % 60}, {"second", timeDiff % 60} } local out = {} for k, t in ipairs(dateFormat) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #dateFormat and (#out > 0 and ', ' or '') or ' and ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find("second") then local a, b = ret:find(" and ") ret = ret:sub(b+1) end return ret end function getStaffTime(name) local target_online = getPlayerByNameWildcard(name) if not isPlayer(target_online) then local info = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = ".. getPlayerGUIDByName(name) .." AND `key` = ".. _Staff_Config_.storages[1]) if info:getID() ~= -1 then var_time = timeString((-(info:getDataInt("value")))) else var_time = 0 end else if getPlayerStorageValue(target_online, _Staff_Config_.storages[2]) <= 0 then var_time = 0 else var_time = timeString((os.time() - getPlayerStorageValue(target_online, _Staff_Config_.storages[1]))) end end return var_time end function getAllStaffTime() local query, str = db.getResult("SELECT `name`, `group_id` FROM `players` WHERE `group_id` > ".._Staff_Config_.min_group_id), "--> STAFF TIME <--\n\n[Group]Nick - Tempo Online\n" if (query:getID() ~= -1) then repeat local _ = query:getDataString("name") str = str .. "\n ["..getGroupInfo(query:getDataInt("group_id")).name.."]".._.." - "..getStaffTime(_) until not(query:next()) query:free() end return str end function doSaveStaffTime(cid) if getPlayerStorageValue(cid, _Staff_Config_.storages[2]) >= 1 then setPlayerStorageValue(cid, _Staff_Config_.storages[1], getPlayerStorageValue(cid, _Staff_Config_.storages[1]) - os.time()) setPlayerStorageValue(cid, _Staff_Config_.storages[3], getPlayerStorageValue(cid, _Staff_Config_.storages[1])) setPlayerStorageValue(cid, _Staff_Config_.storages[1], getPlayerStorageValue(cid, _Staff_Config_.storages[1]) + os.time()) end end function deleteAllStaffTimes() db.executeQuery("DELETE FROM `player_storage` WHERE `key` = ".._Staff_Config_.storages[1]) db.executeQuery("DELETE FROM `player_storage` WHERE `key` = ".._Staff_Config_.storages[2]) db.executeQuery("DELETE FROM `player_storage` WHERE `key` = ".._Staff_Config_.storages[3]) for _, player in ipairs(getPlayersOnline()) do if getPlayerGroupId(player) > _Staff_Config_.min_group_id then setPlayerStorageValue(player, _Staff_Config_.storages[1], os.time()) setPlayerStorageValue(player, _Staff_Config_.storages[2], 1) setPlayerStorageValue(player, _Staff_Config_.storages[3], 0) end end end function deletePlayerStaffTimes(name) local target_online = getPlayerByNameWildcard(name) if not isPlayer(target_online) then db.executeQuery("DELETE FROM `player_storage` WHERE `player_id` = ".. getPlayerGUIDByName(name) .." AND `key` = ".. _Staff_Config_.storages[1]) db.executeQuery("DELETE FROM `player_storage` WHERE `player_id` = ".. getPlayerGUIDByName(name) .." AND `key` = ".. _Staff_Config_.storages[2]) db.executeQuery("DELETE FROM `player_storage` WHERE `player_id` = ".. getPlayerGUIDByName(name) .." AND `key` = ".. _Staff_Config_.storages[3]) else setPlayerStorageValue(target_online, _Staff_Config_.storages[1], os.time()) setPlayerStorageValue(target_online, _Staff_Config_.storages[2], 1) setPlayerStorageValue(target_online, _Staff_Config_.storages[3], 0) end end ]]></config> <globalevent name="Salve-StaffTime" interval="30" event="script"><![CDATA[ domodlib('stafftime_lib') function onThink(interval, lastExecution, thinkInterval) if #getPlayersOnline() > 0 then for _, cid in ipairs(getPlayersOnline()) do if getPlayerGroupId(cid) > _Staff_Config_.min_group_id then doSaveStaffTime(cid) end end end return true end]]></globalevent> <globalevent name="StaffDebug-Start" type="start" event="buffer"><![CDATA[ domodlib('stafftime_lib') local q = db.getResult("SELECT `id` FROM `players` WHERE `group_id` > ".._Staff_Config_.min_group_id) if (q:getID() ~= -1) then repeat local p = q:getDataInt("id") u = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = "..p.." AND `key` = ".._Staff_Config_.storages[3]) if u:getID() ~= -1 then db.executeQuery("UPDATE `player_storage` SET `value` = "..(u:getDataInt("value")).." WHERE `player_id` = "..p.." AND `key` = ".. _Staff_Config_.storages[1]) end until not(q:next()) q:free() end return true]]></globalevent> <talkaction words="/stafftime;/allstafftime;/stafftimecleall;/stafftimeclear" event="buffer"><![CDATA[ domodlib('stafftime_lib') if (words == "/stafftime") then local t = string.explode(param:lower(), ",") if (param == "") then doPlayerSendCancel(cid, "use um comando valido") return true elseif not getPlayerGUIDByName(t[1]) then doPlayerSendCancel(cid, "Desculpe, mas o jogador [" .. t[1] .. "] não existe.") return true elseif db.getResult("SELECT `group_id` FROM `players` WHERE `id` = "..getPlayerGUIDByName(t[1])):getDataInt("group_id") <= _Staff_Config_.min_group_id then doPlayerSendCancel(cid,"este jogador não é um membro da staff.") return true end return doPlayerPopupFYI(cid, "Tempo Total Online:\n\n"..t[1].." - "..getStaffTime(t[1])..".") elseif (words == "/allstafftime") then if getPlayerAccess(cid) < 5 then doPlayerSendCancel(cid, "você não tem permissão para usar este comando") return true end return doPlayerPopupFYI(cid, getAllStaffTime()) elseif (words == "/stafftimecleall") then if getPlayerAccess(cid) < 5 then doPlayerSendCancel(cid, "você não tem permissão para usar este comando") return true end deleteAllStaffTimes() return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você limpou a Staff Time de toda a equipe do servidor.") elseif (words == "/stafftimeclear") then local t = string.explode(param:lower(), ",") if getPlayerAccess(cid) < 5 then doPlayerSendCancel(cid, "você não tem permissão para usar este comando") return true elseif (param == "") then doPlayerSendCancel(cid, "use um comando valido") return true elseif not getPlayerGUIDByName(t[1]) then doPlayerSendCancel(cid, "Desculpe, mas o jogador [" .. t[1] .. "] não existe.") return true elseif db.getResult("SELECT `group_id` FROM `players` WHERE `id` = "..getPlayerGUIDByName(t[1])):getDataInt("group_id") <= _Staff_Config_.min_group_id then doPlayerSendCancel(cid,"este jogador não é um membro da staff.") return true end deletePlayerStaffTimes(t[1]) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você limpou a Staff Time do jogador "..t[1]) end ]]></talkaction> <event type="login" name="StaffTimeLogin" event="script"><![CDATA[ domodlib('stafftime_lib') function onLogin(cid) if getPlayerGroupId(cid) > _Staff_Config_.min_group_id then if getPlayerStorageValue(cid, _Staff_Config_.storages[2]) <= 0 then setPlayerStorageValue(cid, _Staff_Config_.storages[1], os.time()) setPlayerStorageValue(cid, _Staff_Config_.storages[2], 1) else setPlayerStorageValue(cid, _Staff_Config_.storages[1], getPlayerStorageValue(cid, _Staff_Config_.storages[1]) + os.time()) end end return true end]]></event> <event type="logout" name="StaffTimeLogout" event="script"><![CDATA[ domodlib('stafftime_lib') function onLogout(cid) if getPlayerGroupId(cid) > _Staff_Config_.min_group_id then setPlayerStorageValue(cid, _Staff_Config_.storages[1], getPlayerStorageValue(cid, _Staff_Config_.storages[1]) - os.time()) setPlayerStorageValue(cid, _Staff_Config_.storages[3], getPlayerStorageValue(cid, _Staff_Config_.storages[1])) end return true end]]></event> </mod>1 ponto
-
PokeXLegend
PokeXLegend
MarcosGattini reagiu a padreesss por uma resposta no tópico
1 pontoOlá Pessoal Sou Novo Aki Vim Traser Meu 1° Post De Base Lendaria, Editei Essa Base Não Sei De Quem é a Base, Mais a Editei pra uma amigo mais ele não quis mais, dai eu resolvi pegar essa base so com megas de pokemons Bons vamos la. [Pokemons Adicionados] Arch Heatran. [100%] Hoopa Unbound. [100%] Shiny Hoopa Unbound. [100%] Genesect Star. [100%] Fallen Jirachi. [100%] Majestic Lugia. [100%] Black Kyogre. [100%] Black Groudon. [100%] Zygarde. [100%] Shiny Zygarde. [100%] Power Charizard. [100%] Shiny Power Charizard. [100%] Power Raichu. [100%] Shiny Power Raichu. [100%] Power Arcanine. [100%] Shiny Power Arcanine. [100%] Power Venusaur. [100%] Shiny Power Venusaur. [100%] Power Blastoise. [100%] Shiny Power Blastoise. [100%] Fotos: http://prntscr.com/bg3e47 [Boxs Adicionadas] Xerneas Box Level 6000. [100%] Yveatal Box Level 4000. [100%] [Sistemas Novos] Fotos: http://prntscr.com/bg3baw NPC [SHOP] Donate. [100%] Fotos: http://prntscr.com/bg3gzq NPC [SHOP] Stone. [100%] [Removidos Do Map] Megas De Boxs Trocados Por Power Pra Tirar um Pouco Do Lag. Retirado Lag [70%] [Removidos] Removidos Bugs [70%] Removido Bug Que Dava Erro Ao Logar No Account manager [100%] [Sprints De Todas Box Trocadas] Box1 a Box19. [Download] Servidor+Client: https://mega.nz/#!60EDlLiT!LnAvjmlPLZ_FDTHU3KG0pH0yVJ4md8BCM61s_ayIH4Y [Scan] Servidor+Client: https://www.virustotal.com/pt/file/5fc602ad54c6a668ca06daa96e24239c3c19b0c5e118e04af09abf9c31f16352/analysis/1466248383/ [Scan Avast] : Servidor+Client: http://prntscr.com/bhvydx [Contato] Facebook: https://www.facebook.com/everton.jesus.541 ponto -
Object Builder
1 pontoObject Builder é o programa usado para editar itens, outfits, efeitos e mísseis no cliente. Ele edita e compila os arquivos dat e spr. (Object Builder) Versões suportadas:7.10 - 10.41 Download: Adobe AIR Object Builder 0.3.4 Scan ___________________________ Sources GitHub1 ponto
-
[8.54]Erondino v15 com source
[8.54]Erondino v15 com source
Risadinhadomal reagiu a izac ximenes por uma resposta no tópico
1 pontoDownload: Desculpe por nao coloca scan to sem tempo alguem pode fazer isso por min,mais e 100% confiavel peguei direto da pagina do erondino site Creditos: Erondino pelo serve1 ponto -
Alguns Programas para OTserv 8.60
Alguns Programas para OTserv 8.60
samuel.show reagiu a L3K0T por uma resposta no tópico
1 pontoVenho trazendo download fácil pra todos que está a procura dos programas para otserv 8.60 espero que lhe tenha ajudado em algum deles e obrigado por fazer parte desse fórum. 1 Pic Editor: O que ele faz ? Simples ele é usado para mudar a imagem do seu cliente e entre outras. 1 Download 1 scan 2 Reshack: O que ele faz ? Simples você pode mudar o ícone do seu cliente e entre outra informações. 2 Download 2 scan 3 RME-win-2.2: O que ele faz ? Simples com ele poderá editar o mapa de seu servidor de pendendo do que for sendo TIBIA. para usar ele sem erros baixa o cliente correto pra V do seu ot em Remere's map editor 3 Download 3 scan 4 Tibia Dat Editor: O que ele faz ? Simples com ele, pode adicionar itens no seu cliente ou edita los saiba mais pesquisando sobre ele aqui no fórum, há muitos tutoriais sobre isso. 4 Download 4 scan Tem mais programas em breve coloco mais pra vocês baixarem sem ter que fica indo pra um lado e outro e sem sucesso.1 ponto -
[Tutorial] Comando para fazer o player falar!
[Tutorial] Comando para fazer o player falar!
Black Fenix reagiu a Tricombi por uma resposta no tópico
1 pontoBom galera estou trazendo aqui uma TalkAction bem legal pra vocês. Ela serve para fazer o PLAYER do seu OT falar o que você quiser com apenas um comando!, bom chega de enrolação e vamos começar logo! Va na pasta do seu OTserv e va em Data/Talkactions/Scripts e crie um arquivo chamado playersay.lua e adicione isso: ------------------------- function onSay(cid, words, param, channel) if(param == '') then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "É necessário um paramêtro."), TRUE end local prm = string.explode(param, ",") local pos = getCreaturePosition(cid) local plr = getPlayerByName(prm[1]) if (plr == nil) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O player está offline ou não existe.") elseif (prm[2] == nil) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "É necessário a mensagem após a vírgula.") end return doCreatureSay(plr, prm[2], 1), TRUE end --------------------------------------- Depois va em talkaction.xml e adicione essa tag: <talkaction log="yes" words="!ps" access="5" event="script" value="playersay.lua"/> ---------------------------------------- Créditos: @Tricombi - Por trazer ao fórum. Créditos ao criador: Desconhecido. Te AJUDEI? Da um REP + !1 ponto -
Dragon Lord's Cave
1 ponto____________________________________________ Créditos meromeromei ____________________________________________ SCAN https://www.virustotal.com/pt/file/955ccb0b5e9156824f16e46452ec77e51c640d6c853616f38ed7626d92a38c27/analysis/1451364539/ DOWNLOAD Dl by meromeromei.rar1 ponto
-
[Narutibia] Spr,dat,pic Naruto Sky
[Narutibia] Spr,dat,pic Naruto Sky
Em busca de poketibi reagiu a Gabrieltxu por uma resposta no tópico
1 pontoFala aew galera do TK eu tinha um Projeto de narutibia e cansei e irei postar a SPR,DAT e PIC para vcs baixarem e fazer bom Proveito xD... Oq contem Nele? bom vou falar o basico que tem nele... Muitas Sprites de Voaçoes a muitas Sprites de Movimentos a Powers... Client 100% RPG Só algumas coisas do Tibia... Personagems com Grafikos melhores ... Umas ScrenShot: Img do Client: Creditos: 100% a Min vlw xD hehe isso é Tudo agora o Download: Download: http://www.mediafire...peaa26365so9hqa Scan: https://www.virustot...sis/1355087306/ Vlw galera Fikem Com deus de REP++ e Comentem ai Oq seis acharam vlw1 ponto -
[VIDEO TUTORIAL] Quase Tudo Sobre o XenoBOT!
bom resolvi fazer alguns videos de tudo ou quase tudo que sei sobre o XenoBOT. ja que tem um monte de gente usando ele e não sabem quase nada, espero que vcs aprenda algo. #1. Tutorial XenoBOT - Settings, Tools,Visuals, Pathfinder & Alarms #2. Tutorial XenoBOT - HUD, EQ Manager & Condition Manager #3. Tutorial XenoBOT - Self Healer (COMPLETO) & Spells #4. Tutorial XenoBOT - Looter (COMPLETO) + Deposit Items #5. Tutorial XenoBOT - Walker (COMPLETO) & Advanced Waypoints #6. Tutorial XenoBOT - Targeting (COMPLETO) & Dynamic Lure System #7. Tutorial XenoBOT - Magic Shooter (COMPLETO) #8. Tutorial XenoBOT - Special Areas (COMPLETO) #9. Tutorial XenoBOT - Looter (BOT NÃO ABRE?) & Walker (BOT CAÇANDO) **FInal**1 ponto
-
[RME] Não consigo editar meu mapa no RME - Scripts do cp não aparecem
Man você colocou seu Item.OTB na pasta do rme ? acho que você não colocou não porque as sprites estão tudo bugada, e tem que botar o tibia.dat e tibia.spr na pasta do tibia, para que as sprites fica tudo certinha1 ponto
-
Mining System
Mining System
elipe reagiu a xWhiteWolf por uma resposta no tópico
1 pontoclaro, abaixo de function onUse(cid, item, fromPosition, itemEx, toPosition) coloque if getPlayerVocation(cid) ~= X then return false end Se a classe for diferente de X (insira o numero da classe aqui) então cancele.1 ponto -
Tá difícil jogar otserver
1 pontoSe não uma comunidade grande pelo menos uma comunidade ativa, essa é minha esperança em relação ao Empire. A faixa de players online na sua antiga passagem em meados de 2005-2008 era de 300 players Online, lembro que a galera era bem ativa nas comunidades do Orkut da época o que pra mim fazia toda diferença, você se sentia mais próximo dos outros players e não só aquela porrada de robô jogando.1 ponto
-
[DxP] Exclusivo Poketibia OpenSource+Cliente+Site+DB
[DxP] Exclusivo Poketibia OpenSource+Cliente+Site+DB
Salazar sly reagiu a Maneluxo por uma resposta no tópico
1 pontoMano tu ta tentando rodar sem site. ele nao ta detectando o SQL por que ele ta procurando o mysql<- esse é usado nos sites. faz assim usa o config.lua das sources ai sim vai rodar. Se ajudou quero meu rep+1 ponto -
[PEDIDO]
Vai ter que mudar a fórmula do dano para isso. Pode ser complicado.1 ponto
-
Atualizando um Otserv 8.6 para modelos mais atuais
Atualizando um Otserv 8.6 para modelos mais atuais
AND3RSONREMIX reagiu a DukeeH por uma resposta no tópico
1 pontoAtualizar até da, mas vai ser BEM complicado, as versões mais novas usam o TFS 1.0+, e você provavelmente use o 0.4, a estrutura dos scripts e da pasta mudou quase que totalmente, então você teria que converter os scripts, ou achar scripts que fazem a mesma coisa para a nova versão. Ou seja, é possivel, mas não é um ctrl + c, ctrl + v. Você consegue usar seu mapa normalmente, usa a data do outro server e vai passando/procurando os scripts aos poucos enquanto corrige os erros.1 ponto -
[8.54] Sistema de Recompensa Diaria!
achei o sistema interessante, quando tiver tempo vou desenvolver essa ideia mais a fundo e posta-la1 ponto
-
Pokemon DreamRed v3.2 [Catch, Pokedex, Stones, Teleport, Fly, Ride, e+]
Sistemas Portrait [100%] Pokedex [100%] Surf [100%] Fly [100%] Ride [100%] Catch [100%] Teleport [100%] Fishing [100%] Bike [100%] Elite Stone [100%] Gerações I [100%] Gerações II [100%] Shiny Stone [100%] Boost Stone [100%] Caught [100%] Moves [100%] Go-Back [100%] E MUITO MAIS! Créditos: Dreamer Screenshot Downloads Server: MediaFire Client: MediaFire DLLs: dll TibiaKing.com.rar Senha: anti sangue-sugas tibiaking.com Scans Server: VirusTotal Client: VirusTotal Dlls: VirusTotal1 ponto
-
(Resolvido)[PEDIDO] World Boss System!
(Resolvido)[PEDIDO] World Boss System!
samlecter reagiu a Bodak Reborn por uma resposta no tópico
1 pontoBom, vamos lá. Não consegui fazer de um jeito "automático", demorei por isso. Só consegui fazer automático com o storage para todos os pokémons. Espero que fazer "manualmente" não te atrapalhe tanto. Para cada Giant pokémon, um novo arquivo e uma nova tag deve ser criada em actions. O ID do item invisível/baú deve ser diferente também. Lembrando que pelo jeito que eu fiz, você deve criar um item novo. Se não fizer, ao clicar em um item com o mesmo ID que este, você receberá a recompensa. globalevents/scripts nome_arquivo.lua Este vai fazer o monstro aparecer. function onThink(cid, interval, lastExecution) local bosses = { [1] = {name = "Giant Primeape", times = 3, pos = {[1] = {x=1050, y=1054, z=7}, [2] = {x=1051, y=1054, z=7}, [3] = {x=1052, y=1054, z=7}}}, [2] = {name = "Giant Wigglytuff", times = 1, pos = {[1] = {x=1045, y=1053, z=7}}}, -- [um numero maior que o de cima] = nome do monstro, quantas vezes ele vai spawnar (deve ser igual ao numero de posições), posições que ele vai spawnar. } local boss = math.random (#bosses) for i = 1, bosses[boss].times do doSummonCreature(bosses[boss].name, bosses[boss].pos[i]) end doBroadcastMessage("Um World Boss acaba de aparecer!") return true end globalevents/scripts nome_arquivo.lua Este vai fazer o monstro desaparecer. function onThink(cid, interval, lastExecution) local from1 = {x = 1046, y = 1048, z = 7} -- canto superior esquerdo da área que irá spawnar o Giant. local to1 = {x = 1055, y = 1059, z = 7} -- canto inferior direito da área que irá spawnar o Giant. for x = from1.x, to1.x do for y = from1.y, to1.y do for z = from1.z, to1.z do local pos = {x = x, y = y, z = z, stackpos = 253} local monsterTile = getThingfromPos(pos).uid if isMonster(monsterTile) and getCreatureName (monsterTile) == "Giant Primeape" then doRemoveCreature(monsterTile) end end end end doBroadcastMessage ("O World Boss sumiu!") return true end XML: <globalevent name="spawnWorldBoss" interval="14400" script="nome_arquivo.lua"/> <globalevent name="removeWorldBoss" interval="3600" script="nome_arquivo.lua"/> creaturescripts/scripts nome_arquivo.lua local bosses = { [1] = {name = "Giant Primeape", item = 12163, storage = 6151321}, [2] = {name = "Giant Wigglytuff", item = 12170, storage = 6151322}, -- [um número mais que o de cima] = {nome do monstro, ID do item, storage para verificar se o player matou o monstro. O storage deve ser diferente dos demais, recomendo ser 1 número maior que o de cima}, -- lembre-se de colocar a vírgula no final. } local timeToRemove = 60 -- tempo em segundos para remover o item invisível/baú. local effect = 27 -- efeito que vai sair do player ao matar o pokémon. local function doCreateItemWithDelay (item, position) doCreateItem(item, 1, position) return true end local function doRemoveItemWithDelay (item, position) local tileItem = getTileItemById(position, item).uid if tileItem ~= 0 then doRemoveItem(tileItem, 1) end return true end function onKill(cid, target) for i = 1, #bosses do if isInArray(bosses[i].name, getCreatureName(target)) then if getPlayerStorageValue (cid, bosses[i].storage) ~= 1 then doPlayerSendTextMessage (cid, 19, "Agora você pode pegar a sua recompensa!") doSendMagicEffect (getThingPos (cid), effect) setPlayerStorageValue (cid, bosses[i].storage, 1) end addEvent(doCreateItemWithDelay, 1, bosses[i].item, getCreaturePosition(target)) addEvent(doRemoveItemWithDelay, timeToRemove * 1000, bosses[i].item, getCreaturePosition(target)) end end return true end XML: <event type="kill" name="worldBoss" event="script" value="nome_arquivo.lua"/> Registre o evento em login.lua. registerCreatureEvent(cid, "worldBoss") actions/scripts nome_arquivo.lua local config = { item = 2160, -- ID do item que será adicionado. qnt = 5, -- quantidade de itens que será adicionado. timeOut = 4, -- tempo em horas para poder pegar o prêmio deste pokémon novamente. exhausted = 102548, -- esse é o storage do exhausted, um monstro sempre tem que ser diferente do outro. Recomendo colocar um número maior. storage = 6151321, -- storage para verificar se o jogador matou o monstro. Deve ser o mesmo do creaturescripts, para cada monstro. effect = 28, -- efeito que vai sair em cima do player ao dar use no item. } local function timeToCheckIfKillMonster (cid, storage) setPlayerStorageValue (cid, storage, -1) return end function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue (cid, config.storage) == 1 then if getPlayerStorageValue (cid, config.exhausted) < os.time() then doPlayerAddItem (cid, config.item, config.qnt) doPlayerSendTextMessage (cid, 19, "Parabéns! Você derrotou o Giant Primeape!") doSendMagicEffect (getThingPos(cid), config.effect) setPlayerStorageValue (cid, config.exhausted, config.timeOut * 60 * 60 + os.time()) addEvent(timeToCheckIfKillMonster, config.timeOut * 1000 * 60 * 60 , cid, config.storage) else doPlayerSendTextMessage (cid, 19, "Você só poderá receber o prêmio do Giant Primeape em algumas horas.") end else doPlayerSendTextMessage (cid, 19, "Você não derrotou o Giant Primeape.") end return true end XML: <action itemid="ID_DO_ITEM_QUE_SERÁ_DROPADO_NA_POSIÇÃO_DO_MONSTRO" event="script" value="nome_arquivo.lua"/> OBS: No XML do globalevents, o interval é em segundos. 14400 = 4 horas em segundos, 3600 = 1 hora em segundos. OBS2: No script que remove o monstro, caso queira adicionar mais áreas, você deve criar uma nova variável, ficando assim: local from1, from2, from3 = posição do canto superior esquerdo da área (from1), posição do canto superior esquerdo da área (from2), posição do canto superior esquerdo da (from3) local to1, to2, to3 = posição do canto inferior direito da área (to1), posição do canto inferior direito da área (t2), posição do canto inferior direito da área (to3) Exemplo: local from1, from2, from3 = {x = 1046, y = 1048, z = 7}, {x = 1046, y = 1048, z = 7}, {x = 1030, y = 1032, z = 7} local to1, to2, to3 = {x = 1055, y = 1059, z = 7}, {x = 1055, y = 1059, z = 7}, {x = 1020, y = 1025, z = 7} Lembre-se: sempre separado por vírgulas. E também, criar um novo bloco de for, copiando o de cima e trocando apenas o número do from/to e o nome do monstro, exemplo: for x = from1.x, to1.x do for y = from1.y, to1.y do for z = from1.z, to1.z do local pos = {x = x, y = y, z = z, stackpos = 253} local monsterTile = getThingfromPos(pos).uid if isMonster(monsterTile) and getCreatureName (monsterTile) == "Giant Primeape" then doRemoveCreature(monsterTile) end end end end for x = from2.x, to2.x do for y = from2.y, to2.y do for z = from2.z, to2.z do local pos = {x = x, y = y, z = z, stackpos = 253} local monsterTile = getThingfromPos(pos).uid if isMonster(monsterTile) and getCreatureName (monsterTile) == "Giant Wigglytuff" then doRemoveCreature(monsterTile) end end end end for x = from3.x, to3.x do for y = from3.y, to3.y do for z = from3.z, to3.z do local pos = {x = x, y = y, z = z, stackpos = 253} local monsterTile = getThingfromPos(pos).uid if isMonster(monsterTile) and getCreatureName (monsterTile) == "Giant Scyther" then doRemoveCreature(monsterTile) end end end end Espero que tenha entendido. =) Para remover os pokémons automaticamente, adaptei um script de Jamison Collins/IagoNp.1 ponto -
Seu Último Trabalho
1 pontovoltando a fazer sprites1 ponto
-
Underground Camp
Underground Camp
VertusSpriter reagiu a .HuRRiKaNe por uma resposta no tópico
1 pontoImagens: Download: http://www.mediafire.com/download/bp1vhfi0emm3wtg/Orc_Underground.otbm Scan: https://virusscan.jotti.org/en-US/filescanjob/bdke4ggpja Créditos: RokojoM1 ponto -
Seu Último Trabalho
1 pontoBom, eu fiz um Remake do Pokémon Kakuna, é meu primeiro remake, e gostaria da opinião de vocês. Mudando um pouco de assunto, quem gostar do remake da Sprite, eu estou querendo fazer um projeto de Poketibia e queria ajuda >< . Desde então aguardo respostas. Obrigado.1 ponto
-
Loja do Ferreiro
Loja do Ferreiro
VertusSpriter reagiu a Aries Mapper por uma resposta no tópico
1 ponto1 ponto- Bog Raider + Entrada de Quest [Jobs] 9.60
Bog Raider + Entrada de Quest [Jobs] 9.60
VertusSpriter reagiu a Pedro. por uma resposta no tópico
1 pontoCategoria: Mapa. Versão: 9.60 Autor: Jobs Download: Bog Raider Jobs.rar Scan: VirusTotal Screens;1 ponto- Boss map
Categoria: Mapa. Versão: 8.60 Créditos: Snuggles Anexos: Download | Scan Screenshot;1 ponto- Criando um mod simples
Criando um mod simples
gmstrikker reagiu a Snowsz por uma resposta no tópico
1 pontoNeste tutorial espero ensina-los a criar um mod simples, composto por uma janela e um botão, para ativa-la e desativá-la. O mod deve ficar mais ou menos assim: • Entre na pasta mods do seu otclient, e crie um arquivo com um nome quaisquer, como por exemplo, o nome que quer para seu mod, o meu, vou chamar de "tutorial". • Dentro da pasta criada, crie um novo arquivo com extensão "otmod", coloque o nome do seu mod nele, eu vou colocar o nome de "tutorial", ficando "tutorial.otmod": • Dentro do seu arquivo de extensão "otmod" adicione o seguinte código: Module name: description: author: website: version: autoload: autoload-priority: scripts: [ ] @onLoad: @onUnload: • Explicando Dai você me pergunta por que isso está identado dessa forma? Module name: Com dois espaços antes de "name:"? Porque "Module" é uma declaração do tipo de arquivo que está sendo utilizado, já o "name:", é um componente do "Module", por isso, ele deve estar dentro de "Module", caso contrário, poderá ocorrer erros. Nesta linha: Module Ele está declarando que este arquivo é um modulo, uma modificação para seu client. Nesta linha: name: Aqui, estará sendo declarado o nome do seu módulo, eu vou colocar o nome "Tutorial": name: Tutorial Ao clicar no gerenciador de módulos, ele irá mostrar o seu mod com o nome escolhido: Nesta linha: description: Aqui, entrará a descrição do seu mod, por exemplo: description: Um mod simples. Irá mostrar mais ou menos assim: Nesta linha: author: Entrará o seu nome, ou seja, o nome de quem criou o mod(autor óbvio), por exemplo: author: Snowsz Ficaria mais ou menos assim: Nesta linha: website: Você pode declarar o seu site, por exemplo: website: tibiaking.com Ficaria mais ou menos assim: Nesta linha: version: Você pode colocar a versão do seu mod, por exemplo: version: 1.0 Ficaria mais ou menos assim: A parte com explicação gráfica terminou ! Nesta linha: autoload: Será determinado se o seu mod irá ser carregado automaticamente, por exemplo: Exemplo 1: autoload: false Assim, seu mod só irá ser carregado manualmente, você terá que ir no gerenciador de módulos e clicar em carregar para inciar seu mod. Exemplo 2: autoload: true Assim, seu mod só irá ser carregado automaticamente, sem a necessidade de clicar para ser carregado. Nesta linha: autoload-priority: Será determinada a prioridade de carregamento do seu mod, "Como assim?", é simples, ele irá carregar antes ou depois de outro mod, isso determina em que posição de carregamento seu mod deve estar, como por exemplo, em primeiro lugar , um exemplo de prioridade: autoload-priority: 1000 Acho que não tem nenhum mod com essa prioridade? Hehe, será um dos primeiros a carregar! Nesta linha: scripts: [ ] Será determinado os scripts carregados pelo seu módulo, os scripts usado por ele, por exemplo: scripts: [ tutorial ] Ele irá busca um arquivo com o nome tutorial.lua na mesma pasta que ele estiver, e carregará tudo que tem dentro daquele arquivo. Nesta linha: @onLoad: Será determinado que função o seu mod irá chamar ao iniciar, por exemplo: @onLoad: print("Hello World!") Irá mostrar uma mensagem no seu terminal do otclient. Por fim, nesta linha: @onUnload: Será determinado que função o seu mod irá chamar ao ser descarregado, ao se desligar, por exemplo: @onUnload: print("Bye World! ;(") Irá mostrar uma mensagem no seu terminal do otclient. Bom, a configuração que usaremos no nosso mod simples será essa: Module name: Tutorial description: Um mod simples. author: Snowsz website: tibiaking.com version: 1.0 autoload: true autoload-priority: 1000 scripts: [ tutorial ] @onLoad: init() @onUnload: terminate() Mexa apenas no que souber Na pasta do seu mod, crie um novo arquivo, com o nome "tutorial", ele deverá conter a extensão "lua", ficando "tutorial.lua", que é o arquivo de script setado no nosso "tutorial.otmod": scripts: [ tutorial ] Dentro dele, coloque o seguinte código: function init() tutorialWindow = g_ui.displayUI('tutorial.otui') tutorialWindow:hide() tutorialButton = modules.client_topmenu.addRightButton('tutorialButton', tr('Exemplo'), 'icone', onoff, true) end function terminate() tutorialWindow:hide() end function onoff() if tutorialWindow:isVisible() then tutorialWindow:hide() else tutorialWindow:show() end end A função "init()" é a função chamada pelo seu mod, ao iniciar, a função "terminate()", é chamada pelo seu mod, ao ser desligado. Na função "init()", em uma de suas linhas podemos encontrar isso: tutorialWindow = g_ui.displayUI('tutorial.otui') Onde tem "tutorialWindow", está sendo declarado uma variável global, um iniciante em lua deve saber o que é, então não vou explicar. Dentro de tal variável, há uma função, "O que essa função faz?", ela executa os elementos contidos em um arquivo, que seria os arquivos de extensão "otui", nela, estaremos executando o "tutorial.otui". Nesta linha: tutorialWindow:hide() Ele executa uma função na variável "tutorialWindow", que seria uma função para esconder a janela, pois, o que estava contido no "tutorial.otui" seria uma janela que criaremos logo logo. Nesta linha: tutorialButton = modules.client_topmenu.addRightButton('tutorialButton', tr('Exemplo'), 'icone', onoff, true) Está sendo declarado uma variável global, nela, está contido a referencia de uma função, que seria um botão adicionado ao lado direito do menu, exemplo: Utilizei a imagem de ícone do otclient para demonstração. Explicando a função: Sua base é essa: modules.client_topmenu.addRightButton(id, description, icon, callback, front) • Id: Será o id dado ao botão, para melhorar o acesso. • Description: É a descrição do botão, ao passar o mouse em cima, aparecerá um texto. • Icon: É a imagem do botão, como a que eu utilizei no exemplo, usei o ícone do otclient. • Callback: É uma função chamada ao clicar nele. • Front: Define se o botão será adicionado na frente ou atrás dos demais botões do seu menu. Explicando a função "terminate()", na sua única linha podemos encontrar isso: tutorialWindow:hide() É o seguinte, ao seu mod descarregar, ele irá esconder sua janela criada. Explicando a função "onoff()", nas suas linhas podemos encontrar isso: if tutorialWindow:isVisible() then tutorialWindow:hide() else tutorialWindow:show() end Mas bem, o que isso faz? Simples, "tutorialWindow:isVisible()", ele checa se a janela está visível, se estiver, ele irá esconde-la "tutorialWindow:hide()", caso a janela não esteja visível, ele irá mostra-la "tutorialWindow:show()", essa é a utilidade da função utilizada no botão do menu. Agora, na pasta do seu mod, crie um novo arquivo, com o nome de "tutorial", a extensão dele deve ser "otui", ficando "tutorial.otui", dentro desse arquivo, adicione isso: MainWindow id: tutorialwindow height: 255 width: 438 !text: tr("Mod simples") Explicando: • "MainWindow", seria o objeto que irá ser utilizado pelo arquivo, no caso, uma janela. • "id", o id, estaria setando um id para a sua janela. • "height", seria a altura da sua janela, do "MainWindow". • "width", seria a largura da sua janela, do "MainWindow". • "!text", seria o texto inserido como título de sua janela, a função chamada nele "tr()", chama uma tradução para aquela frase, caso não tenha ficaria aquilo mesmo, caso tenha, iria mudar para outro texto traduzido. Bom gente, espero que tenham gostado do tutorial, eu não sou bom com tutoriais... Se tiver me perdido peço desculpas, qualquer erro podem postar aqui que irei corrigir, se eu tiver me enrolado em algo, me desculpem, dei várias pausas enquanto fazia isso kk', espero que tenham entendido tudo. Créditos: Snowsz1 ponto- [OTC] Background animado
1 pontoOlá pessoal, achei um tutorial muito legal na net, e resolvi trazer para vocês... Ele ensina como colocar background animado no OTClient. Entendendo as limitações do OTC Todos nós sabemos que o OTC só aceita imagens em .pgn e a maioria das imagens animadas são gif ou flash, então como vamos colocar imagens animadas no nosso cliente... Introdução Passeando pelas profundezas da internet andei lendo que o novo firefox 3 aceitara uma extensão de imagem nova, e qual é essa extensão o APNG isso mesmo Animated Portable Networks Graphics então pensei vamos explorar isso.. encontrei um programa que se chama APNG Anime Maker e e ele que vamos utilizar 1º Passo Baixe o Programa AQUI ( ele funciona por frames então vc tera que ter todas as imagens de sua animação 1 por 1 em qualquer arquivo mas desde que elas tenham o mesmo tamanho (1024x719 padrão OTC) para n dar conflito visual). depois de baixar o programa e ter todas as imagens agora fica facil então vamos seguir. 2º Passo. Abra o APNG Menu Principal OPEN > Abre as suas imagens SAVE > Salva a sua imagem em formato png (porem com a animação) CLEAN > Limpa todas as imagens Move Up / Move down > altera a ordem das imagens Menu Lateral Delay > tempo para cada imagens ficar em exibição em ms ou fps Offset / Increment > não sei pra que serve =p os outros menus tbm n mas n vamos usar eu acho rsrs Após adicionar todas as suas imagens em frames e classificar a ordem e tempo de exibição delas salve o arquivo no botão SAVE e coloque dentro da pasta \data\images com nome de background e teste1 ponto- Converta Imagens para OTBM
1 pontoEae Galera do TibiaKing hoje vou deomonstrar como converter imagens para OTBM, qualquer imagem mesmo. Progamas requeridos: Bitmap to Map (Créditos para DarkstaR). http://www.4shared.c...itMapToMap.html Scan: http://www.virustota...3353-1325523955 1. Iniciando: Depois que você fazer o Download do BitmapToMap selecione a imagem que você desejar. Colorindo: Após selecionar a imagem você deve colori-la, para fazer isso você deve seguir os passos a seguir. OBS: Como é apenas um tutorial não será usado muitos detalhes ou seja será uma imagem Policromática. Em Range coloque a cor de sua borda, no nosso caso preto. Em Label4 coloque sua cor secundária, no nosso caso montaremos só o continente ou como outros falam o Shape, por isso não é necessário usar. Deixe a opção Place Ground marcada. Em Ground ID coloque o ID de qualquer ground. No caso usarei o 4526 (grass). Clique em Add e logo em seguida clique em Colorize Map. Essa última etapa pode demorar alguns minutos dependendo do mapa. Iniciando a conversão. Depois de carregar tudo, é a hora de começarmos a conversão de sua imagem para OTBM. Abaixo de Colorize Map coloque as coordenadas onde você quer que apareça o seu mapa foi usado X= 1000 e Y= 1000. Se quiser crie uma nova pasta para por o mapa ou salve em outra qualquer. Clique em Export to .OTBM map. Abrindo com seu RME: Localize seu mapa onde você o salvou e abra-o. Créditos: EddyHavoc Mythusz1 ponto- [Battlefield Event New!] Exclusivo e mais legal ;p
[Battlefield Event New!] Exclusivo e mais legal ;p
Wake reagiu a Emersonssss por uma resposta no tópico
1 pontoSistema inteiramente mal "editado" 2 creaturescrips com a mesma função PrepareDeath, dando conflito, Libs inexistentes e entre outros, script de péssima qualidade, não era de ser espera Feito por nada menos que o Luuki, aconselho o criado desse Tópico editar e arrumar os bugs. Vou citar alguns já que sei que ele não sabe nem oq fez : function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller) if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) >= 1 then function onPrepareDeath(cid, corpse, lastHitKiller, mostDamageKiller) if getPlayerStorageValue(cid, config_tvt.green_kills) > 0 then Aqui vemos 2 scripts(arquivos) com a mesma função e o mais engraçado é que se vc pesquisar na LIB _Lib_Battle_Info.TeamOne.storage e config_tvt.green_kills não existe. Acredito que ele copio e nem se deu ao trabalho de Testar. Criou Atalhos sem nenhuma referencia de numero assim fazendo o sistema ficar inútil. Em TalkActions fez um sistema de verificar se esta aberto, e abri-lo, não fez um sistema de RESET em caso de bugs e que com certeza teve, provavelmente nem saiba como fazer. Criei esse post não para critica-lo, só para avisar que o seu Grande "Suporte" ao meu ver e ao ver esse script é inexperiente e não sabe nem oque esta postando e aos que curtiram sem nem ao menos testar, meu pêsames vcs somente estão dando créditos a alguém iniciante.1 ponto- [AJUDA] Loot Poketibia
[AJUDA] Loot Poketibia
TibiaKingss reagiu a rayner por uma resposta no tópico
1 pontoAmigo pegue todos ID de todas STONES. Depos vá em monster/pokes. Quando abrir a pasta pokes, vai ter uma pequena janela de pesquisa la emcima, acho que assim. "Pesquisa Pokes". Coloque o ID da STONE que aparecera todos pokemons que estão doprando esta STONE. Loot Pineco: Se não me engano esta assim o loot do pineco. Deixe assim: Deixe sempre chance="100" é o recomendado! Vlw.1 pontoLíderes está configurado para São Paulo/GMT-03:00 - Bog Raider + Entrada de Quest [Jobs] 9.60
Informação Importante
Confirmação de Termo