Histórico de Curtidas
-
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.
-
Yuri Trigger deu reputação a Delaks em [Monster] Cientista MalucoOi 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.
-
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.
-
Yuri Trigger deu reputação a xWhiteWolf em Uma dúvida sobre scripta 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.
-
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.
-
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 (:
-
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