Ir para conteúdo
  • 1

[FABRICA]Otclient


caotic

Pergunta

Como o pessoal resolveu fazer algumas fabricas resolvi trazer a #1 fabrica do otclient.

Eu tentarei evitar o uso do opcode vou usar msg e talk para a comunicação do otc~servidor ou o contrario.

 

Segue ai as regrinhas dos pedidos

 

Use um bom português
Não crie a mesma dúvida varias vezes
Especifique seu pedido ao máximo
Se for necessário uso de imagens específicas coloque elas para upload e poste no tópico
Seja direto
Poste apenas duvidas
Editado por caotic
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

é Mesmo se puder fazer a pokedex do pxg por favor. Caso precise da imagem olha ela aqui.Ela seria com esse design e com as informações como na imagem

 

 

 

Pronto ta terminanda a instação e bem simples

 

Extraia o arquivo na sua pasta do otc.

Arquivo: http://www.mediafire.com/download/yg0d1f2rur6dsa9/game_pokedex.rar

 

Vou ensinar a instalar o sistema no pda mais e simples:

 

Vai em lib/pokedex system e substitua por isto:

 

 

local skills = specialabilities                                    
 
function doAddPokemonInDexList(cid, poke)
if getPlayerInfoAboutPokemon(cid, poke).dex then return true end
local a = newpokedex[poke]                                              
local b = getPlayerStorageValue(cid, a.storage)
setPlayerStorageValue(cid, a.storage, b.." dex,")
end
 
function getPokemonEvolutionDescription(name, next)
local kev = poevo[name]
local stt = {}
if isInArray(specialevo, name) then
       if name == "Poliwhirl" then
          if next then
             return "\nPoliwrath or Politoed, requires level 65."
          end   
          table.insert(stt, "Evolve Stone: Water Stone and Punch Stone or Water Stone and King's Rock\n\n")
          table.insert(stt, "Evolutions:\nPoliwrath, requires level 65.\nPolitoed, requires level 65.")
       elseif name == "Gloom" then
          if next then
             return "\nVileplume or Bellossom, requires level 50."
          end
          table.insert(stt, "Evolve Stone: Leaf Stone and Venom Stone or Leaf Stone and Sun Stone\n\n")
          table.insert(stt, "Evolutions:\nVileplume, requires level 50.\nBellossom, requires level 50.")
       elseif name == "Slowpoke" then
          if next then
             return "\nSlowbro, requires level 45.\nSlowking, requires level 100."
          end
          table.insert(stt, "Evolve Stone: Enigma Stone or King's Rock\n\n")
          table.insert(stt, "Evolutions:\nSlowbro, requires level 45.\nSlowking, requires level 100.")
       elseif name == "Eevee" then
          if next then
             return "\nVaporeon, requires level 55.\nJolteon, requires level 55.\nFlareon, requires level 55.\nUmbreon, requires level 55.\nEspeon, requires level 55."
          end
          table.insert(stt, "Evolve Stone: Water Stone or Thunder Stone or Fire Stone or Darkness Stone or Enigma Stone\n\n")
          table.insert(stt, "Evolutions:\nVaporeon, requires level 55.\nJolteon, requires level 55.\nFlareon, requires level 55.\nUmbreon, requires level 55.\nEspeon, requires level 55.")
       elseif name == "Tyrogue" then
          if next then
             return "\nHitmonlee, requires level 60.\nHitmonchan, requires level 60.\nHitmontop, requires level 60."
          end
          table.insert(stt, "Evolve Stone: Punch Stone\n\n")   
          table.insert(stt, "Evolutions:\nHitmonlee, requires level 60.\nHitmonchan, requires level 60.\nHitmontop, requires level 60.")
       end
    elseif kev then
       if next then
          table.insert(stt, "\n"..kev.evolution..", requires level "..kev.level..".")
          return table.concat(stt)
       end
       local id = tonumber(kev.stoneid)
       local id2 = tonumber(kev.stoneid2)
       local stone = ""
       if tonumber(kev.count) == 2 then
          stone = doConvertStoneIdToString(id).." (2x)"
       else
          stone = id2 == 0 and doConvertStoneIdToString(id) or doConvertStoneIdToString(id).." and "..doConvertStoneIdToString(id2)
       end
       table.insert(stt, "Evolve Stone: "..stone.."\n\n")
       table.insert(stt, "Evolutions:\n"..kev.evolution..", requeris level "..kev.level..".")
       table.insert(stt, getPokemonEvolutionDescription(kev.evolution, true))
    else
        if not next then
           table.insert(stt, "Evolutions:\nIt doen't evolve.")
        end
    end   
return table.concat(stt)
end
 
local function getMoveDexDescr(cid, name, number)
local x = movestable[name]
if not x then return "" end
 
