Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 08/26/16 em todas áreas

  1. Yo boyz! Eu estava procurando um Addon System funcional e vi que todos tinham bugs, então eu peguei um código que achei em outro fórum, 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 0.3.6). 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 endendfunction 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 trueend 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}, -- Pidgeot[850] = {210}, -- Dragonair procure por: flys e acima disso adicione: flysAddon = {[205] = {540},[201] = {541},--[número do looktype do addon] = {looktype do addon voando}} procure por: rides e acima disso adicione: ridesAddon = {[556] = {555},--[número do looktype do addon] = {looktype do addon montado}} procure por: rides e acima disso adicione: surfsAddon = {[201] = {541},[552] = {553},--[número do looktype do addon] = {looktype do addon nadando}} 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 trueend 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 endend 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) end
    2 pontos
  2. Como prometido, client e source - otclient funcionando 100%. Dentro tem uma pasta chamada Server que contem o config.lua e a database em sqlite funcionando com Account Manager ou se for usar site e mysql irá funcionar tbm. Link - https://mega.nz/#!3YVFhZSb!62hSeDKFdfImTt_9Svy4zljA8MqlIaTRWBFGx27jScg
    2 pontos
  3. Bom pessoal eu resolvi compartilhar o meu sistema de torneio para poketibia que fiz para meu projeto, ele tem a função de ocorrer 4 vezes ao dia....Falando apenas com o 1 NPC Nick da cidade aonde você por.... Como funciona ? Mata todos e o ultimo que sobrar na arena de batalha é o ganhador! 1° Pasta LIB copie um arquivo e deverá renomear para torneio ficando torneio.lua apaga tudo que tem dentro e add
    1 ponto
  4. FlamesAdmin

    Level Máximo

    Boa noite, venho aqui postar esse script que achei em um tópico de 2011 que um membro abriu pedindo o script. Vamos lá! Primeiro vá em creaturescripts/scripts/login.lua e adicione isso: registerCreatureEvent(cid, "LevelMax") Depois adicione essa tag em creaturescripts.xml: <event type="advance" name="LevelMax" event="script" value="levelmax.lua"/> Agora crie um arquilo .lua com o nome de levelmax e adicione este código dentro: local LevelMax = 180 function onAdvance(cid, skill, oldLevel, newLevel) if skill == 8 then if newLevel >= LevelMax then doPlayerAddExp(cid, getExperienceForLevel(LevelMax)-getPlayerExperience(cid)) return false end end return true end Para trocar o level máximo basta editar em: local LevelMax = 180 Espero que ajude! Créditos a MatheusMkalo
    1 ponto
  5. Ryukiimaru

    [Encerrado]SAO - Legend Blade

    Quer mais informações do projeto, curta a pagina : https://www.facebook.com/LegendBladeOnline/ Quer mais informações do projeto, curta a pagina : https://www.facebook.com/LegendBladeOnline/
    1 ponto
  6. Bem, o script foi testado no tfs 1.2 ele é bem simples... O npc checa se o player tem gold na BP, se tiver gold na BP ele vai levar pra cidade escolhida e será removido o gold da mesma, se o player nao tiver gold na BP o npc vai retirar do bank... Charles.xml <?xml version="1.0" encoding="UTF-8"?><npc name="Charles" script="Charles.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100" /> <look type="134" head="57" body="67" legs="95" feet="60" addons="0" /> <parameters><parameter key="message_greet" value="Ola |PLAYERNAME|, Eu posso te transportar para alguns lugares, diga {passage} ou {travel} que eu digo os lugares para voce." /> </parameters></npc> Charles.lua Peguei como base o NPC de addons... pra quem quiser adicionar mais cidades é só seguir a lógica ali.. Abraços!
    1 ponto
  7. Digimon World Online is a FAN-GAME we're created specially for you! It contains features of magnificent Digital World. There you have can carry with you at most 3 digimons and use one for habilities, like Fly in the huge Sky, Swim trough the Sea and Mount while battling ! In addition, each player will have their own home, not to mention a big world to explore ... - Mount and Swim System Evolution System Our unique evolution system, has been developed to increase your fully experience of Temporary Evolutions, where you can Unlock up to 3 evolution, in each form, from Rookie, Champion, Ultimate and Megas ! Digimon Status (Attributes) Owr unique Attribute System, can let your customize your digimon in the way you want ! There 6 attributes are influencing the digimon Power, Health, Defence and Evolution Time. Also sub-attributes to increase your Lucky to drop items, and Agility on your digimon. Catch System (Egg Hatching) You can try to scan the data of a digimon with low health, and use items to hatch this egg ! Interface We just improved the interface of game client, to a better experience! We're online since 2015, come join us ! www.dworpg.com www.facebook.com/DigiWo Some screenshots below:
    1 ponto
  8. Você quer aumentar a força dos seus respectivos pokémons pelo wildLvl né? se você por 1000 ali o poke vai ficar bem mais forte que um de 100 não é isso que você quer? Se é isso que você quer você vai na lib/levelsystem.lua logo no começo tem isso Pronto agora quando você editar no wildLvl lá a força vai ser diferenciada! Deixa assim:
    1 ponto
  9. Bodak Reborn

    Suporte math.random

    @deglorio Pra ser aleatório, tu tem que contar a quantidade de pokémon na tabela, então eu coloquei um índice numérico e fiz com FOR, ele da um math.random com o número do maior índice e pega o nome de um pokémon de um índice aleatório, só que nesse creaturescripts, o índice tem que ser o nome do NPC, porém, se eu colocar o nome de NPC como índice em várias linhas, ele só vai contar como uma, porque todos índices são iguais. Então, teria que modificar a função do creaturescripts pra pegar vários arrays com o mesmo índice e transformar a tabela "tasks" em uma sequência de arrays com o mesmo índice, só que pra dar math.random em uma sequência de arrays com o mesmo índice foge dos meus conhecimentos. Resumo: não sei fazer, sorry.
    1 ponto
  10. Janjos

    Website Pokemon Mega (Show Off)

    Oi gente, venho mostrar uma website que estamos a fazer o meu primo e eu, é para um ot que tambem estamos a editar, projecto alfim, aceito opinioes e sugerencias Desculpem se o meu portugues nao é muito bom.
    1 ponto
  11. Lenhador

    Loyout Menu

    Entra no seu site lá em layouts vai no arquivo index, e acha o nome de cada pagina que está escrita ai. No código mesmo está localizado o local de cada imagem.
    1 ponto
  12. Eu já li os códigos que você utilizou, é um bom conteúdo mas pra minha base funciona diferente o sistema de Price é uma linha checando uma tabela.. já oque eu preciso já é mais complexo é uma função checando uma tabela antes de checar outra. Não me ajuda, mas é um bom conteúdo. Rep+ pela iniciativa!
    1 ponto
  13. Concordo com o Alex, bote um background mais iluminado com efeitos, não muito claro, mantenha o estilo sombrio, que vai dá bom, parabéns é um bom começo!
    1 ponto
  14. 1 - compilar é criar um programa através do que foi escrito em uma linguagem de computação. Sources, seria esse script de linguagem de programação. 2 - modificando a sources para apenas ser usado por seu servidor. 3 - modificando as sources não só do otcliente como do próprio servidor. 4 - procura um tutorial na net explicando sobre isso.
    1 ponto
  15. Janjos

    Website Pokemon Mega (Show Off)

    Actualizacao, Ainda estaba em construcao a pagina, ja temos adiantado muito: Os players podem postear videos das suas aventuras, pesquica, doacao, outros. Ainda falta acomodar uns labels e outras coisas.! O que acham?
    1 ponto
  16. contei 3 ate agora...fora a as bibas
    1 ponto
  17. Na minha opinião falta iluminação e brilho nos menus de cima e bastante trabalho no background. Keep it up
    1 ponto
  18. [LUA Function] getPlayerItems(cid[, id]) O que ela faz: Bom, esta função retorna todos os items do jogador, você também pode usa-la de modo que retorne todos os items, que tenha um certo ID. Modo de uso: for _, item in pairs(getPlayerItems(cid)) do -- Retornaria todos os id\'s dos items que o player tem. print(item.itemid)end for _, item in ipairs(getPlayerItems(cid, 2160)) do -- Retornaria todas as quantidade e o nome do item, cuja o ID fosse (2160). print(item.type.."x "..getItemNameById(item.itemid))end
    1 ponto
  19. Administrador

    [10.35+] GM Island

    GM ISLAND BY DANIEL Versão: 10.35 Tempo gasto: 4h Contém: Templo, áreas de lazer, portais para as principais cidades, outros. Necessário: Script que teleporta o god para dentro do castelo, se não for god não pode entrar. Imagens: http://i.imgur.com/nZT2Rum.pnghttp://i.imgur.com/NVJsH75.png http://i.imgur.com/vablDzJ.pnghttp://i.imgur.com/yoATEGo.pnghttp://i.imgur.com/h9A3suo.pnghttp://i.imgur.com/ZrjnvjY.png http://i.imgur.com/kEkZUGc.pnghttp://i.imgur.com/prpurwh.png http://i.imgur.com/wjvzeVZ.pnghttp://i.imgur.com/aPzZSz8.png http://i.imgur.com/zXixy0D.pnghttp://i.imgur.com/uRRnno9.png http://i.imgur.com/YoPFpjm.pnghttp://i.imgur.com/kA09FGr.png Download: Mediafire Scan
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...