Líderes
-
-
-
DIEGO SENJU
MembroPontos4Total de itens -
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 09/30/16 em todas áreas
-
(Resolvido)Magia que paralisa um player por alguns segundos
(Resolvido)Magia que paralisa um player por alguns segundos
pokemon5 e um outro reagiu a DIEGO SENJU por uma resposta no tópico
2 pontoslocal condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 5000) setConditionParam(condition, CONDITION_PARAM_SPEED, -5000) function onCastSpell(cid, var) local target = getCreatureTarget(cid) local targetpos = getCreaturePosition(target) local efepos = {x=targetpos.x+1, y=targetpos.y+1, z=targetpos.z} local time = 5 -- tempo paralyzado if isPlayer(cid) and exhaustion.check(cid, 12000) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 12000) .. " segundos para usar novamente.") return FALSE end local function No_Move_Target() if isCreature(target) then doCreatureSetNoMove(target, 0) end return TRUE end exhaustion.set(cid, 12000, 8) doCreatureSetNoMove(target, 1) doAddCondition(target, condition) doSendMagicEffect(efepos, numero do efeito da magia aki) addEvent(No_Move_Target, time*1000) return TRUE end2 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
-
[CUSTOM] RuneScape OT
[CUSTOM] RuneScape OT
daniofordon reagiu a leocurvelo por uma resposta no tópico
1 pontoOla pessoal do TibiaKing! Estou aqui para anunciar meu projeto! Esse projeto foi uma ideia que tive de misturar varios recursos do jogo RuneScape ao client do Tibia, e aqui está ! [~]O Servidor[~] Estou trabalhando duro no servidor há mais ou menos 3 meses, não estou tendo ajuda de ninguem no momento e estou tentando fazer ao maximo! [~]Sistemas e Special Skills[~] Mining - usado para extrair ores das pedras Smithing - derretes ores em barras e forjar equipamentos e armas Woodcutting - cortar diversas árvores Fletching - usado para fabricar munições e 'bows/crossbow' Firemaking - acenter lenhas em fogueiras Fishing - pescar peixes para cozinhar Cooking - cozinhar peixes e alimentos para comer e recuperar HPs Crafting - usado para cortar gemas, criar joias e tecer couros Herblore - limpar ervas e criar poções com elas Runecrafting - criar runas em altares magicos Thieving - roubar lojas, bancadas, baus, npcs Agility - usado para usar atalhos e entrar em lugares misteriosos Farming - permite que o jogador plante frutas, ervas ou arvores em terrenos específicos Prayer - enterrar ossos para receber bençãos divinas Slayer - tarefas para matar monstros, receber recompensas, matar bosses e conseguir items exclusivos Hunter (NEW) - caçada de diferentes animais e criaturas Summoning (NEW) - criação espiritual de 'pouches' para invocação de criaturas Skinning (NEW)- obtenção de items únicos de cada criatura Pretendo adicionar mais skills com o tempo! [~]Vocations[~] Adventurer - essa será a unica vocação no jogo, portanto o jogador poderá usar qualquer tipo de combate (Magic, Ranged ou Melee) a hora que quiser, como no Runescape (Level Up: +20 HP +20 MP) [~]O Mapa[~] O mapa será o mais parecido possivel ao mapa do RuneScape, com alguns detalhes visando a diferença de um mapa Tibiano, como casas em todas as cidades, locais de caças específicos, etc... [~]Client de Jogo[~] Voce poderá jogar com nosso Custom Tibia Old Client, e tambem com o nosso OTClient que terá novos recursos e "mods" para ajuda-lo no jogo! [~]Teasers[~] Como estou trabalhando sozinho, se você estiver interessado em ajudar em algo no projeto, estarei disposto a recebe-lo! Discord: leocurvelo#0017 Facebook: /leocurvelo E-mail: [email protected] Estarei atualizando voces de qualquer novidade no servidor, então fiquem ligados! Obrigado!1 ponto -
[Sistema] Auto Loot
1 pontocreaturescripts.xml <event type="login" name="aloot_reg" event="script" value="aloot.lua"/> <event type="kill" name="aloot_kill" event="script" value="aloot.lua"/> creaturescripts/scritps aloot.lua function onLogin(cid) registerCreatureEvent(cid, "aloot_kill") return true end local stor = 7575 function autoloot(cid, target, pos) local function doStack(cid, itemid, new) local count = getPlayerItemCount(cid, itemid) if (count > 100) then count = count - math.floor(count / 100) * 100 end local newCount = count + new if (count ~= 0) then local find = getPlayerItemById(cid, true, itemid, count).uid if (find > 0) then doRemoveItem(find) else newCount = new end end local item = doCreateItemEx(itemid, newCount) doPlayerAddItemEx(cid, item, true) end local function scanContainer(cid, uid, list) for k = (getContainerSize(uid) - 1), 0, -1 do local tmp = getContainerItem(uid, k) if (isInArray(list, tmp.itemid)) then if isItemStackable(tmp.itemid) and (getPlayerItemCount(cid, tmp.itemid) > 0) then doStack(cid, tmp.itemid, tmp.type) else local item = doCreateItemEx(tmp.itemid, tmp.type) doPlayerAddItemEx(cid, item, true) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Looted ' .. tmp.type .. ' ' .. getItemNameById(tmp.itemid) .. '.') doRemoveItem(tmp.uid) elseif isContainer(tmp.uid) then scanContainer(cid, tmp.uid, list) end end end local items = {} for i = getTileInfo(pos).items, 1, -1 do pos.stackpos = i table.insert(items, getThingFromPos(pos)) end if (#items == 0) then return end local corpse = -1 for _, item in ipairs(items) do local name = getItemName(item.uid):lower() if name:find(target:lower()) then corpse = item.uid break end end if (corpse ~= -1) and isContainer(corpse) then scanContainer(cid, corpse, tostring(getPlayerStorageValue(cid, stor)):gsub('_', ''):explode(',')) end end function onKill(cid, target, lastHit) if not isPlayer(target) then local infos = getPlayerStorageValue(cid, stor) if (infos == -1) then return true end local list = tostring(infos):explode(',') if (#list == 0) then return true end addEvent(autoloot, 150, cid, getCreatureName(target), getCreaturePosition(target)) end return true end talkactios.xml <talkaction words="/aloot" hide="yes" event="script" value="aloot.lua"/> Talkaction/scrips local stor, limit = 7575, 5 --storage, limit to add. local allow_container = false --empty! not looted with items, atleast for now. function onSay(cid, words, param) local expl = param:explode(':') local action, rst = expl[1], expl[2] if (action:lower() == 'check') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):explode(',') end local txt = 'Autoloot List:\n' if (#list > 0) then for k, id in ipairs(list) do id = id:gsub('_', '') if tonumber(id) then txt = txt .. getItemNameById(tonumber(id)) .. ((k < #list) and '\n' or '') end end else txt = 'Empty' end doPlayerPopupFYI(cid, txt) elseif (action:lower() == 'add') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not allow_container and isItemContainer(item) then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end local attrs = getItemInfo(item) if not attrs then return doPlayerSendCancel(cid, 'not valid item.') elseif not attrs.movable or not attrs.pickupable then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end if isInArray(list, item) then return doPlayerSendCancel(cid, 'already added.') end table.insert(list, tostring(item)) local new = '' for v, id in ipairs(list) do new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< has been added to the autoloot list.') elseif (action:lower() == 'remove') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list == 0) then return doPlayerSendCancel(cid, 'You dont have any item added.') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not isInArray(list, item) then return doPlayerSendCancel(cid, 'This item is not in the list.') end local new = '' for v, id in ipairs(list) do if (tonumber(id) ~= item) then new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< removed from the autoloot list.') end return true end Usando /aloot check Cheka a Lista dos Loots /aloot add:itemid ou nome do item Exemplo /aloot add:worm /aloot add:2170 16:42 Item >>worm<< has been added to the autoloot list. Para remover /aloot remove:worm /aloot remove:2170 Exemplo Testado: 16:41 Looted 2 gold coin. 16:41 Looted 1 cheese. CREDITOS: eduardobean é isso pessoal gosto da + Rep1 ponto
-
[Pokemon] Gender e Pokelevel System
Servidor Testado: erondino,pokemon dash v6,tfs 0.3.6 Servidor Nao Testado: Pokemon Dash Advanced Precisa de: Noçoes basica de script pois so irei postar a parte principal dos script, pois eu nao sei oque voces editaram nos seus scripts ! Bom Dia Turma, Hoje Eu Vou Postar: Sistema de Gender System "Sexos nos Pokemons": O Sexo dos pokemons so vai ter em seus Pokemons capturados, Boxs,nao vai ter em pokes das hunts etc.. Sistema Completo de "PokeLevel": Level nos Seus Pokemons "Porem" a cada Level o Pokemon so Ganha HP Baseado no Servidor: http://pokemonbr.com/ . Pois dar força ao Summon Somente adicionando funçoes na Sources. o Sistema completo do Pokelevel vem: Rare candy,Evolution,Pokelevel Intao Vamos La =) Gender System: *Primeiro antes de tudo tem que ver se no seu client tem o icone dos Sexos dos Pokemons, fazendo o comando /attr skull "Numero 1 a 4" *Eu So vo postar as funçoes eu nao vou mandar o script inteiro pois eu nao sei o que voces editaram no script do catch.lua mais mesmo assim e facil de editar intao Vamos la: vai em actions/catch.lua : Vai em actions/goback.lua: Vai em actions/box.lua *XML: <action itemid="ID" event="script" value="box.lua"/> PokeLevel System: * Limite de Pokelevel : 30 * Para adicionar mais Level Segue esse Mini-Tutorial: Cria um Arquivo , creaturescripts/Pokelevel.lua: *XML: <event type="kill" name="kill" event="script" value="PokeLevel.lua"/> * registerCreatureEvent(cid, "kill") Troca seu look.lua creaturescripts/look.lua: Vai em actions/Goback.lua: *Aki quando voce dar primeiro Goback no Pokemon ele recebe o Level: 1 actions/evolution.lua: *Exemplo de Evoluçao: ["Bulbasaur"] = {level = 40, evolution = "Ivysaur", maxh = 2600, count = 1, Stoneid = 2293, Stoneid2 = 0}, ["Nome do Pokemon"] ={level = "level que precisa para Evoluir" , evolution = "Nome do Pokemon",maxh ="o Max de Hp que vai ter",count = "quantidade de stone",Stoneid = "Id da Stone", Stoneid2 = "id da stone 2"}, vai em Actions/Rarecandy.lua *XML: <action itemid="ID" allowfaruse="1" event="script" value="Rarecandy.lua"/>1 ponto
-
Pergaminho de EXP com tempo!
Pergaminho de EXP com tempo!
koyotestark reagiu a GBDias por uma resposta no tópico
1 pontoOlá TK, Hoje trago para vocês um MOD bem interessante que encontrei na internet, a lógica é bem simples, você usa um item e ganha mais XP durante um tempo. O item, a XP e o tempo são totalmente configuráveis, vocês podem mudar como quiserem. FUNCIONA COM TFS 0.4 E DEVE FUNCIONAR COM 0.3.6 (NÃO TESTADO) Eu vou testar com a minha versão 0.3.7 quando chegar em casa e edito o post para vocês. Bem, então vamos ao script, Abra a pasta "mods" do seu servidor e crie um arquivo chamado expscroll.xml, abra e coloque o seguinte código: <?xml version="1.0" encoding="UTF-8"?> <mod name="Experience Stages Scroll" version="1.0" author="TomCrusher" contact="otland.net" enabled="yes"> <action itemid="9004" event="script" value="expstagescroll.lua"/> <creatureevent type="think" name="ExpStage" event="script" value="expstagescroll.lua"/> <creatureevent type="login" name="ExpStageLogin" event="script" value="expstagescroll.lua"/> </mod> Agora em "mods/scripts", crie um arquivo chamado expstagescroll.lua e coloque este código: local config = { rate = 2, storage = 1000, expstorage = 1100, register = 1200, time = 14400, } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, config.storage) <= 0 then local rates = getPlayerRates(cid) setPlayerStorageValue(cid, config.expstorage, rates[SKILL__LEVEL]) setPlayerStorageValue(cid, config.register, 1) itemEx=itemid == 9004 doCreatureSay(cid, "Your extra experience rate has been activated! It now is: " .. config.rate .. "x added to your former experience rate.", TALKTYPE_ORANGE_1, true, cid) setPlayerStorageValue(cid, config.storage, os.time()+config.time) doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL]+config.rate) doRemoveItem(item.uid,1) registerCreatureEvent(cid, "ExpStage") else doCreatureSay(cid, "You must finish first exp condition to start other exp condition !", TALKTYPE_ORANGE_1, true, cid) end return true end function onThink(cid, interval) if getPlayerStorageValue(cid, config.register) == 1 then if getPlayerStorageValue(cid, config.storage) <= os.time() then doCreatureSay(cid, "Your extra experience rate has finished! It is now normaly experience rate.", TALKTYPE_ORANGE_1, true, cid) setPlayerStorageValue(cid, config.storage, 0) setPlayerStorageValue(cid, config.register, 0) local oldexp = getPlayerStorageValue(cid, config.expstorage) doPlayerSetExperienceRate(cid, oldexp) unregisterCreatureEvent(cid, "ExpStage") end end return true end function onLogin(cid) if getPlayerStorageValue(cid, config.register) == 1 then registerCreatureEvent(cid, "ExpStage") local rates = getPlayerRates(cid) doCreatureSay(cid, "Your extra experience rate is still here! It is: " .. config.rate .. "x added to your former experience rate.", TALKTYPE_ORANGE_1, true, cid) if getPlayerStorageValue(cid, config.storage) > os.time() then local oldexp = getPlayerStorageValue(cid, config.expstorage) doPlayerSetExperienceRate(cid, oldexp+config.rate) end end return true end Configurando: rate = 2, -- número que irá ser multiplicado pela sua exp rate básica (funciona com números quebrados, tais como 1.5 ou 0.2). storage = 1000, -- storage que irá guardar o tempo expstorage = 1100, -- storage que irá guardar a xp register = 1200, -- storage que indica se o player está registrado no mod time = 14400, -- tempo que falta para o buff do scroll acabar (o tempo é calculado em segundos, ex: 14400 segundos = 24 horas) ___________________________________________________________________________________________________________________________________ Créditos : TomCrusher (OTland) - Desenvolveu o sistema Eu - Traduzi e postei aqui.1 ponto -
Addon System (Fly, ride, surf, look e evolution)
Addon System (Fly, ride, surf, look e evolution)
Marombalexx reagiu a Bodak Reborn por uma resposta no tópico
1 pontoYo boyz, cá estou novamente. Eu estava procurando um Addon System funcional e vi que todos tinham bugs, então eu peguei um aqui no fórum mesmo, corrigi os bugs e fiz para que o sistema funcione com fly, ride, surf, look e que o addon suma quando o pokémon evoluir. Também é possível substituir um addon por outro, sem que o pokémon fique com o addon antigo. São muitos arquivos envolvidos, então, se eu esquecer algo e o sistema não esteja 100%, por favor, me fale. Deixei alguns exemplos no código para caso você esteja com preguiça e queira testar, além de comentar como adicionar novos addons. OBS: Eu testei apenas em PDA PokexCyan (TFS 1.0). actions/scripts nome_arquivo.lua local addons = { [14876] = {pokemon = "Shiny Charizard" , looktype = 1950}, [12344] = {pokemon = "Pidgeot" , looktype = 205}, [13990] = {pokemon = "Pidgeot" , looktype = 201}, --[ID do item] = {nome do pokémon, looktype}, } local function getOldAddon (looktype) for index, value in pairs (addons) do if value.looktype == looktype then return index end end end function onUse(cid, item, fromPosition, itemEx, toPosition) local numero = addons[item.itemid].looktype local pb = itemEx.uid local pk = addons[item.itemid].pokemon if not isPokeball(itemEx.itemid) then doPlayerSendCancel(cid, "Você só poder usar este item em uma poke ball.") return true end if getPlayerSlotItem (cid, 8).uid == pb and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1) then doPlayerSendCancel (cid, "Desmonte do seu pokémon e volte-o para a poke ball.") return true end if getItemAttribute(pb, "addon") and getItemAttribute(pb, "addon") == numero then doPlayerSendCancel(cid, "Seu pokémon já está com este addon.") return true end if #getCreatureSummons(cid) > 0 then doPlayerSendCancel(cid, "Por favor, volte o seu pokémon para a poke ball.") return true end if getItemAttribute(pb, "poke") ~= pk then doPlayerSendCancel(cid, "Desculpe, você não pode adicionar este addon neste pokémon.") return true end if getItemAttribute (pb, "addon") and getItemAttribute (pb, "addon") > 1 then doPlayerSendTextMessage(cid, 27, "Você substituiu um "..getItemNameById (getOldAddon (getItemAttribute (pb, "addon"))).." por um "..getItemNameById (item.itemid).."!") else doPlayerSendTextMessage(cid, 27, "Agora seu pokémon usará este "..getItemNameById (item.itemid).."!") end doRemoveItem(item.uid, 1) doSetItemAttribute(pb, "addon", numero) return true end actions.xml: <action itemid="13989;12344;13990;ID do item; ID do item;" event="script" value="nome_arquivo.lua"/> em actions/order.lua, abaixo de: if not isCreature(pk) then pk = doCreateMonster(pokemon, backupPos) if not isCreature(pk) then doPlayerSendCancel(cid, "You can't stop flying/riding here.") return true end doConvinceCreature(cid, pk) end adicione: local pb = getPlayerSlotItem(cid, 8).uid local flyAdd = flysAddon[getItemAttribute (pb, "addon")] local rideAdd = ridesAddon[getItemAttribute (pb, "addon")] if flyAdd then if getItemAttribute(pb, "addon") > 1 then doSetCreatureOutfit(pk, {lookType = getItemAttribute (pb, "addon")}, -1) end elseif rideAdd then if getItemAttribute(pb, "addon") > 1 then doSetCreatureOutfit(pk, {lookType = getItemAttribute (pb, "addon")}, -1) end end em lib/configuration.lua, será necessário adicionar três tabelas, uma para fly, outra para ride e outra para surf. Nesta tabela, o nome do pokémon não é requirido, o que talvez faça você se perder. Se você achar necessário, comente com "--" o nome do pokémon. Exemplo: [205] = {540, 1200}, -- Pidgeot [850] = {210, 800}, -- Dragonair procure por: flys e acima disso adicione: flysAddon = { [205] = {540, 1200}, [201] = {541, 1200}, --[número do looktype normal] = {looktype voando, número da tabela abaixo.} } procure por: rides e acima disso adicione: ridesAddon = { [556] = {555, 30}, --[número do looktype] = {looktype montado, número da tabela abaixo.} } procure por: rides e acima disso adicione: surfsAddon = { [201] = {541, 10}, [552] = {553, 10}, --[número do looktype] = {looktype nadando, speed da tabela abaixo.} } em lib/order.lua, procure por: elseif skill == "fly" then e abaixo adicione: local pb = getPlayerSlotItem(cid, 8).uid if getItemAttribute(pb, "addon") < 1 then doSetCreatureOutfit(cid, {lookType = flys[getPokemonName(getCreatureSummons(cid)[1])][1] + 351}, -1) else doSetCreatureOutfit(cid, {lookType = flysAddon[getItemAttribute (pb, "addon")][1]}, -1) end depois, no mesmo arquivo, procure por: elseif skill == "ride" then e abaixo adicione: local pb = getPlayerSlotItem(cid, 8).uid if getItemAttribute(pb, "addon") < 1 then doSetCreatureOutfit(cid, {lookType = rides[getPokemonName(getCreatureSummons(cid)[1])][1] + 351}, -1) else doSetCreatureOutfit(cid, {lookType = ridesAddon[getItemAttribute (pb, "addon")][1]}, -1) end em movements/surf.lua, procure por: if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!") --alterado v1.7 doTeleportThing(cid, fromPosition, false) return true end e abaixo adicione: local pb = getPlayerSlotItem(cid, 8).uid if getItemAttribute(pb, "addon") < 1 then doSetCreatureOutfit(cid, {lookType = surfs[getPokemonName(getCreatureSummons(cid)[1])].lookType}, -1) else doSetCreatureOutfit(cid, {lookType = surfsAddon[getItemAttribute(pb, "addon")][1]}, -1) end logo abaixo disso, vocês vão encontrar: (isso não envolve o funcionamento do sistema de addon, mas é um bug que eu achei no meu surf. Todos os pokémon tinham velocidade fixa de 1500.) local speed = 75 + PlayerSpeed + getSpeed(getCreatureSummons(cid)[1]) * 8 * speedRate substitua por: local speed = 75 + PlayerSpeed + surfs[getPokemonName(getCreatureSummons(cid)[1])].speed * 8 * speedRate no mesmo arquivo, procure por: if getItemAttribute(item.uid, "nick") then doCreatureSay(cid, getItemAttribute(item.uid, "nick")..", I'm tired of surfing!", 1) else doCreatureSay(cid, getItemAttribute(item.uid, "poke")..", I'm tired of surfing!", 1) end doSummonMonster(cid, pokemon) local pk = getCreatureSummons(cid)[1] e abaixo adicione: local pb = getPlayerSlotItem(cid, 8).uid if surfsAddon[getItemAttribute(pb, "addon")] then if getItemAttribute(pb, "addon") > 1 then doSetCreatureOutfit(pk, {lookType = getItemAttribute(pb, "addon")}, -1) end end em actions/goback.lua, procure por: doSendMagicEffect(getCreaturePosition(pk), effect) abaixo adicione: local pk = getCreatureSummons(cid)[1] local pb = getPlayerSlotItem(cid, 8).uid local look = getItemAttribute(pb, "addon") if not look then doSetItemAttribute(pb, "addon", 0) end if look and look > 0 then doSetCreatureOutfit(pk, {lookType = look}, -1) end em actions/evolution.lua, procure por: local ball = getPlayerSlotItem(cid, 8).uid há 12 linhas iguais a essa nesse arquivo e embaixo de TODAS elas, adicione: doItemSetAttribute (ball, "addon", 0) em creaturescripts/look.lua, procure por: if getItemAttribute(thing.uid, "gender") == SEX_MALE then table.insert(str, "It is male.") elseif getItemAttribute(thing.uid, "gender") == SEX_FEMALE then table.insert(str, "It is female.") else table.insert(str, "It is genderless.") end se novamente, esse código aparece duas vezes no arquivo. E também, novamente, embaixo dos dois, adicione: if getItemAttribute(thing.uid, "addon") then if flysAddon[getItemAttribute (thing.uid, "addon")] or ridesAddon[getItemAttribute (thing.uid, "addon")] or surfsAddon[getItemAttribute (thing.uid, "addon")] then if getItemAttribute(thing.uid, "addon") > 1 then table.insert(str, " Has the addon "..getItemNameById (getAddonId (getItemAttribute (thing.uid, "addon")))..".") end end end E no começo desse arquivo, adicione: local addons = { [14876] = {pokemon = "Shiny Charizard" , looktype = 1950}, [12344] = {pokemon = "Pidgeot" , looktype = 205}, [13990] = {pokemon = "Pidgeot" , looktype = 201}, --[ID do item] = {nome do pokémon, looktype}, } local function getAddonId (looktype) for index, value in pairs (addons) do if value.looktype == looktype then return index end end end a tabela "addons" deve ser a mesma que a do actions/addon.lua. Então, quando você adicionar algo no addon.lua, deverá adicionar também no look.lua. em login.lua, procure por: doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1) e substitua por: if getItemAttribute(item.uid, "addon") < 1 then doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1) else doSetCreatureOutfit(cid, {lookType = flysAddon[getItemAttribute (item.uid, "addon")][1]}, -1) end procure por: doSetCreatureOutfit(cid, {lookType = surfs[poke].lookType + 351}, -1 substitua por: if getItemAttribute(item.uid, "addon") < 1 then doSetCreatureOutfit(cid, {lookType = surfs[poke].looktype + 351}, -1) else doSetCreatureOutfit(cid, {lookType = surfsAddon[getItemAttribute (item.uid, "addon")][1]}, -1) end procure por: doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1) substitua por: if getItemAttribute(item.uid, "addon") < 1 then doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1) else doSetCreatureOutfit(cid, {lookType = ridesAddon[getItemAttribute (item.uid, "addon")][1]}, -1) end1 ponto -
[Creaturescripts] Auto Bless
[Creaturescripts] Auto Bless
Shizuka Yannick reagiu a Farathor por uma resposta no tópico
1 pontoOlá, este é um script que adiciona todas as bless em jogadores que tiverem o level menor que o configurado em creaturescripts/scripts crie um arquivo chamado autoBless.lua e cole isso: local blessings = {1, 2, 3, 4, 5} local level = 150 function onLogin(cid) if getPlayerLevel(cid) <= level then for cont = 1, table.maxn(blessings) do doPlayerAddBlessing(cid, blessings[cont]) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você recebeu todas as blessings por causa que é nivel menor que "..level.."!") end end em creaturescripts.xml adicione a seguinte tag: <event type="death" name="autoBless" event="script" value="autoBless.lua"/> em creaturescripts/scripts no arquivo login.lua adicione a seguinte tag registerCreatureEvent(cid, "autoBless")1 ponto -
[MOD] Sistema de Auto Loot
1 pontoPara quem não sabe como funciona : É um sistema onde o player pode digitar um comando para adicionar ou remover um item ao auto loot,que no caso é para coletar o item automaticamente. • Adicionando o script • Em "data/mods/autoloot.xml" : • Comandos • • Configurando •1 ponto
-
Compilar client sem .SPR , .DAT , .PIC
Compilar client sem .SPR , .DAT , .PIC
Rodriguh reagiu a tiagoduuarte por uma resposta no tópico
1 pontoOlá vou postar aqui como criar 1 client sem o .spr, .dat, .pic. Para fazer seu client você vai precisar: 1º Cliente (Pode ser qualquer Client Wodbo - Tibia - Naruto - Pokemon) 2º MoleBox (pode ser encontrado no baixaki) VIDEO AULA No Final Postarei os Links. Primeiramente: NÂO TEM COMO BLOQUEAR PARA NINGUEM COPIAR SUAS SPRITES! Existem Vários programas que desfazem essa Compilação. Como exemplo vou compilar o Tibia 8.60 Tutorial em Imagens! ________________________________________________________________________________________ Abra o Molebox Entre em Package Options Em seguida selecione o executável do teu Cliente No próximo passo selecione um local para salvar seu novo Cliente Em seguida marque a opção "compress" Pressione o botão "Add Files" Selecione os Arquivos mostrados na imagem Aperte OK Em seguida aperte "Pack" Aguarde até que todos os arquivos sejam Compilados _________________________________________________________________________________ Links: http://www.2shared.c..._By_Babidy.html http://www.4shared.com/rar/vO-M74MG/MoleBox_Ultra_By_Babidy.html http://www.multiupload.nl/0LE7I45F06 SENHA: babidy SCAN: https://www.virustot...sis/1355177552/ Espero te Ajudado. Créditos: TODOS OS CREDITOS VÃO PARA: Babidy eu só trouxe para cá para ajudar uma pessoa com dúvida.1 ponto -
[v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)
vai ser completo mesmo ou vai ter o tanto de bug que esse tem?1 ponto
-
Gesior Bug no botao login
Gesior Bug no botao login
ryckcvz reagiu a roriscrave por uma resposta no tópico
1 pontona pasta bottons, troque o botao de login, se ajudei rep+1 ponto -
Novidade: Poketibia 9.60
Novidade: Poketibia 9.60
isac Fernandes sever reagiu a Guilherme por uma resposta no tópico
1 pontoServidor Poketibia 9.60 (Por Lazarocp) - Aprovado para download - - Servidor em desenvolvimento - Você também pode ajudar! • O servidor ainda não se encontra 100%, possui erros simples nas sources. • Os Scripts ainda estão desorganizados (peço desculpas). ○ Este servidor está na versão 9.60, sendo assim, tive que mexer nos scripts para deixá-lo funcional. Informações gerais: • Catch/Goback: 90%. (Havendo apenas um erro no data/creaturescripts/scripts/goback.lua). Ride: 100% Fly: 95% Surf: 99% Blink: 100% Rock Smash: 100% Demais: 100%. Clan system: 100%. M1 à M12: 100%. Portrait System: 100%. Nurse Joy: 100%. Nota: O nosso mapa está sendo feito do zero (0). Já contamos com seis (06) cidades e vários respawns. Pokémons: Primeira geração: 100% Segunda geração: 100% Terceira geração: 100% Quarta geração: 100% Quinta geração: Retirados. Sexta geração: Retirados. Mega Evolutions: Retiradas. Evolução por stones: 100% Race e Combat: 100% Pokedex: 95% (Pokedex com descrição do pokémon e onde encontrá-lo. A função "onde encontrá-los", só está disponível em alguns Pokemons). Sistema de Pokémons iniciais: 100% • Novas Pokébolas! • Mega Stones: Retiradas. Downloads: Créditos: Criação e postagem: Lazarocp • Ao divulgar ou utilizar, favor mantenham os devidos créditos. • REP'S serão sempre bem vindos, obrigado.1 ponto -
[8.60] Baiak Zona
1 pontoSó chamar, passa ai o IP :D @Edit: Da REP+ para ajudar ai :D1 ponto
-
Asura Palace
Asura Palace
Nyx.com reagiu a Bruno Carvalho por uma resposta no tópico
1 pontoParabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.1 ponto -
[Gesior] Widget Top Level BOX
1 pontoseguinte galera no arquivo tem a linha $skills = $SQL->query('SELECT * FROM players WHERE deleted = 0 AND group_id < '.$config['site']['players_group_id_block'].' AND account_id != 1 ORDER BY level DESC LIMIT 5'); troque por $skills = $SQL->query('SELECT * FROM players WHERE deleted = 0 AND group_id < 2 AND account_id > 1 ORDER BY level DESC LIMIT 5');1 ponto
-
Quero script de ao matar pokemon aparecer teleport
Em "Data/creaturescripts/scripts", copie e cole um arquivo.lua e renomeie para deathTP.lua, apague tudo e cole: local t = { tpId = 1387, -- ID do teleport. tpNew = {x = 1057, y = 1057, z = 7}, -- Local onde irá aparecer o teleport. tpPos = {x = 1059, y = 1059, z = 7}, -- Local para onde o teleport irá levar. monster = "rattata", -- Nome do monstro(pokémon/normal), coloque em letra minúscula. timeRemove = 5 -- Tempo para remover o teleport em segundos. } function onKill(cid, target) local function removeTeleport(position) position.stackpos = 1 if (getThingfromPos(position).itemid == t.tpId) then doRemoveItem(getThingfromPos(position).uid) doSendMagicEffect(t.tpNew, 13) end return true end if (isMonster(target) and string.lower(getCreatureName(target)) == t.monster) then doCreateTeleport(t.tpId, t.tpPos, t.tpNew) doCreatureSay(target, "Você tem ".. t.timeRemove .." segundos para entrar no teleport.", TALKTYPE_ORANGE_1, 0, 0, t.tpNew) addEvent(removeTeleport, t.timeRemove * 1000, t.tpNew) end return true end Em "Data/creaturescripts", abra o creaturescripts.xml e adicione: <event type="kill" name="deathTP" script="deathTP.lua"/> Novamente em "Data/creaturescripts/scripts", no arquivo login.lua, adicione: registerCreatureEvent(cid, "deathTP") Se der algum problema, me avise.1 ponto
-
[PEDIDO] NPC Que Muda Vocação 8.54
Aqui, vá em npcs/script e crie um arquivo chamado vocacao.lua e coloque isso dentro local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local choose = {} local cancel = {} local available = {} function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid if(msgcontains(msg, "info")) then selfSay("Olá "..getCreatureName(cid)..", Você quer trocar de vocação, digite o nome da sua proxima vocação. Temos Sorcerer, Druid, Knight e Paladin.", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "sorcerer") or msgcontains(msg, "SORCERER") and talk_state == 1 then doPlayerSetVocation(cid, 1) selfSay("Parabéns, você virou um Sorcerer", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Sorcerer") elseif msgcontains(msg, "druid") or msgcontains(msg, "DRUID") and talk_state == 1 then doPlayerSetVocation(cid, 2) selfSay("Parabéns, você virou um Druid", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Druid") elseif msgcontains(msg, "paladin") or msgcontains(msg, "PALADIN") and talk_state == 1 then doPlayerSetVocation(cid, 3) selfSay("Parabéns, você virou um Paladin", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Paladin") elseif msgcontains(msg, "KNIGHT") or msgcontains(msg, "KNIGHT") and talk_state == 1 then doPlayerSetVocation(cid, 4) selfSay("Parabéns, você virou um Knight", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Knight") elseif(msgcontains(msg, "bye") or msgcontains(msg, "goodbye") or msgcontains(msg, "cya")) then selfSay("cya!", cid, TRUE) closeShopWindow(cid) removeFocus(cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) e depois volte uma pasta, onde fica os xmls dos npc e crie um novo arquivo chamado vocacao.xml e coloque isso dentro <?xml version="1.0" encoding="UTF-8"?> <npc name="Vocation Changer" script="data/npc/scripts/vocacao.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="131" head="95" body="95" legs="95" feet="95" corpse="6080"/> </npc>1 ponto
-
Melhor Baiak Rox do Mundo Disponivel
Melhor Baiak Rox do Mundo Disponivel
Nyx.com reagiu a welington132 por uma resposta no tópico
1 pontoveio belo Otserve parabens1 ponto -
Criando Spells para seu servidor!
Criando Spells para seu servidor!
Scrowzer Dark reagiu a ravely11 por uma resposta no tópico
1 pontopessima tutorial :X1 ponto