Ir para conteúdo

Yuri Trigger

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Yuri Trigger deu reputação a luanmaximus em Immortal!   
    O que ela faz?
    Ela te deixa imortal durante 10 segundos (configurável) muda seu outfit (configurável) e tem cooldown de 2 minutos (configurável).
     
    Testado em: TFS 8.54 0.4 rev3777
     
    Vídeo: http://youtu.be/5iL8V2Y1BIQ
     
     
     
    OBS: A principio eu queria deixar que o player que usasse essa magia não receberia dano algum, mas como eu sei pouco de script eu fiz que o player ganhe 100000 de vida e recupere 100000 de vida por segundo (configurável).
     
    OBS2: Peguei alguns exemplos de magias do xWhiteWolf aqui no fórum, como o cooldown e a troca de outfit masculina e feminina então 50% dos créditos vão para ele. 
     
    OBS3: É uma MAGIA simples é fácil de fazer mas como não achei no fórum acredito possa interessar a alguém.
     
     
    Vá em spells/scripts e crie um arquivo chamado immortal.lua e coloque isso dentro:


     
    local vida = 100000 local tempo = 10000 local moutifit = {lookType = 268, lookHead = 0, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local foutifit = {lookType = 269, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} local cooldown = 120 local storage = 34214 local sex = getPlayerSex(cid) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, vida) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_ATTRIBUTES)  setConditionParam(condition2, CONDITION_PARAM_STAT_MAXHEALTH, vida)  setConditionParam(condition2, CONDITION_PARAM_TICKS, tempo)  setConditionParam(condition2, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition, condition2) function onCastSpell(cid, var) if os.time() - getPlayerStorageValue(cid, storage) >= cooldown then doPlayerSetStorageValue(cid, storage, os.time()) else doPlayerSendTextMessage(cid, 20, "Your spell is in cooldown, you must wait "..(cooldown - (os.time() - getPlayerStorageValue(cid, storage))).." seconds.") return false end if sex == 0 then doSetCreatureOutfit(cid, foutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") else  doSetCreatureOutfit(cid, moutifit, tempo) doSendAnimatedText(getPlayerPosition(cid), "Immortal!", TEXTCOLOR_WHITE) doPlayerSendTextMessage(cid,20,"You are immortal.") end return doCombat(cid, combat, var), doAddCondition(cid, condition2) and doCreatureAddHealth(cid, getCreatureMaxHealth(cid))  end  

     
    Agora vá abra spells.xml e adicione isso:
     
    <instant name="Immortal" words="utito immortal" lvl="100" manapercent="30" prem="1" aggressive="0" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="immortal.lua"> <vocation id="7"/> <vocation id="17"/> </instant>  

    OBS4: Sei que eu poderia diminuir o tamanho do script colocando apenas uma vez que ele diga "Immortal!" e a mensagem no console, só que eu não consigo fazer desculpa.
     
    Configuração:
     
     

    Criticas e sugestões por favor.
  2. Gostei
    Yuri Trigger deu reputação a Delaks em [Monster] Cientista Maluco   
    Oi gente do Tibia King vim aqui postar o [Monster] Cientista Maluco.

    Vá na pasta data/monsters/bosses crie um arquivo chamado cientistamaluco.lua e coloque:



    <?xml version="1.0" encoding="UTF-8"?> <monster name="Cientista Maluco" nameDescription="a cientista maluco" race="blood" experience="2050000" speed="500" manacost="0"> <health now="5000000000" max="5000000000"/> <look type="133" head="97" body="0" legs="38" feet="97" addons="3" corpse="6080"/> <targetchange interval="5000" chance="30"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> <flag skull="4" /> </flags> <attacks> <attack name="melee" interval="2000" skill="25" attack="20"/> <attack name="drown" interval="2000" chance="8" range="7" radius="3" min="-40000000" max="-60000000"> <attribute key="shootEffect" value="energy"/> <attribute key="areaEffect" value="poff"/> </attack> <attack name="energy" interval="2000" chance="10" range="7" target="1" min="-20000000" max="-36000000"> <attribute key="shootEffect" value="energyball"/> <attribute key="areaEffect" value="energy"/>[/font][/color] </attack> <attack name="speed" interval="2000" chance="7" range="7" target="1" speedchange="-300"> <attribute key="areaEffect" value="redshimmer"/> </attack> </attacks> <defenses armor="15" defense="20"> <defense name="healing" interval="2000" chance="12" min="40000000" max="60000000"> <attribute key="areaEffect" value="blueshimmer"/> </defense> </defenses> <elements> <element firePercent="10"/> <element earthPercent="20"/> <element energyPercent="20"/> <element icePercent="10"/> <element holyPercent="20"/> <element deathPercent="-5"/> </elements> <immunities> <immunity invisible="1"/> </immunities> <voices interval="3000" chance="10"> <voice sentence="Die in the name of Science!"/> <voice sentence="You will regret interrupting my studies!"/> <voice sentence="Let me test this!"/> <voice sentence="I will study your corpse!"/> </voices> <loot> <item id="7620" chance="20350" /><!-- mana potion --> <item id="2148" countmax="100" chance="19550" /><!-- gold coin --> <item id="2148" countmax="12" chance="19550" /><!-- gold coin --> <item id="7618" chance="22100" /><!-- health potion --> <item id="2803" chance="6975" /><!-- powder herb --> <item id="2162" chance="2875" /><!-- magic light wand --> <item id="2177" chance="2525" /><!-- life crystal --> <item id="1987" chance="100000"><!-- bag --> <inside> <item id="2787" countmax="3" chance="5825" /><!-- white mushroom --> <item id="2687" countmax="5" chance="1225" /><!-- cookie --> <item id="6394" chance="1250" /><!-- cream cake --> <item id="7762" chance="1150" /><!-- small enchanted amethyst --> <item id="7440" chance="575" /><!-- mastermind potion --> </inside> </item> </loot> </monster> Agora vá em monsters.xml e adicione: <monster name="Cientista Maluco" file="bosses/cientistamaluco.xml"/>


    Créditos:Delaks e Ropp Xeys.

    Comentem.
  3. Gostei
    Yuri Trigger deu reputação a xWhiteWolf em Dash.   
    ^ remove os comentários (tudo que tá dps de --), um dos comentários tá escrito "obstáculo" e esse á com acento tá cagando seu script por causa da codificação.
  4. Gostei
    Yuri Trigger deu reputação a xWhiteWolf em Uma dúvida sobre script   
    a identação é um acordo que fizeram na chamada "boas práticas de programação" existe uma regra pra identar e geralmente é a própria linguagem que dita essas regras. Em lua identação não é obrigatório como o zipter bem colocou mas é uma boa prática.. acompanhe comigo o porquê:
     
    script sem identar/pular linha
    local storage = 89745 local effect = 14 function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, storage) > -1 then doRemoveItem(item.uid) setPlayerStorageValue(cid, storage, -1) doSendMagicEffect(getCreaturePosition(cid), effect) doPlayerSendCancel(cid, "Storage reseted successfully.") else doPlayerSendCancel(cid, "You can't use this item when you haven't finished the quest.") end return true end script identado e seguindo os padrões da linguagem:
    local storage = 89745 local effect = 14 function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, storage) > -1 then doRemoveItem(item.uid) setPlayerStorageValue(cid, storage, -1) doSendMagicEffect(getCreaturePosition(cid), effect) doPlayerSendCancel(cid, "Storage reseted successfully.") else doPlayerSendCancel(cid, "You can't use this item when you haven't finished the quest.") end return true end Pro computador não faz diferença, ambos irão rodar mas o segundo é legível por outro programador enquanto o primeiro não.

    Vale lembrar que linguagens acadêmicas (só consigo lembrar de Python agora), não existe abre e fecha de blocos (em lua usamos 'do' e 'then' pra abrir blocos e 'end' pra fechá-los) e o computador identifica os blocos através da identação. 

    Códigos bem identados/comentados, com linhas puladas de maneira correta e variáveis limpas e locais demonstra um domínio sobre a linguagem e permite que até mesmo não programadores possam entender o raciocínio. Gente que chama variável por letra do alfabeto, não usa local e nao sabe/não quer identar provavelmente não sabe oque tá fazendo. Se você pegar scripts antigos do tibia vc vai ver muita gente fazendo coisas absurdas, identando tudo errado, comparando dois booleanos (if (algo que é falso) == false)  etc e tal. Felizmente essa nova leva de programadores como o Wise, Zipter, Summ estão melhorando isso. 
  5. Gostei
    Yuri Trigger deu reputação a xWhiteWolf em Sistema de Reset 100%   
    Fala galera do TK, hoje vim pra trazer pra vocês um npc criado por mim e pelo Nogard numa madrugada aí para solucionar a dúvida de um cara no suporte. Eu dei uma melhorada no script original, tirei umas coisas repetidas e adicionei novas funções; 
    Você agora pode configurar se quer que o preço aumente a cada reset, se quer que o level pra resetar aumente e se vc quer que a vida resete junto (e quanto % da vida atual será a vida após resetar).
    Testado em TFS 0.3.6, Versão 8.45

    Sem mais delongas, vamos ao script.
    Antes de tudo crie um arquivo chamado reseter.lua na pasta data\npc\scripts\ e coloque isso daqui dentro dele:


    Você pode editar tudo mexendo aqui:
    local config = {
    minlevel = 150, --- level inical para resetar
    price = 10000, --- preço inicial para resetar
    newlevel = 20, --- level após reset
    priceByReset = 0, --- preço acrescentado por reset
    percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total)
    levelbyreset = 0 --- quanto de level vai precisar a mais no próximo reset
    }
    Feito isso, crie agora o npc que irá utilizar esse script.. em data\npc crie um arquivo.xml chamado Reseter.xml e coloque isso dentro dele:
    Agora é só colocar o seu npc no mapa pelo mapa editor e curtir

    OBS 1: Se seu server for 8.6 ou maior troque no script.lua as funções db.executeQuery por db.query
    OBS 2: Esse script dava pra ser diminuido ainda mais mas por hora deixa ele assim, se vc tiver alguma proposta melhor por favor poste nos comentários que eu testo a sua versão e edito o tópico se for o caso.
    OBS 3: Não remova os créditos, isso é a coisa mais baixa e suja que alguém pode fazer.. eu scripto pra ajudar a comunidade do Tibia a evoluir e libero 99% doque eu faço, se vocês não removerem os créditos e não postarem em outros fórums sem minha permissão isso pode continuar assim.


    --- EDIT: Coloquei algumas imagens pra vcs verem como fica no server  
     
       
     
       

     



    EDIT: Arrumei o problema de o npc não dar bye automáticamente qnd o player se afasta, bugando em algumas versões e impedindo de conversar com outros npcs. Apenas substituam o arquivo em scripts pela versão atualizada, grato.

    EDIT2: Novos erros arrumados, agora o NPC dá bye automaticamente e não buga qnd te reseta.

    EDIT3: Resolvido bug de dar hi, reset, yes várias vezes e derrubar o servidor (troque tanto o xml qnt o script do npc)
    O script também foi identado.
  6. Gostei
    Yuri Trigger deu reputação a principe sharingan em [Talkaction] Comando para fazer o Pokemon Falar.   
    Fala ae falera do Tibia King, resolvi fazer uma Script para fazer o Pokemon Falar hehehe'.... Vamos lá:

    1º -> Data/Talkaction/Script
    Faça um arquivo com o nome de pokemontalk.lua e Cola isso dentro:



    2º Vá em Data/Talkaction
    E abra o Talkactions.xml e cole está tag dentro:





    Para fazer o pokemon falar o comando é: !x O QUE VOCÊ QUISER QUISE O POKEMON FALE !!

    Bom galera, é só isso msm !! Qualquer duvida comenta ae.

    Ajudei ? Rep + Não custa nada (:
  7. Gostei
    Yuri Trigger deu reputação a AdmAlexandre em [8.5] [Pokémon] Gabrieltxu 3.2 Final Version   
    • Menu:
    ├ Informações;
    ├ Ediçoes;
    ├ Erros;
    ├ Prints;
    ├ Download;
    └ Creditos.
     


    • Informações Basicas •
     



     


    • Edições / Ajustes •
     


     


    • Erros Do Servidor •
     



     


    • PrintScreen •
     



     



    • Download's •
     
    Servidor GabrielTxu 3.2 Final version
    Download Servidor (4Shared): http://www.4shared.com/rar/SMZMibFB/Server_Gabrieltxu_32.html
    Download Client (4Shared): http://www.4shared.com/rar/3QPtxVX-/Client_GabrielTxu_32__Final_Ve.html
     
    • Creditos •
    Gabrieltxu
    Kalvin
    Zeref Shirou
    AdmAlexandre -> Por Postar No TK
     
     
     
    OBS : EU NÃO SOU O CRIADOR ENTÃO BUGS NAO É COMIGO
     

Informação Importante

Confirmação de Termo