Ir para conteúdo

Makhai Drakon

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Makhai Drakon recebeu reputação de Cat em (Resolvido)(PEDIDO) Adicionar limitação ao comando /goto, /c   
    @Andreeyyy 
    function onSay(cid, words, param) local restricao = {"Demon","Fire Devil"} for r = 1, #restricao do if param == restricao[r]then player:sendCancelMessage("Você não pode usar isto diga /goto restricao") return true end if param == "restricao" then player:sendCancelMessage(restricao[r]) return true end local player = Player(cid) if getPlayerGroupId(cid) > 3 then local target = Creature(param) if target == nil then player:sendCancelMessage("Creature not found.") return false end player:teleportTo(target:getPosition()) return false end end end ---------------------------------------------------------------------------------------- function onSay(player, words, param) local restricao = {"Demon","Fire Devil"} for r = 1, #restricao do if param == restricao[r]then player:sendCancelMessage("Você não pode usar isto diga /c restricao") return true end if param == "restricao" then player:sendCancelMessage(restricao[r]) return true end if not player:getGroup():getAccess() then return true end local creature = Creature(param) if not creature then player:sendCancelMessage("A creature with that name could not be found.") return false end local oldPosition = creature:getPosition() local newPosition = creature:getClosestFreePosition(player:getPosition(), false) if newPosition.x == 0 then player:sendCancelMessage("You can not teleport " .. creature:getName() .. ".") return false elseif creature:teleportTo(newPosition) then if not creature:isInGhostMode() then oldPosition:sendMagicEffect(CONST_ME_POFF) newPosition:sendMagicEffect(CONST_ME_TELEPORT) end end return false end end  
  2. Gostei
    Makhai Drakon recebeu reputação de Cat em (Resolvido)(PEDIDO) Adicionar limitação ao comando /goto, /c   
    @SouDeus Mano Se for dar umas respostas dessa e melhor ficar queto não acha ?
    @Andreeyyy Testei não mano adicionei a função de vem quais são as restrições   Bom aproveito!
    /goto
    function onSay(cid, words, param) local restricao = {"Demon","Fire Devil"} if param == "restricao" doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, restricao[r]") return true end for r = 1, #restricao do if param == restricao[r]then local player = Player(cid) if getPlayerGroupId(cid) > 3 then local target = Creature(param) if target == nil then player:sendCancelMessage("Creature not found.") return false end player:teleportTo(target:getPosition()) return false end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode usar isto diga /goto restricao") end end /c
    function onSay(player, words, param) local restricao = {"Demon","Fire Devil"} if param == "restricao" doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, restricao[r]") return true end for r = 1, #restricao do if param == restricao[r]then if not player:getGroup():getAccess() then return true end local creature = Creature(param) if not creature then player:sendCancelMessage("A creature with that name could not be found.") return false end local oldPosition = creature:getPosition() local newPosition = creature:getClosestFreePosition(player:getPosition(), false) if newPosition.x == 0 then player:sendCancelMessage("You can not teleport " .. creature:getName() .. ".") return false elseif creature:teleportTo(newPosition) then if not creature:isInGhostMode() then oldPosition:sendMagicEffect(CONST_ME_POFF) newPosition:sendMagicEffect(CONST_ME_TELEPORT) end end return false end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode usar isto diga /c restricao") end end  
  3. Curtir
    Makhai Drakon recebeu reputação de Deathstroke em [TUTORIAL] Como adicionar pokemons com {Icon System}.   
    Resolvi fazer este tutorial porque os que que encontrei estavam muito confusos e não entendi certas coisas.
     
    Programas utilizados:
    ObjectBuilder: http://www.4shared.com/rar/XsT3Kkgsba/ObjectBuilder034.html
    ItemEditor: http://www.4shared.com/file/232461654/31f90261/otitemeditor037.html
     
     
                                                                   [TUTORIAL] Como adicionar pokemons com {Icon System}.
     
     
    1- Abra o seu ObjectBuilder.
     
    2- Aperte Ctrl+O ou Clique em "File"/"Open".

     
    3- Clique em Browse.

     
    4- E abra a pasta onde fica seu tibia.spr e o tibia.dat.




     
    5- Caso for estendido marque a caixa.

     
    6- Após isto procure as outfit, corpse, ícone e portrait do pokemon desejado.







     
    obs: aconselho escrever os números em um bloco de notas

     
    7- Após isto abra o ItemEditor .
     
    8- Aperte Ctr+P ou Clique em "File"/"Preferences".

     
    9- Clique em Browse.

     
    10- E abra a pasta onde fica seu tibia.spr e o tibia.dat.




     
    11- Caso for estendido marque a caixa e confirme.

     
    12- Aperte Ctr+N ou Clique em "File"/"Open...".

     
    13- E abra a pasta onde fica seu item.otb.




     
    14- Crie 5 itens.

     
    15- Em Cliete ID coloque os IDs do portrait, corpse, 1 ícone on e 2 ícones off  que você pegou no ObjectBuilder.


     
    16- Deixe os atributos exatamente assim.
    Portrait

    Corpse

    Icone On

    Icone Use

    Icone Off

    obs: a partir daqui usara estes IDs 
    obs: aconselho escrever os números em um bloco de notas

     
    17- Por fim de save.
    .
     
    18- Agora vá em Data/Items e abra items.xml.
    Em algum local adicione isto!
    <item id="AAAAA" article="a" name="Icone."> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="BBBBB" article="a" name="Icone using"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="CCCCC" article="a" name="Icone dead"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="DDDDD" article="a" name="EEEEE"> <attribute key="containerSize" value="10" /> <attribute key="decayTo" value="0" /> <attribute key="duration" value="300" /> </item> <item id="FFFFF" article="a" name="portrait"> <attribute key="weight" value="0" /> <attribute key="slotType" value="legs" /> </item> Em "AAAAA" coloque o ID do ícone on
    Em "BBBBB" coloque o ID do ícone use
    Em "CCCCC" coloque o ID do ícone off
    Em "DDDDD" coloque o ID do corpse
    Em "EEEEE" coloque fainted "nome do poke"
    Em "FFFFF" coloque o ID do portrait
     
    Salve e feche
     
    19- Agora vá em Data/Monster/Pokes 
    Copie alguma .xml e modifique o seu nome para o do pokemon desejado  depois abra-a
    <?xml version="1.0" encoding="UTF-8"?> <monster name="AAAAA" nameDescription="a BBBBB" race="CCCCC" experience="1500" speed="207" manacost="0"> <health now="270" max="270"/> <look type="DDDDD" head="90" body="100" legs="95" feet="113" corpse="EEEEE"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="97"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" range="1" min="-50" max="-100"/> <attack name="Aqua Tail" interval="2805" chance="29" range="1"/> <attack name="Headbutt" interval="2705" chance="29" range="1"/> <attack name="Dragon Breath" interval="3040" chance="28" range="6"/> <attack name="Hyper Beam" interval="2899" chance="29" range="5"/> <attack name="Thunder Wave" interval="2993" chance="28" range="6"/> <attack name="Twister" interval="2852" chance="29" range="3"/> <attack name="Wing Attack" interval="3040" chance="28" range="6"/> <attack name="Thunder Punch" interval="2752" chance="29" range="1"/> <attack name="Fire Punch" interval="2952" chance="29" range="1"/> <attack name="Dragon Claw" interval="2900" chance="29" range="1"/> </attacks> <defenses armor="0" defense="0"> </defenses> <voices interval="5000" chance="10"> <voice sentence="FFFFF!"/> </voices> <loot> <item id="11449" chance="150" count="1" countmax="1"/> <item id="12159" chance="3000" count="1" countmax="1"/> <item id="13794" chance="10000" countmax="80"/> --snowball <item id="12275" chance="3000" count="1" countmax="1"/> <item id="12244" chance="70" count="1" countmax="1"/> <item id="12338" chance="10" count="1"/> --bag box --bag box </loot> <script> <event name="Spawn"/> </script> </monster> Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID da outfit do pokemon
    Em "CCCCC" coloque o a raça do pokemon
    Em "DDDDD" coloque o ID da outfit do pokemon  obs: no meu caso e 2241
    Em "EEEEE" coloque o ID corpse obs: no meu caso e 20758
    Em "FFFFF" coloque a fala do pokemon
    Lista de raças:
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost   Attacks Lembrando esses são os ataques que os pokemons selvagens soltara!   E possível ver os attacks em data/spells/scripts/ps   name = "Nome do attack" interval = "Intervalo para usar o attack" chance = Chance do attack ser acertado" obs: sempre deixe o melee 100 range = "Distancia mínima necessária para usar o attack"  
    Loot
     
    item id = "ID do item que será dropado"
    chance = "Chance do item ser dropado"
    count = "Mínimo de itens a ser dropado"
    countmax = "Máximo de itens a ser dropado"
     
    salve e feche
     
    20- Agora vá em Data/Monster e abra monster.xml
    Adicione esta tag
    1 - caso esteja em uma pasta
    <monster name="AAAAA" file="pokes/BBBBB/CCCCC.xml"/> 2 - caso apenas esteja na pasta pokes
    <monster name="AAAAA" file="pokes/CCCCC.xml"/> Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o nome da pasta onde ele esta
    Em "CCCCC" coloque o nome da .xml que você criou
     
    salve e feche
     
    21- Agora vá em Data/Lib e abra configuration.lua
     

    desça um pouco e se ver algo deste género
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {move1 = {name = "Aqua Tail", level = 10, cd = 12, dist = 1, target = 1, f = 50, t = "water"}, move2 = {name = "Thunder Wave", level = 12, cd = 16, dist = 1, target = 0, f = 70, t = "electric"}, move3 = {name = "Thunder Punch", level = 16, cd = 16, dist = 1, target = 1, f = 65, t = "electric"}, move4 = {name = "Fire Punch", level = 15, cd = 20, dist = 1, target = 1, f = 75, t = "electric"}, move5 = {name = "Dragon Claw", level = 22, cd = 16, dist = 1, target = 1, f = 60, t = "dragon"}, move6 = {name = "Dragon Breath", level = 40, cd = 20, dist = 1, target = 0, f = 80, t = "dragon"}, move7 = {name = "Twister", level = 46, cd = 24, dist = 1, target = 0, f = 80, t = "dragon"}, move8 = {name = "Wing Attack", level = 70, cd = 28, dist = 1, target = 0, f = 75, t = "flying"}, move9 = {name = "Hyper Beam", level = 70, cd = 24, dist = 1, target = 0, f = 190, t = "normal"}, move10 = {name = "Draco Meteor", level = 110, cd = 60, dist = 1, target = 0, f = 150, t = "dragon"}, }, Em "AAAAA" coloque o nome do pokemon
     
    Moves
    name = "Nome do attack"
    level = "Level mínimo para usar o attack"
    cd = "tempo para o attack recarregar"
    dist = "distancia mínima para usar o attack"
    target = "1 significa que precisa se alvo / 0 que não e necessário"
    f = "força do attack"
    t = "tipo do attack"
     
    Lista de tipos
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
     

    Desça mais um pouco encontrara o fly
    caso seu pokemon tenha pegue o id da outfit do fly e subtraia 351 EX: 2242-351=1891
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do fly subtraído por 351 EX: 2242-351=1891
    Em "CCCCC" coloque a velocidade que dará
     
    obs: Surf e ride mesma coisa
     

    Desça mais um pouco encontrara o pokeballs
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {effect = 188, on = BBBBB, use = CCCCC, off = DDDDD, all = {BBBBB, CCCCC, DDDDD}}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do icon on
    Em "CCCCC" coloque o ID do icon use
    Em "DDDDD" coloque o ID do icon off
     

    Desça mais um pouco encontrara o icons
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = { on = BBBBB, off = CCCCC, use = DDDDD }, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do icon on
    Em "CCCCC" coloque o ID do icon off
    Em "DDDDD" coloque o ID do icon use
     

    Desça mais um pouco encontrara o effectiveness mais não mecha nele
    Desça mais um pouco encontrara o pokes
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {offense = 4.5, defense = 10, specialattack = 12.2, vitality = 11.8, agility = 350, exp = 800, level = 80, wildLvl = 150, type = "ice", type2 = "ghost"}, Em "AAAAA" coloque o nome do pokemon
     
    offense = "offense que ganha por level"
    defense = "defense por level"
    specialattack = "special attack que ganha por level"
    vitality = "vida que o poke ganha pra cada vitality que tem"
    agility = "velocidade base dos pokes"
    exp = "experiência que dá a cada level que tem (somada a exp base, no xml do poke)"
    level = "level min pra usar o poke / offense base"
    wildlevel = "level que o pokemon selvagem será"
    type = "tipo do pokemon"
    type2 = "segundo tipo do pokemon" obs caso não tenha coloque no type"
     
    Lista de tipos
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
     

    Desça mais um pouco encontrara o fotos
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do portrait
     

    Desça mais um pouco encontrara o pokecatches
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {chance = BBBBB, corpse = CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque a chance de capturar o pokemon obs quanto maior o numero mais difícil fica
    Em "CCCCC" coloque o ID corpse
     

    Desça mais um pouco encontrara o newpokedex
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {gender = 500, level = 80, storage = 100, stoCatch = BBBBB}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque 1 e um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457
     
    gender = "género género do pokemon 500 = 50% de ser m ou f, 75 = 75% de ser f 25 = 25% de ser f, -1 = sem sexo  " obs se o server não tiver gender system não faz diferença
    level = "level min pra usar o poke " obs apenas afetará o pokedex
    storage = "Não mexa!"
    stoCatch = "coloque um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457"
     

    Desça mais um pouco encontrara o oldpokedex
    Vá ate o ultimo e cole este código.
    {"AAAAA", BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o level min pra usar o poke
    Em "CCCCC" coloque o coloque um numero depois do pokemon anterior Ex o anterior é 1290 então coloque 1291
     
    10ª
    Desça mais um pouco encontrara o poevo
    Caso o pokemon que será adicionado tenha uma anti evolução
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {level = 150, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, Em "AAAAA" coloque o nome da anti evolução pokemon
    Em "BBBBB" coloque o nome da evolução do pokemon
    Em "CCCCC" coloque o ID da stone que ira evoluir o pokemon
    Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o pokemon obs opcional deixe 0 se não tiver stone
     
    Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
     
    level = "level mínimo para evoluir o pokemon"
    evolution = "nome do pokemon evoluído"
    count = "quantidade de stones necessárias"
    stoneid = "ID da stone que ira evoluir o pokemon"
    stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
     
     
    11ª
    Desça mais um pouco encontrara o spcevo
    Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {[1] = {level = 65, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, [2] = {level = 65, evolution = "EEEEE", count = 1, stoneid = FFFFF, stoneid2 = GGGGG}}, Em "AAAAA" coloque o nome da anti evolução pokemon
    Em "BBBBB" coloque o nome da 1ª evolução do pokemon
    Em "CCCCC" coloque o ID da stone que ira evoluir o 1º pokemon
    Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o 1º pokemon obs opcional deixe 0 se não tiver stone
    Em "EEEEE" coloque o nome da 2ª evolução do pokemon
    Em "FFFFF" coloque o ID da stone que ira evoluir o 2º pokemon
    Em "GGGGG" coloque o ID do segundo tipo stone que ira evoluir o 2º pokemon obs opcional deixe 0 se não tiver stone
     
    Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
     
    level = "level mínimo para evoluir o pokemon"
    evolution = "nome do pokemon evoluído"
    count = "quantidade de stones necessárias"
    stoneid = "ID da stone que ira evoluir o pokemon"
    stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
     
    12ª
    Desça mais um pouco encontrara o gobackmsgs mais não mecha nele
    Desça mais um pouco encontrara o specialevo
    Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
     
    specialevo = {"Poliwhirl", "Gloom", "Tyrogue", "Eevee", "AAAAA"} Em "AAAAA" coloque o nome da anti evolução pokemon
     
    13ª
    Desça mais um pouco encontrara o specialabilities
    Caso queira colocar alguma habilidade no pokemon coloque
    Em "AAAAA" coloque o nome da anti evolução pokemon
     
    Coloque nas habilidades desejadas
     
    14ª
    Desça mais um pouco encontrara o auraSyst mais não mecha nele
    Desça mais um pouco encontrara o hitmonchans mais não mecha nele
    Desça mais um pouco encontrara o headbutt mais não mecha nele
    Desça mais um pouco encontrara o lookClans mais não mecha nele
    Desça mais um pouco encontrara o youAre mais não mecha nele
    Desça mais um pouco encontrara o passivesChances
    Caso queira colocar alguma especial no pokemon coloque
    Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque a chance de sair a passiva
     
    15ª
    Desça mais um pouco encontrara o pokesPrice
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o preço que o pokemon será vendido no npc
     
    salve e feche
     
    22- Agora vá em Data/Movements/ e abra o movements.xml
     

    Logo no começo voçe vera o Icone System
     
    Em <movevent type="Equip" itemid=
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     

    Em <movevent type="DeEquip
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     
    23- Agora vá em Data/Actions/ e abra o actions.xml
     
    Procure por Icone System
    Em <action itemid=
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     
    24- Caso tenha adicionado evolução vá em Data/Actions/Scripts e abra o evolution.lua
     
    Em local types =
    Vá ate o final da lista da stone que evolui o pokemon coloque o nome da anti evolução Ex , "Spearow" obs caso for 2 stones diferentes adicione nas 2
    Ficara assim
     
    25- Seja feliz
     
    Obrigado pela atenção qualquer duvida comente
    Caso ajudei REP+
    Creditos: 100% Ckfox
  4. Curtir
    Makhai Drakon recebeu reputação de Fawkzz1 em [TUTORIAL] Como adicionar pokemons com {Icon System}.   
    Resolvi fazer este tutorial porque os que que encontrei estavam muito confusos e não entendi certas coisas.
     
    Programas utilizados:
    ObjectBuilder: http://www.4shared.com/rar/XsT3Kkgsba/ObjectBuilder034.html
    ItemEditor: http://www.4shared.com/file/232461654/31f90261/otitemeditor037.html
     
     
                                                                   [TUTORIAL] Como adicionar pokemons com {Icon System}.
     
     
    1- Abra o seu ObjectBuilder.
     
    2- Aperte Ctrl+O ou Clique em "File"/"Open".

     
    3- Clique em Browse.

     
    4- E abra a pasta onde fica seu tibia.spr e o tibia.dat.




     
    5- Caso for estendido marque a caixa.

     
    6- Após isto procure as outfit, corpse, ícone e portrait do pokemon desejado.







     
    obs: aconselho escrever os números em um bloco de notas

     
    7- Após isto abra o ItemEditor .
     
    8- Aperte Ctr+P ou Clique em "File"/"Preferences".

     
    9- Clique em Browse.

     
    10- E abra a pasta onde fica seu tibia.spr e o tibia.dat.




     
    11- Caso for estendido marque a caixa e confirme.

     
    12- Aperte Ctr+N ou Clique em "File"/"Open...".

     
    13- E abra a pasta onde fica seu item.otb.




     
    14- Crie 5 itens.

     
    15- Em Cliete ID coloque os IDs do portrait, corpse, 1 ícone on e 2 ícones off  que você pegou no ObjectBuilder.


     
    16- Deixe os atributos exatamente assim.
    Portrait

    Corpse

    Icone On

    Icone Use

    Icone Off

    obs: a partir daqui usara estes IDs 
    obs: aconselho escrever os números em um bloco de notas

     
    17- Por fim de save.
    .
     
    18- Agora vá em Data/Items e abra items.xml.
    Em algum local adicione isto!
    <item id="AAAAA" article="a" name="Icone."> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="BBBBB" article="a" name="Icone using"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="CCCCC" article="a" name="Icone dead"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="DDDDD" article="a" name="EEEEE"> <attribute key="containerSize" value="10" /> <attribute key="decayTo" value="0" /> <attribute key="duration" value="300" /> </item> <item id="FFFFF" article="a" name="portrait"> <attribute key="weight" value="0" /> <attribute key="slotType" value="legs" /> </item> Em "AAAAA" coloque o ID do ícone on
    Em "BBBBB" coloque o ID do ícone use
    Em "CCCCC" coloque o ID do ícone off
    Em "DDDDD" coloque o ID do corpse
    Em "EEEEE" coloque fainted "nome do poke"
    Em "FFFFF" coloque o ID do portrait
     
    Salve e feche
     
    19- Agora vá em Data/Monster/Pokes 
    Copie alguma .xml e modifique o seu nome para o do pokemon desejado  depois abra-a
    <?xml version="1.0" encoding="UTF-8"?> <monster name="AAAAA" nameDescription="a BBBBB" race="CCCCC" experience="1500" speed="207" manacost="0"> <health now="270" max="270"/> <look type="DDDDD" head="90" body="100" legs="95" feet="113" corpse="EEEEE"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="97"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" range="1" min="-50" max="-100"/> <attack name="Aqua Tail" interval="2805" chance="29" range="1"/> <attack name="Headbutt" interval="2705" chance="29" range="1"/> <attack name="Dragon Breath" interval="3040" chance="28" range="6"/> <attack name="Hyper Beam" interval="2899" chance="29" range="5"/> <attack name="Thunder Wave" interval="2993" chance="28" range="6"/> <attack name="Twister" interval="2852" chance="29" range="3"/> <attack name="Wing Attack" interval="3040" chance="28" range="6"/> <attack name="Thunder Punch" interval="2752" chance="29" range="1"/> <attack name="Fire Punch" interval="2952" chance="29" range="1"/> <attack name="Dragon Claw" interval="2900" chance="29" range="1"/> </attacks> <defenses armor="0" defense="0"> </defenses> <voices interval="5000" chance="10"> <voice sentence="FFFFF!"/> </voices> <loot> <item id="11449" chance="150" count="1" countmax="1"/> <item id="12159" chance="3000" count="1" countmax="1"/> <item id="13794" chance="10000" countmax="80"/> --snowball <item id="12275" chance="3000" count="1" countmax="1"/> <item id="12244" chance="70" count="1" countmax="1"/> <item id="12338" chance="10" count="1"/> --bag box --bag box </loot> <script> <event name="Spawn"/> </script> </monster> Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID da outfit do pokemon
    Em "CCCCC" coloque o a raça do pokemon
    Em "DDDDD" coloque o ID da outfit do pokemon  obs: no meu caso e 2241
    Em "EEEEE" coloque o ID corpse obs: no meu caso e 20758
    Em "FFFFF" coloque a fala do pokemon
    Lista de raças:
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost   Attacks Lembrando esses são os ataques que os pokemons selvagens soltara!   E possível ver os attacks em data/spells/scripts/ps   name = "Nome do attack" interval = "Intervalo para usar o attack" chance = Chance do attack ser acertado" obs: sempre deixe o melee 100 range = "Distancia mínima necessária para usar o attack"  
    Loot
     
    item id = "ID do item que será dropado"
    chance = "Chance do item ser dropado"
    count = "Mínimo de itens a ser dropado"
    countmax = "Máximo de itens a ser dropado"
     
    salve e feche
     
    20- Agora vá em Data/Monster e abra monster.xml
    Adicione esta tag
    1 - caso esteja em uma pasta
    <monster name="AAAAA" file="pokes/BBBBB/CCCCC.xml"/> 2 - caso apenas esteja na pasta pokes
    <monster name="AAAAA" file="pokes/CCCCC.xml"/> Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o nome da pasta onde ele esta
    Em "CCCCC" coloque o nome da .xml que você criou
     
    salve e feche
     
    21- Agora vá em Data/Lib e abra configuration.lua
     

    desça um pouco e se ver algo deste género
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {move1 = {name = "Aqua Tail", level = 10, cd = 12, dist = 1, target = 1, f = 50, t = "water"}, move2 = {name = "Thunder Wave", level = 12, cd = 16, dist = 1, target = 0, f = 70, t = "electric"}, move3 = {name = "Thunder Punch", level = 16, cd = 16, dist = 1, target = 1, f = 65, t = "electric"}, move4 = {name = "Fire Punch", level = 15, cd = 20, dist = 1, target = 1, f = 75, t = "electric"}, move5 = {name = "Dragon Claw", level = 22, cd = 16, dist = 1, target = 1, f = 60, t = "dragon"}, move6 = {name = "Dragon Breath", level = 40, cd = 20, dist = 1, target = 0, f = 80, t = "dragon"}, move7 = {name = "Twister", level = 46, cd = 24, dist = 1, target = 0, f = 80, t = "dragon"}, move8 = {name = "Wing Attack", level = 70, cd = 28, dist = 1, target = 0, f = 75, t = "flying"}, move9 = {name = "Hyper Beam", level = 70, cd = 24, dist = 1, target = 0, f = 190, t = "normal"}, move10 = {name = "Draco Meteor", level = 110, cd = 60, dist = 1, target = 0, f = 150, t = "dragon"}, }, Em "AAAAA" coloque o nome do pokemon
     
    Moves
    name = "Nome do attack"
    level = "Level mínimo para usar o attack"
    cd = "tempo para o attack recarregar"
    dist = "distancia mínima para usar o attack"
    target = "1 significa que precisa se alvo / 0 que não e necessário"
    f = "força do attack"
    t = "tipo do attack"
     
    Lista de tipos
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
     

    Desça mais um pouco encontrara o fly
    caso seu pokemon tenha pegue o id da outfit do fly e subtraia 351 EX: 2242-351=1891
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do fly subtraído por 351 EX: 2242-351=1891
    Em "CCCCC" coloque a velocidade que dará
     
    obs: Surf e ride mesma coisa
     

    Desça mais um pouco encontrara o pokeballs
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {effect = 188, on = BBBBB, use = CCCCC, off = DDDDD, all = {BBBBB, CCCCC, DDDDD}}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do icon on
    Em "CCCCC" coloque o ID do icon use
    Em "DDDDD" coloque o ID do icon off
     

    Desça mais um pouco encontrara o icons
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = { on = BBBBB, off = CCCCC, use = DDDDD }, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do icon on
    Em "CCCCC" coloque o ID do icon off
    Em "DDDDD" coloque o ID do icon use
     

    Desça mais um pouco encontrara o effectiveness mais não mecha nele
    Desça mais um pouco encontrara o pokes
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {offense = 4.5, defense = 10, specialattack = 12.2, vitality = 11.8, agility = 350, exp = 800, level = 80, wildLvl = 150, type = "ice", type2 = "ghost"}, Em "AAAAA" coloque o nome do pokemon
     
    offense = "offense que ganha por level"
    defense = "defense por level"
    specialattack = "special attack que ganha por level"
    vitality = "vida que o poke ganha pra cada vitality que tem"
    agility = "velocidade base dos pokes"
    exp = "experiência que dá a cada level que tem (somada a exp base, no xml do poke)"
    level = "level min pra usar o poke / offense base"
    wildlevel = "level que o pokemon selvagem será"
    type = "tipo do pokemon"
    type2 = "segundo tipo do pokemon" obs caso não tenha coloque no type"
     
    Lista de tipos
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
     

    Desça mais um pouco encontrara o fotos
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do portrait
     

    Desça mais um pouco encontrara o pokecatches
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {chance = BBBBB, corpse = CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque a chance de capturar o pokemon obs quanto maior o numero mais difícil fica
    Em "CCCCC" coloque o ID corpse
     

    Desça mais um pouco encontrara o newpokedex
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {gender = 500, level = 80, storage = 100, stoCatch = BBBBB}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque 1 e um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457
     
    gender = "género género do pokemon 500 = 50% de ser m ou f, 75 = 75% de ser f 25 = 25% de ser f, -1 = sem sexo  " obs se o server não tiver gender system não faz diferença
    level = "level min pra usar o poke " obs apenas afetará o pokedex
    storage = "Não mexa!"
    stoCatch = "coloque um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457"
     

    Desça mais um pouco encontrara o oldpokedex
    Vá ate o ultimo e cole este código.
    {"AAAAA", BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o level min pra usar o poke
    Em "CCCCC" coloque o coloque um numero depois do pokemon anterior Ex o anterior é 1290 então coloque 1291
     
    10ª
    Desça mais um pouco encontrara o poevo
    Caso o pokemon que será adicionado tenha uma anti evolução
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {level = 150, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, Em "AAAAA" coloque o nome da anti evolução pokemon
    Em "BBBBB" coloque o nome da evolução do pokemon
    Em "CCCCC" coloque o ID da stone que ira evoluir o pokemon
    Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o pokemon obs opcional deixe 0 se não tiver stone
     
    Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
     
    level = "level mínimo para evoluir o pokemon"
    evolution = "nome do pokemon evoluído"
    count = "quantidade de stones necessárias"
    stoneid = "ID da stone que ira evoluir o pokemon"
    stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
     
     
    11ª
    Desça mais um pouco encontrara o spcevo
    Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {[1] = {level = 65, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, [2] = {level = 65, evolution = "EEEEE", count = 1, stoneid = FFFFF, stoneid2 = GGGGG}}, Em "AAAAA" coloque o nome da anti evolução pokemon
    Em "BBBBB" coloque o nome da 1ª evolução do pokemon
    Em "CCCCC" coloque o ID da stone que ira evoluir o 1º pokemon
    Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o 1º pokemon obs opcional deixe 0 se não tiver stone
    Em "EEEEE" coloque o nome da 2ª evolução do pokemon
    Em "FFFFF" coloque o ID da stone que ira evoluir o 2º pokemon
    Em "GGGGG" coloque o ID do segundo tipo stone que ira evoluir o 2º pokemon obs opcional deixe 0 se não tiver stone
     
    Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
     
    level = "level mínimo para evoluir o pokemon"
    evolution = "nome do pokemon evoluído"
    count = "quantidade de stones necessárias"
    stoneid = "ID da stone que ira evoluir o pokemon"
    stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
     
    12ª
    Desça mais um pouco encontrara o gobackmsgs mais não mecha nele
    Desça mais um pouco encontrara o specialevo
    Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
     
    specialevo = {"Poliwhirl", "Gloom", "Tyrogue", "Eevee", "AAAAA"} Em "AAAAA" coloque o nome da anti evolução pokemon
     
    13ª
    Desça mais um pouco encontrara o specialabilities
    Caso queira colocar alguma habilidade no pokemon coloque
    Em "AAAAA" coloque o nome da anti evolução pokemon
     
    Coloque nas habilidades desejadas
     
    14ª
    Desça mais um pouco encontrara o auraSyst mais não mecha nele
    Desça mais um pouco encontrara o hitmonchans mais não mecha nele
    Desça mais um pouco encontrara o headbutt mais não mecha nele
    Desça mais um pouco encontrara o lookClans mais não mecha nele
    Desça mais um pouco encontrara o youAre mais não mecha nele
    Desça mais um pouco encontrara o passivesChances
    Caso queira colocar alguma especial no pokemon coloque
    Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque a chance de sair a passiva
     
    15ª
    Desça mais um pouco encontrara o pokesPrice
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o preço que o pokemon será vendido no npc
     
    salve e feche
     
    22- Agora vá em Data/Movements/ e abra o movements.xml
     

    Logo no começo voçe vera o Icone System
     
    Em <movevent type="Equip" itemid=
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     

    Em <movevent type="DeEquip
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     
    23- Agora vá em Data/Actions/ e abra o actions.xml
     
    Procure por Icone System
    Em <action itemid=
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     
    24- Caso tenha adicionado evolução vá em Data/Actions/Scripts e abra o evolution.lua
     
    Em local types =
    Vá ate o final da lista da stone que evolui o pokemon coloque o nome da anti evolução Ex , "Spearow" obs caso for 2 stones diferentes adicione nas 2
    Ficara assim
     
    25- Seja feliz
     
    Obrigado pela atenção qualquer duvida comente
    Caso ajudei REP+
    Creditos: 100% Ckfox
  5. Curtir
    Makhai Drakon recebeu reputação de zLockey9 em [TUTORIAL] Como adicionar pokemons com {Icon System}.   
    Resolvi fazer este tutorial porque os que que encontrei estavam muito confusos e não entendi certas coisas.
     
    Programas utilizados:
    ObjectBuilder: http://www.4shared.com/rar/XsT3Kkgsba/ObjectBuilder034.html
    ItemEditor: http://www.4shared.com/file/232461654/31f90261/otitemeditor037.html
     
     
                                                                   [TUTORIAL] Como adicionar pokemons com {Icon System}.
     
     
    1- Abra o seu ObjectBuilder.
     
    2- Aperte Ctrl+O ou Clique em "File"/"Open".

     
    3- Clique em Browse.

     
    4- E abra a pasta onde fica seu tibia.spr e o tibia.dat.




     
    5- Caso for estendido marque a caixa.

     
    6- Após isto procure as outfit, corpse, ícone e portrait do pokemon desejado.







     
    obs: aconselho escrever os números em um bloco de notas

     
    7- Após isto abra o ItemEditor .
     
    8- Aperte Ctr+P ou Clique em "File"/"Preferences".

     
    9- Clique em Browse.

     
    10- E abra a pasta onde fica seu tibia.spr e o tibia.dat.




     
    11- Caso for estendido marque a caixa e confirme.

     
    12- Aperte Ctr+N ou Clique em "File"/"Open...".

     
    13- E abra a pasta onde fica seu item.otb.




     
    14- Crie 5 itens.

     
    15- Em Cliete ID coloque os IDs do portrait, corpse, 1 ícone on e 2 ícones off  que você pegou no ObjectBuilder.


     
    16- Deixe os atributos exatamente assim.
    Portrait

    Corpse

    Icone On

    Icone Use

    Icone Off

    obs: a partir daqui usara estes IDs 
    obs: aconselho escrever os números em um bloco de notas

     
    17- Por fim de save.
    .
     
    18- Agora vá em Data/Items e abra items.xml.
    Em algum local adicione isto!
    <item id="AAAAA" article="a" name="Icone."> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="BBBBB" article="a" name="Icone using"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="CCCCC" article="a" name="Icone dead"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="DDDDD" article="a" name="EEEEE"> <attribute key="containerSize" value="10" /> <attribute key="decayTo" value="0" /> <attribute key="duration" value="300" /> </item> <item id="FFFFF" article="a" name="portrait"> <attribute key="weight" value="0" /> <attribute key="slotType" value="legs" /> </item> Em "AAAAA" coloque o ID do ícone on
    Em "BBBBB" coloque o ID do ícone use
    Em "CCCCC" coloque o ID do ícone off
    Em "DDDDD" coloque o ID do corpse
    Em "EEEEE" coloque fainted "nome do poke"
    Em "FFFFF" coloque o ID do portrait
     
    Salve e feche
     
    19- Agora vá em Data/Monster/Pokes 
    Copie alguma .xml e modifique o seu nome para o do pokemon desejado  depois abra-a
    <?xml version="1.0" encoding="UTF-8"?> <monster name="AAAAA" nameDescription="a BBBBB" race="CCCCC" experience="1500" speed="207" manacost="0"> <health now="270" max="270"/> <look type="DDDDD" head="90" body="100" legs="95" feet="113" corpse="EEEEE"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="97"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" range="1" min="-50" max="-100"/> <attack name="Aqua Tail" interval="2805" chance="29" range="1"/> <attack name="Headbutt" interval="2705" chance="29" range="1"/> <attack name="Dragon Breath" interval="3040" chance="28" range="6"/> <attack name="Hyper Beam" interval="2899" chance="29" range="5"/> <attack name="Thunder Wave" interval="2993" chance="28" range="6"/> <attack name="Twister" interval="2852" chance="29" range="3"/> <attack name="Wing Attack" interval="3040" chance="28" range="6"/> <attack name="Thunder Punch" interval="2752" chance="29" range="1"/> <attack name="Fire Punch" interval="2952" chance="29" range="1"/> <attack name="Dragon Claw" interval="2900" chance="29" range="1"/> </attacks> <defenses armor="0" defense="0"> </defenses> <voices interval="5000" chance="10"> <voice sentence="FFFFF!"/> </voices> <loot> <item id="11449" chance="150" count="1" countmax="1"/> <item id="12159" chance="3000" count="1" countmax="1"/> <item id="13794" chance="10000" countmax="80"/> --snowball <item id="12275" chance="3000" count="1" countmax="1"/> <item id="12244" chance="70" count="1" countmax="1"/> <item id="12338" chance="10" count="1"/> --bag box --bag box </loot> <script> <event name="Spawn"/> </script> </monster> Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID da outfit do pokemon
    Em "CCCCC" coloque o a raça do pokemon
    Em "DDDDD" coloque o ID da outfit do pokemon  obs: no meu caso e 2241
    Em "EEEEE" coloque o ID corpse obs: no meu caso e 20758
    Em "FFFFF" coloque a fala do pokemon
    Lista de raças:
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost   Attacks Lembrando esses são os ataques que os pokemons selvagens soltara!   E possível ver os attacks em data/spells/scripts/ps   name = "Nome do attack" interval = "Intervalo para usar o attack" chance = Chance do attack ser acertado" obs: sempre deixe o melee 100 range = "Distancia mínima necessária para usar o attack"  
    Loot
     
    item id = "ID do item que será dropado"
    chance = "Chance do item ser dropado"
    count = "Mínimo de itens a ser dropado"
    countmax = "Máximo de itens a ser dropado"
     
    salve e feche
     
    20- Agora vá em Data/Monster e abra monster.xml
    Adicione esta tag
    1 - caso esteja em uma pasta
    <monster name="AAAAA" file="pokes/BBBBB/CCCCC.xml"/> 2 - caso apenas esteja na pasta pokes
    <monster name="AAAAA" file="pokes/CCCCC.xml"/> Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o nome da pasta onde ele esta
    Em "CCCCC" coloque o nome da .xml que você criou
     
    salve e feche
     
    21- Agora vá em Data/Lib e abra configuration.lua
     

    desça um pouco e se ver algo deste género
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {move1 = {name = "Aqua Tail", level = 10, cd = 12, dist = 1, target = 1, f = 50, t = "water"}, move2 = {name = "Thunder Wave", level = 12, cd = 16, dist = 1, target = 0, f = 70, t = "electric"}, move3 = {name = "Thunder Punch", level = 16, cd = 16, dist = 1, target = 1, f = 65, t = "electric"}, move4 = {name = "Fire Punch", level = 15, cd = 20, dist = 1, target = 1, f = 75, t = "electric"}, move5 = {name = "Dragon Claw", level = 22, cd = 16, dist = 1, target = 1, f = 60, t = "dragon"}, move6 = {name = "Dragon Breath", level = 40, cd = 20, dist = 1, target = 0, f = 80, t = "dragon"}, move7 = {name = "Twister", level = 46, cd = 24, dist = 1, target = 0, f = 80, t = "dragon"}, move8 = {name = "Wing Attack", level = 70, cd = 28, dist = 1, target = 0, f = 75, t = "flying"}, move9 = {name = "Hyper Beam", level = 70, cd = 24, dist = 1, target = 0, f = 190, t = "normal"}, move10 = {name = "Draco Meteor", level = 110, cd = 60, dist = 1, target = 0, f = 150, t = "dragon"}, }, Em "AAAAA" coloque o nome do pokemon
     
    Moves
    name = "Nome do attack"
    level = "Level mínimo para usar o attack"
    cd = "tempo para o attack recarregar"
    dist = "distancia mínima para usar o attack"
    target = "1 significa que precisa se alvo / 0 que não e necessário"
    f = "força do attack"
    t = "tipo do attack"
     
    Lista de tipos
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
     

    Desça mais um pouco encontrara o fly
    caso seu pokemon tenha pegue o id da outfit do fly e subtraia 351 EX: 2242-351=1891
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do fly subtraído por 351 EX: 2242-351=1891
    Em "CCCCC" coloque a velocidade que dará
     
    obs: Surf e ride mesma coisa
     

    Desça mais um pouco encontrara o pokeballs
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {effect = 188, on = BBBBB, use = CCCCC, off = DDDDD, all = {BBBBB, CCCCC, DDDDD}}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do icon on
    Em "CCCCC" coloque o ID do icon use
    Em "DDDDD" coloque o ID do icon off
     

    Desça mais um pouco encontrara o icons
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = { on = BBBBB, off = CCCCC, use = DDDDD }, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do icon on
    Em "CCCCC" coloque o ID do icon off
    Em "DDDDD" coloque o ID do icon use
     

    Desça mais um pouco encontrara o effectiveness mais não mecha nele
    Desça mais um pouco encontrara o pokes
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {offense = 4.5, defense = 10, specialattack = 12.2, vitality = 11.8, agility = 350, exp = 800, level = 80, wildLvl = 150, type = "ice", type2 = "ghost"}, Em "AAAAA" coloque o nome do pokemon
     
    offense = "offense que ganha por level"
    defense = "defense por level"
    specialattack = "special attack que ganha por level"
    vitality = "vida que o poke ganha pra cada vitality que tem"
    agility = "velocidade base dos pokes"
    exp = "experiência que dá a cada level que tem (somada a exp base, no xml do poke)"
    level = "level min pra usar o poke / offense base"
    wildlevel = "level que o pokemon selvagem será"
    type = "tipo do pokemon"
    type2 = "segundo tipo do pokemon" obs caso não tenha coloque no type"
     
    Lista de tipos
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
     

    Desça mais um pouco encontrara o fotos
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do portrait
     

    Desça mais um pouco encontrara o pokecatches
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {chance = BBBBB, corpse = CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque a chance de capturar o pokemon obs quanto maior o numero mais difícil fica
    Em "CCCCC" coloque o ID corpse
     

    Desça mais um pouco encontrara o newpokedex
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {gender = 500, level = 80, storage = 100, stoCatch = BBBBB}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque 1 e um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457
     
    gender = "género género do pokemon 500 = 50% de ser m ou f, 75 = 75% de ser f 25 = 25% de ser f, -1 = sem sexo  " obs se o server não tiver gender system não faz diferença
    level = "level min pra usar o poke " obs apenas afetará o pokedex
    storage = "Não mexa!"
    stoCatch = "coloque um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457"
     

    Desça mais um pouco encontrara o oldpokedex
    Vá ate o ultimo e cole este código.
    {"AAAAA", BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o level min pra usar o poke
    Em "CCCCC" coloque o coloque um numero depois do pokemon anterior Ex o anterior é 1290 então coloque 1291
     
    10ª
    Desça mais um pouco encontrara o poevo
    Caso o pokemon que será adicionado tenha uma anti evolução
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {level = 150, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, Em "AAAAA" coloque o nome da anti evolução pokemon
    Em "BBBBB" coloque o nome da evolução do pokemon
    Em "CCCCC" coloque o ID da stone que ira evoluir o pokemon
    Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o pokemon obs opcional deixe 0 se não tiver stone
     
    Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
     
    level = "level mínimo para evoluir o pokemon"
    evolution = "nome do pokemon evoluído"
    count = "quantidade de stones necessárias"
    stoneid = "ID da stone que ira evoluir o pokemon"
    stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
     
     
    11ª
    Desça mais um pouco encontrara o spcevo
    Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {[1] = {level = 65, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, [2] = {level = 65, evolution = "EEEEE", count = 1, stoneid = FFFFF, stoneid2 = GGGGG}}, Em "AAAAA" coloque o nome da anti evolução pokemon
    Em "BBBBB" coloque o nome da 1ª evolução do pokemon
    Em "CCCCC" coloque o ID da stone que ira evoluir o 1º pokemon
    Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o 1º pokemon obs opcional deixe 0 se não tiver stone
    Em "EEEEE" coloque o nome da 2ª evolução do pokemon
    Em "FFFFF" coloque o ID da stone que ira evoluir o 2º pokemon
    Em "GGGGG" coloque o ID do segundo tipo stone que ira evoluir o 2º pokemon obs opcional deixe 0 se não tiver stone
     
    Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
     
    level = "level mínimo para evoluir o pokemon"
    evolution = "nome do pokemon evoluído"
    count = "quantidade de stones necessárias"
    stoneid = "ID da stone que ira evoluir o pokemon"
    stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
     
    12ª
    Desça mais um pouco encontrara o gobackmsgs mais não mecha nele
    Desça mais um pouco encontrara o specialevo
    Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
     
    specialevo = {"Poliwhirl", "Gloom", "Tyrogue", "Eevee", "AAAAA"} Em "AAAAA" coloque o nome da anti evolução pokemon
     
    13ª
    Desça mais um pouco encontrara o specialabilities
    Caso queira colocar alguma habilidade no pokemon coloque
    Em "AAAAA" coloque o nome da anti evolução pokemon
     
    Coloque nas habilidades desejadas
     
    14ª
    Desça mais um pouco encontrara o auraSyst mais não mecha nele
    Desça mais um pouco encontrara o hitmonchans mais não mecha nele
    Desça mais um pouco encontrara o headbutt mais não mecha nele
    Desça mais um pouco encontrara o lookClans mais não mecha nele
    Desça mais um pouco encontrara o youAre mais não mecha nele
    Desça mais um pouco encontrara o passivesChances
    Caso queira colocar alguma especial no pokemon coloque
    Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque a chance de sair a passiva
     
    15ª
    Desça mais um pouco encontrara o pokesPrice
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o preço que o pokemon será vendido no npc
     
    salve e feche
     
    22- Agora vá em Data/Movements/ e abra o movements.xml
     

    Logo no começo voçe vera o Icone System
     
    Em <movevent type="Equip" itemid=
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     

    Em <movevent type="DeEquip
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     
    23- Agora vá em Data/Actions/ e abra o actions.xml
     
    Procure por Icone System
    Em <action itemid=
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     
    24- Caso tenha adicionado evolução vá em Data/Actions/Scripts e abra o evolution.lua
     
    Em local types =
    Vá ate o final da lista da stone que evolui o pokemon coloque o nome da anti evolução Ex , "Spearow" obs caso for 2 stones diferentes adicione nas 2
    Ficara assim
     
    25- Seja feliz
     
    Obrigado pela atenção qualquer duvida comente
    Caso ajudei REP+
    Creditos: 100% Ckfox
  6. Gostei
    Makhai Drakon recebeu reputação de J.L em (Resolvido)Colocar distancia na pesca   
    @J.L Desculpe, daqui a pouco dou uma olhada melhor no script, o range que eu te passei ele funciona para ataques, tava na esperança de funcionar como range de use também, calma aí que Jajá resolvo
  7. Curtir
    Makhai Drakon recebeu reputação de ceesar90 em Como começar a editar as sourcers de um OT?   
    @ceesar90 Vamos pensar o seguinte, o cliente usa c++ que oque faria sentido MinGW e como tu já e formado deve entender como usa né a mesma coisa no server, mas caso não saiba ainda, tenta achar um tutorial de dev c++ ai que tu deve conseguir  
  8. Gostei
    Makhai Drakon recebeu reputação de J.L em (Resolvido)Colocar distancia na pesca   
    @J.L Coloca essa tag no items.xml dentro do item 
            <attribute key="range" value="1" />
  9. Obrigado
    Makhai Drakon recebeu reputação de Gr33n em alavanca com reward   
    @1xeuzinho1 
    Coloca isso em algum lugar do seu data/items/items.xml
    <item id="AAAAA" article="a" name="BBBBB"> <attribute key="containerSize" value="8" /> <attribute key="decayTo" value="0" /> <attribute key="duration" value="55" /> </item> Em:
    AAAAA - Coloca o ID do corpse do monstro
    BBBBB - Coloca fainted (e o nome do monstro.
    Ficando assim:
    <item id="8937" article="a" name="fainted Demonn"> <attribute key="containerSize" value="8" /> <attribute key="decayTo" value="0" /> <attribute key="duration" value="55" /> </item>  
  10. Obrigado
    Makhai Drakon recebeu reputação de Christinacsa em (Resolvido)[PEDIDO] Npc troca item por item e da storage   
    @Christinacsa 
    local cfg = { need_item = {5785, 10, 2160, 10}, reward_item = {13506, 1, 2160, 1, 2161, 1, 2162, 1}, storage = 40531, } 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local msg = msg:lower() if msgcontains(msg, 'kefla') then if getPlayerStorageValue(cid, cfg.storage) < 1 then if doPlayerRemoveItem(cid, cfg.need_item[1], cfg.need_item[2]) and doPlayerRemoveItem(cid, cfg.need_item[3], cfg.need_item[4])then doPlayerAddItem(cid, cfg.reward_item[1], cfg.reward_item[2]) doPlayerAddItem(cid, cfg.reward_item[3], cfg.reward_item[4]) doPlayerAddItem(cid, cfg.reward_item[5], cfg.reward_item[6]) doPlayerAddItem(cid, cfg.reward_item[7], cfg.reward_item[8]) selfSay('You just swap '.. cfg.need_item[2] cfg.need_item[1] ..' and '.. cfg.need_item[4] cfg.need_item[3] ..'for a kefla set', cid) setPlayerStorageValue(cid, cfg.storage, 1) else selfSay('You need '.. cfg.need_item[2] ..' '.. getItemNameById(cfg.need_item[1]) ..'.', cid) end else selfSay('You already did this exchange!', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
  11. Obrigado
    Makhai Drakon recebeu reputação de Psgamerbr em (Resolvido)[Pedido] Item que mude a Sprite   
    @Psgamerbr Testa ai em vez de perder outfit so quando deslogar, eu coloquei um tempo pra perder ela
    data/actions/scripts/outfit changer.lua
    local a = { --[ItemID] = {outfit = OutfitID, effect = EffectID, cd = Cooldown_em_minutos, msg = "Mensagem_enviada_ao_usar"}, [7070] = {outfit = 300, effect = 29, cd = 60, msg = "Você ganhou temporariamente um outfit de Grim Reaper!"}, [7071] = {outfit = 301, effect = 29, cd = 60, msg = "Você ganhou temporariamente um outfit de XXXX XXXXXX!"}, [7072] = {outfit = 302, effect = 29, cd = 60, msg = "Você ganhou temporariamente um outfit de XXXX XXXXXX!"}, } function onUse(cid, item, frompos, item3, topos) local b = a[item.itemid] local out = getCreatureOutfit(cid) local function ckfox() doCreatureChangeOutfit(cid, out) return true end doCreatureChangeOutfit(cid, b.outfit) doSendMagicEffect(getThingPos(cid), b.effect) addEvent(ckfox, b.cd*60*1000) sendMsgToPlayer(cid, 27, b.msg) return true end  
    data/actions/actions.xml
    <action itemid="7070;7071;7072" event="script" value="outfit changer.lua"/>  
  12. Obrigado
    Makhai Drakon recebeu reputação de Psgamerbr em Spell que tira palalyze   
    @leozincorsair 
    Testa ai
    local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 5000) setConditionParam(condition, CONDITION_PARAM_SPEED, -5000) function onCastSpell(cid, var) local effect = 14 -- Efeito que aparecera no player local cd = 8 -- cooldown para usa a magia novamente 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 exhaustion.set(cid, 12000, cd) doCreatureSetNoMove(cid, 0) doRemoveCondition(cid, CONDITION_PARALYZE) doSendMagicEffect(getCreaturePosition(cid), effect) return TRUE end  
  13. Obrigado
    Makhai Drakon recebeu reputação de Christinacsa em (Resolvido)[PEDIDO] Npc troca item por item e da storage   
    Pelo que eu li no script não tem nada constando o group, então funciona para ambos
    Aconselho só mudar o selfsay da linha 34 falando para o player que ele ja fez a troca.
    local cfg = { need_item = {5785, 10}, reward_item = {13506, 1}, storage = 40531, } 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local msg = msg:lower() if msgcontains(msg, 'kefla') then if getPlayerStorageValue(cid, cfg.storage) < 1 then if doPlayerRemoveItem(cid, cfg.need_item[1], cfg.need_item[2]) then doPlayerAddItem(cid, cfg.reward_item[1], cfg.reward_item[2]) selfSay('You just swap '.. cfg.need_item[2] ..' '.. getItemNameById(cfg.need_item[1]) ..' for '.. cfg.reward_item[2] ..' '.. getItemNameById(cfg.reward_item[1]) ..'.', cid) setPlayerStorageValue(cid, cfg.storage, 1) else selfSay('You need '.. cfg.need_item[2] ..' '.. getItemNameById(cfg.need_item[1]) ..'.', cid) end else selfSay('You already did this exchange!', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
  14. Obrigado
    Makhai Drakon recebeu reputação de leozincorsair em Spell que tira palalyze   
    @leozincorsair 
    Testa ai
    local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 5000) setConditionParam(condition, CONDITION_PARAM_SPEED, -5000) function onCastSpell(cid, var) local effect = 14 -- Efeito que aparecera no player local cd = 8 -- cooldown para usa a magia novamente 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 exhaustion.set(cid, 12000, cd) doCreatureSetNoMove(cid, 0) doRemoveCondition(cid, CONDITION_PARALYZE) doSendMagicEffect(getCreaturePosition(cid), effect) return TRUE end  
  15. Obrigado
    Makhai Drakon recebeu reputação de gcmcorrea em Error no Login.   
    @gcmcorrea me manda seu login.lua
     
  16. Obrigado
    Makhai Drakon recebeu reputação de Christinacsa em (Resolvido)[NPC] vende storage por item   
    @Christinacsa 
    Lembra de colocar a codificação ANSI no notpad pra não bugar os acêntos
    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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { item1 = 13507, -- ID DO Item que precisara para trocar qt1 = 1000, -- Quantidade do item1 que precisa sto = 166666, -- Storage não mecher } if(msgcontains(msg, 'yes' )) then if getPlayerStorageValue(cid, config.sto) == -1 then if getPlayerItemCount(cid, config.item1) >= config.qt1 then selfSay('Você pagou a entrada oara a {PERFECT NAVE}', cid) setPlayerStorageValue(cid, config.sto, 1) doRemoveItem(cid, config.item1, config.qnt1) else selfSay('Você não tem o item necessario {Furie Coins}', cid) end else selfSay(' voce ja fez' , cid) return true end end end  
  17. Curtir
    Makhai Drakon recebeu reputação de Gnius em (Resolvido)[AJUDA] Healarea não funciona em pvp   
    @Gnius 
    Testa
     
    elseif spell == "Healarea" then local min = (getCreatureMaxHealth(cid) * 50) / 100 local max = (getCreatureMaxHealth(cid) * 60) / 100 local function doHealArea(cid, min, max) local amount = math.random(min, max) if (getCreatureHealth(cid) + amount) >= getCreatureMaxHealth(cid) then amount = -(getCreatureHealth(cid)-getCreatureMaxHealth(cid)) end if getCreatureHealth(cid) ~= getCreatureMaxHealth(cid) then doCreatureAddHealth(cid, amount) doSendAnimatedText(getThingPosWithDebug(cid), "+"..amount.."", 65) end end local pos = getPosfromArea(cid, heal) local n = 0 doHealArea(cid, min, max) while n < #pos do n = n+1 thing = {x=pos[n].x,y=pos[n].y,z=pos[n].z,stackpos=253} local pid = getThingFromPosWithProtect(thing) doSendMagicEffect(pos[n], 12) if isCreature(pid) then if isSummon(cid) and (isSummon(pid) or isPlayer(pid)) then doHealArea(pid, min, max) elseif ehMonstro(cid) and ehMonstro(pid) then doHealArea(pid, min, max) end end end  
  18. Obrigado
    Makhai Drakon recebeu reputação de mostps em [PEDIDO] NPC   
    @mostps 
    Esse era o script do meu server, eu dei uma editada nele pra você, mas eu não testei!
     
    Captain.xml
    <?xml version="1.0" encoding="UTF-8"?> <npc name="Captain" script="Captain.lua" walkinterval="3000" floorchange="0" access="5" level="100" maglevel="1"> <health now="15" max="15"/> <look type="335" head="114" body="7" legs="7" feet="7" addons="2"/> <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|, you want some {quest}?"/> </parameters> </npc> Captain.lua
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 function PArea(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end local function backp() doTeleportThing(cid, parameters.exit) end if parameters.premium == false and not isPremium(cid) then npcHandler:say('Sorry, you need to be premium account!', cid) return true elseif doPlayerRemoveMoney(cid, parameters.price) == FALSE then npcHandler:say('Sorry, you dont have enought money!', cid) return true end doPlayerSendTextMessage(cid,22,'Good Luck!.') doTeleportThing(cid, parameters.enter) addEvent(backp, parameters.minutes*60*1000) npcHandler:resetNpc() return true end local node1 = keywordHandler:addKeyword({'quest'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Nessa {quest} possui monstros muito fortes você esta pronto para enfrenta-los?? Mais antes guarde suas pokebolas no DP....ah você so tem 60 minutos de tempo para realizar essa quest!!!!'}) node1:addChildKeyword({'yes'}, PArea, {premium = no, price = 0, enter = {x=1235, y=630, z=8}, exit = {x=1235, y=630, z=8}, minutes = 60}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, then.', reset = true}) npcHandler:addModule(FocusModule:new())  
  19. Curtir
    Makhai Drakon deu reputação a Natanael Beckman em DEV C++ Compilando TFS no Windows   
    DEV C++,  aprenda a compila uma source TFS!
     
    Downloads(Baixe de acordo as configurações do seu windows):
    DEV C++ CONFIGURADO PARA 32BITS
    DEV C++ CONFIGURADO PARA 64BITS
    REV 3884 TFS 0.4
     
    Certo, feitos os downloads, extrai DEV C++ no Disco C e REV 3884 em Documentos.
    ======================================
    Abra o DEV C++:
    ======================================

    ======================================
    Abra a Source:
    ======================================

    ======================================
    Localize a pasta da Source e abra o arquivo TheForgottenServer.dev, Documentos> trunk.r3884> dev-cpp> TheForgottenServer.dev:
    ======================================

    =============================================================

    ======================================
    Aguarde carregar todos os arquivos:
    ======================================

    ======================================
    Vamos adicionar o parâmetro -D__CONSOLE__ no teclado digita ALT + P, clique em parameters e adicione o parâmetro... Feito? clique em OK:
    ======================================

    ======================================
    Vamos compilar Source, no teclado digite CTRL+F9 e aguarde finalizar o processo:
    ======================================

    ======================================
    Se der tudo certo em Log vai estar como mostra a imagem abaixo:
    ======================================

    ======================================
    Verifique na pasta Documentos> trunk.r3884> dev-cpp você vai encontrar o arquivo TheForgottenServer.exe e pronto meu parabéns você compilou!
    ======================================

    ===========================================
    Só isso galera tutorial rápido resumido e útil!
    Créditos Natanael Beckman!    
    ===========================================     
     
    Caso você adquira uma source com apenas os arquivos .cpp e .h e não sabe como compilar o projeto, abaixo vamos explicar:
    Na pasta onde está localizado os arquivos .cpp e .h crie uma pasta chamada dev-cpp, e dentro dela adicione uma imagem icone.
     

     
    Abra o DEV-C++, clique em  File> New> Project:
     

     
    Logo em seguida selecione Empty Project, em name terá o nome Project1 altere utilize o nome quer quiser, após isso clique em OK e em seguida selecione a pasta dev-cpp que criamos:
     

     
    Agora selecione a opção Win32GUI caso use source OTX ou TFS selecione Win32Console ao lado << Browse selecione a imagem do icone que está na pasta Dev-Cpp.
     

     
    No mesmo menu na aba Parameters em C++ compiler adicione os seguintes parâmetros:
    -D__ENABLE_SERVER_DIAGNOSTIC__ -D__ROOT_PERMISSION__ -D__GROUND_CACHE__ -D__USE_SQLITE__ -D__USE_MYSQL__ -D__CONSOLE__ -D__WAR_SYSTEM__ E em Linker adicione as seguintes libs:
    -lboost_filesystem -lboost_thread -lboost_system -lboost_regex -lsqlite3 -lwsock32 -llua5.1 -lws2_32 -leay32 -lmysql -lxml2 -lgmp -lz -s   No mesmo Menu na aba Build Option escreva na segunda coluna horizontal escreva Obj e dê OK.     Na lateral terá o nome do seu projeto o meu no caso é The Forgotten Server, clique com o botão direito do mouse em cima do nome e clique na opção Add Project:      Selecione na pasta da sua source todos os arquivos .cpp e .h após isso salva o projeto e já pode compilar CTRL+F9:         OpenSSL 0.9.8   1º baixe http://devpaks.org/details.php?devpak=73 2° abra Dev-Cpp > Tools > Packager Manager > Install > Seleciona o arquivo baixado e instala, fecha abre e testa!
      Clica aqui \/
  20. Obrigado
    Makhai Drakon recebeu reputação de Rodrigo Walking em [TUTORIAL] Como adicionar pokemons com {Icon System}.   
    Resolvi fazer este tutorial porque os que que encontrei estavam muito confusos e não entendi certas coisas.
     
    Programas utilizados:
    ObjectBuilder: http://www.4shared.com/rar/XsT3Kkgsba/ObjectBuilder034.html
    ItemEditor: http://www.4shared.com/file/232461654/31f90261/otitemeditor037.html
     
     
                                                                   [TUTORIAL] Como adicionar pokemons com {Icon System}.
     
     
    1- Abra o seu ObjectBuilder.
     
    2- Aperte Ctrl+O ou Clique em "File"/"Open".

     
    3- Clique em Browse.

     
    4- E abra a pasta onde fica seu tibia.spr e o tibia.dat.




     
    5- Caso for estendido marque a caixa.

     
    6- Após isto procure as outfit, corpse, ícone e portrait do pokemon desejado.







     
    obs: aconselho escrever os números em um bloco de notas

     
    7- Após isto abra o ItemEditor .
     
    8- Aperte Ctr+P ou Clique em "File"/"Preferences".

     
    9- Clique em Browse.

     
    10- E abra a pasta onde fica seu tibia.spr e o tibia.dat.




     
    11- Caso for estendido marque a caixa e confirme.

     
    12- Aperte Ctr+N ou Clique em "File"/"Open...".

     
    13- E abra a pasta onde fica seu item.otb.




     
    14- Crie 5 itens.

     
    15- Em Cliete ID coloque os IDs do portrait, corpse, 1 ícone on e 2 ícones off  que você pegou no ObjectBuilder.


     
    16- Deixe os atributos exatamente assim.
    Portrait

    Corpse

    Icone On

    Icone Use

    Icone Off

    obs: a partir daqui usara estes IDs 
    obs: aconselho escrever os números em um bloco de notas

     
    17- Por fim de save.
    .
     
    18- Agora vá em Data/Items e abra items.xml.
    Em algum local adicione isto!
    <item id="AAAAA" article="a" name="Icone."> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="BBBBB" article="a" name="Icone using"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="CCCCC" article="a" name="Icone dead"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="DDDDD" article="a" name="EEEEE"> <attribute key="containerSize" value="10" /> <attribute key="decayTo" value="0" /> <attribute key="duration" value="300" /> </item> <item id="FFFFF" article="a" name="portrait"> <attribute key="weight" value="0" /> <attribute key="slotType" value="legs" /> </item> Em "AAAAA" coloque o ID do ícone on
    Em "BBBBB" coloque o ID do ícone use
    Em "CCCCC" coloque o ID do ícone off
    Em "DDDDD" coloque o ID do corpse
    Em "EEEEE" coloque fainted "nome do poke"
    Em "FFFFF" coloque o ID do portrait
     
    Salve e feche
     
    19- Agora vá em Data/Monster/Pokes 
    Copie alguma .xml e modifique o seu nome para o do pokemon desejado  depois abra-a
    <?xml version="1.0" encoding="UTF-8"?> <monster name="AAAAA" nameDescription="a BBBBB" race="CCCCC" experience="1500" speed="207" manacost="0"> <health now="270" max="270"/> <look type="DDDDD" head="90" body="100" legs="95" feet="113" corpse="EEEEE"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="97"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" range="1" min="-50" max="-100"/> <attack name="Aqua Tail" interval="2805" chance="29" range="1"/> <attack name="Headbutt" interval="2705" chance="29" range="1"/> <attack name="Dragon Breath" interval="3040" chance="28" range="6"/> <attack name="Hyper Beam" interval="2899" chance="29" range="5"/> <attack name="Thunder Wave" interval="2993" chance="28" range="6"/> <attack name="Twister" interval="2852" chance="29" range="3"/> <attack name="Wing Attack" interval="3040" chance="28" range="6"/> <attack name="Thunder Punch" interval="2752" chance="29" range="1"/> <attack name="Fire Punch" interval="2952" chance="29" range="1"/> <attack name="Dragon Claw" interval="2900" chance="29" range="1"/> </attacks> <defenses armor="0" defense="0"> </defenses> <voices interval="5000" chance="10"> <voice sentence="FFFFF!"/> </voices> <loot> <item id="11449" chance="150" count="1" countmax="1"/> <item id="12159" chance="3000" count="1" countmax="1"/> <item id="13794" chance="10000" countmax="80"/> --snowball <item id="12275" chance="3000" count="1" countmax="1"/> <item id="12244" chance="70" count="1" countmax="1"/> <item id="12338" chance="10" count="1"/> --bag box --bag box </loot> <script> <event name="Spawn"/> </script> </monster> Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID da outfit do pokemon
    Em "CCCCC" coloque o a raça do pokemon
    Em "DDDDD" coloque o ID da outfit do pokemon  obs: no meu caso e 2241
    Em "EEEEE" coloque o ID corpse obs: no meu caso e 20758
    Em "FFFFF" coloque a fala do pokemon
    Lista de raças:
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost   Attacks Lembrando esses são os ataques que os pokemons selvagens soltara!   E possível ver os attacks em data/spells/scripts/ps   name = "Nome do attack" interval = "Intervalo para usar o attack" chance = Chance do attack ser acertado" obs: sempre deixe o melee 100 range = "Distancia mínima necessária para usar o attack"  
    Loot
     
    item id = "ID do item que será dropado"
    chance = "Chance do item ser dropado"
    count = "Mínimo de itens a ser dropado"
    countmax = "Máximo de itens a ser dropado"
     
    salve e feche
     
    20- Agora vá em Data/Monster e abra monster.xml
    Adicione esta tag
    1 - caso esteja em uma pasta
    <monster name="AAAAA" file="pokes/BBBBB/CCCCC.xml"/> 2 - caso apenas esteja na pasta pokes
    <monster name="AAAAA" file="pokes/CCCCC.xml"/> Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o nome da pasta onde ele esta
    Em "CCCCC" coloque o nome da .xml que você criou
     
    salve e feche
     
    21- Agora vá em Data/Lib e abra configuration.lua
     

    desça um pouco e se ver algo deste género
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {move1 = {name = "Aqua Tail", level = 10, cd = 12, dist = 1, target = 1, f = 50, t = "water"}, move2 = {name = "Thunder Wave", level = 12, cd = 16, dist = 1, target = 0, f = 70, t = "electric"}, move3 = {name = "Thunder Punch", level = 16, cd = 16, dist = 1, target = 1, f = 65, t = "electric"}, move4 = {name = "Fire Punch", level = 15, cd = 20, dist = 1, target = 1, f = 75, t = "electric"}, move5 = {name = "Dragon Claw", level = 22, cd = 16, dist = 1, target = 1, f = 60, t = "dragon"}, move6 = {name = "Dragon Breath", level = 40, cd = 20, dist = 1, target = 0, f = 80, t = "dragon"}, move7 = {name = "Twister", level = 46, cd = 24, dist = 1, target = 0, f = 80, t = "dragon"}, move8 = {name = "Wing Attack", level = 70, cd = 28, dist = 1, target = 0, f = 75, t = "flying"}, move9 = {name = "Hyper Beam", level = 70, cd = 24, dist = 1, target = 0, f = 190, t = "normal"}, move10 = {name = "Draco Meteor", level = 110, cd = 60, dist = 1, target = 0, f = 150, t = "dragon"}, }, Em "AAAAA" coloque o nome do pokemon
     
    Moves
    name = "Nome do attack"
    level = "Level mínimo para usar o attack"
    cd = "tempo para o attack recarregar"
    dist = "distancia mínima para usar o attack"
    target = "1 significa que precisa se alvo / 0 que não e necessário"
    f = "força do attack"
    t = "tipo do attack"
     
    Lista de tipos
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
     

    Desça mais um pouco encontrara o fly
    caso seu pokemon tenha pegue o id da outfit do fly e subtraia 351 EX: 2242-351=1891
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do fly subtraído por 351 EX: 2242-351=1891
    Em "CCCCC" coloque a velocidade que dará
     
    obs: Surf e ride mesma coisa
     

    Desça mais um pouco encontrara o pokeballs
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {effect = 188, on = BBBBB, use = CCCCC, off = DDDDD, all = {BBBBB, CCCCC, DDDDD}}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do icon on
    Em "CCCCC" coloque o ID do icon use
    Em "DDDDD" coloque o ID do icon off
     

    Desça mais um pouco encontrara o icons
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = { on = BBBBB, off = CCCCC, use = DDDDD }, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do icon on
    Em "CCCCC" coloque o ID do icon off
    Em "DDDDD" coloque o ID do icon use
     

    Desça mais um pouco encontrara o effectiveness mais não mecha nele
    Desça mais um pouco encontrara o pokes
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {offense = 4.5, defense = 10, specialattack = 12.2, vitality = 11.8, agility = 350, exp = 800, level = 80, wildLvl = 150, type = "ice", type2 = "ghost"}, Em "AAAAA" coloque o nome do pokemon
     
    offense = "offense que ganha por level"
    defense = "defense por level"
    specialattack = "special attack que ganha por level"
    vitality = "vida que o poke ganha pra cada vitality que tem"
    agility = "velocidade base dos pokes"
    exp = "experiência que dá a cada level que tem (somada a exp base, no xml do poke)"
    level = "level min pra usar o poke / offense base"
    wildlevel = "level que o pokemon selvagem será"
    type = "tipo do pokemon"
    type2 = "segundo tipo do pokemon" obs caso não tenha coloque no type"
     
    Lista de tipos
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
     

    Desça mais um pouco encontrara o fotos
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do portrait
     

    Desça mais um pouco encontrara o pokecatches
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {chance = BBBBB, corpse = CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque a chance de capturar o pokemon obs quanto maior o numero mais difícil fica
    Em "CCCCC" coloque o ID corpse
     

    Desça mais um pouco encontrara o newpokedex
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {gender = 500, level = 80, storage = 100, stoCatch = BBBBB}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque 1 e um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457
     
    gender = "género género do pokemon 500 = 50% de ser m ou f, 75 = 75% de ser f 25 = 25% de ser f, -1 = sem sexo  " obs se o server não tiver gender system não faz diferença
    level = "level min pra usar o poke " obs apenas afetará o pokedex
    storage = "Não mexa!"
    stoCatch = "coloque um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457"
     

    Desça mais um pouco encontrara o oldpokedex
    Vá ate o ultimo e cole este código.
    {"AAAAA", BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o level min pra usar o poke
    Em "CCCCC" coloque o coloque um numero depois do pokemon anterior Ex o anterior é 1290 então coloque 1291
     
    10ª
    Desça mais um pouco encontrara o poevo
    Caso o pokemon que será adicionado tenha uma anti evolução
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {level = 150, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, Em "AAAAA" coloque o nome da anti evolução pokemon
    Em "BBBBB" coloque o nome da evolução do pokemon
    Em "CCCCC" coloque o ID da stone que ira evoluir o pokemon
    Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o pokemon obs opcional deixe 0 se não tiver stone
     
    Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
     
    level = "level mínimo para evoluir o pokemon"
    evolution = "nome do pokemon evoluído"
    count = "quantidade de stones necessárias"
    stoneid = "ID da stone que ira evoluir o pokemon"
    stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
     
     
    11ª
    Desça mais um pouco encontrara o spcevo
    Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {[1] = {level = 65, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, [2] = {level = 65, evolution = "EEEEE", count = 1, stoneid = FFFFF, stoneid2 = GGGGG}}, Em "AAAAA" coloque o nome da anti evolução pokemon
    Em "BBBBB" coloque o nome da 1ª evolução do pokemon
    Em "CCCCC" coloque o ID da stone que ira evoluir o 1º pokemon
    Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o 1º pokemon obs opcional deixe 0 se não tiver stone
    Em "EEEEE" coloque o nome da 2ª evolução do pokemon
    Em "FFFFF" coloque o ID da stone que ira evoluir o 2º pokemon
    Em "GGGGG" coloque o ID do segundo tipo stone que ira evoluir o 2º pokemon obs opcional deixe 0 se não tiver stone
     
    Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
     
    level = "level mínimo para evoluir o pokemon"
    evolution = "nome do pokemon evoluído"
    count = "quantidade de stones necessárias"
    stoneid = "ID da stone que ira evoluir o pokemon"
    stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
     
    12ª
    Desça mais um pouco encontrara o gobackmsgs mais não mecha nele
    Desça mais um pouco encontrara o specialevo
    Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
     
    specialevo = {"Poliwhirl", "Gloom", "Tyrogue", "Eevee", "AAAAA"} Em "AAAAA" coloque o nome da anti evolução pokemon
     
    13ª
    Desça mais um pouco encontrara o specialabilities
    Caso queira colocar alguma habilidade no pokemon coloque
    Em "AAAAA" coloque o nome da anti evolução pokemon
     
    Coloque nas habilidades desejadas
     
    14ª
    Desça mais um pouco encontrara o auraSyst mais não mecha nele
    Desça mais um pouco encontrara o hitmonchans mais não mecha nele
    Desça mais um pouco encontrara o headbutt mais não mecha nele
    Desça mais um pouco encontrara o lookClans mais não mecha nele
    Desça mais um pouco encontrara o youAre mais não mecha nele
    Desça mais um pouco encontrara o passivesChances
    Caso queira colocar alguma especial no pokemon coloque
    Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque a chance de sair a passiva
     
    15ª
    Desça mais um pouco encontrara o pokesPrice
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o preço que o pokemon será vendido no npc
     
    salve e feche
     
    22- Agora vá em Data/Movements/ e abra o movements.xml
     

    Logo no começo voçe vera o Icone System
     
    Em <movevent type="Equip" itemid=
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     

    Em <movevent type="DeEquip
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     
    23- Agora vá em Data/Actions/ e abra o actions.xml
     
    Procure por Icone System
    Em <action itemid=
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     
    24- Caso tenha adicionado evolução vá em Data/Actions/Scripts e abra o evolution.lua
     
    Em local types =
    Vá ate o final da lista da stone que evolui o pokemon coloque o nome da anti evolução Ex , "Spearow" obs caso for 2 stones diferentes adicione nas 2
    Ficara assim
     
    25- Seja feliz
     
    Obrigado pela atenção qualquer duvida comente
    Caso ajudei REP+
    Creditos: 100% Ckfox
  21. Gostei
    Makhai Drakon recebeu reputação de henriquesafadao em [TUTORIAL] Como adicionar pokemons com {Icon System}.   
    Resolvi fazer este tutorial porque os que que encontrei estavam muito confusos e não entendi certas coisas.
     
    Programas utilizados:
    ObjectBuilder: http://www.4shared.com/rar/XsT3Kkgsba/ObjectBuilder034.html
    ItemEditor: http://www.4shared.com/file/232461654/31f90261/otitemeditor037.html
     
     
                                                                   [TUTORIAL] Como adicionar pokemons com {Icon System}.
     
     
    1- Abra o seu ObjectBuilder.
     
    2- Aperte Ctrl+O ou Clique em "File"/"Open".

     
    3- Clique em Browse.

     
    4- E abra a pasta onde fica seu tibia.spr e o tibia.dat.




     
    5- Caso for estendido marque a caixa.

     
    6- Após isto procure as outfit, corpse, ícone e portrait do pokemon desejado.







     
    obs: aconselho escrever os números em um bloco de notas

     
    7- Após isto abra o ItemEditor .
     
    8- Aperte Ctr+P ou Clique em "File"/"Preferences".

     
    9- Clique em Browse.

     
    10- E abra a pasta onde fica seu tibia.spr e o tibia.dat.




     
    11- Caso for estendido marque a caixa e confirme.

     
    12- Aperte Ctr+N ou Clique em "File"/"Open...".

     
    13- E abra a pasta onde fica seu item.otb.




     
    14- Crie 5 itens.

     
    15- Em Cliete ID coloque os IDs do portrait, corpse, 1 ícone on e 2 ícones off  que você pegou no ObjectBuilder.


     
    16- Deixe os atributos exatamente assim.
    Portrait

    Corpse

    Icone On

    Icone Use

    Icone Off

    obs: a partir daqui usara estes IDs 
    obs: aconselho escrever os números em um bloco de notas

     
    17- Por fim de save.
    .
     
    18- Agora vá em Data/Items e abra items.xml.
    Em algum local adicione isto!
    <item id="AAAAA" article="a" name="Icone."> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="BBBBB" article="a" name="Icone using"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="CCCCC" article="a" name="Icone dead"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="DDDDD" article="a" name="EEEEE"> <attribute key="containerSize" value="10" /> <attribute key="decayTo" value="0" /> <attribute key="duration" value="300" /> </item> <item id="FFFFF" article="a" name="portrait"> <attribute key="weight" value="0" /> <attribute key="slotType" value="legs" /> </item> Em "AAAAA" coloque o ID do ícone on
    Em "BBBBB" coloque o ID do ícone use
    Em "CCCCC" coloque o ID do ícone off
    Em "DDDDD" coloque o ID do corpse
    Em "EEEEE" coloque fainted "nome do poke"
    Em "FFFFF" coloque o ID do portrait
     
    Salve e feche
     
    19- Agora vá em Data/Monster/Pokes 
    Copie alguma .xml e modifique o seu nome para o do pokemon desejado  depois abra-a
    <?xml version="1.0" encoding="UTF-8"?> <monster name="AAAAA" nameDescription="a BBBBB" race="CCCCC" experience="1500" speed="207" manacost="0"> <health now="270" max="270"/> <look type="DDDDD" head="90" body="100" legs="95" feet="113" corpse="EEEEE"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="97"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" range="1" min="-50" max="-100"/> <attack name="Aqua Tail" interval="2805" chance="29" range="1"/> <attack name="Headbutt" interval="2705" chance="29" range="1"/> <attack name="Dragon Breath" interval="3040" chance="28" range="6"/> <attack name="Hyper Beam" interval="2899" chance="29" range="5"/> <attack name="Thunder Wave" interval="2993" chance="28" range="6"/> <attack name="Twister" interval="2852" chance="29" range="3"/> <attack name="Wing Attack" interval="3040" chance="28" range="6"/> <attack name="Thunder Punch" interval="2752" chance="29" range="1"/> <attack name="Fire Punch" interval="2952" chance="29" range="1"/> <attack name="Dragon Claw" interval="2900" chance="29" range="1"/> </attacks> <defenses armor="0" defense="0"> </defenses> <voices interval="5000" chance="10"> <voice sentence="FFFFF!"/> </voices> <loot> <item id="11449" chance="150" count="1" countmax="1"/> <item id="12159" chance="3000" count="1" countmax="1"/> <item id="13794" chance="10000" countmax="80"/> --snowball <item id="12275" chance="3000" count="1" countmax="1"/> <item id="12244" chance="70" count="1" countmax="1"/> <item id="12338" chance="10" count="1"/> --bag box --bag box </loot> <script> <event name="Spawn"/> </script> </monster> Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID da outfit do pokemon
    Em "CCCCC" coloque o a raça do pokemon
    Em "DDDDD" coloque o ID da outfit do pokemon  obs: no meu caso e 2241
    Em "EEEEE" coloque o ID corpse obs: no meu caso e 20758
    Em "FFFFF" coloque a fala do pokemon
    Lista de raças:
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost   Attacks Lembrando esses são os ataques que os pokemons selvagens soltara!   E possível ver os attacks em data/spells/scripts/ps   name = "Nome do attack" interval = "Intervalo para usar o attack" chance = Chance do attack ser acertado" obs: sempre deixe o melee 100 range = "Distancia mínima necessária para usar o attack"  
    Loot
     
    item id = "ID do item que será dropado"
    chance = "Chance do item ser dropado"
    count = "Mínimo de itens a ser dropado"
    countmax = "Máximo de itens a ser dropado"
     
    salve e feche
     
    20- Agora vá em Data/Monster e abra monster.xml
    Adicione esta tag
    1 - caso esteja em uma pasta
    <monster name="AAAAA" file="pokes/BBBBB/CCCCC.xml"/> 2 - caso apenas esteja na pasta pokes
    <monster name="AAAAA" file="pokes/CCCCC.xml"/> Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o nome da pasta onde ele esta
    Em "CCCCC" coloque o nome da .xml que você criou
     
    salve e feche
     
    21- Agora vá em Data/Lib e abra configuration.lua
     

    desça um pouco e se ver algo deste género
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {move1 = {name = "Aqua Tail", level = 10, cd = 12, dist = 1, target = 1, f = 50, t = "water"}, move2 = {name = "Thunder Wave", level = 12, cd = 16, dist = 1, target = 0, f = 70, t = "electric"}, move3 = {name = "Thunder Punch", level = 16, cd = 16, dist = 1, target = 1, f = 65, t = "electric"}, move4 = {name = "Fire Punch", level = 15, cd = 20, dist = 1, target = 1, f = 75, t = "electric"}, move5 = {name = "Dragon Claw", level = 22, cd = 16, dist = 1, target = 1, f = 60, t = "dragon"}, move6 = {name = "Dragon Breath", level = 40, cd = 20, dist = 1, target = 0, f = 80, t = "dragon"}, move7 = {name = "Twister", level = 46, cd = 24, dist = 1, target = 0, f = 80, t = "dragon"}, move8 = {name = "Wing Attack", level = 70, cd = 28, dist = 1, target = 0, f = 75, t = "flying"}, move9 = {name = "Hyper Beam", level = 70, cd = 24, dist = 1, target = 0, f = 190, t = "normal"}, move10 = {name = "Draco Meteor", level = 110, cd = 60, dist = 1, target = 0, f = 150, t = "dragon"}, }, Em "AAAAA" coloque o nome do pokemon
     
    Moves
    name = "Nome do attack"
    level = "Level mínimo para usar o attack"
    cd = "tempo para o attack recarregar"
    dist = "distancia mínima para usar o attack"
    target = "1 significa que precisa se alvo / 0 que não e necessário"
    f = "força do attack"
    t = "tipo do attack"
     
    Lista de tipos
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
     

    Desça mais um pouco encontrara o fly
    caso seu pokemon tenha pegue o id da outfit do fly e subtraia 351 EX: 2242-351=1891
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do fly subtraído por 351 EX: 2242-351=1891
    Em "CCCCC" coloque a velocidade que dará
     
    obs: Surf e ride mesma coisa
     

    Desça mais um pouco encontrara o pokeballs
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {effect = 188, on = BBBBB, use = CCCCC, off = DDDDD, all = {BBBBB, CCCCC, DDDDD}}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do icon on
    Em "CCCCC" coloque o ID do icon use
    Em "DDDDD" coloque o ID do icon off
     

    Desça mais um pouco encontrara o icons
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = { on = BBBBB, off = CCCCC, use = DDDDD }, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do icon on
    Em "CCCCC" coloque o ID do icon off
    Em "DDDDD" coloque o ID do icon use
     

    Desça mais um pouco encontrara o effectiveness mais não mecha nele
    Desça mais um pouco encontrara o pokes
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {offense = 4.5, defense = 10, specialattack = 12.2, vitality = 11.8, agility = 350, exp = 800, level = 80, wildLvl = 150, type = "ice", type2 = "ghost"}, Em "AAAAA" coloque o nome do pokemon
     
    offense = "offense que ganha por level"
    defense = "defense por level"
    specialattack = "special attack que ganha por level"
    vitality = "vida que o poke ganha pra cada vitality que tem"
    agility = "velocidade base dos pokes"
    exp = "experiência que dá a cada level que tem (somada a exp base, no xml do poke)"
    level = "level min pra usar o poke / offense base"
    wildlevel = "level que o pokemon selvagem será"
    type = "tipo do pokemon"
    type2 = "segundo tipo do pokemon" obs caso não tenha coloque no type"
     
    Lista de tipos
    fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel, ghost
     

    Desça mais um pouco encontrara o fotos
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o ID do portrait
     

    Desça mais um pouco encontrara o pokecatches
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {chance = BBBBB, corpse = CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque a chance de capturar o pokemon obs quanto maior o numero mais difícil fica
    Em "CCCCC" coloque o ID corpse
     

    Desça mais um pouco encontrara o newpokedex
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {gender = 500, level = 80, storage = 100, stoCatch = BBBBB}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque 1 e um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457
     
    gender = "género género do pokemon 500 = 50% de ser m ou f, 75 = 75% de ser f 25 = 25% de ser f, -1 = sem sexo  " obs se o server não tiver gender system não faz diferença
    level = "level min pra usar o poke " obs apenas afetará o pokedex
    storage = "Não mexa!"
    stoCatch = "coloque um numero depois do pokemon anterior Ex o anterior é 666456 então coloque 666457"
     

    Desça mais um pouco encontrara o oldpokedex
    Vá ate o ultimo e cole este código.
    {"AAAAA", BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o level min pra usar o poke
    Em "CCCCC" coloque o coloque um numero depois do pokemon anterior Ex o anterior é 1290 então coloque 1291
     
    10ª
    Desça mais um pouco encontrara o poevo
    Caso o pokemon que será adicionado tenha uma anti evolução
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {level = 150, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, Em "AAAAA" coloque o nome da anti evolução pokemon
    Em "BBBBB" coloque o nome da evolução do pokemon
    Em "CCCCC" coloque o ID da stone que ira evoluir o pokemon
    Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o pokemon obs opcional deixe 0 se não tiver stone
     
    Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
     
    level = "level mínimo para evoluir o pokemon"
    evolution = "nome do pokemon evoluído"
    count = "quantidade de stones necessárias"
    stoneid = "ID da stone que ira evoluir o pokemon"
    stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
     
     
    11ª
    Desça mais um pouco encontrara o spcevo
    Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = {[1] = {level = 65, evolution = "BBBBB", count = 1, stoneid = CCCCC, stoneid2 = DDDDD}, [2] = {level = 65, evolution = "EEEEE", count = 1, stoneid = FFFFF, stoneid2 = GGGGG}}, Em "AAAAA" coloque o nome da anti evolução pokemon
    Em "BBBBB" coloque o nome da 1ª evolução do pokemon
    Em "CCCCC" coloque o ID da stone que ira evoluir o 1º pokemon
    Em "DDDDD" coloque o ID do segundo tipo stone que ira evoluir o 1º pokemon obs opcional deixe 0 se não tiver stone
    Em "EEEEE" coloque o nome da 2ª evolução do pokemon
    Em "FFFFF" coloque o ID da stone que ira evoluir o 2º pokemon
    Em "GGGGG" coloque o ID do segundo tipo stone que ira evoluir o 2º pokemon obs opcional deixe 0 se não tiver stone
     
    Para saber o ID das stones desça um pouco o configuration.lua que terá uma lista
     
    level = "level mínimo para evoluir o pokemon"
    evolution = "nome do pokemon evoluído"
    count = "quantidade de stones necessárias"
    stoneid = "ID da stone que ira evoluir o pokemon"
    stoneid2 = "ID do segundo tipo stone que ira evoluir o pokemon" obs opcional
     
    12ª
    Desça mais um pouco encontrara o gobackmsgs mais não mecha nele
    Desça mais um pouco encontrara o specialevo
    Caso o pokemon que será adicionado tenha uma evolução especial Ex gloom ele pode evoluir para vileplume ou bellossom
     
    specialevo = {"Poliwhirl", "Gloom", "Tyrogue", "Eevee", "AAAAA"} Em "AAAAA" coloque o nome da anti evolução pokemon
     
    13ª
    Desça mais um pouco encontrara o specialabilities
    Caso queira colocar alguma habilidade no pokemon coloque
    Em "AAAAA" coloque o nome da anti evolução pokemon
     
    Coloque nas habilidades desejadas
     
    14ª
    Desça mais um pouco encontrara o auraSyst mais não mecha nele
    Desça mais um pouco encontrara o hitmonchans mais não mecha nele
    Desça mais um pouco encontrara o headbutt mais não mecha nele
    Desça mais um pouco encontrara o lookClans mais não mecha nele
    Desça mais um pouco encontrara o youAre mais não mecha nele
    Desça mais um pouco encontrara o passivesChances
    Caso queira colocar alguma especial no pokemon coloque
    Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque a chance de sair a passiva
     
    15ª
    Desça mais um pouco encontrara o pokesPrice
    Vá ate o ultimo e cole este código.
    ["AAAAA"] = BBBBB, Em "AAAAA" coloque o nome do pokemon
    Em "BBBBB" coloque o preço que o pokemon será vendido no npc
     
    salve e feche
     
    22- Agora vá em Data/Movements/ e abra o movements.xml
     

    Logo no começo voçe vera o Icone System
     
    Em <movevent type="Equip" itemid=
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     

    Em <movevent type="DeEquip
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     
    23- Agora vá em Data/Actions/ e abra o actions.xml
     
    Procure por Icone System
    Em <action itemid=
    Va ate o final da lista  coloque o id o ícone on-id do ícone off;             Ex 20740-20742;
    Ficara assim
     
    24- Caso tenha adicionado evolução vá em Data/Actions/Scripts e abra o evolution.lua
     
    Em local types =
    Vá ate o final da lista da stone que evolui o pokemon coloque o nome da anti evolução Ex , "Spearow" obs caso for 2 stones diferentes adicione nas 2
    Ficara assim
     
    25- Seja feliz
     
    Obrigado pela atenção qualquer duvida comente
    Caso ajudei REP+
    Creditos: 100% Ckfox
  22. Curtir
    Makhai Drakon deu reputação a Dwarfer em Job System   
    ACABOU A MOLEZA! Você que sempre fez os NPC's trabalharem dia e noite, disponíveis a qualquer momento mesmo que seja apenas para receber um "hi, buy rope, yes". A COISA MUDOU! Agora você vai ter que ralar. E olhe que os monstros estão com muito gold para gastar devido às mortes de aventureiros, despreparados de AOL ou de bençãos, que acabam por deixar dinheiro nas suas backpacks. VÁ TRABALHAR, SEU VAGAB..! 
     
    Depois dessa ladainha toda, estava eu testando algumas funções, umas coisitas aqui e ali e ao misturar tudo saiu isso aí meio que sem querer. Tem uns pontos que podem ser melhorados, mas como disse serviu apenas como uns testes para mim, mas resolvi compartilhar, mesmo sendo simplesinho. Acho que será útil para servidor com um pouquinho de RPG. Testado em TFS 0.4 e versão 8.60.
     
    O Job System é um sistema no qual o player atenderá pedidos dos monstros. Cada pedido correto, o player ganha 1 job point que pode ser utilizado para comprar itens no npc ou como você queira fazer, em quests, acessos, seja lá o que for. O funcionamento é demonstrado no vídeo abaixo:
     
     
     
    Segue o código do sistema (MOD) e do NPC.
     
    jobsystem.xml
     
     
     
    CONFIGURAÇÃO:
     
    Desde que configure corretamente o mapa, não tem praticamente nada para modificar. 
    monsters = { [1] = {"Amazon", "Dwarf", "Elf Scout"}, [2] = {"Barbarian Bloodwalker", "Dwarf Guard", "Warlock"}, [3] = {"Vampire Bride", "Dwarf Geomancer", "Infernalist"} }  
    times = { deal = 30, lever = 2 } Aqui deal é o tempo em segundos entre cada pedido. Lever é o tempo em minutos para poder usar a alavanca novamente. Aconselho deixá-los nesses valores, já testei e funcionou certinho assim.
     
    A configuração ocorre praticamente no mapa:
     
    1 - Crie uma "loja" do mesmo tamanho e com a mesma configuração que as mostradas no vídeo e na imagem abaixo. Apenas com a posição do meio livre.
     

     
    Não importa a "orientação" da loja. A única exigência é que a alavanca sempre esteja do lado do braço direito do char, conforme a imagem.
     
    MUITO IMPORTANTE: NÃO USE ITENS STACKABLES NA LOJA
     

     
    2. Definindo o rank da loja:
    ALAVANCA DE ACTION ID:
     
    4421 - Rank Apprentice
    4422 - Rank Merchant
    4423 - Rank Rashid
     
    3. Todos os itens que não devem ser arrastados (itens da loja ou de decoração que não devam ser arrastados como o royal axe que mostrei lá no vídeo) devem receber o actionid 4420.
     
    4. Os pisos onde os monstros serão criados devem ter actionid 4420. Além disso, ser área no-pvp e no logout (apenas por precaução).
     
    5. Toda a área restante deve ser Protection Zone (PZ). Além disso, os locais do centro da loja onde os players ficarão devem ser No Logout Area.
     
     
    Dwarfer.xml
     
     
     
    job.lua
     
     
     
    Configuração do NPC:
     
    promote = {tomerchant = 50, torashid = 100}, tomerchant = 50 -> São necessários 50 pontos no rank Apprentice para avançar
    torashid = 100 -> São necessários 100 pontos no rank Merchant para avançar
     
    entice_rank = {-- Apprentice [2154] = {price = 1}, [2158] = {price = 3}, [2155] = {price = 7}, [2156] = {price = 100} }, merchant_rank = { -- Merchant [1998] = {price = 15}, [5950] = {price = 25}, [1987] = {price = 70}, [2402] = {price = 100} }, rashid_rank = { -- Rashid [9993] = {price = 15}, [9992] = {price = 25}, [9992] = {price = 70}, [7399] = {price = 100}} }  
    [id_do_item] = {price = preço do item}  que aparecerá na lista do NPC. 
     
    É isso aí, seus vagal's  
  23. Gostei
    Makhai Drakon deu reputação a Pepeco em Mining system   
    • Mining System •
    Vim aqui disponibilizar o mining, não é tão avançado como o de outros mas ele é totalmente automático tanto para colocar items quanto para vender os items (alavanca). É uma script simples e fácil de entender, podendo ter alterações com pessoas que não tem muito experiencia em lua. Mesmo que ele seja simples, o forum esta morrendo, pretendo fazer updates nele, caso alguém tenha alguma ideia do que possa fazer, só deixar um comentário.
     
    • Explicação •
    › Mining_Config
    config = { Level = 8, Axe_Skill = 10, Paredes = {5646,5640,5645,5639,5644,5648}, } -- Level = Level necessario para minerar -- Axe_Skill = Skill de axe necessaria para poder minerar -- Paredes = Paredes que vao ser mineradas › Mining_Items
    config = { [1] = {Item = 2157, Random_min = 1, Random2_min = nil, Random_max = 3, Random2_max = nil, Count = 2, Special_Storage = nil, Magic_Effect = nil, Count_Shop = nil, Money_Shop = nil}, -- Gold Nugget } -- Random_min = A chance de cair o item em math.random -- Random2_min = Essa chance é menor, ou seja, mais dificil de cair. -- Random_max = É a chance maxima -- Random2_max = A mesma coisa que o de cima -- Count = A quantidade maxima que pode cair, é aleatorio -- Special_Storage = Caso voce queira que de alguma storage, para ver quantos players ja conseguiram e etc.. -- Magic_Effect = Caso queira que de algum magic effect diferente, se for nil, será o padrao. -- Count_Shop = Quantidade necessaria para poder vender o item no shop (alavanca) -- Money_Shop = Quanto que o item vai custar, por unidade ou seja, se eu colocar Count_Shop = 100 e Money_Shop = 2000, vai ser 100 * 2000. -- No final que tem esse "--" é o nome do item, é melhor se organizar assim, pois se ficar muitos items e voce querer fazer alguma manutenção, facilita muito.  
    Bom, eu acho que é isso, não tem mais nada para se explicar. Então vamos para o script.
     
    Data/lib
     
    Data/actions/scripts
    Data/actions -- Abra o actions.xml
    <action itemid="id do item" script="nome do arquivo"/>  
    Data/actions/scripts -- Esse aqui é o shop, não é obrigatório.
    Data/actions -- Abra o actions.xml
    <action actionid="id da action" script="nome do arquivo"/>  
    Caso tenha gostado, deixe seu REP+, ajuda e motiva muito trazer conteúdo para o forum.
     
  24. Gostei
    Makhai Drakon recebeu reputação de thelifeofpbion em [PROJETO] Rust Tibia   
    --Por favor me digam se me apoião ou não! Isso e muito importante para mim !--
     


    Mapa do tópico
     
    Resumo
    Inovações
    Introdução
    Vagas
    Objetivos
    Imagens
    Spoilers
    Atualizações
    Conclusão

    --Resumo--

    Os players começarão com um livro de receitas básico que você fará apenas os itens necessários!
    Dentro do livro terá algumas receitas que se você possuir os materiais necessários para produzir a receita desejada você apenas precisa utiliza-la para criar o item!
     
    Com o tempo você vai evoluindo seu livro assim desbloqueando novas receitas.

    Cinza = Comum (Inicial)
    Azul = Incomum (Comprado)
    Amarelo = Raro (Vocation)
    Vermelho = Épico (Quest)
    Roxo = Lendário (???)
     
    OBS: Cada livro tem no mínimo 1 receita única!
    Estamos utilizando a versão 8.6 pois temos maior liberdade de modificações!
    O cliente será próprio pois terá diversos itens novos

    --Inovações--
    Teremos diversos sistemas inovadores, mas que deixarei para descobrirem por si mesmos.
    Mas abaixo vou divulgando alguns para que desperte seus interesses em nosso servidor!
     
    House system
    O house system em nosso server terá um grande diferencial pois terá "terrenos" em diversas locais sorteados no meio do mapa pode ate mesmo ter um no meio de uma hunt e você mesmo construirá sua casa no espaço já delimitado! 

    --Introdução--
    Esta cansado desses serves padrões de poketibia, narutibia, dbo ou tibia ?
    Hoje venho trazer uma grande oportunidade/inovação para o mundo tibia !
     
    Então hoje venho pedir uma ajuda da comunidade do tk !
    Consigo fazer sprites e sistemas muito bons mas quero que a qualidade das sprites seja muito boas!  
    Desenhar não e meu ponto forte, nem mesmo mapping, mas consigo me virar com o vago conhecimento que tenho nessa área!
    Por isto estou aqui pedindo a colaboração de vocês, para que nosso server seja o melhor possível!
     
    Que tal trazermos um mundo de sobrevivência ao tibia ?

    --Vagas--
    Spriter -- Toda ajuda e bem vinda! 
    Scripter -- Toda ajuda e bem vinda! 
    WebDisigner -- Não sei se irei fazer site ainda! 
    Mapper -- Toda ajuda e bem vinda! 
    Programador -- Toda ajuda e bem vinda! 
     
    Me viro em todas mas uma ajuda sempre e bem vinda!

    --Objetivos--
    1
    Meu primeiro objetivo e fazer com que as pessoas saiam do automático e testem novas fronteiras no mundo tibia.
    2
    Criar sistemas com a melhor qualidade possível.
    3
    Trazer a felicidade as pessoas 

    --Imagens--
    OBS: tera muito mais ilhas! estas 3 são apenas uma demonstração do que ja foi feito o mesmo para os itens!!!



     
     
     
    To meio sem tempo agora mas quando possível disponibilizo mais imagens!

    --Spoilers--

     

    --Atualizações--
     
    1.0
    1.1
    Para próxima atualização pretendo já ter feito a sprite e o script de todas receitas !

    --Conclusão--
    Então galera essa e minha ideia caso queiram ajudar ou dar sugestões e só comentar ai !
    OBS: Não pretendo parar jamais com este projeto!
     
    Site provisório: http://rusttibia.webnode.com

  25. Gostei
    Makhai Drakon recebeu reputação de Pepeco em [PROJETO] Rust Tibia   
    --Por favor me digam se me apoião ou não! Isso e muito importante para mim !--
     


    Mapa do tópico
     
    Resumo
    Inovações
    Introdução
    Vagas
    Objetivos
    Imagens
    Spoilers
    Atualizações
    Conclusão

    --Resumo--

    Os players começarão com um livro de receitas básico que você fará apenas os itens necessários!
    Dentro do livro terá algumas receitas que se você possuir os materiais necessários para produzir a receita desejada você apenas precisa utiliza-la para criar o item!
     
    Com o tempo você vai evoluindo seu livro assim desbloqueando novas receitas.

    Cinza = Comum (Inicial)
    Azul = Incomum (Comprado)
    Amarelo = Raro (Vocation)
    Vermelho = Épico (Quest)
    Roxo = Lendário (???)
     
    OBS: Cada livro tem no mínimo 1 receita única!
    Estamos utilizando a versão 8.6 pois temos maior liberdade de modificações!
    O cliente será próprio pois terá diversos itens novos

    --Inovações--
    Teremos diversos sistemas inovadores, mas que deixarei para descobrirem por si mesmos.
    Mas abaixo vou divulgando alguns para que desperte seus interesses em nosso servidor!
     
    House system
    O house system em nosso server terá um grande diferencial pois terá "terrenos" em diversas locais sorteados no meio do mapa pode ate mesmo ter um no meio de uma hunt e você mesmo construirá sua casa no espaço já delimitado! 

    --Introdução--
    Esta cansado desses serves padrões de poketibia, narutibia, dbo ou tibia ?
    Hoje venho trazer uma grande oportunidade/inovação para o mundo tibia !
     
    Então hoje venho pedir uma ajuda da comunidade do tk !
    Consigo fazer sprites e sistemas muito bons mas quero que a qualidade das sprites seja muito boas!  
    Desenhar não e meu ponto forte, nem mesmo mapping, mas consigo me virar com o vago conhecimento que tenho nessa área!
    Por isto estou aqui pedindo a colaboração de vocês, para que nosso server seja o melhor possível!
     
    Que tal trazermos um mundo de sobrevivência ao tibia ?

    --Vagas--
    Spriter -- Toda ajuda e bem vinda! 
    Scripter -- Toda ajuda e bem vinda! 
    WebDisigner -- Não sei se irei fazer site ainda! 
    Mapper -- Toda ajuda e bem vinda! 
    Programador -- Toda ajuda e bem vinda! 
     
    Me viro em todas mas uma ajuda sempre e bem vinda!

    --Objetivos--
    1
    Meu primeiro objetivo e fazer com que as pessoas saiam do automático e testem novas fronteiras no mundo tibia.
    2
    Criar sistemas com a melhor qualidade possível.
    3
    Trazer a felicidade as pessoas 

    --Imagens--
    OBS: tera muito mais ilhas! estas 3 são apenas uma demonstração do que ja foi feito o mesmo para os itens!!!



     
     
     
    To meio sem tempo agora mas quando possível disponibilizo mais imagens!

    --Spoilers--

     

    --Atualizações--
     
    1.0
    1.1
    Para próxima atualização pretendo já ter feito a sprite e o script de todas receitas !

    --Conclusão--
    Então galera essa e minha ideia caso queiram ajudar ou dar sugestões e só comentar ai !
    OBS: Não pretendo parar jamais com este projeto!
     
    Site provisório: http://rusttibia.webnode.com

Informação Importante

Confirmação de Termo