Ir para conteúdo

WinnDRunner

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    WinnDRunner deu reputação a Gabrieltxu em [Pokemon Open-Source] Pokemon Ex 3.0   
    Olá a todos , vim atravez deste topico postar a minha possivel ultima contribuição , enfim sobre o conteudo , Pokemon Ex foi feita em cima do Pokemon Dash , entao sim ela é meio antiga , porem contem coisas que ninguem ainda tinha liberado , uma dessas coisas é o Nick system , claro ainda falta alguns ajustes mas é na parte lua , o codigo já está na source e compilado no exe do servidor
    OBS: Nao modifiquei quase nada nele , como peguei estou postando , sim contem bugs , mas para isso vou deixar as informações logo abaixo , Nao se esqueça de deixar aquele Like que ja ajuda muito ... nao seja um sangue suga ...
     
     
    INFORMAÇÔES BASICAS:
     
    - Base Pokemon Dash
    - Nick System 90%
    - Ditto System
    - Novas Pokeballs umas 4 
    - Novo mapa com a regiao de Johto adicionado (MAPA COM 70 MB UNICO)
    - Novos Npcs 
    - Falta colocar remakes
    - Contem um site basico que peguei do xitiba na pasta do servidor
    - Client está dentro da pasta do servidor
    - os Criadores deixaram algumas lista ao que tem que se fazer ao servidor
    - Alguns tutoriais para quem ainda é iniciante dentro da pasta do servidor
    - BUG CHATO - é que os criadores tentaram criar um sistema de task mas enfim bugaram a xp , eu nao arrumei deixei como está , mas isso se encontra em creaturescripts
    - Vip system que da +XP ao personagem 
    - Gym system ainda beta nada terminado
    - ENTRE VARIAS OUTRAS COISAS , Baixe já o servidor e deixe o seu feedback ....
                                            OBS: NAO DAREI SUPORTE A ESTE SERVIDOR.
     
    IMAGENS:
     
    Estou sem tempo para tirar prints , então favor quem baixar postar algumas prints
     
     
     
    DOWNLOAD (Client + Source + Site está tudo junto):
    lembrando que nao precisa do site para abrir o servidor 
    https://www.mediafire.com/?kqn3c5tbfyhwnbu SCAN (Como o arquivo é grande tirei print do meu avast buscando por virus no arquivo):
     
    executável e dll's
     
    site pokemon
     
    servidor
     
    pasta PokemonEX 020611 - imagens e sprites
       
     
    CREDITOS:
    Todos que participaram desse servidor (nao sei o nome de ninguem)
    EU - Por ter compartilhado o conteudo 
     
                                  OBS: Se for postar em outro forum favor poste junto com os créditos.. 
     
     
     
    Entao é isso falei tudo que eu tinha que falar , volto a repitir , é antigo e contem bugs , mas é uma otima base , faça bom proveito ...
  2. Gostei
    WinnDRunner deu reputação a mee em Mega Evolution System (PxG)   
    Oi. 
    Antes de tudo, este sistema foi escrito para o servidor PDA by Slicer, versão 1.9. A adaptação para outras bases pode ser bem simples, dependendo do seu conhecimento em Lua (que na verdade nem precisa ser grande).
    Resolvi escrever este simples sistema porque me deu um certo desgosto ver vários servidores onde a mega evolução é literalmente uma evolução (inclusive o que estive jogando, onde alguns jogadores também concordaram com minha opinião). Quero dizer, o pokémon fica transformado direto, para sempre, forever, algo que contraria a ideia original.
    Optei por fazer o sistema igual (ou semelhante, já que me baseei apenas nas informações disponíveis no Blog PxG, que aliás são poucas) ao da PokeXGames. Mais futuramente, no entanto, posso fazer uma outra versão voltada a ideia de uma mega evolução temporária.
    Para quem não conhece o sistema, bem, estou com preguiça de explicar, logo recomendo acessar este link. A diferença é que a pedra (mega stone) não ocupa o espaço de um Held Item tier Y (visto que não são todos os servidores que possuem este sistema).
    O sistema, como poderão notar, possui muitos detalhes. O motivo é que tenho a tendência de deixar a configuração o menor possível. Ou seja, basta configurar o efeito no código da spell e a tabela das mega evoluções.
    Nossa, que textão.
     
    TL;DR: Igual ao sistema da PxG; PDA; muitos detalhes mas pouquíssima configuração.
    data/lib:
    cooldown bar.lua:
    Troque o código da função getNewMoveTable(table, n) por este:
    function getNewMoveTable(table, n) if table == nil then return false end local moves = {table.move1, table.move2, table.move3, table.move4, table.move5, table.move6, table.move7, table.move8, table.move9, table.move10, table.move11, table.move12} local returnValue = moves if n then returnValue = moves[n] end return returnValue end No código da função doUpdateMoves(cid), troque o segundo:
    table.insert(ret, "n/n,") Por:
    local mEvolve if not getCreatureName(summon):find("Mega") and getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") then if not isInArray(ret, "Mega Evolution,") then table.insert(ret, "Mega Evolution,") mEvolve = true end end if not mEvolve then table.insert(ret, "n/n,") end Depois, em pokemon moves.lua: Troque: min = getSpecialAttack(cid) * table.f * 0.1 --alterado v1.6 por:
    min = getSpecialAttack(cid) * (table and table.f or 0) * 0.1 --alterado v1.6 Código da spell:
    elseif spell == "Mega Evolution" then local effect = xxx --Efeito de mega evolução. if isSummon(cid) then local pid = getCreatureMaster(cid) if isPlayer(pid) then local ball = getPlayerSlotItem(pid, 8).uid if ball > 0 then local attr = getItemAttribute(ball, "megaStone") if attr and megaEvolutions[attr] then local oldPosition, oldLookdir = getThingPos(cid), getCreatureLookDir(cid) doItemSetAttribute(ball, "poke", megaEvolutions[attr][2]) doSendMagicEffect(getThingPos(cid), effect) doRemoveCreature(cid) doSummonMonster(pid, megaEvolutions[attr][2]) local newPoke = getCreatureSummons(pid)[1] doTeleportThing(newPoke, oldPosition, false) doCreatureSetLookDir(newPoke, oldLookdir) adjustStatus(newPoke, ball, true, false) if useKpdoDlls then addEvent(doUpdateMoves, 5, pid) end end end end end Depois, em configuration.lua:
    megaEvolutions = { --[itemid] = {"poke_name", "mega_evolution"}, [11638] = {"Charizard", "Mega Charizard X"}, [11639] = {"Charizard", "Mega Charizard Y"}, } Agora, em data/actions/scripts, código da mega stone:
    function onUse(cid, item) local mEvolution, ball = megaEvolutions[item.itemid], getPlayerSlotItem(cid, 8).uid if not mEvolution then return doPlayerSendCancel(cid, "Sorry, this isn't a mega stone.") elseif ball < 1 then return doPlayerSendCancel(cid, "Put a pokeball in the pokeball slot.") elseif #getCreatureSummons(cid) > 0 then return doPlayerSendCancel(cid, "Return your pokemon.") elseif getItemAttribute(ball, "poke") ~= mEvolution[1] then return doPlayerSendCancel(cid, "Put a pokeball with a(n) "..mEvolution[1].." in the pokeball slot.") elseif getItemAttribute(ball, "megaStone") then return doPlayerSendCancel(cid, "Your pokemon is already holding a mega stone.") end doItemSetAttribute(ball, "megaStone", item.itemid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Now your "..getItemAttribute(ball, "poke").." is holding a(n) "..getItemNameById(item.itemid)..".") doRemoveItem(item.uid) return true end Depois, em goback.lua: Abaixo de: if not pokes[pokemon] then return true end coloque:
    if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end Depois, em data/creaturescripts/scripts, look.lua: Abaixo de: local boost = getItemAttribute(thing.uid, "boost") or 0 coloque:
    local extraInfo, megaStone = "", getItemAttribute(thing.uid, "megaStone") if megaStone then extraInfo = getItemNameById(megaStone) if pokename:find("Mega") then pokename = megaEvolutions[megaStone][1] end end Depois, acima de:
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str)) coloque:
    if extraInfo ~= "" then table.insert(str, "\nIt's holding a(n) "..extraInfo..".") end Já em data/talkactions/scripts, move1.lua: Troque:    if not move then         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")         return true     end por:
    if not move then local isMega = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") if not isMega or name:find("Mega") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local moveTable, index = getNewMoveTable(movestable[name]), 0 for i = 1, 12 do if not moveTable[i] then index = i break end end if tonumber(it) ~= index then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local needCds = true --Coloque false se o pokémon puder mega evoluir mesmo com spells em cooldown. if needCds then for i = 1, 12 do if getCD(getPlayerSlotItem(cid, 8).uid, "move"..i) > 0 then return doPlayerSendCancel(cid, "To mega evolve, all the spells of your pokemon need to be ready.") end end end move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0, f = 0, t = "?"} end E troque:
    doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY) por:
    local spellMessage = msgs[math.random(#msgs)]..""..move.name.."!" if move.name == "Mega Evolution" then spellMessage = "Mega Evolve!" end doCreatureSay(cid, getPokeName(mypoke)..", "..spellMessage, TALKTYPE_SAY) Se quiser que o "Mega" não apareça no nome do pokémon, vá em data/lib, level system.lua: Acima de: if getItemAttribute(item, "nick") then nick = getItemAttribute(item, "nick") end coloque:
    if nick:find("Mega") then nick = nick:match("Mega (.*)") if not pokes[nick] then nick = nick:explode(" ")[1] end end E, caso o seu servidor possua pokémons evoluídos permanentemente na forma mega, em data/actions/scripts, goback.lua: Troque: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end por:
    if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if not normalPoke then local megaStone for itemid, table in pairs(megaEvolutions) do if table[2] == pokemon then megaStone = itemid break end end if not megaStone then return doPlayerSendTextMessage(cid, 27, "Your pokemon is bugged. Please, talk to the administrator.") end doItemSetAttribute(item.uid, "megaStone", megaStone) normalPoke = megaEvolutions[megaStone][1] end doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end Bem, é isso aí. Acho que não esqueci de nada. Até mais.   Obs¹:,esqueci uma informação específica no segundo passo de instalação do sistema (doUpdateMoves). Editado.
    Ah, editei novamente com uma correção para OTClient.
     
    Creditos:
    zipter98  (Pela criação)
    Eu (por divulgalo)
     

Informação Importante

Confirmação de Termo