Ir para conteúdo

akashiyablanc

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    akashiyablanc deu reputação a Vodkart em Erro no Script da Quest q eu Fiz   
    ficou show de bola tbm! bem mais clean msm ?
  2. Gostei
    akashiyablanc deu reputação a FlavioHulk em Erro no Script da Quest q eu Fiz   
    Pqp, muito lindo, very beautiful #Vodkatão <3, mas cara, vê se assim não fica melhor a leitura...
    local t = {[9995] = 2502,[9996] = 7464,[9997] = 2504} local storage = 158454 function onUse(cid,item,fromPosition,itemEx,toPosition) local var = t[item.actionid] if not var then return false end if getPlayerStorageValue(cid, storage) > 0 then doPlayerSendTextMessage(cid,22,"Voce ja recebeu seu premio.") return true end doPlayerSendTextMessage(cid,22,"Você Acaba De Adquirir Um(a) " .. getItemNameById(var)) doPlayerAddItem(cid, var, 1) -- item que vai dar ao player setPlayerStorageValue(cid, storage, 1) return true end Acho que fica algo mais legível, e limpo... Mas vai de cada um, aliás, boa otimização de script !
  3. Gostei
    akashiyablanc deu reputação a augustomeneghetti em [PEDIDO] Como editar um monster   
    Bom.. vamos começar por partes.
     
    Vou dar um ctrl c + ctrl v em algumas partes e vou explicando passo a passo, vale lembrar que eu não manjo 100% pois nunca me preocupei com algumas coisas.. então o que eu tiver certeza vou deixar explicito, o que for uma hipotese para mim vou falar EU ACHO.
     
    Vamos lá.
     
    <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000">
    Auto-explicativo. Utilize para mudar o nome do monstro.
     
    <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000">
    Serve para você escolher o que vai apareçer quanto você der look num monstro.. por exemplo você da look num demon.. vai apareçer "You se a demon".. ai se você quiser alterar isso, a vontade
     
    <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000">
    Raça propriamente dita, essa parte é simples de entender porém eu nunca parie para prestar atenção no que isso influencia, mas provavelmente deve influenciar em algo.
     
    <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000">
    Altere a experiencia do monstro aqui.. por exemplo, seu ot server é exp de 10x
     
    Nesse caso um demon irá lhe dar 6000 de exp * 10, ficando então 60,000 de exp, se você alterar para 7000 a exp, irá dar 70,000 de exp o demon, você tem que levar em conta a exp como 1x elevado a rate do seu server, se você quer que um monstro de 10k de exp, você vai lá e põe 10k, e por seu server ser 10x ele vai dar 100k, algo que você não quer.. nesse caso utilize 1k de exp
     
    <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000">
    Velocidade propriamente dita do monstro, altere isso para faze-lo andar mais rapido/devagar, ou deixe em zero para o monstro ficar parado
     
    <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000">
    Provavelmente deve ser a mana necessária para sumonar o demon, mas calma lá.. ja vamos chegar num ponto onde definimos se o monstro é sumonavel ou não.
    -----------------------------
      <health now="8200" max="8200"/>
    Aqui você define a health do monstro.. por exemplo
     
      <health now="500" max="8200"/>
    Se você fizer isso, o monstro vai ter um TOTAL de 8200 de HP, mas quando ele nascer, ele vai nascer com 500 de HP, ou seja, a barrinha de life dele vai estar no vermelho praticamente
    -----------------------------
      <look type="35" corpse="5995"/>
    Aqui você define o sprite do seu monstro
     
    Não lembro de cabeça.. mas vamos fingir que o citizen outfit é look type 100, você tem o looktype 35, e quer fazer um demon com outfit de citizen, você muda para 100, ou qualquer outro valor referente ao outfit que você procura.
     
      <look type="35" corpse="5995"/>
    Aqui você define qual será o sprite do seu monstro quando ele morrer.
     
    Agora, vamos fazer algo mais divertido?
     
    Vamos alterar o seguinte código:
    " <look type="35" corpse="5995"/>"
     
    Suponha-se que você quer utilizar o outfit citizen, mas dessa maneira você não pode definir as cores, e nem fazer um monstro com addon, então agora vou te ensinar como fazer isso
     
    Insira no código as seguintes informações destacadas:
        <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/>
     
    Agora vamos as explicações:
        <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/>
    Define a cor do cabelo do seu monstro, porém você tem que definir com numeros, ja te ensino o macete para descobrir como conseguir esses valores
     
    No caso, 114 representa o preto, então seu monsto terá cabelo preto, se você definir como 0, será cabelo branco.
     
     
        <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/>
     
    Mesma coisa do caso acima, porém para o peitoral do corpo.. e assim por diante
     
    Basta você imaginar na ordem do Set outfit do próprio Tibia, quando você vai em ser outfit, temos as seguintes coisas:
     
    Head = Head
    Primary = Body
    Secondary = Legs
    Detail = feet
     
    Entendeu?
     
    Para definir os addons do seu monstro você editará a seguinte parte:
     
        <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/>
     
    Se você quiser que ele tenha APENAS o addon 1, deixe dessa maneira:
    addons="1"
     
    Para o addon 2:
    addons="2"
     
    Agora, você quer saber a melhor maneira de deixar o monstro como você quer? Simples, coloque seu ot server online, e pegue um char de teste, selecione nele o outfit com as cores e addons que você quer, e depois deslogue do char, feito isso abra o MYSQL (a versão que você utilizar), lá vá em editar players, se você utilizar o SQLite Studio assim como eu, logo a frente do nome do seu char de teste, vai ter as informações com o numero da cor e outfit que você selecionou
     
      <targetchange interval="5000" chance="8"/>
    Nessa parte você coloca um valor para definir a cada QUANTO TEMPO ele irá sorteiar baseado no valor ao lado (chance) se o monstro irá mudar seu alvo de um jogador para outro.
     
    Na parte a seguir vamos definir algumas coisas utilizando o padrão Binário, mas ai você me pergunta o que é binário?
    Simples, definição de verdadeiro e falso a partir de 0 e 1.
     
    Para verdadeiro utilizaremos 1, para falso 0.
     
    <flag summonable="0"/>
    Define se é possivel um player normal sumonar o monstro através da magia "utevo res".. no caso está definido como não, não é possivel.
    <flag attackable="1"/>
    Define se é possivel UM JOGADOR atacar o monstro, por exemplo, se você definir como 0, ao tentar atacar o monstro vai ser impossivel.
     
    <flag hostile="1"/>
    Define se é um monstro hostil, ou simplificando, se estiver como 1 ele te ataca, mas se estiver como 0 ele seria um rabbit da vida, pode ser atacado mas não ataca de volta.
    <flag illusionable="0"/>
    Define se é possivel utilizar a magia "utevo res ina" no monstro.. ou seja, um player comum (mage) se transformar no monstro por um determinado tempo
    <flag convinceable="0"/>
    Mesma coisa do summonable PRATICAMENTE, porém é através de uma runa que existe no jogo, se você utilizar ela num monstro ele irá virar seu summon.
    <flag pushable="0"/>
    No caso, demons não são possiveis de arrastar, mas se você alterar para 1, será possivel arrastar seu demon.
     
    <flag canpushitems="1"/>
    Define se o monstro em si irá arrastar itens, no caso você tacou uma parcel na frente do bixo e saiu correndo, ele arrasta ela tirando-a do seu caminho.
    <flag canpushcreatures="1"/>
    Mesma coisa do item anterior, porém com criaturas, se uma criatura entrar na frente do seu monstro, ele irá arrasta-lá para chegar até você.
    <flag targetdistance="1"/>
    A distancia que você quer que o monstro fique do jogador, exemplo: Você quer que o demon ataque o jogador a 2 sqm's de distancia, basta alterar para 2 o valor.
    <flag staticattack="90"/>
    Não sei dizer o que fazer, se alguem souber, peço que poste.
    <flag runonhealth="0"/>
    Define a vida em que o monstro irá fugir de você (porém não sei dizer se funciona como a vida mesmo ou em % da vida, se alguem puder deixar mais claro isso)
    ---------------------------
    </flags>
    <attacks>
    <attack name="melee" interval="2000" skill="100" attack="110"/>
    <attack name="manadrain" interval="2000" chance="13" range="7" min="0" max="-120"/>
    <attack name="fire" interval="2000" chance="30" range="7" radius="7" target="1" min="-150" max="-250">
    <attribute key="shootEffect" value="fire"/>
    <attribute key="areaEffect" value="firearea"/>
    </attack>
     
    Nessa parte iremos trabalhar as spells do monstro.
    A parte destacada em negrito, é onde você coloca os ataques, ou seja, todo ataque novo que você quiser fazer OU TIRAR, terá que ser assim, e sempre terá de ser dentro do padrão, no caso eu retirar todos os ataques e deixar apenas um novo.
     
    <attacks>
    <attack name="melee" interval="2000" skill="100" attack="110"/>
    </attack>
     
    Dessa maneira o demon irá utilizar APENAS o melee skill, com um intervalo de 2000 milésimos, a parte e skill e attack basta pensar que ele é um player, vamos utilizar um exemplo.
    <attack name="melee" interval="2000" skill="100" attack="25"/>
     
    Isso equivale a um jogador com skill 100 utilizando uma arma com attack 25. (Por exemplo um paladino com spear)
     
     
    <defenses armor="55" defense="55">
    <defense name="healing" interval="2000" chance="15" min="130" max="240">
    <attribute key="areaEffect" value="blueshimmer"/>
    </defense>
    <defense name="speed" interval="1000" chance="8" speedchange="290" duration="5000">
    <attribute key="areaEffect" value="redshimmer"/>
    </defense>
    </defenses>
     
    O critério utilizado acima nos ataques, também servem para buffs do monstro, por exemplo aqui em defense, você pode ver que ele tem uma chamada speed, que é um haste que o monstro usa para correr mais rapido. Mas esse não é o foco que irei abordar aqui.
     
    A parte em negrito aborda a defesa do monstro, mesmo criterio utilizado acima no ataque, porém para defesa.
     
    Agora, você queria adicionar uma spell de healing, correto?
     
    então vamos lá
     
    Peguei como exemplo a linha de código de um monstro do meu servidor, basta você inserir isso no seu código que estará tudo perfeito.
     
    <defense name="healing" interval="1000" chance="25" min="500000" max="50000000">
    Interval define o intervalo do chance, ou seja, a cada 1000 milésimos será sortiado com uma chance de 25 de o monstro healar (detalhe, se não for sortiado dentro da chance o monsto não irá healar) entre o valor min e max, e a próposito, estou falando sortiar, mas o mais correto seria dizer:
    "Sortear um valor random", pois não há como definir o valor a ser sortiado (se não nem sequer seria um sorteio né?"
    -------------------------------------
    <elements>
    <element physicalPercent="30"/>
    <element energyPercent="50"/>
    <element earthPercent="20"/>
    <element icePercent="-15"/>
    <element holyPercent="-15"/>
    <element deathPercent="20"/>
    </elements>
     
    Essa parte é BEM SIMPLES, é a % de defesa do monstro contra danos magicos/fisicos:
     
    Levando em conta os dados acima vamos lá:
     
    <element physicalPercent="30"/>
    O monstro tem uma defesa de 30% contra physical, ou seja, se você iria hitar 100 nele, o valor 100 será diminuido para 70, que será o seu hit final
     
    <element icePercent="-15"/>
    Aqui ja fica diferente.. DESTAQUE para o sinal de -, isso significa que o monstro É FRACO ao elemento ice, ou seja, você iria hitar 100?
     
    Seu hit final vai ser 100 + 15% = 115 de dano
     
    É essa formula para qualquer valor, por exemplo:
    300 de dano (15% do valor é igual a 45), ou seja, 345 de dano de ice
    -----------------------------
     
    <immunities>
    <immunity fire="1"/>
    <immunity drown="1"/>
    <immunity paralyze="1"/>
    <immunity invisible="1"/>
    </immunities>
     
    Aqui são as imunidades do monstro, vamos lá, 1 por 1:
     
    <immunity fire="1"/>
    Significa que o monsto tem 100% de proteção a fogo, então não importa o que ele não toma dano de fogo.
     
    <immunity drown="1"/>
    Não me lembro o que é drown, se não me engano é andar embaixo da água, se for 0 o monstro iria perder vida (SE NÃO ME ENGANO)
     
    <immunity paralyze="1"/>
    Ao utilizar a paralise rune no monstro, isso define se ele será afetado ou não
     
    <immunity invisible="1"/>
    Define se o monstro irá ver invisbilidade (utana vid ou stealth ring)
     
    Caso essa opção esteja marcado como 0, se você utilizar utana vid, o demon não irá lhe atacar por não te ver.
     
    -----------------------
     
    <summons maxSummons="1">
    <summon name="fire elemental" interval="1000" chance="12"/>
    </summons>
     
    O demon é um monsto que sumona bixos, no caso aqui você define em MAXSUMMONS qual o limite de bixos que ele poderá sumonar, e em baixo qual o bixo propriamente dito que será sumonado, no caso você pode alterar o fire elemental para um rat se quiser.
     
    ------------------------
     
    <voices interval="5000" chance="10">
    <voice sentence="MUHAHAHAHA!" yell="1"/>
    <voice sentence="Your soul will be mine!" yell="0"/>
    </voices>
     
    Deixei apenas as 2 opções para uma explicação mais objetiva, o primeiro em negrito é uma fala do monstro, porém está como yell=1, isso significa que quando ele falar, ele irá gritar na verdade, então será possivel ver essa fala dele de fora da tela.
     
    A fala de baixo no caso, ja representa uma simples fala qualquer que só se pode ser vista estando na mesma tela do monstro em si.
     
    -----------
     
     
    ~
    Enfim..
     
    Só restou explicar a ultima parte de loot, mas com tudo que ja expliquei acima, creio que você pegou uma base e isso não será necessário né?
     
    hehe, espero que esse post tenha lhe ajudado, qualquer dúvida, basta perguntar, ajudarei no que for possivel.
  4. Gostei
    akashiyablanc deu reputação a Rusherzin em (Resolvido)Como Remover Protection Zone RME   
    Sim, selecione a opção que adiciona a PZone e segure ctrl ao mesmo tempo e passe nos tiles onde tem PZone.

Informação Importante

Confirmação de Termo