Ir para conteúdo

Rafael Mateus

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    Rafael Mateus recebeu reputação de Weddson em (Resolvido)Como mudar looktype de um player quando morrer {Help}   
    voce tem que coloca virgula no final
    [12] = 2930, --- assim [13] = 2806 ---- a ultima voce n coloca ,
  2. Gostei
    Rafael Mateus recebeu reputação de Zauster em (Resolvido)Como mudar looktype de um player quando morrer {Help}   
    Vai Em data/creaturescripts/scripts Cria Um Lua Com Nome niwdeath.lua
    e coloca isso dentro:
     
    local table = {
    [1] = 2882, --- [1] Vocation 2882 == ID Do Corpse
    [2] = 2882 

    }

    local function transform(pos, id, voc)
    local item = getTileItemById(pos, id)
    if item and item.uid > 1 then
    doTransformItem(item.uid, table[voc])
    doDecayItem(item.uid or 0)
    end
    end

    function onDeath(cid, corpse)
    if not isPlayer(cid) or not table[getPlayerVocation(cid)] then return true end
    addEvent(transform, 15, getThingPos(cid), corpse.itemid, getPlayerVocation(cid))
    return true
    end
     
    Depois Vai Em Login.lua e Coloca Isso:
     
    registerCreatureEvent(cid, "Niwdeath")
     
    Depois Vai creaturescripts.xml e coloca Isso Dentro:
     
    <event type="death" name="Niwdeath" event="script" value="niwdeath.lua"/>
  3. Gostei
    Rafael Mateus recebeu reputação de Vika em Sprite De Ninja   
    Sim Vou Add
    Atualizando Esse Eu Fiz Com Minha Propria Outline:

  4. Gostei
    Rafael Mateus recebeu reputação de luanluciano93 em Votação #Sword - Academia do Pixel   
    Ajudou Pakas o Tutorial Do Madarada
     

     
     
    Proximo Tema: Monstros Qualquer Tipo
  5. Gostei
    Rafael Mateus recebeu reputação de Wesley Alexandre2014 em [AJUDA] Npc que vende spells   
    se pah voce deixa learn spells com vocation none
  6. Gostei
    Rafael Mateus deu reputação a WooX em Sprite De Ninja   
    Claro, posso sim, agora estou no trabalho rsrs, assim que chegar em casa faço 1 edit e te explico.

    Edit: o segredo para fazer 1 bom metal, é contraste, você escolheu muito bem as cores (usei as mesmas)... no caso da armadura, use as cores escuras para definir como serão as formas, e as cores claras para dar volume as formas.
     

  7. Gostei
    Rafael Mateus deu reputação a WooX em Sprite De Ninja   
    Muito bom, começou intender como funciona, melhorou bastante.
     
    Edit: não precisa separar os braços com a outline, oque vai definir a forma deles, é a pintura e o AA.
     

  8. Gostei
    Rafael Mateus deu reputação a WooX em Sprite De Ninja   
    Veja esse tutorial para intender melhor as cores.
     
    http://www.pixelaria.org/tutorialpt5
     
    E da uma lida no que o Madarada explicou sobre outline.
     
    http://www.tibiaking.com/forum/topic/38178-apostila-sprite-seduction2-aprimoramento/
     
    Dica: salve as imagens sempre em png ou gif, jpg tira a qualidade da imagem.
  9. Gostei
    Rafael Mateus recebeu reputação de WooX em Sprite De Ninja   
    so n to conseguindo fazer as dobras 
    n to sabendo escolher a cor certa e queria aprende fazer melhores outlines

  10. Gostei
    Rafael Mateus deu reputação a xWhiteWolf em Voodoo   
    Aeeeeeee carai, hoje vim trazer pra vocês meu mais novo sistema *-*. É uma fodenda spell que você seleciona alguém pra ser seu voodoo e a partir disso durante um tempo X ela vai receber todos os hit's que você deveria receber... INCRÍVEL, NÃO?
    Agora se nesse meio tempo ela deslogar ou entrar em pz você vai tomar o dano normal, mas se ainda tiver nesse tempo X e ela sair ela vai receber o dano instantaneamente (É BOM DEMAIS PRA SER VERDADE).

    Agora você deve estar imaginando, e se eu usar a magia pra transferir o dano pra um amigo e ele fizer a mesma coisa em mim, pra onde vai o dano?
    PRA LUGAR NENHUM!!!! Até porque eu já me previni contra esse bug fazendo com que não seja possível fazer alguém de voodoo se ele já tiver alguém de voodoo.
    Testado em versão 8.54 TFS Crying Damnson mas deve funcionar em todas as versões que tenham a função onStatsChange no creaturescripts.
    Bom, o script tá 100% funcional e livre de bugs (se vc achar algum eu te dou 3 REP).

    Agora vamos à mágica:
     
    Crie um arquivo em mods com extensão .xml e adiciona isso daqui nele
    <?xml version="1.0" encoding="UTF-8"?> <mod name="Voodoo System" version="1.0" author="Night Wolf" contact="none" enabled="yes"> ------------------------------------------------------------------------------------ <config name="feitisso"><![CDATA[ configuration = { storage = 24567,  tempo = 20, cooldown = 45, effect1 = 13, effect2 = 65 } storagecool = 24568 ]]></config> ---------------------------------------------------------------------------------- <event type="login" name="registerVoodoo" event="script"><![CDATA[ function onLogin(cid) domodlib('feitisso') if getPlayerStorageValue(cid, configuration.storage) > 0 then doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end registerCreatureEvent(cid,"voodoo") return true end ]]></event> ------------------------------------------------------------------------------------ <instant name="Feitiço" words="voodoo" lvl="50" mana="10" prem="1" range="3" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> <![CDATA[ function onCastSpell(cid, var) domodlib('feitisso') if not (isPlayer(variantToNumber(var))) then doPlayerSendCancel(cid, "You can only use this spell in players.") return false end if getPlayerStorageValue(variantToNumber(var), configuration.storage) > 0 then doPlayerSendCancel(cid, "You can't make a voodoo of someone who already has a voodoo.") return false end if (os.time() - getPlayerStorageValue(cid, storagecool)) >= configuration.cooldown then if getPlayerStorageValue(cid, configuration.storage) <= 0 then timeleft = (os.time() + configuration.cooldown) doPlayerSetStorageValue(cid, storagecool, timeleft) local target = getPlayerGUID(variantToNumber(var)) doPlayerSetStorageValue(cid, configuration.storage, target) doSendMagicEffect(getPlayerPosition(cid), configuration.effect1) doSendMagicEffect(getThingPos(variantToNumber(var)), configuration.effect1) addEvent(function()   if isCreature(cid) then doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end  end, 100+1000*configuration.tempo) elseif getPlayerStorageValue (cid, configuration.storage) > 0 then doPlayerSendCancel(cid, "You've already set a target.") end else doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(configuration.cooldown - (os.time() - getPlayerStorageValue(cid, storagecool))).." seconds.") end return true end ]]></instant> ------------------------------------------------------------------------------------ <event type="statschange" name="voodoo" event="script"><![CDATA[ function onStatsChange(cid, attacker, type, combat, value) domodlib('feitisso') if isPlayer(cid) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and getPlayerStorageValue(cid, configuration.storage) >= 1 then local name = getPlayerNameByGUID(getPlayerStorageValue(cid, configuration.storage)) local victim = getCreatureByName(name) if isCreature(victim) and not (getTilePzInfo(getPlayerPosition(victim)))  then dano = math.ceil(value) doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) if attacker == victim then doTargetCombatHealth(cid, victim, combat, -dano, -dano, configuration.effect2) else doTargetCombatHealth(attacker, victim, combat, -dano, -dano, configuration.effect2) end return false end end return true end ]]></event> ------------------------------------------------------------------------------------ </mod> aqui você edita os storages da magia e do cooldown, além do tempo que ela dura, o tempo de cooldown (um uso e outro) e os efeitos que vão sair.
    -------------------------------------------------------------------------------------------------------------
     
    aqui você edita o nome da spell, as palavras pra ela sair, level, custo de mana, se é preciso ser premium pra usar, o range dela, e as vocações que podem usá-la.

    OBS: se vc quiser que essa spell seja ganha em uma quest (por se tratar de algo bastante apelativo), é só colocar needlearn = "1" e fazer uma quest pra ganhar a spell (tem no meu Darkness Pact Quest uma quest de ganhar Spell, é só ir lá no meu perfil e procurar o tópico).

    Essa spell não serve somente pra ATS, use a criatividade pra criar uma história e fazer ela se encaixar... foque nos elementos de RPG e tcharam, está feito!.

    Façam bom uso e espero que não saiam postando em outros lugares sem os devidos créditos. Abraços do lobinho pra vcs

    PS: a foto ficou meio bosta mas vou postar mesmo assim 

     
    Eu (sorc) ataquei a zuera e tomei o dano de volta e ainda saiu esse efeitinho bonito. 

    Espero que tenham gostado e usem essa spell como base pra fazer outras coisas maravilhosas pra esse fórum   
    E não esqueça de clicar em "gostei" caso tenha curtido a idéia.

    Ahhh, e antes que eu me esqueça dos agradecimentos:
    @ViitinG por me ajudar a testar
    @CreatServer por me dar a idéia
    @MaXwEllDeN por me orientar a trocar a table pelo storage possibilitando que o script fosse possível.
  11. Gostei
    Rafael Mateus deu reputação a WooX em Sprite De Ninja   
    Vejo que esta realmente decido a ser um spriter, xD.
     
    Bom vamos la...
     
    Um tutorial básico:
     
    Outline.
     
    1° quando estamos falando de um monstro ou outfit COMUM, os braços e ombros são alinhados, tente separar os pés um pouco também.
     
    2° a outfit esta na perspectiva, mas o rosto não, isso causa um efeito estranho na sprite.
     
    Edit: 
     

     
    Pintura
     
    1° a pintura do rosto esta com pillow shading, quando não há fonte de luz, em sprites de tibia a luz vem do NOROESTE.
     
    2° não faça uma ponte de uma cor para outra, escureça mais algumas partes para dar impressão de roupa dobrada.
     
    Edit:
     

     
    Continue atualizando...
  12. Gostei
    Rafael Mateus deu reputação a KekezitoLHP em The Merchant   
    Instalação
     
    Crie um arquivo: data/npc/Merchant.xml
    <?xml version="1.0" encoding="UTF-8"?> <npc name="The Merchant" script="merchant.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150"/> <look type="128" head="20" body="100" legs="50" feet="99" corpse="2212"/>     <parameters>          </parameters> </npc> Crie um arquivo: data/npc/scripts/merchant.lua
    --// Creditos: Rômulo Souza local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local name --// Config Here// local min_hour = 2  -- Min hour of wait local max_hour = 12 -- Max hour of wait local items = {['katana']={itemid=2412, cust=100}, ['naginata']={itemid=2426, cust=200}}  -- Items to Sell local config_str = {s_itemid=4251, s_comming=4241}   -- Storage ( Dont change if you dont know ) --/////////////// function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid)   selfSay("Hey! Hey! I got some good stuff for you, come here!",cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'hi') or msgcontains(msg, 'hello')) then        if (getPlayerStorageValue(cid,config_str.s_comming) ~= -1) then            local itemid = getPlayerStorageValue(cid,config_str.s_itemid)            local time = getPlayerStorageValue(cid,config_str.s_comming)            if (getPlayerStorageValue(cid,config_str.s_comming) <= os.time()) then                selfSay('Hello! Your '..getItemNameById(itemid)..' is ready! You want get it now?', cid)                talkState[talkUser] = 3            else                min = math.floor((time-os.time())/60)                hours = math.floor((time-os.time())/60/60)                selfSay('Your '..getItemNameById(itemid)..' will take '.. min..' minutes (~'..hours..' hours)  to come for me.', cid)            end        else           local str = ''           local cont = 1           for name,tab in pairs(items) do              str = str.. name.. (cont >= count(items) and '.' or ',')              cont = cont+1           end      selfSay('Hello, i can bring some kind of itens for you, just say what you want. Items: '..str, cid)      talkState[talkUser] = 1   end     elseif (talkState[talkUser] == 1 and msg ~='bye') then            if (items[msg] ~= nil) then                selfSay('You want to request the '..msg..'? it will cost '..items[msg].cust..' gold coins, are you sure?', cid)                talkState[talkUser] = 2                name = msg            else               selfSay('I\'m not selling the '..msg..'!', cid)               talkState[talkUser] = 1            end elseif(msgcontains(msg, 'no') and talkState[talkUser] == 2) then selfSay("Don\'t worry, i can bring this anytime you want.",cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and isInArray({2,3}, talkState[talkUser])) then         if (talkState[talkUser] == 2) then            if (doPlayerRemoveMoney(cid,items[name].cust)) then               hours = doStorage(cid, items[name].itemid)      selfSay('Thanks for requesting '..name..', it will take '..hours..' hours before come.', cid)      talkState[talkUser] = 0   else       selfSay('You don\'t have enough money, you need '.. items[name].cust..' gold coins.', cid)       talkState[talkUser] = 1   end elseif (talkState[talkUser] == 3) then            local itemid = getPlayerStorageValue(cid,config_str.s_itemid)   selfSay('Here you are, come back again!.', cid)   doPlayerAddItem(cid,itemid,1)   setPlayerStorageValue(cid,config_str.s_itemid,-1)            setPlayerStorageValue(cid,config_str.s_comming,-1)       talkState[talkUser] = 0 end end return true end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end      end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) function doStorage(cid,itemid)          str = getPlayerStorageValue(cid,config_str.s_comming)          hours = math.random(min_hour,max_hour)          local time = (os.time())+(1*60*60*hours)          setPlayerStorageValue(cid,config_str.s_itemid,itemid)          setPlayerStorageValue(cid,config_str.s_comming,time)              return hours end function count(t)          sum = 0          for k,v in pairs(t) do              sum = sum + 1          end          return sum end
  13. Gostei
    Rafael Mateus recebeu reputação de Nogard em Sprite De Ninja   
    Ficou show vou treinar mais
  14. Gostei
    Rafael Mateus recebeu reputação de WooX em Sprite De Ninja   
    Ficou show vou treinar mais
  15. Gostei
    Rafael Mateus deu reputação a WooX em Sprite De Ninja   
    Tente melhorar a iluminação e alguns detalhes, fora isso esta bom.
     
    Edit:
     

  16. Gostei
    Rafael Mateus recebeu reputação de SliceFalso em [PEDIDO] Spell   
    sim cara normal nao muda nada demais akilo so vai aparece como no video a spell
    testa primeiro ne manin
    se voce n colocar  true n vai dah pra escrever oq quiser na frente
  17. Gostei
    Rafael Mateus recebeu reputação de SliceFalso em [PEDIDO] Spell   
    ve se essa mage aki vai te ajuda
    http://www.tibiaking.com/forum/topic/32421-dash/
  18. Gostei
    Rafael Mateus deu reputação a Vills em Pirates Personalizado   
    Salve comunidade TK, eu fiz uma raid personalizada para meu servidor e decidi compartilhar com vocês aqui no TibiaKing! espero que usem gostem e cê for postar em outros cantos coloquem os devidos créditos então sem mais delongas picuinhas ou mimimis
    vamos a parte de scripts
     
    Navegue até a pasta do seu servidor data/raids e depois crie ou edite um arquivo .xml chamado pirates
    e coloque isto dentro
    <?xml version="1.0" encoding="utf-8"?> <raid>   <!--Announcements-->   <announce delay="1000" type="Event" message="Os piratas anunciaram um ataque contra a cidade e as palavras do capitain jack pirata foram claras. Ninguem vai me frear, ninguem vai me dizer oque fazer nessa porra!." />   <announce delay="30000" type="Event" message="A black hand de capitain jack cairam sobre a cidade. O rei ordenou a todos os guardas e cidadoes pegarem suas armas e defenderem a cidade a todo custo." />   <announce delay="60000" type="Event" message="O capitain jack acaba de disparar suas bombas contra o castelo do rei. Foi declarada a primeira guerra mundial contra os piratas!." />   <announce delay="180000" type="Event" message="Captain jack nao ira tolerar a morte de seus companheiros e ce prepara para atacar o templo frente a frente!." />   <!--Single Spawns-->   <singlespawn delay="180000" name="Captain Jack" x="162" y="57" z="7" />   <!--Area Spawns-->   <areaspawn delay="53000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7">     <monster name="Pirate Fat" amount="25" />   </areaspawn>   <areaspawn delay="53000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7">     <monster name="Brutus Bloodbeard" amount="5" />   </areaspawn>   <areaspawn delay="53000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7">     <monster name="Pirate Buccaneer" amount="25" />   </areaspawn>   <areaspawn delay="55000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7">     <monster name="Ron The Soldier" amount="7" />   </areaspawn>   <areaspawn delay="56000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7">     <monster name="Lissy Demon" amount="6" />   </areaspawn>   <areaspawn delay="54000" fromx="75" fromy="23" fromz="7" tox="214" toy="74" toz="7">     <monster name="Pirate Skeleton" amount="40" />   </areaspawn> </raid> Depois abra a o arquivo chamado raids.xml que está localizado na pasta raids a mesma que você está nesse momento
    e adicione dentro:
    <raid name="Pirates"     file="Pirates.xml"         interval2="30" margin="1000" enabled="yes"/> Navegue até a pasta monsters localizado dentro da pasta data do seu servidor e crie uma pasta chamada
    "raid pirates"
     
    E depois adicione esses arquivos dentro:
     
    Download aqui
    Scan aqui
     
    Depois de adicionar os arquivos .xml dentro da pasta raid pirates navegue até monsters.xml localizado
    na pasta monsters do seu servidor a mesma que você está
     
    Adicione dentro:
    <!-- Raid Pirate -->         <monster name="Captain jack" file="raid pirate/captain jack.xml"/>         <monster name="Lissy Demon" file="raid pirate/lissy demon.xml"/>         <monster name="Ron The Soldier" file="raid pirate/ron soldier.xml"/>         <monster name="Pirate Fat" file="raid pirate/pirate fat.xml"/> Depois de fazer tudo isso reinicie seu servidor e digite o comando /raid pirates e sua raid ira cê iniciar levando o cãos a seu servidor espero que gostem é isso galera.
  19. Gostei
    Rafael Mateus deu reputação a WooX em Análise de Sprites (HP Básicão)   
    Primeiramente queria dizer, que dificilmente você vai achar suporte na área de Spriting no TK, ouvi dizer que já foi muito movimentado, o fórum não se importa nem 1 pouco com a área, área de gráficos esta entre umas das mais difíceis de achar...

    Portanto, se estiver realmente interessado em aprender mais sobre, recomendo frequentar o seguinte fórum, la tbm não é mt movimentado, mas garanto que os membros te ajudarão muito!

    Perspective45

    Quanto ao outfit, tem uma boa noção de perspectiva pra 1 iniciante, mas ainda contem vários erros no sprite...

    1° - Sombreamento, você só colocou as cores "bases", nem tentou aplicar sombras e iluminação.

    2° - A unica coisa que "tentou" sombrear que notei, foi o rosto, mas de forma errado, aonde a iluminação estava vindo do SUL, quando estamos falando de sprites de tibia em P45, a iluminação vem de só uma fonte, NOROESTE.

    3° - Realmente, não sei oque tentou fazer com aquele azul, acredito que tenha tentado criar uma borda, tente fazer 1 pouco mais "grosso" e aplicar iluminação.
     
    4° - Evite usar preto dentro da "arte", reserve o preto somente para a Outline.

    Não veja essas criticas de forma errada, use-as para melhorar!

    Edit:
     

  20. Gostei
    Rafael Mateus deu reputação a Cerberus em (Resolvido)(Pedido)Attributes Bar   
    esta ae o arquivo Atributo bar que vc precisa so editar como vc quiser..
     
     
    para instalar e so pegar exatrair ele na pasta otclient/mods
  21. Gostei
    Rafael Mateus deu reputação a Cerberus em [Otclient] Bar Movements e spell   
    Estou criando essa barra de moves para meu otcliente , o que acharam e por favor deis sugestões para que possa melhorar..minha primeira barra que estou fazendo.. do 0.
    tenho muita duvida se uso tudo imagem ou uso escrito junto com imagens...
     
    Creditos:
    Cerberus
    Adriano Swat 
    vrs.1.0

    vrs2.0

    vrs3.0

     
     
  22. Gostei
    Rafael Mateus deu reputação a Cerberus em (Resolvido)(Pedido)Attributes Bar   
    toma ae e so por na pasta MODS do otcliente e recarregar ela no modulemananger do otc.
    game_attr.rar
  23. Gostei
    Rafael Mateus deu reputação a MaTTch em (Resolvido)[Pedido] Spell - Envenenar arma   
    local condition = createConditionObject(CONDITION_POISON) addDamageCondition(condition, 20, 700, -200) local storage = 600 function onCombat(cid, target) if isPlayer(cid) and getPlayerStorageValue(cid, storage) >= 1 and getDistanceBetween(getThingPos(cid), getThingPos(target)) <= 1 then return doAddCondition(target, condition) and setPlayerStorageValue(cid, storage, -1) end return true end
  24. Gostei
    vai em config.lua e muda pra 100
    deathLostPercent = 5
  25. Gostei
    Rafael Mateus deu reputação a WooX em Sprite De Ninja   
    Até que ficou bom pra 1 iniciante... comece adicionando luz no noroeste e corrigindo alguns erros do sprite..
     
    te indico os seguintes tutoriais.
     
    http://tibiazoom.blogspot.com.br/2009/10/tutorial-como-fazer-sprites-de-tibia.html
     
    http://tibiazoom.blogspot.com.br/2009/10/tutorial-avancado-de-sprites.html
     
    http://www.tibiaking.com/forum/topic/38178-apostila-sprite-seduction2-aprimoramento/
     
    continue atualizando.

Informação Importante

Confirmação de Termo