Ir para conteúdo

smowking

Membro
  • Registro em

  • Última visita

Tudo que smowking postou

  1. Estou planejando iniciar um projeto e não quero ter os problemas de crash que existia no antigo PDA (Pokemon Dash Advanced). Andei dando uma olhada na comunidade e os projetos aparentemente mais promissores e bem feitos atualmente são: The Ruby Project (TFS 1.3); DarkXPoke - DxP (TFS 0.3.6); Tendo isso em mente, qual dos dois é mais recomendável por vocês que já utilizaram estes servidores?
  2. Galera, gostaria de saber se alguém consegue retirar a verificação de update do cliente 8.54 utilizando algum HexEditor?
  3. Qual o motivo deste tópico? Estou querendo utilizar um executável antigo de um otserver versão 8.54 que eu jogo, porém quando abro e tento entrar no jogo ele diz que a versão está incorreta pedindo para que eu baixe o novo cliente. Eu tenho o novo cliente também, e gostaria de saber onde exatamente eu posso editar com o HexEditor no cliente antigo para que ele pare de me dizer que existe uma versão nova. Os valores eu posso olhar no novo cliente para saber qual seria.
  4. smowking postou uma resposta no tópico em Outros Bots
    Cara, não é querendo ser ignorante nem nada, mas você aparentemente não entende nem o básico do cenário de desenvolvimento para tentar fazer um bot levando em consideração apenas algo que aparentemente "ouviu falar" de como pode funcionar, mas está no caminho, buscando informação. Uma das linguagens mais utilizadas para a leitura de memória e o bot é o C/C++apesar de alguns serem desenvolvidos tmb em outras linguagens como C# onde eu mesmo já desenvolvi os meus. Entenda a seguinte frase como um incentivo como quando disseram pra mim, mas "Eu duvido que você consiga desenvolver algo do tipo". Prove pra mim que estou errado ?
  5. smowking postou uma resposta no tópico em Suporte Tibia OTServer
    Qual servidor estão usando?
  6. Você quer que ele ganhe 50 pts quando ele logar a 1ª vez??
  7. Isso vai te retornar o resultado em minutos, porque eles fazem uma multiplicação pra ficar mais facil entendimento do tempo configurado, onde o "1000" são os milissegundos, "60" os segundos e o "2" minutos, pois o resultado para ser lido deve ser em milissegundos.
  8. Tente assim: function onDeath(player, corpse, killer, mostDamage, unjustified, mostDamage_unjustified) if getPlayerFlagValue(player, PlayerFlag_NotGenerateLoot) then --or player:getVocation():getId() == VOCATION_NONE then return true end local amulet = player:getSlotItem(CONST_SLOT_NECKLACE) if amulet and amulet.itemid == ITEM_AMULETOFLOSS and not isInArray({SKULL_RED, SKULL_BLACK}, player:getSkull()) then local isPlayer = false if killer then if killer:isPlayer() then isPlayer = true else local master = killer:getMaster() if master and master:isPlayer() then isPlayer = true end end end if not isPlayer or not player:hasBlessing(5) then player:removeItem(ITEM_AMULETOFLOSS, 1, -1, true) end else for i = CONST_SLOT_HEAD, CONST_SLOT_AMMO do local item = player:getSlotItem(i) if item then if isInArray({SKULL_RED, SKULL_BLACK}, player:getSkull()) or math.random(1, 100) <= player:getLossPercent() then item:moveTo(corpse) end end end end if not player:getSlotItem(CONST_SLOT_BACKPACK) then local bag = player:addItem(ITEM_BAG, 1, false, CONST_SLOT_BACKPACK) end return true end
  9. Na minha opinião ainda é Pokemon e DBO
  10. Tem sim amigo, é só fazer as alterações no spawn.cpp das sources se nao me engano.
  11. smowking postou uma resposta no tópico em Suporte & Pedidos
    Não mesmo, é o mapa do pokemon, vc ja deve ter visto o shape... kkk
  12. smowking postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Nao tem muito o que dizer galera, é simplesmente o NPC Yana do Tibia global que eu fiz, as transcrições estão as mesmas, porém sem a chance de quebra do item! Aproveitem! Bora quebrar essa coisa de venda de otserv galera! Yana.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Yana" script="Yana.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0" > <health max="100" now="100"/> <look type="471" head="68" body="38" legs="0" feet="49" addons="2" mount="0"/> <parameters> <parameter key="message_greet" value="Blessings, Player!How may I help you? Do you wish to trade some {token}s, or do you need some {information}?" /> <parameter key="message_farewell" value="Charge all kind of weapons! For the cost of some tokens only!" /> <parameter key="message_walkaway" value="Farewell, Player." /> </parameters> </npc> Yana.lua -------------------------------------------- --------- Script by Smowking --------------- ----- Plese, do not remove the credits ----- -------------------------------------------- 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 local IdToken = 25377 -- Configurar id do token local items = { ["mayhem"] = { ["wand"] = {itemId = 26261, tokens_cost = 50, charged = 26271, heavycharged = 26281, overcharged = 26291}, ["rod"] = {itemId = 26262, tokens_cost = 50, charged = 26272, heavycharged = 26282, overcharged = 26292}, ["sword"] = {itemId = 26253, tokens_cost = 50, charged = 26263, heavycharged = 26273, overcharged = 26283}, ["slayer"] = {itemId = 26254, tokens_cost = 50, charged = 26264, heavycharged = 26274, overcharged = 26284}, ["axe"] = {itemId = 26255, tokens_cost = 50, charged = 26265, heavycharged = 26275, overcharged = 26285}, ["chopper"] = {itemId = 26256, tokens_cost = 50, charged = 26266, heavycharged = 26276, overcharged = 26286}, ["club"] = {itemId = 26257, tokens_cost = 50, charged = 26267, heavycharged = 26277, overcharged = 26287}, ["hammer"] = {itemId = 26258, tokens_cost = 50, charged = 26268, heavycharged = 26278, overcharged = 26288}, ["bow"] = {itemId = 26259, tokens_cost = 50, charged = 26269, heavycharged = 26280, overcharged = 26289}, ["crossbow"] = {itemId = 26361, tokens_cost = 50, charged = 26362, heavycharged = 26363, overcharged = 26364}, }, ["carving"] = { ["wand"] = {itemId = 26365, tokens_cost = 50, charged = 26366, heavycharged = 26367, overcharged = 26367}, ["rod"] = {itemId = 26369, tokens_cost = 50, charged = 26370, heavycharged = 26371, overcharged = 26372}, ["sword"] = {itemId = 26333, tokens_cost = 50, charged = 26334, heavycharged = 26335, overcharged = 26336}, ["slayer"] = {itemId = 26337, tokens_cost = 50, charged = 26338, heavycharged = 26339, overcharged = 26340}, ["axe"] = {itemId = 26341, tokens_cost = 50, charged = 26342, heavycharged = 26343, overcharged = 26344}, ["chopper"] = {itemId = 26345, tokens_cost = 50, charged = 26346, heavycharged = 26347, overcharged = 26348}, ["club"] = {itemId = 26349, tokens_cost = 50, charged = 26350, heavycharged = 26351, overcharged = 26352}, ["hammer"] = {itemId = 26353, tokens_cost = 50, charged = 26354, heavycharged = 26355, overcharged = 26356}, ["bow"] = {itemId = 26357, tokens_cost = 50, charged = 26358, heavycharged = 26359, overcharged = 26360}, ["crossbow"] = {itemId = 26361, tokens_cost = 50, charged = 26362, heavycharged = 26363, overcharged = 26364}, }, ["remedy"] = { ["wand"] = {itemId = 26325, tokens_cost = 50, charged = 26326, heavycharged = 26327, overcharged = 26328}, ["rod"] = {itemId = 26329, tokens_cost = 50, charged = 26330, heavycharged = 26331, overcharged = 26332}, ["sword"] = {itemId = 26293, tokens_cost = 50, charged = 26294, heavycharged = 26295, overcharged = 26296}, ["slayer"] = {itemId = 26297, tokens_cost = 50, charged = 26298, heavycharged = 26299, overcharged = 26300}, ["axe"] = {itemId = 26301, tokens_cost = 50, charged = 26302, heavycharged = 26303, overcharged = 26304}, ["chopper"] = {itemId = 26305, tokens_cost = 50, charged = 26306, heavycharged = 26307, overcharged = 26308}, ["club"] = {itemId = 26309, tokens_cost = 50, charged = 26310, heavycharged = 26311, overcharged = 26312}, ["hammer"] = {itemId = 26313, tokens_cost = 50, charged = 26314, heavycharged = 26315, overcharged = 26316}, ["bow"] = {itemId = 26317, tokens_cost = 50, charged = 26318, heavycharged = 26319, overcharged = 26320}, ["crossbow"] = {itemId = 26321, tokens_cost = 50, charged = 26322, heavycharged = 26323, overcharged = 26324}, } } local function creatureSayCallback(cid, type, msg) local player = Player(cid) if not npcHandler:isFocused(cid) then return false end if npcHandler.topic[cid] == 1 then if msgcontains(msg, "mayhem") then npcHandler:say("Ah, very good. I can offer you a one-handed weapon: {sword}, {axe} or {club}. You may also take a two-handed weapon: {slayer}, {chopper} or {hammer}. I also can offer you a {bow}, {crossbow}, {wand} or {rod}. Which one do you choose?", cid) npcHandler.topic[cid] = 2 elseif msgcontains(msg, "carving") then npcHandler:say("Ah, very good. I can offer you a one-handed weapon: {sword}, {axe} or {club}. You may also take a two-handed weapon: {slayer}, {chopper} or {hammer}. I also can offer you a {bow}, {crossbow}, {wand} or {rod}. Which one do you choose?", cid) npcHandler.topic[cid] = 3 elseif msgcontains(msg, "remedy") then npcHandler:say("Ah, very good. I can offer you a one-handed weapon: {sword}, {axe} or {club}. You may also take a two-handed weapon: {slayer}, {chopper} or {hammer}. I also can offer you a {bow}, {crossbow}, {wand} or {rod}. Which one do you choose?", cid) npcHandler.topic[cid] = 4 end elseif npcHandler.topic[cid] == 2 then local itemsDisp = items["mayhem"] local finally = itemsDisp[msg] if finally then if player:removeItem(IdToken, finally.tokens_cost) then npcHandler:say("Ah, excellent. Here is your "..msg.." of mayhem.", cid) player:addItem(finally.itemId, 1) npcHandler.topic[cid] = 0 else npcHandler:say("You don't have enough of tokens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("I\'m sorry but I did not understand what you said...", cid) end elseif npcHandler.topic[cid] == 3 then local itemsDisp = items["carving"] local finally = itemsDisp[msg] if finally then if player:removeItem(IdToken, finally.tokens_cost) then npcHandler:say("Ah, excellent. Here is your "..msg.." of carving.", cid) player:addItem(finally.itemId, 1) npcHandler.topic[cid] = 0 else npcHandler:say("You don't have enough of tokens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("I\'m sorry but I did not understand what you said...", cid) end elseif npcHandler.topic[cid] == 4 then local itemsDisp = items["remedy"] local finally = itemsDisp[msg] if finally then if player:removeItem(IdToken, finally.tokens_cost) then npcHandler:say("Ah, excellent. Here is your "..msg.." of remedy.", cid) player:addItem(finally.itemId, 1) npcHandler.topic[cid] = 0 else npcHandler:say("You don't have enough of tokens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("I\'m sorry but I did not understand what you said...", cid) end elseif npcHandler.topic[cid] == 5 then if msgcontains(msg, "risk") then npcHandler:say({ 'If I overcharge your weapon, there\'s a risk that the charging doesn\'t succeed. See, the complex process of charging a weapon with this kind of {energy} is very challenging. ...', 'It can make the weapon\'s substance very instable and in this case the charging won\'t succeed. Yet I\'d have to keep your tokens for my effort so they will be lost for you anyway. I hope you understand this. ...', 'Of course, if it works your weapon will be remarkably more powerful for a certain time. It\'s up to you, make your choice.' }, cid) elseif msgcontains(msg, "energy") then npcHandler:say({ 'I\'m sorry but I won\'t reveal the exact process of charging a weapon. It\'s about keeping business secrets, you know. All I can tell you is that I use a special kind of energetic-based enchantment magic. ...', 'It is consigned in my family for many generations. This is the reason why only special weapons, which I can offer you in exchange for {gold} tokens, can be charged with this method.' }, cid) npcHandler.topic[cid] = 0 elseif msgcontains(msg, "mayhem") then npcHandler:say("As you wish. Which kind of item do you want to charge: {sword}, {axe}, {club}, {slayer}, {chopper}, {hammer}, {bow}, {crossbow}, {wand} or {rod}?", cid) npcHandler.topic[cid] = 6 elseif msgcontains(msg, "carving") then npcHandler:say("As you wish. Which kind of item do you want to charge: {sword}, {axe}, {club}, {slayer}, {chopper}, {hammer}, {bow}, {crossbow}, {wand} or {rod}?", cid) npcHandler.topic[cid] = 7 elseif msgcontains(msg, "remedy") then npcHandler:say("As you wish. Which kind of item do you want to charge: {sword}, {axe}, {club}, {slayer}, {chopper}, {hammer}, {bow}, {crossbow}, {wand} or {rod}?", cid) npcHandler.topic[cid] = 8 end elseif npcHandler.topic[cid] == 6 then local itemsDisp = items["mayhem"] local finally = itemsDisp[msg] if finally then if player:getItemCount(IdToken) >= 5 and player:getItemCount(finally.itemId) >= 1 then player:removeItem(IdToken, 5) player:removeItem(finally.itemId, 1) player:addItem(finally.charged, 1) elseif player:getItemCount(IdToken) >= 5 and player:getItemCount(finally.charged) >= 1 then player:removeItem(IdToken, 5) player:removeItem(finally.charged, 1) player:addItem(finally.heavycharged, 1) elseif player:getItemCount(IdToken) >= 5 and player:getItemCount(finally.heavycharged) >= 1 then player:removeItem(IdToken, 5) player:removeItem(finally.heavycharged, 1) player:addItem(finally.overcharged, 1) else npcHandler:say("I'm sorry but you don't have the appropriate weapon. Come back if you're in the possession of a "..msg.." of mayhem.", cid) end else npcHandler:say("I\'m sorry but I did not understand what you said...", cid) end elseif npcHandler.topic[cid] == 7 then local itemsDisp = items["carving"] local finally = itemsDisp[msg] if finally then if player:getItemCount(IdToken) >= 5 and player:getItemCount(finally.itemId) >= 1 then player:removeItem(IdToken, 5) player:removeItem(finally.itemId, 1) player:addItem(finally.charged, 1) elseif player:getItemCount(IdToken) >= 5 and player:getItemCount(finally.charged) >= 1 then player:removeItem(IdToken, 5) player:removeItem(finally.charged, 1) player:addItem(finally.heavycharged, 1) elseif player:getItemCount(IdToken) >= 5 and player:getItemCount(finally.heavycharged) >= 1 then player:removeItem(IdToken, 5) player:removeItem(finally.heavycharged, 1) player:addItem(finally.overcharged, 1) else npcHandler:say("I'm sorry but you don't have the appropriate weapon. Come back if you're in the possession of a "..msg.." of carving.", cid) end else npcHandler:say("I\'m sorry but I did not understand what you said...", cid) end elseif npcHandler.topic[cid] == 8 then local itemsDisp = items["remedy"] local finally = itemsDisp[msg] if finally then if player:getItemCount(IdToken) >= 5 and player:getItemCount(finally.itemId) >= 1 then player:removeItem(IdToken, 5) player:removeItem(finally.itemId, 1) player:addItem(finally.charged, 1) elseif player:getItemCount(IdToken) >= 5 and player:getItemCount(finally.charged) >= 1 then player:removeItem(IdToken, 5) player:removeItem(finally.charged, 1) player:addItem(finally.heavycharged, 1) elseif player:getItemCount(IdToken) >= 5 and player:getItemCount(finally.heavycharged) >= 1 then player:removeItem(IdToken, 5) player:removeItem(finally.heavycharged, 1) player:addItem(finally.overcharged, 1) else npcHandler:say("I'm sorry but you don't have the appropriate weapon. Come back if you're in the possession of a "..msg.." of remedy.", cid) end else npcHandler:say("I\'m sorry but I did not understand what you said...", cid) end end if msgcontains(msg, "information") then npcHandler:say({ '{Token}s are small objects made of metal or other materials. You can use them to buy superior equipment from {token} traders like me. ...', 'There are several ways to obtain the tokens Im interested in - killing certain bosses, for example. In exchange for a certain amount of tokens, I can offer you some first-class items. ...' }, cid) elseif msgcontains(msg, "token") then npcHandler:say("If you have any {gold} tokens with you, let's have a look! Maybe I can offer you something in exchange.", cid) elseif msgcontains(msg, "gold") then npcHandler:say({ 'Here\'s the deal, Jess Leewyn. For 50 of your gold tokens, I can offer you some special equipment pieces which you can {charge} with a certain item type. I have the following item types to offer: {mayhem}, {remedy} or {carving}. ...', 'I may also give you a short {description} what these labels mean. So, which item type are you most interested in?' }, cid) npcHandler.topic[cid] = 1 elseif msgcontains(msg, "charge") then npcHandler:say({ 'I may charge your equipment in the exchange of {gold} tokens. This gives your weapon some temporary improvements. For five tokens you\'ll get a charged weapon and for ten tokens a heavily charged one. ...', 'For the cost of fifteen tokens I can also overcharge your weapon but that comes with a certain {risk}. There are three equipment types I can charge: {mayhem}, {remedy} or {carving}. What kind of weapon would you like to charge?' }, cid) npcHandler.topic[cid] = 5 elseif msgcontains(msg, "description") then npcHandler:say({ 'A weapon of mayhem increases your chance to hit harder and to enhance the damage you inflict. A weapon of remedy gives you a certain chance to gain a part of a creature\'s life energy for yourself. ...', 'And a weapon of carving does the same with a creature\'s mana.' }, cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  13. Juntamente ao download segue as sources, onde você mesmo pode fazer a compilação amigo. Estão deixando de substituir algum arquivo que faz parte do reward system no servidor de vocês. Ja tive esse problema e atualizei os arquivos, foi quando tudo pegou perfeitamente. Confira se na pasta "data>Monster>scripts" tem o arquivo "boss.lua" e nas flags do monstro tem "<flag rewardboss="1" />". Não te culpo pela falta de informação amigo. Devia postar suas dúvidas como todos estão fazendo, comentários desse tipo não vão te ajudar em nada.
  14. smowking postou uma resposta no tópico em Suporte Tibia OTServer
    Por nada!
  15. smowking postou uma resposta no tópico em Suporte Tibia OTServer
    Abre o spawn.xml na pasta Word e retira o respawn dele por la!
  16. smowking postou uma resposta no tópico em Suporte Tibia OTServer
    Obrigado amigo, vou testar quando chegar em casa e volto a postar aqui! Se der certo talvez monte um tutorial! Mais uma vez obrigado!
  17. smowking postou uma resposta no tópico em Suporte Tibia OTServer
    Gostaria de saber se alguem pode me ensinar a instalar a função de Equip Hotkey do tibia nas minhas sources, estou com uma certa dificuldade. Creio que nao preciso ser mais específico quanto ao sistema, pois todos conhecem! Desde ja agradeço a todos!
  18. Na versão oficial do TFS 1.2 10.77 (Que é a última) já existe as principais funções como o Mercado do depot por exemplo? Percebi que não é muito de fugir das versões oficiais do tfs, então por que decidiu fazer o datapack em cima de uma versão não oficial?
  19. Certo amigo, mas o datapack usa funções presentes nos códigos fontes, e até onde sei as versões mais atuais do TFS não possuem coisas presentes no código fonte como certas funções do Tibia (Novo Store, novo depot, entre outras). Então supondo que um membro do fórum use esse datapack com uma build do TFS, ainda sim conterá bugs.
  20. Provavelmente sim, se após este erro ele crasha. Poste o kill.lua pra gente poder ver.
  21. Então amigo, nem sempre esta é a melhor solução, pode ser algum erro bobo. @cleiverton Tem alguma função sendo executada no creaturescripts quando um player mata o outro? Como é Enforced, provavelmente deve ter adição de items, algo assim que possa estar influenciando. Poderia postar o seu creaturescripts.xml?
  22. smowking postou uma resposta no tópico em Formação de Equipe
    Adicionado amigo. É um prazer poder conversar contigo novamente!
  23. Boa tarde amigo, poderia dar uma olhada no nosso projeto? Estamos a procura de apoiadores! Obrigado e aguardo resposta! Obrigado!
  24. smowking postou uma resposta no tópico em Formação de Equipe
    Índice 1- Sobre nós; 2- Novidades recentes; 3- Equipe e recrutamento; 1- Sobre nós Boa noite pessoal, eu sou o Smowking, dono e desenvolvedor do RealPoke, um projeto que vem sendo desenvolvido a mais ou menos 2 anos, onde já teve até um test server. Como todo mundo, eu passei por uma faze da vida onde escolhas realizadas teriam consequências pelo resto da vida, e graças a Deus tudo está dando certo e com tempo de sobra, esse foi o motivo de o projeto ter dado uma parado e ao mesmo tempo o motivo de estar voltando, o fato de estar tudo resolvido. Desde o início fiz tudo praticamente sozinho, tive algumas pessoas que começaram a me ajudar mas sempre acabavam se ocupando demais e não podiam continuar, e como o projeto está voltando com tudo, vim hoje abrir vagas para quem tiver interesse! Primeiro vamos apresentar um pouco sobre o projeto, a seguir algumas ScreenShots: 2- Novidades recentes Acho que posso dizer que não houve um tempo em que o projeto ficou "parado", mas coisas novas ou modificações sendo feitas à um ritmo bem lento. Abaixo listarei e/ou explicarei algumas delas. Moves Os moves sofreram uma reformulação total, onde agora tudo conta! Antes haviam os stats de Attack, Defense, Sp.Attack, Speed e HP apenas. Até então o stats de Attack era apenas para ataques físicos dos pokemons (Aquele onde ele hita automaticamente de 2 em 2 segundos), e oSp.Attack era para os moves. A Defense era calculado para ambos stats, meio fora de sentido o funcionamento deles né? Foi adicionado o stats deSp.Defense e agora o hit é calculado de acordo com o Attack do pokemon e a Defense do oponente, ou o Sp.Attack do pokemon e a Sp.Defensedo oponente sendo definido para cada move se ele é do tipo "Physical" ou "Special". Resumindo, até os cálculos dos hits e moves estão de acordo com o pokemon original. Pokemons Os levels dos pokemons ainda estão sob questão se mantemos igual o pokemon ou se adaptamos ao servidor, teremos que testar qual se adapta melhor a jogabilidade. Como o calculo dos hits, os pokemons também foram balanceados, fazendo com que um Squirtle dificilmente vença um Bulbasaur do mesmo level se não tiver uma tática boa, pois como todos sabemos as vantagens e desvantagens contam bastante na hora da batalha. Quanto mais próximo o level do seu pokemon com o level do pokemon oponente, mais difícil será a batalha, a partir daí as batalhas entre jogadores com pokemons level 100 se tornam puramente estratégia. Geral Acima foram listadas novidades que realmente valem ser ressaltadas e que nos tornam realmente diferente de vários servidores já existentes apesar das sprites. Tivemos algumas outras modificações como, Tela do cliente aumentada, o TM System foi revisado, novos moves (originais do pokemon), sistema de aluguem de casas (Imagens no facebook), etc. 3- Equipe e recrutamento Atualmente sou apenas eu de desenvolvedor no projeto, estou a procura de colaboradores e pessoas maduras e com um tempo disponível para a equipe, então quem se encaixa nas vagas abaixo pode estar entrando em contato comigo pelo fórum, post ou facebook. Oportunidades Scripter Programador C/C++ Cliente Maker (Com experiencia em OtCliente) Então vou deixar abaixo o formulário caso queiram postar aqui no fórum mesmo: Nome: Idade: Tempo disponível: Função e tempo de experiencia: Contato (Skype, Facebook):

Informação Importante

Confirmação de Termo