local z = "\n"
local tables = {x.move1, x.move2, x.move3, x.move4, x.move5, x.move6, x.move7, x.move8, x.move9, x.move10, x.move11, x.move12}
local y = tables[number]
if not y then return "" end
 
if getTableMove(cid, y.name) == "" then
   print(""..y.name.." faltando")
   return "unknown error"
end
local txt = ""..z..""..y.name.." - m"..number.." - level "..y.level.." - "..(y.t) 
return txt
end      
                                                                                                                                 --alterado v1.8
local skillcheck = {"fly", "ride", "surf", "teleport", "rock smash", "cut", "dig", "light", "blink", "control mind", "transform", "levitate_fly"}
local passivas = {
["Electricity"] = {"Electabuzz", "Shiny Electabuzz", "Elekid", tpw = "electric"},
["Lava Counter"] = {"Magmar", "Magby", tpw = "fire"},
["Counter Helix"] = {"Scyther", "Shiny Scyther", tpw = "bug"},
["Giroball"] = {"Pineco", "Forretress", tpw = "steel"},
["Counter Claw"] = {"Scizor", tpw = "bug"},
["Counter Spin"] = {"Hitmontop", "Shiny Hitmontop", tpw = "fighting"},
["Demon Kicker"] = {"Hitmonlee", "Shiny Hitmonlee", tpw = "fighting"},
["Demon Puncher"] = {"Hitmonchan", "Shiny Hitmonchan", tpw = "unknow"},               --alterado v1.6
["Stunning Confusion"] = {"Psyduck", "Golduck", "Wobbuffet", tpw = "psychic"},
["Groundshock"] = {"Kangaskhan", tpw = "normal"},
["Electric Charge"] = {"Pikachu", "Raichu", "Shiny Raichu", tpw = "electric"},
["Melody"] = {"Wigglytuff", tpw = "normal"},
["Dragon Fury"] = {"Dratini", "Dragonair", "Dragonite", "Shiny Dratini", "Shiny Dragonair", "Shiny Dragonite", tpw = "dragon"},
["Fury"] = {"Persian", "Raticate", "Shiny Raticate", tpw = "normal"},
["Mega Drain"] = {"Oddish", "Gloom", "Vileplume", "Kabuto", "Kabutops", "Parasect", "Tangela", "Shiny Vileplume", "Shiny Tangela", tpw = "grass"},
["Spores Reaction"] = {"Oddish", "Gloom", "Vileplume", "Shiny Vileplume", tpw = "grass"},
["Amnesia"] = {"Wooper", "Quagsire", "Swinub", "Piloswine", tpw = "psychic"},
["Zen Mind"] = {"Slowking", tpw = "psychic"}, 
["Mirror Coat"] = {"Wobbuffet", tpw = "psychic"},
["Lifesteal"] = {"Crobat", tpw = "normal"},
["Evasion"] = {"Scyther", "Scizor", "Hitmonlee", "Hitmonchan", "Hitmontop", "Tyrogue", "Shiny Scyther", "Shiny Hitmonchan", "Shiny Hitmonlee", "Shiny Hitmontop", "Ledian", "Ledyba", "Sneasel", tpw = "normal"},
["Foresight"] = {"Machamp", "Shiny Hitmonchan", "Shiny Hitmonlee", "Shiny Hitmontop", "Hitmontop", "Hitmonlee", "Hitmonchan", tpw = "fighting"},
["Levitate"] = {"Gengar", "Haunter", "Gastly", "Misdreavus", "Weezing", "Koffing", "Unown", "Shiny Gengar", tpw = "ghost"},
}
 
 
function doShowPokedexRegistration(cid, pokemon, ball)
local item2 = pokemon
local virtual = false
   if type(pokemon) == "string" then
      virtual = true
   end
local myball = ball
local name = virtual and pokemon or getCreatureName(item2.uid)
 
local v = fotos[name]
local stt = {}
 
table.insert(stt, "\nMoves:")
 
if name == "Ditto" then
   if virtual then
      table.insert(stt, "\nIt doesn't use any moves until transformed.")
   elseif getPlayerStorageValue(item2.uid, 1010) == "Ditto" or getPlayerStorageValue(item2.uid, 1010) == -1 then
      table.insert(stt, "\nIt doesn't use any moves until transformed.")
   else
      for a = 1, 15 do
         table.insert(stt, getMoveDexDescr(item2.uid, getPlayerStorageValue(item2.uid, 1010), a))
      end
   end
else
   for a = 1, 15 do
      table.insert(stt, getMoveDexDescr(item2.uid, name, a))
   end
end
 
