Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 10/01/17 em todas áreas
-
(Resolvido)[Action] Alavanca de backpack event.
(Resolvido)[Action] Alavanca de backpack event.
dimmebag e um outro reagiu a antharaz por uma resposta no tópico
2 pontos@Mateus Santosss Acho que é isso2 pontos -
[8.54] Servidor + Client Naruto B&W [EXCLUSIVO]
OLÁ USUARIOS DO TIBIA KING .. HOJE ESTAREI TRAZENDO UMA NOVIDADE .. O SERVIDOR DE NTO EXCLUSIVO DO NTO BLACK & WHITE(AKELE OT NOVO QUE FOI CRIADO A 1 MES POR E MIN E POR O [ADM] Johnatan). VALE LEMBRAR QUE O NTO BLACK WHITE FOI UM DOS SERVIDORES DE NARUTIBIA QUE MAIS CRESCEU NOS ULTIMOS TEMPOS .. EM APENAS 1 SEMANA DE NTO JÁ ATINGIMOS A META DE 70 ~ 80 USUARIOS ONLINE FIXOS DIARIOS, E ESSE É O SERVIDOR MAIS RECENTE DO NTO BLACK WHITE BASEADO NO DO SERVIDOR MADARA RINNEGAN EDITADO POR MIN E POR O JOHNATA. ANTES DE MAIS NADA GOSTARIA DE EXPLICAR O MOTIVO DE TAR POSTANDO O SERVER .. BEM O JOHNATAN ERA QUEM FAZIA PRATICAMENTE TUDO NAS ATUALIZAÇÕES E TAALS .. POREM ELE PAROU COM NTO AI TIVE QUE DESMONTAR O NTO B&W PORQUE EU NÃO TINHA CONDIÇÕES PRA DAR CONTA DO NTO SOZINHO. CHEGA DE BLABLA E VAMOS LÁ!! [+] NOVIDADES & CARACTERISTICAS [+] ERROS E BUGS [+] PRINTS DO SERVER [+] DOWNLOAD [+] CREDITOS [+] NOVIDADES & CARACTERISTICAS [+] ERROS E BUGS [+] PRINTS DO SERVER [+] Downloads Servidor Naruto B&W: Clique Aqui Client(descompilado): Clique Aqui [+] Creditos - Madara Rinnegan (servidor base) - [ADM] Johnata Editar Praticamente Todo o Servidor - Eu Por umas Besteiras q eu Coloquei e Por Postar GOSTOU DO SERVIDOR? DA UM REP++1 ponto
-
Styller RPG | 10.98 | Custom Quests | NPCs | Spells
Venho disponibilizar pra vocês um Styller diferenciado, quests unicas, hunts, npcs, spells, bosses. O projeto é do luan e está no github, porém eu baixei e fiz bastante atualizações e modificações n/ delas e to deixando aqui p vocês! bjs https://www.mediafire.com/file/49hqutht6yu1iqv/alunia.rar https://www.virustotal.com/#/file/b729a94f673766f21dadf04f741844c8756a042ea8348067739fe21445b72574/community - Informações do Servidor e Sistemas: → Versão: 10.98 / não vou disponibilizar distros compilados, a src tá indo junto, qm quiser compile. → War System, Addons System, Mounts System, Market System e Training OFF. → Vip System, Clean Database (players, accounts e houses inativas), Reward Level System, Arena PVP. → Stats ITEMS ( Rare, Epic e Legendary ) → Skill Points ( Cada atributo de acordo com sua vocação, ex: Knight [Axe, club, sword, mana/life] Mages [Mana/life, magic] → Cassino System → Raid System ( 3 piso dos teleports há uma room de Bosses ) → AutoLoot → Reformulado NPCS, Bless, Tools, Loot, Runes, Alavancas. → Refeito Rooms de teleport, e 80% das hunts são novas. → Adicionado ITEMS VIP ( ctrl + f e procure por Donate Master ) → 4 Vocações novas. → 4 Spells novas - Eventos do Servidor → Duca Evento → Zumbi Evento → BattleField Evento - Quests → Necromancer ou Nightmare Shield ( Propria ) → Demon Helmet ( Reformulada ) → Yalaharian Quest ( Propria, com boss ) → Wrath of Emperor ( Propria ) → Blue Legs & BOH ( Propria, com boss ) → The Calamity ( Propria ) → Umbral Quest ( Propria, quest mais pica que já fiz, não tá bugada só tem uns mistérios, pensem antes de fazer. ) → Dwarven Legs ( Propria ) → Dragon Ling (Mount, Propria) → Winged Helmet. → Entre outras que já tinha no servidor, só mencionei as que eu fiz xd Algumas FOTOS do servidor. Créditos @luanluciano931 ponto
-
(3º) | [8.60] - Epic Server
(3º) | [8.60] - Epic Server
luiz.marsilio reagiu a jNo por uma resposta no tópico
1 pontoTKs, Olá, hoje eu trago esse OTServer com o objetivo de mudar a perspectiva dos usuários e OT-Admins em relação aos baiaks, bom, tentar mudar... enfim, esse servidor foi basicamente construído do “0”, diferente dos demais OTServer disponibilizados no fórum que são versões, e mais versões modificadas da base do Yurots (GOD BON), não que seja uma crítica, afinal, eu mesmo já fiz isso 2x, mas, tudo nessa vida precisa mudar ou para pior, ou para melhor, certo? Nesse server eu tentei desenvolver algumas mudanças drásticas, mas sem perder muito a essência de um Baiak padrão, é claro, que em relação a cidade principal algumas coisas ficaram diferente, mas a jogabilidade, hunts, sistemas e quests (bem elaborados por sinal), ficaram bem shows. O Epic Server foi construído e auxiliado com algumas partes de mapping e scripts de contribuintes do fórum, portanto o crédito não e só meu quando se olha esse aspecto, é de todo o fórum. Todos os sistemas e partes que compõe o server são atualizados, até a maioria dos scripts, e a datapack fornecida pelo grande @Fir3element Por conta da faculdade estar me tomando muito tempo e o meu desempenho não tem sido muito bom, deixei alguns itens sem solução, mas estarei fazendo as atualizações assim que possível (no momento o server esta 99/100%), então por enquanto descreverei abaixo alguns avisos. ALGUNS AVISOS: 1 – O server foi produzido para SQL, dentro da pasta Others contém uma database já com as querrys instalada, e também a lista das mesmas, se quiser por em MYSQL, vai ter que achar uma database que funcione com um site, e inserir essas querrys que consta na pasta "querrys sql" e converter em mysql (algumas ja foram convertidas, e no próprio arquivo do ot tem um link que redireciona para uma database mysql+site). 2 – Sobre as Houses, eu não criei elas no RME, por motivos óbvios, vai facilitar que membros que tenham interesse em fazer algumas mudanças estéticas no mapa as façam facilmente. (Você vai perder no máximo 30 mins criando no mapa, só lembre de cria-las usando a town principal "epic city"). 3 – O Evento Six e Chest Bps estão incompletos por enquanto, ainda estou aguardando um auxílio do portal para finalizar, e quando isso acontecer eu vou atualizando o tópico aqui com esses eventos finalizados, mas você pode facilmente inserir outros no lugar. 4 – A senha do admin é tibiaking/juliano 5 – O server possui o bug do elfbot, o bug do fast attack, eu inseri nas sources os códigos que corrigem esse bug, porém eu não estava conseguindo recompilar o projeto, se você souber, facilmente corrigira esse bug. (Não que seja um problema, mas, é mais interessante você deixar um fast attack editável pelo ot e não por um bug de compilação) E o @fir3element quando voltar a ativa vai corrigir isso no tópico. 6.1 - Também possui o bug do openchat, ja modifiquei nas sources também, e no server ja tem os arquivos e codigos instalados, basta mesmo compilar novamente. http://www.tibiaking.com/forum/forums/topic/67233-860-the-forgotten-server-04-sqlite-e-mysql/ 7 – Eu não sou scripter, então vai ficar difícil eu resolver algumas dúvidas relacionadas, eu sei o básico, mas posso tentar auxiliar, basta postar a foto com o erro, ou criar um tópico na seção de suporte que é o mais indicado. 8 - Recomendo deixar o server com os avisos em english, até os comandos etc... pois pelo que andei observando, bastantes grigos tem jogado os servers BR. 9 - O Server ja possui um sistema de points donate, bastar usar o comando /addpoints Fulano, 15 (Caso insira site, não sei, acho que não tera conflito com esse sistema, só lembre de converter as querys sql para mysql necessárias do script) 10 - O Baiak foi desenvolvido para um padrão, low>middle>high, mas nada exagerado, podendo alcançar em média, level 1200 no max. Você pode editar isso também, como as experiências das criaturas são padronizadas, basta diminuir a exp stage no config.lua, ou, no arquivo xml você muda e coloca uns stages melhores. Qualquer bug demais não citados, ou critica/sugestões, comente aqui no tópico! Obrigado aos usuários @Dwarfer, @Vodkart, @MaXwEllDeN, @Sekk, @pablobion, @JcA, @KotZletY, @DboExplorer, @rogaforyn2 @joadson e a toda comunidade! É nós, sem mais delongas:1 ponto -
Auto Walk System (!Walk)
1 pontoBom galera, hoje vim aqui trazer pra vocês um sisteminha bem legal que a PxG possui, no entanto, esse sistema eu fiz para um servidor de Tibia, então para vocês usarem em um derivado seria bom adapta-lo, devido a outros sistemas (como o fly do poketibia). Como seria esse sistema? Basicamente você digita o comando !walk e o seu personagem começará a andar na direção em que está virado até encontrar um obstáculo, ou até digitar o comando !walk novamente. Crie um arquivo chamado walk.lua em /data/talkactions/scripts/, e cole isso dentro: Em talkactions.xml coloque a tag: <talkaction words="!walk" event="script" value="walk.lua"/> Em creaturescripts.xml, veja se já tem o evento "logout", caso não tenha coloque: <event type="logout" name="PlayerLogout" event="script" value="logout.lua"/> Em /data/creaturescripts/scripts/, crie um arquivo chamando logout.lua (caso não tenha) e cole isso dentro:1 ponto
-
Trade OFF - Shop Offline
Trade OFF - Shop Offline
Trunksontibia reagiu a Natanael Beckman por uma resposta no tópico
1 pontoEsse sistema disponibiliza uma negociação offline, onde você oferta um item e esse item é divulgado no site do server e qualquer player pode comprar o item utilizando um comando especificado. Crie uma arquivo .lua dentro da pasta data/talkactions/scripts com o nome auctionsystem.lua, dentro do mesmo adicione o code: local config = { levelRequiredToAdd = 20, maxOffersPerPlayer = 5, SendOffersOnlyInPZ = true, blocked_items = {2165, 2152, 2148, 2160, 2166, 2167, 2168, 2169, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2343, 2433, 2640, 6132, 6300, 6301, 9932, 9933} } function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local t = string.explode(param, ",") if(t[1] == "add") then if((not t[2]) or (not t[3]) or (not t[4])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end if(not tonumber(t[3]) or (not tonumber(t[4]))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't set valid price or items count.") return true end if(string.len(t[3]) > 7 or (string.len(t[4]) > 3)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This price or item count is too high.") return true end local item = getItemIdByName(t[2]) if(not item) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.") return true end if(getPlayerLevel(cid) < config.levelRequiredToAdd) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have required (" .. config.levelRequiredToAdd .. ") level.") return true end if(isInArray(config.blocked_items, item)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This item is blocked.") return true end if(getPlayerItemCount(cid, item) < (tonumber(t[4]))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, you don't have this item(s).") return true end local check = db.getResult("SELECT `id` FROM `auction_system` WHERE `player` = " .. getPlayerGUID(cid) .. ";") if(check:getID() == -1) then elseif(check:getRows(true) >= config.maxOffersPerPlayer) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't add more offers (max. " .. config.maxOffersPerPlayer .. ")") return true end if(config.SendOffersOnlyInPZ) then if(not getTilePzInfo(getPlayerPosition(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You must be in PZ area when you add offert to database.") return true end end if(tonumber(t[4]) < 1 or (tonumber(t[3]) < 1)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to type a number higher than 0.") return true end local itemcount, costgp = math.floor(t[4]), math.floor(t[3]) doPlayerRemoveItem(cid, item, itemcount) db.executeQuery("INSERT INTO `auction_system` (`player`, `item_name`, `item_id`, `count`, `cost`, `date`) VALUES (" .. getPlayerGUID(cid) .. ", \"" .. t[2] .. "\", " .. getItemIdByName(t[2]) .. ", " .. itemcount .. ", " .. costgp ..", " .. os.time() .. ")") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You successfully add " .. itemcount .." " .. t[2] .." for " .. costgp .. " gps to offerts database.") end if(t[1] == "buy") then if(not tonumber(t[2])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") return true end local buy = db.getResult("SELECT * FROM `auction_system` WHERE `id` = " .. (tonumber(t[2])) .. ";") if(buy:getID() ~= -1) then if(getPlayerMoney(cid) < buy:getDataInt("cost")) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have enoguh GP.") buy:free() return true end if(getPlayerName(cid) == getPlayerNameByGUID(buy:getDataInt("player"))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, you can't buy your own items.") buy:free() return true end if(getPlayerFreeCap(cid) < getItemWeightById(buy:getDataInt("item_id"), buy:getDataInt("count")))then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You try to buy a " .. buy:getDataString("item_name") .. ". It weight " .. getItemWeightById(buy:getDataInt("item_id"), buy:getDataInt("count")) .. " cap oz. and you have only " .. getPlayerFreeCap(cid) .. " oz. free capacity. Put some items to depot and try again.") buy:free() return true end if(isItemStackable((buy:getDataString("item_id")))) then doPlayerAddItem(cid, buy:getDataString("item_id"), buy:getDataInt("count")) else for i = 1, buy:getDataInt("count") do doPlayerAddItem(cid, buy:getDataString("item_id"), 1) end end doPlayerRemoveMoney(cid, buy:getDataInt("cost")) db.executeQuery("DELETE FROM `auction_system` WHERE `id` = " .. t[2] .. ";") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You bought " .. buy:getDataInt("count") .. " ".. buy:getDataString("item_name") .. " for " .. buy:getDataInt("cost") .. " gps!") db.executeQuery("UPDATE `players` SET `auction_balance` = `auction_balance` + " .. buy:getDataInt("cost") .. " WHERE `id` = " .. buy:getDataInt("player") .. ";") buy:free() else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") end end if(t[1] == "remove") then if((not tonumber(t[2]))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") return true end if(config.SendOffersOnlyInPZ) then if(not getTilePzInfo(getPlayerPosition(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You must be in PZ area when you remove offerts from database.") return true end end local delete = db.getResult("SELECT * FROM `auction_system` WHERE `id` = " .. (tonumber(t[2])) .. ";") if(delete:getID() ~= -1) then if(getPlayerGUID(cid) == delete:getDataInt("player")) then db.executeQuery("DELETE FROM `auction_system` WHERE `id` = " .. t[2] .. ";") if(isItemStackable(delete:getDataString("item_id"))) then doPlayerAddItem(cid, delete:getDataString("item_id"), delete:getDataInt("count")) else for i = 1, delete:getDataInt("count") do doPlayerAddItem(cid, delete:getDataString("item_id"), 1) end end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your offert has been deleted from offerts database.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This is not your offert!") end delete:free() else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") end end if(t[1] == "withdraw") then local balance = db.getResult("SELECT `auction_balance` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";") if(balance:getDataInt("auction_balance") < 1) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don't have money on your auction balance.") balance:free() return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You got " .. balance:getDataInt("auction_balance") .. " gps from auction system!") doPlayerAddMoney(cid, balance:getDataInt("auction_balance")) db.executeQuery("UPDATE `players` SET `auction_balance` = '0' WHERE `id` = " .. getPlayerGUID(cid) .. ";") balance:free() end return true end Em seguida em talkactions.xml adicione a tag: <talkaction words="!offer" event="script" value="auctionsystem.lua"/> No banco de dados execute as querys: CREATE TABLE `auction_system` ( `id` int(11) NOT NULL auto_increment, `player` int(11), `item_id` int(11), `item_name` varchar(255), `count` int(11), `cost` int(11), `date` int(11), PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ALTER TABLE `players` ADD `auction_balance` INT( 11 ) NOT NULL DEFAULT '0'; Na pasta do seu site crie um arquivo chamado tradeoff.php, em seguida adicione o code: <?PHP $auctions = $SQL->query('SELECT `auction_system`.`player`, `auction_system`.`id`, `auction_system`.`item_name`, `auction_system`.`item_id`, `auction_system`.`count`, `auction_system`.`cost`, `auction_system`.`date`, `players`.`name` FROM `auction_system`, `players` WHERE `players`.`id` = `auction_system`.`player` ORDER BY `auction_system`.`id` DESC')->fetchAll(); $players = 0; $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><b>Instruction<b></TD></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD><center><h2>Commands</h2><b>!offer add, itemName, itemPrice, itemCount</b><br /><small>example: !offer add, plate armor, 500, 1</small><br /><br /><B>!offer buy, AuctionID</b><br /><small>example: !offer buy, 1943</small><br /><br /><b>!offer remove, AuctionID</b><br /><small>example: !offer remove, 1943</small><br /><br /><b>!offer withdraw</b><br /><small>Use this command to get money for sold items.</small></center></TR></TD></TABLE><br />'; if(empty($auctions)) { $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><b>Auctions</b></td></TR><TR BGCOLOR='.$config['site']['darkborder'].'><TD>Currently is no one active Auction.</TD></TR></TABLE>'; $main_content .= '<br /><p align="right"><small>System created by <a href="http://otland.net/members/vDk/">vDk</a>.</small></p>'; } else { foreach($auctions as $auction) { $players++; if(is_int($players / 2)) $bgcolor = $config['site']['lightborder']; else $bgcolor = $config['site']['darkborder']; $cost = round($auction['cost']/1000, 2); $content .= '<TR BGCOLOR='.$bgcolor.'><TD><center>'.$auction['id'].'</center></TD><TD><center><img src="/item_images/'.$auction['item_id'].'.gif"/></center></TD><TD><center>'.$auction['item_name'].'</center></TD><TD><center><a href="?subtopic=characters&name='.urlencode($auction['name']).'">'.$auction['name'].'</a></center></TD><TD><center>'.$auction['count'].'</center></TD><TD><center>'.$cost.'k<br /><small>'.$auction['cost'].'gp</small></center></TD><TD><center>!offer buy, '.$auction['id'].'</center></TR>'; } $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=white><b><center>ID</center></b></TD><TD class="white"><b><center>#</center></b></TD><TD class="white"><b><center>Item Name</center></b></TD><TD class="white"><b><center>Player</center></b></TD><TD class="white"><b><center>Count</center></b></TD><TD class="white"><b><center>Cost</center></b></td><TD class="white"><b><center>Buy</center></b></td></TR>'.$content.'</TABLE>'; $main_content .= '<br /><p align="right"><small>System created by <a href="http://otland.net/members/vdk.1553/">vDk</a>.</small></p>'; } ?> Em layouts.php adcione o code: <a href="?subtopic=tradeoff"> <div id="submenu_tradeoff" class="Submenuitem" onmouseover="MouseOverSubmenuItem(this)" onmouseout="MouseOutSubmenuItem(this)"> <div class="LeftChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div> <div id="ActiveSubmenuItemIcon_tradeoff" class="ActiveSubmenuItemIcon" style="background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);"></div> <div id="ActiveSubmenuItemLabel_tradeoff" class="SubmenuitemLabel">Trade Off</div> <div class="RightChain" style="background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);"></div> </div> </a> Pra finalizar em index.php adicione esse code: case "tradeoff"; $topic = "Trade Off"; $subtopic = "tradeoff"; include("tradeoff.php"); break; - E pronto galera clica em GOSTEI e comenta no tópico.1 ponto -
Lista completa de Magic Effects e Shoot Type
MagicEffects CONST_ME_FIRST = 1, CONST_ME_DRAWBLOOD = CONST_ME_FIRST, CONST_ME_LOSEENERGY = 2, CONST_ME_POFF = 3, CONST_ME_BLOCKHIT = 4, CONST_ME_EXPLOSIONAREA = 5, CONST_ME_EXPLOSIONHIT = 6, CONST_ME_FIREAREA = 7, CONST_ME_YELLOW_RINGS = 8, CONST_ME_GREEN_RINGS = 9, CONST_ME_HITAREA = 10, CONST_ME_TELEPORT = 11, CONST_ME_ENERGYHIT = 12, CONST_ME_MAGIC_BLUE = 13, CONST_ME_MAGIC_RED = 14, CONST_ME_MAGIC_GREEN = 15, CONST_ME_HITBYFIRE = 16, CONST_ME_HITBYPOISON = 17, CONST_ME_MORTAREA = 18, CONST_ME_SOUND_GREEN = 19, CONST_ME_SOUND_RED = 20, CONST_ME_POISONAREA = 21, CONST_ME_SOUND_YELLOW = 22, CONST_ME_SOUND_PURPLE = 23, CONST_ME_SOUND_BLUE = 24, CONST_ME_SOUND_WHITE = 25, CONST_ME_BUBBLES = 26, CONST_ME_CRAPS = 27, CONST_ME_GIFT_WRAPS = 28, CONST_ME_FIREWORK_YELLOW = 29, CONST_ME_FIREWORK_RED = 30, CONST_ME_FIREWORK_BLUE = 31, CONST_ME_STUN = 32, CONST_ME_SLEEP = 33, CONST_ME_WATERCREATURE = 34, CONST_ME_GROUNDSHAKER = 35, CONST_ME_HEARTS = 36, CONST_ME_FIREATTACK = 37, CONST_ME_ENERGYAREA = 38, CONST_ME_SMALLCLOUDS = 39, CONST_ME_HOLYDAMAGE = 40, CONST_ME_BIGCLOUDS = 41, CONST_ME_ICEAREA = 42, CONST_ME_ICETORNADO = 43, CONST_ME_ICEATTACK = 44, CONST_ME_STONES = 45, CONST_ME_SMALLPLANTS = 46, CONST_ME_CARNIPHILA = 47, CONST_ME_PURPLEENERGY = 48, CONST_ME_YELLOWENERGY = 49, CONST_ME_HOLYAREA = 50, CONST_ME_BIGPLANTS = 51, CONST_ME_CAKE = 52, CONST_ME_GIANTICE = 53, CONST_ME_WATERSPLASH = 54, CONST_ME_PLANTATTACK = 55, CONST_ME_TUTORIALARROW = 56, CONST_ME_TUTORIALSQUARE = 57, CONST_ME_MIRRORHORIZONTAL = 58, CONST_ME_MIRRORVERTICAL = 59, CONST_ME_SKULLHORIZONTAL = 60, CONST_ME_SKULLVERTICAL = 61, CONST_ME_ASSASSIN = 62, CONST_ME_STEPSHORIZONTAL = 63, CONST_ME_BLOODYSTEPS = 64, CONST_ME_STEPSVERTICAL = 65, CONST_ME_YALAHARIGHOST = 66, CONST_ME_BATS = 67, CONST_ME_SMOKE = 68, CONST_ME_INSECTS = 69, CONST_ME_DRAGONHEAD = 70, CONST_ME_ORCSHAMAN = 71, CONST_ME_ORCSHAMAN_FIRE = 72, CONST_ME_THUNDER = 73, CONST_ME_FERUMBRAS = 74, CONST_ME_CONFETTI_HORIZONTAL = 75, CONST_ME_CONFETTI_VERTICAL = 76, // 77-157 are empty CONST_ME_BLACKSMOKE = 158, CONST_ME_LAST = CONST_ME_BLACKSMOKE, // 159-166 are empty CONST_ME_REDSMOKE = 167, CONST_ME_YELLOWSMOKE = 168, CONST_ME_GREENSMOKE = 169, CONST_ME_PURPLESMOKE = 170, CONST_ME_EARLY_THUNDER = 171, CONST_ME_RAGIAZ_BONECAPSULE = 172, CONST_ME_CRITICAL_DAMAGE = 173, // 174 is empty CONST_ME_PLUNGING_FISH = 175, ShootTypes CONST_ANI_NONE = 0, CONST_ANI_FIRST = 1, CONST_ANI_SPEAR = CONST_ANI_FIRST, CONST_ANI_BOLT = 2, CONST_ANI_ARROW = 3, CONST_ANI_FIRE = 4, CONST_ANI_ENERGY = 5, CONST_ANI_POISONARROW = 6, CONST_ANI_BURSTARROW = 7, CONST_ANI_THROWINGSTAR = 8, CONST_ANI_THROWINGKNIFE = 9, CONST_ANI_SMALLSTONE = 10, CONST_ANI_DEATH = 11, CONST_ANI_LARGEROCK = 12, CONST_ANI_SNOWBALL = 13, CONST_ANI_POWERBOLT = 14, CONST_ANI_POISON = 15, CONST_ANI_INFERNALBOLT = 16, CONST_ANI_HUNTINGSPEAR = 17, CONST_ANI_ENCHANTEDSPEAR = 18, CONST_ANI_REDSTAR = 19, CONST_ANI_GREENSTAR = 20, CONST_ANI_ROYALSPEAR = 21, CONST_ANI_SNIPERARROW = 22, CONST_ANI_ONYXARROW = 23, CONST_ANI_PIERCINGBOLT = 24, CONST_ANI_WHIRLWINDSWORD = 25, CONST_ANI_WHIRLWINDAXE = 26, CONST_ANI_WHIRLWINDCLUB = 27, CONST_ANI_ETHEREALSPEAR = 28, CONST_ANI_ICE = 29, CONST_ANI_EARTH = 30, CONST_ANI_HOLY = 31, CONST_ANI_SUDDENDEATH = 32, CONST_ANI_FLASHARROW = 33, CONST_ANI_FLAMMINGARROW = 34, CONST_ANI_SHIVERARROW = 35, CONST_ANI_ENERGYBALL = 36, CONST_ANI_SMALLICE = 37, CONST_ANI_SMALLHOLY = 38, CONST_ANI_SMALLEARTH = 39, CONST_ANI_EARTHARROW = 40, CONST_ANI_EXPLOSION = 41, CONST_ANI_CAKE = 42, CONST_ANI_TARSALARROW = 44, CONST_ANI_VORTEXBOLT = 45, CONST_ANI_PRISMATICBOLT = 48, CONST_ANI_CRYSTALLINEARROW = 49, CONST_ANI_DRILLBOLT = 50, CONST_ANI_ENVENOMEDARROW = 51, CONST_ANI_GLOOTHSPEAR = 53, CONST_ANI_SIMPLEARROW = 54, fonte: https://github.com/otland/forgottenserver/blob/master/src/const.h Lista com Gif CONST_ME_DRAWBLOOD = 0 CONST_ME_LOSEENERGY = 1 CONST_ME_POFF = 2 CONST_ME_BLOCKHIT = 3 CONST_ME_EXPLOSIONAREA = 4 CONST_ME_EXPLOSIONHIT = 5 CONST_ME_FIREAREA = 6 CONST_ME_YELLOW_RINGS = 7 CONST_ME_GREEN_RINGS = 8 CONST_ME_HITAREA = 9 CONST_ME_TELEPORT = 10 CONST_ME_ENERGYHIT = 11 CONST_ME_MAGIC_BLUE = 12 CONST_ME_MAGIC_RED = 13 CONST_ME_MAGIC_GREEN = 14 CONST_ME_HITBYFIRE = 15 CONST_ME_HITBYPOISON = 16 CONST_ME_MORTAREA = 17 CONST_ME_SOUND_GREEN = 18 CONST_ME_SOUND_RED = 19 CONST_ME_POISONAREA = 20 CONST_ME_SOUND_YELLOW = 21 CONST_ME_SOUND_PURPLE = 22 CONST_ME_SOUND_BLUE = 23 CONST_ME_SOUND_WHITE = 24 CONST_ME_BUBBLES = 25 CONST_ME_CRAPS = 26 CONST_ME_GIFT_WRAPS = 27 CONST_ME_FIREWORK_YELLOW = 28 CONST_ME_FIREWORK_RED = 29 CONST_ME_FIREWORK_BLUE = 30 CONST_ME_STUN = 31 CONST_ME_SLEEP = 32 CONST_ME_WATERCREATURE = 33 CONST_ME_GROUNDSHAKER = 34 CONST_ME_HEARTS = 35 CONST_ME_FIREATTACK = 36 CONST_ME_ENERGYAREA = 37 CONST_ME_SMALLCLOUDS = 38 CONST_ME_HOLYDAMAGE = 39 CONST_ME_BIGCLOUDS = 40 (OBS: são as nuvens do exevo gran mas vis) CONST_ME_ICEAREA = 41 CONST_ME_ICETORNADO = 42 CONST_ME_ICEATTACK = 43 CONST_ME_STONES = 44 CONST_ME_SMALLPLANTS = 45 CONST_ME_CARNIPHILA = 46 CONST_ME_PURPLEENERGY = 47 CONST_ME_YELLOWENERGY = 48 CONST_ME_HOLYAREA = 49 CONST_ME_BIGPLANTS = 50 (é quase igual, só que cresce mais, não consegui gif) CONST_ME_CAKE = 51 CONST_ME_GIANTICE = 52 CONST_ME_WATERSPLASH = 53 CONST_ME_PLANTATTACK = 54 CONST_ME_TUTORIALARROW = 55 CONST_ME_TUTORIALSQUARE = 56 CONST_ME_MIRRORHORIZONTAL = 57 CONST_ME_MIRRORVERTICAL = 58 CONST_ME_SKULLHORIZONTAL = 59 CONST_ME_SKULLVERTICAL = 60 CONST_ME_ASSASSIN = 61 CONST_ME_STEPSHORIZONTAL = 62 (Ignorado) CONST_ME_BLOODYSTEPS = 63 (Ignorado) CONST_ME_STEPSVERTICAL = 64 (Ignorado) CONST_ME_YALAHARIGHOST = 65 CONST_ME_BATS = 66 CONST_ME_SMOKE = 67 CONST_ME_INSECTS = 681 ponto
-
Map Tracker 8.60 [Inglês]
Map Tracker 8.60 [Inglês]
joaopedrodepaiva reagiu a Werner por uma resposta no tópico
1 pontoEae galera, trago um utilitário que já foi muito pedido aqui no TK. Sim se trata de um Map Tracker para 8.60. Encontrar um Map Tracker 8.6 funcional atualmente é muito complicado, pois o mesmo surgiu de um projeto que foi cancelado a tempos. Fucei muito aqui no tk, porém nunca encontrei um que realmente funcionasse, ou que não pedisse um cadastro (impossível de ser feito) levando em conta também que a grande maioria estão em idiomas muito complicados de entender (trudno nie). Desenterrei este Map Tracker do local mais profundo do meu computador e estou disponibilizando aqui na intenção de ajudar aqueles que não tem tempo, não conseguem ou não querem mappear rsrs. Sem mais delongas, vamos ao arquivo: Download Map Tracker Scan Map Tracker 8.601 ponto -
Pack Sprite (Nto ou Derivados)
Pack Sprite (Nto ou Derivados)
Jeff Delay reagiu a ZoR por uma resposta no tópico
1 pontoEae Blz,mais um topico de Sprite para ajudar Projetos. Creditos Zika Lord > Descompilar Luan.Mello > Por Criar as Sprite download https://www.mediafire.com/file/by5ov3uuul4695g/Pack.rar Scan : https://www.virustotal.com/#/file/b03213321c4a9217cbfc4ea4ef3ecd50dce97ec3c4c7316d9af522db6fd660e2/detection PRINT DAS SPRITES Se te ajudei com as Sprites Me ajuda com Rep+1 ponto -
[BASE] Naruto rox ( 2 Update ) 30 Setembro 2017.
[BASE] Naruto rox ( 2 Update ) 30 Setembro 2017.
Espedito reagiu a Cain Jorge por uma resposta no tópico
1 pontoNaruto Rox 2 update Todos os Items a seguir foram Adicionados e Refeitos. ( Desde dos Dropaveis / Raros / Quest ) Processo Que foi Refeito os Items. Castle + Hunt Hunt Castle Novos Talkactions Distro Suja? Aqui não REP+ INGAME OBSERVAÇÕES: Baixar1 ponto -
[pedido] monsters diferentes
1 ponto@Leomonti Tenta inverter ali, colocar "earth" em shooteffect e "smallplants" em areaeffect.1 ponto
-
(Resolvido)[PEDIDO] Player fica com Efeito Quando Loga.
(Resolvido)[PEDIDO] Player fica com Efeito Quando Loga.
Cain Jorge reagiu a amoxicilina por uma resposta no tópico
1 ponto1 ponto- (Resolvido)[Movements] Timer tile
Estranho ... Tenta assim, vai em tptile.lua e substitui por isso aqui: function onStepIn(cid, item, position, FromPosition) local pos = {x=xxx, y=xxx, z=xxx} tp = addEvent(doTeleportThing, 60*1000, cid, pos) tp2 = addEvent(doSendMagicEffect, 60*1000, pos, 10) return TRUE end function onStepOut(cid, item, position, fromPosition) stopEvent(tp) stopEvent(tp2) return TRUE end Nas tags pode deixar a mesma coisa. o onStepOut é pra caso o player saia do tile cancele o evento e ele não seja teleportado. Em "local pos" coloca o x,y,z do tile.1 ponto- Editor de Itens 8.54 Extended
Editor de Itens 8.54 Extended
Cain Jorge reagiu a Shirun por uma resposta no tópico
1 pontoValeu Cain, +REP1 ponto- [SHOW-OFF] DLL AnTiDecompiler
[SHOW-OFF] DLL AnTiDecompiler
D i M i T r E s C u reagiu a Nyksad por uma resposta no tópico
1 pontoDLL - AnTiDecompiler Fala, galera, suavidade, eu sou Nyksad, e atualmente estou entrando no ramo de criação de DLLs... Pelo fato, do OLDClient, está muito esquecido, resolvi começar a retornar um pouco no mesmo, para que ele não seja esquecido completamente.. Assim, decidi iniciar, pela proteção da SPR do mesmo, que hoje em dia, após acompanhar os forúms de suporte a OTServer, vi, que está sendo o fator principal, para impedir a criação de novos servidores. Sendo assim, eu, Nyksad, resolvi, desenvolver, minha própria, DLL, logo minha própria proteção, pois atualmente, “a que está no mercado”, já passou a ser ultrapassada, e está sujeita a ser quebrada facilmente.. Para que todos possam ver como é eficaz a proteção na qual foi desenvolvida, fiz um vídeo comparativo, com a utilização das 2 (nâo descompilando nenhum dos 2 [mesmo que minha DLL, seja quase impossível de ser descompilada, apenas refazendo o processo de compilação], para que não haja obtenção de sprites pelos meus métodos, (para não ser cuzão) que, no vídeo, apenas é mostrado que com a utilização da DLL já desenvolvida e utilizada nos servidores presentes, é possível, descompactar arquivos (mesmo que sejam Okb. mas que com bastante estudos, podem ser transformados, com as alterações de chaves no .exe). Então é isso, espero que tenham entendido o tópico e que curtam o vídeo. https://www.youtube.com/watch?time_continue=1&v=xioOrvjNSO0 Desde já agradeço a todos1 ponto- (Resolvido)[Action] Alavanca de backpack event.
@dimmebag Seria algo tipo isso?1 ponto- Erro ao dar Loading no Map
Erro ao dar Loading no Map
miqueiaspenha reagiu a Enzo Caue por uma resposta no tópico
1 pontoVocê baixou o servidor do malucooo ? Se sim, vá até a pasta world e extraia o realmap.1 ponto- Editor de Itens 8.54 Extended
Editor de Itens 8.54 Extended
Shirun reagiu a Cain Jorge por uma resposta no tópico
1 pontoEu utilizo este meu mano. 8.54 Para meu naruto tibia. 354KB Baixar1 ponto- (Resolvido){Resolvido} [Globalevent] ERRO - [Warning - Event::loadScript] Event onTimer not found
1 ponto1 ponto- Failed to Connect to database
Failed to Connect to database
rikardoTibiabrbot reagiu a KotZletY por uma resposta no tópico
1 ponto@rikardoTibiabrbot mysqlHost = "127.0.0.1" é a conexão com o banco de dados, você deve deixar como o ip local, que é esse que mostrei, pois o banco de dados fica na maquina, então não precisa colocar o ip global que é esse do erro. Não esqueça de da permissão a pasta do servidor. Haha1 ponto- Old Client sem Vapus
1 pontoo meu é de naruto mas o código da linha que deu erro é o mesmo que o meu, na linha O seu INDEX | NO TRAILING SLASH! | */ $application_folder = "application"; O MEU INDEX | NO TRAILING SLASH! | */ $application_folder = "application"; Pela linha é um erro besta, provavelmente é sua versao do xampp, eu uso versao do painel 3.2.1 e a versao para baixar que vou disponibilizar do SITE OFICIAL é a versao 5.6.8, as versoes do php Informação da versão: 4.3.11, última versão estável: 4.7.4, e do mysql Versão do servidor: 5.6.24 e apacha 2.4.12(https://www.apachefriends.org/blog/new_xampp_20150421.html), eu configurei pra tentar acessar aqui, usando o seu site e um database de outro poketibia ficou assim, ignore a edição anterior, é pq nao coloquei o server name E antes de trocar o seu xampp ou wamp, ou outro que use, troque seu config.php Disso: /*Database information*/ $config['database']['host'] = "%DB_HOST%"; $config['database']['login'] = "%DB_LOGIN%"; $config['database']['password'] = "%DB_PASS%"; $config['database']['database'] = "%DB_NAME%"; /*Name of server*/ $config['server_name'] = "%SERVER_NAME%"; Para isso: /*Database information*/ $config['database']['host'] = "127.0.0.1"; --COLOQUE O SEU IP $config['database']['login'] = "root"; -- NORMALMENTE É ROOT $config['database']['password'] = "******"; -- SE VOCE COLOCOU SENHA PARA ACESSAR O PHPMYADMIN COLOQUE ELA AQUI $config['database']['database'] = "sqlInto"; -- COLOQUE O NOME DA SUA DATABASE /*Name of server*/ $config['server_name'] = "Teste"; -- IMPORTANTE COLOCAR O NOME SE NAO DA ERRO(pode ser qualquer um mas coloque)1 ponto- (Resolvido){Resolvido} [Globalevent] ERRO - [Warning - Event::loadScript] Event onTimer not found
1 ponto@dimmebag a tag.xml dele ta chamando um onTimer quando na verdade ele ta usando um onThink. Mude o script para onTimer ou mude a tag xml para onThink!1 ponto- [11.40] IP Changer
1 ponto@Cjaker veja abaixo. Eu possuo os arquivos individuais então é fácil mudar as logos e textos pelo PS.1 ponto- [pedido] monsters diferentes
1 pontoO 3º não entendi muito bem... Mas o primeiro e o segundo ta ai. Você só vai precisar alterar o looktype, corpse, voices e os itens para os quais você deseja. No caso do pilar ele é looktypeex, então tem que colocar o ID. DOIS.xml UM.xml1 ponto- Evento Backpack 100% automatico
Evento Backpack 100% automatico
Pedro. reagiu a luanluciano93 por uma resposta no tópico
1 pontoColoquei no meu github, se quiser testar ... https://github.com/luanluciano93/ESTUDOS/tree/master/LUA/BP_EVENT_8601 ponto- Script em Comflito
1 pontoSobre o primeiro script já existe algo nativo para isso no config.lua. loginProtectionPeriod local Config = { IntervalStorage = 2154, PointStorage = 2155, Point = 1, Interval = 1*60*60 --(1 = 1 hora) } function onLogin(cid) setPlayerStorageValue(cid, Config.IntervalStorage, os.time()) end function onLogout(cid) setPlayerStorageValue(cid, Config.PointStorage, math.max(getPlayerStorageValue(cid, Config.PointStorage), 0)+math.floor((os.time()-getPlayerStorageValue(cid, Config.IntervalStorage))/Config.Interval)) return true end Sobre o último pode tentar isso.1 ponto- Saudades do RPG
1 pontoEnquete respondida No caso do "RPG" do Tibia, acho que se trata de uma questão de opinião. Eu acho que mesmo nos tempos antigos do Tibia, o grande foco do jogo não é o rpg, e sim em upar e concluir quests, sem nem ao menos sobre as histórias ou pelo menos ler o que os npcs tem a dizer sobre as mesmas. O modo com que o Tibia transmite o rpg é, muitas vezes através de livros, uma coisa que não chama muito a atenção dos jogadores. Criar um Open Tibia com grande foco em rpg e não apenas em "sobe nível, faz quest" será muito complicado, porém não desencorajarei a ideia de tentar. Desejo boa sorte e terá meu apoio.1 ponto- Old Client sem Vapus
1 pontoBom dia, posta seu index.php1 ponto- Old Client sem Vapus
1 pontoEntão com no ip, um daqueles link que mandei pra voce terá que fazer isso, liberação de porta, mexer no DDNS do roteador que tem uma aba la, é trampo, o meu ta na fase de teste vai demorar pra eu subir no dns1 ponto- Old Client sem Vapus
1 pontoPela 1 e 2 seção ta certo, o resto nao vi, se voce ja conferiu e nao foi, eu nao sei, mas se voce ja chegou a usar 127.0.0.1 e funcionou, o problema ta no seu DDNS, ou no seu dns client update1 ponto- Old Client sem Vapus
1 pontoManda print do seu EXE onde fica seus IP's pf1 ponto- (Resolvido)Spell que acumula storage
(Resolvido)Spell que acumula storage
Natanael Beckman reagiu a Danyel Varejao por uma resposta no tópico
1 pontoNão entendi muito bem oque voce quis, mas testa ai Script do ataque. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) local Configs = { Storage = 12202, -- Storage da marca Time = 5, -- Tempo em segundos de cada marca } local function RemoveMark(cid) if isPlayer(cid) then setPlayerStorageValue(cid, Configs.Storage, getPlayerStorageValue(cid, Configs.Storage) - 1) end return true end local function AddMark(cid) if isPlayer(cid) then if getPlayerStorageValue(cid, Configs.Storage) <= 5 then setPlayerStorageValue(cid, Configs.Storage, getPlayerStorageValue(cid, Configs.Storage) + 1) addEvent(RemoveMark, Configs.Time * 1000, cid) end end return true end function onCastSpell(cid, var) local target = getCreatureTarget(cid) if isPlayer(target) then AddMark(target) end return doCombat(cid, combat, var) end Script pra remover as marcas local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local Configs = { Storage = 12202, -- Storage da marca Damages_Per_Mark = 50, } function onCastSpell(cid, var) local Damage = getPlayerStorageValue(cid, Configs.Storage) * Configs.Damages_Per_Mark if getPlayerStorageValue(cid, Configs.Storage) > 0 then doCreatureAddHealth(cid, -Damage) setPlayerStorageValue(cid, Configs.Storage, 0) end return doCombat(cid, combat, var) end Não testei, caso aconteça algo de errado me avise!1 ponto- Ajuda como aumentar XP do server Pokemon
Ajuda como aumentar XP do server Pokemon
Celin Responde Todas reagiu a falldudu por uma resposta no tópico
1 pontoMude experienceStages = true para experienceStages = false1 ponto- Lista completa de Magic Effects e Shoot Type
Lista completa de Magic Effects e Shoot Type
Cain Jorge reagiu a luanluciano93 por uma resposta no tópico
1 pontoVai ajudar bastante gente Daniel, obrigado por compartilhar conosco!1 ponto- SCRIPT de colocar No nomes dos pokes Shinys "Shiny"
SCRIPT de colocar No nomes dos pokes Shinys "Shiny"
DarkRed reagiu a arthurmgoncalves por uma resposta no tópico
0 pontosCara normalmente nos arquivos do shinys na pasta monsters eles ja ficam com o nome shiny msm são poucos os que ficam sem isso, mas vc ja fez o teste pra se é so isso msm, e no configuration onde tem wildBeforeNames = false adiciona isso shinyBeforeNames = true em baixo ficando assim wildBeforeNames = false shinyBeforeNames = true0 pontos- Adicionando comando !spells
Adicionando comando !spells
uesleirodrigues reagiu a MonsterOt por uma resposta no tópico
-1 pontosIsso serve para os players do seu ot saberem as magias. abra: data/talkactions/script/ copie cole renomei para spells e cole isso: agora em talkactions.xml bote: <talkaction words="!spells" event="script" value="spells.lua"/> agora voce cria um bloco de notas com o nome "spells" na pasta do seu ot, bem aonde ta o seu config.lua, seu loader.. ai vc edita do jeito q quiser, e quando alguem falar !spells no ot ira aparecer oq vc escreveu no bloco de notas se te ajudei rep+-1 pontosLíderes está configurado para São Paulo/GMT-03:00 - (Resolvido)[Movements] Timer tile
Informação Importante
Confirmação de Termo