for e, f in pairs(passivas) do
   if isInArray(passivas[e], name) then
      local tpw = passivas[e].tpw
      if name == "Pineco" and passivas[e] == "Giroball" then
         tpw = "bug"
      end
      table.insert(stt, "\n"..e.." - passive - "..tpw)
   end
end
    
doPlayerSendCancel(cid, "ShowDex".."~"..name.."~"..table.concat(stt)) 
doPlayerSendCancel(cid, "-")
end

 

 

Editado por caotic
Link para o comentário
Compartilhar em outros sites

  • 0

 

Bela Iniciativa =]

Pedido

Ícone na Skills

Gostaria dos ícones de cada vocação do lado do Health Info se Possível.

N5n8gOl.jpg?1

 

 

E so baixar e extrair na pasta modules do seu otc.

http://www.mediafire.com/download/0ohf2ho118wj6cw/game_healthinfo.rar

 

Depois vai ne creaturescripts/login.lua e adicione depois de onLogin coloque o seguinte codigo:

doPlayerSendCancel(cid, "SelectVoc/"..getPlayerVocationName(cid))

Você deve adicionar os icones de todas as suas vocações eles devem ser no formato png e devem ter 40x40 de dimensão.

Coloque na pasta voc.

Editado por caotic
Link para o comentário
Compartilhar em outros sites

  • 0

Caotic isso pode te ajudar na area das imagens de pokedex : http://www.pokemon.com/br/pokedex/ Faça bom uso acho que a pxg pegou suas imagens aqui :/

 

A pokedex ja vem com todos os pokemons da 1 e 2 geração.

Entretato para ficar perfeita e necessario uma mudança na base da dex.

Quem quiser mudar e so ir em pokes e procurar a imagem pokedex.

Link para o comentário
Compartilhar em outros sites

  • 0

@caotic

ficou muito boa! estou fazendo as editadas base nela, e está ficando beem parecida!

só estou com um probleminha: a "bardesc" (scroll bar para a descrição dos moves) não funciona, e já tentei de tudo e mais um pouco para fazê-la funcionar, mas não consegui D:

ela só fica assim (vou mostrar um pokémon com muitos moves, pra mostrar que não está mostrando):

pv0w.png

Veja que a scrollbar dos pokémons está perfeita, mas a dos moves não está :/

Gostaria de uma ajuda sua, já que é beem melhor no quesito OTClient do que eu, haha :)

Link para o comentário
Compartilhar em outros sites

  • 0

@caotic

ficou muito boa! estou fazendo as editadas base nela, e está ficando beem parecida!

só estou com um probleminha: a "bardesc" (scroll bar para a descrição dos moves) não funciona, e já tentei de tudo e mais um pouco para fazê-la funcionar, mas não consegui D:

ela só fica assim (vou mostrar um pokémon com muitos moves, pra mostrar que não está mostrando):

pv0w.png

Veja que a scrollbar dos pokémons está perfeita, mas a dos moves não está :/

Gostaria de uma ajuda sua, já que é beem melhor no quesito OTClient do que eu, haha :)

 

Pode deixar que eu vou da uma revisada na barra e logo posto.

Vejo que edito ela bastante gostei das edições falta agora adicionar os botões.

 

Mais como o estamos recebendo uma msg gigante teria que colocar as informações dos pokes direto do otc...

Link para o comentário
Compartilhar em outros sites

  • 0

Eu não consegui testar , não to conseguindo nem baixar to pedindo para colocarem no 4shared ou no media fire ... Ta dando erro você não tem permissão para isso .

Link para o comentário
Compartilhar em outros sites

  • 0

 

@caotic

ficou muito boa! estou fazendo as editadas base nela, e está ficando beem parecida!

só estou com um probleminha: a "bardesc" (scroll bar para a descrição dos moves) não funciona, e já tentei de tudo e mais um pouco para fazê-la funcionar, mas não consegui D:

ela só fica assim (vou mostrar um pokémon com muitos moves, pra mostrar que não está mostrando):

pv0w.png

Veja que a scrollbar dos pokémons está perfeita, mas a dos moves não está :/

Gostaria de uma ajuda sua, já que é beem melhor no quesito OTClient do que eu, haha :)

 

Pode deixar que eu vou da uma revisada na barra e logo posto.

Vejo que edito ela bastante gostei das edições falta agora adicionar os botões.

 

Mais como o estamos recebendo uma msg gigante teria que colocar as informações dos pokes direto do otc...

 

haha obrigado :)

ps: aquele search ali não está funcionando! é só da imagem mesmo, que esqueci de tirar.

mas você sabe que podemos esconder toda a mensagem que chega por sendcancel, certo?

é só colocar no game_textmessage a restrição pra não mostrar o texto, assim como tem no cliente do PDA, feito pelo slicer

  if msgtype.screenTarget then

    if string.find(text, 'ShowDex') then
    return
    end
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...