Histórico de Curtidas
-
LordSnow deu reputação a
Golfem [Simples] Regeneration por Level e VocationTestado no Tfs 0.3.6
É um script simples que fiz pra meu servidor de avatar, mais vou posta porque procurei e nao achei.
Oque ele fas?: ele simplifica o modo de regeneração dos player e ajustando ele por level e vocaçao.
Em creaturescripts>scripts>Crie um novo arquivo em lua e colo isso dentro e renomeia para regeneration.lua
local function heal(uid, info, mana) if not isCreature(uid) then return true end local level = getPlayerLevel(uid) for _, v in ipairs(info) do if level >= v.level.min and level <= v.level.max then if mana then if not getTileInfo(getThingPos(uid)).protection then doCreatureAddMana(uid, v.mana.reg) end addEvent(heal, v.mana.interval * 1000, uid, info, true) else if not getTileInfo(getThingPos(uid)).protection then doCreatureAddHealth(uid, v.hp.reg) end addEvent(heal, v.hp.interval * 1000, uid, info) end break end end return true end function onLogin(cid) local vocations = { [2] = { {level = {min = 0, max = 10}, hp = {reg = 100, interval = 1}, mana = {reg = 5, interval = 1}}, {level = {min = 11, max = 100}, hp = {reg = 500, interval = 0.2}, mana = {reg = 10, interval = 2}}, } } if vocations[getPlayerVocation(cid)] then heal(cid, vocations[getPlayerVocation(cid)], true) heal(cid, vocations[getPlayerVocation(cid)]) end return true end agora em
Em creaturescripts>creaturescripts.xml add essa tag la
<event type = "login" name = "Regeneration" event = "script" value = "regeneration.lua"/> agora vai em creaturescripts>scripts>login.lua add essa la
registerCreatureEvent(cid, "Regeneration") o Script é facil de entender e configurar.
aqui voce add as voc
local vocations = { [2] = { {level = {min = 0, max = 10}, hp = {reg = 100, interval = 1}, mana = {reg = 5, interval = 1}}, {level = {min = 11, max = 100}, hp = {reg = 500, interval = 0.2}, mana = {reg = 10, interval = 2}}, } } -
LordSnow deu reputação a xWhiteWolf em Anel de SauronFala galera do TK, criei esse anelzinho pra servers que procuram inovar..
bom, oque ele faz??
Simples, ele torna o usuário invisível.
aff, mas já existe o stealth ring que faz isso!
Sim mas dessa vez eu digo invisível mesmo, nenhum monstro ou players conseguirá te ver.
que lixo, assim qualquer player vai poder ficar invisível e passar no meio dos monstros e players.. vai estragar o server
Aí é que vc se engana porque o anel vem uma maldição, quem usar ele vai perdendo 3% de vida por segundo (ajustável) e só vai estragar o server se vc sair distribuindo o anel pra todos os players haha
O anel em si possui duas versões, na primeira ele retira 3% de vida por segundo, na segunda ele adiciona uma condição que te deixa perdendo uma quantidade fixa de vida, CONTUDO, na segunda versão aparece uma poça de sangue cada vez que toma o dano então dá pros players te pegarem caso vc coloque o anel e resolva fugir kkkkk
Vou chamar aqui de versão 1 e 2 respectivamente.
OBS: ISSO É EM MOVEMENTS!
1ª versão (sem sangue mas que tira 3% de vida por segundo):
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local percent = 3 local tempo = 1 -- em segundos function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") function lifesteal(cid) steal = addEvent(lifesteal, 1000*tempo, cid) if isCreature(cid) then doSendAnimatedText(getCreaturePos(cid), "-"..math.floor((getCreatureMaxHealth(cid) * (percent/100))), 144, cid) doCreatureAddHealth(cid, -math.floor(getCreatureMaxHealth(cid) * (percent/100))) end end lifesteal(cid) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") stopEvent(steal) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end 2ª versão (a cada 1,5 segundos ele te tira um dano configurado e deixa uma poça de sangue embaixo de vc facilitando que te identifiquem mesmo estando invisivel):
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local condition = createConditionObject(CONDITION_PHYSICAL) setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE) addDamageCondition(condition, -1, 1500, -500) function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") doAddCondition(cid, condition) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") doRemoveCondition(cid, CONDITION_PHYSICAL) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end Agora edite no items.xml o stealth ring pra que ele seja infinito:
<item id="2202" article="a" name="stealth ring"> <attribute key="weight" value="100" /> <attribute key="slotType" value="ring" /> <attribute key="transformDeEquipTo" value="2165" /> </item> e em movements.xml adicione essas linhas:
<movevent type="Equip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> <movevent type="DeEquip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> Editando:
Na primeira versão vc pode alterar as seguintes coisas que estão em colorido:
local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE)
local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false)
local percent = 3
local tempo = 1 -- em segundos
em vermelho é o tempo que dura a invisibilidade... -1 é infinito
em azul é a porcentagem de vida que perde por tempo
em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo perde 3%
Na segunda versão vc pode editar as mesmas coisas do primeiro só que o tempo e o dano pelo tempo estão na condition:
local condition = createConditionObject(CONDITION_PHYSICAL)
setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE)
addDamageCondition(condition, -1, 1500, -500)
em vermelho é o numero de vezes que vai tirar vida. Mais uma vez -1 significa infinito (infinito até remover o anel)
em azul é o dano que vc toma a cada tempo (lembre-se de deixar sempre um - na frente se não ele vai adicionar vida)
em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo e meio retira 500 de vida
Bom, é isso.. um script simples mas que vai ajudar muita gente pelo fato de usar conditions não tão comuns e de uma forma diferente haha
-
LordSnow deu reputação a xWhiteWolf em Volatile SpiderlingFala galera do TK, hoje eu venho mais uma vez trazer uma das magias mais incríveis que eu já vi até hoje (sério). A magia original foi feita em outro fórum mas para a versão 10.1... como eu vi que ninguém conseguiu adaptar pra versões inferiores eu decidi criar a minha própria volatile spiderling.
Confesso que no começo eu tive muita dificuldade em achar as funções certas mas depois de tentar ajudar o membro @234567890z no suporte eu tive uma epifania. Sem mais delongas eu vou explicar oque o script faz e em seguida ensinar a colocá-lo no seu server.
• Explicação: A magia foi feita baseada na personagem Elise do jogo League of Legends: você faz uma cria que anda até os oponentes e se explodem causando dano em area e deixando eles envenenados. Aqui tem um gif da magia funcionando
obs: note que esse gif não fui eu que fiz mas ele demonstra exatamente como a magia funciona.
• Instalação: Pra instalá-lo no seu servidor vai ser um pouco complicado pois ele requer diversas modificações... antes de mais nada, coloque essas linhas no seu spells.xml:
<instant name="Volatile Spiderling" words="utevo res tera" lvl="40" mana="20" prem="1" selftarget="1" exhaustion="2000" groups="1,2000" icon="88" needlearn="0" event="script" value="especiais/spiderling.lua"> <vocation id="3"/> <vocation id="7"/> </instant> <instant name="poison explosion" words="poison explosion" lvl="0" mana="0" prem="0" aggressive="1" exhaustion="3000" needlearn="1" event="script" value="especiais/newspider.lua"> </instant> Agora você vai ter que criar os dois arquivos na pasta spells\scripts\especiais.
Em newspider.lua coloque o seguinte:
agora em spiderling.lua coloque o seguinte: Agora feito isso vc vai precisar criar o monstro que usará essa spell.. vá em monster\monsters.xml e adicione a seguinte linha: <monster name="Clone Spider" file="arachnids/newspider.xml"/> agora crie o arquivo data\monsters\arachnids\newspider.xml e adicione o seguinte nele:
Agora eu vou ensinar vocês a editarem... não tem muito oque mudar, apenas se vc quiser alterar os danos da spell vá em newspider.lua e será possível editar os danos do poison e da explosão:
local damageTable = { {4, -3}, {9, -2}, {20, -1} } aqui você muda quantos danos serão e quanto cada um tirará.. no caso serão 4 hits de -3, depois 9 hits de -2 e por fim 20 hits de -1 até o poison parar. Lembrando que esses danos saem de 4 em 4 segundos. Se você quiser que eles sejam mais rápidos é só editar aqui:
addDamageCondition(poisonpowder, t[1], 4000, t[2]) (4000 significa 4 segundos).
Feito isso será possível editar também a area e o dano da explosão respectivamente em: Area:
Dano:
doAreaCombatHealth(cid, 1, getThingPos(cid), area, -1, -30, 20)
Em vermelho temos o dano mínimo, analogamente, em azul, temos o dano máximo.
Em verde é possível editar o efeito da explosão
Só lembrando que as edições que forem feitas no newspider.lua devem ser feitas no spider.lua para que a magia tenha graça.. se não o dano da explosão/poison ao explodir será diferente caso ela morrer antes. Em spiderling.lua vc pode editar a quantidade máxima de crias que um player pode ter... o normal está setado para 2 mas vc pode sentir-se livre pra colocar quantas queira.
local maxsummon = 2 (Só lembre-se que ao explodir uma aranha pode acertar outra então não é muito bom deixar um numero maior que 3);
Se você for daqueles bem chatinhos com a magia você ainda pode editar algumas coisas importantes tais como:
O efeito que sai quando ela explode por morte ou pela spell:
doSendMagicEffect(getThingPos(cid), 16) O tempo em que ela executa a spell, a chance da spell sair naquele tempo e quantos sqm de distancia a criatura alvo deve estar pra aranha se explodir:
<attack name="poison explosion" interval="1000" range="1" chance="50"/> interval = de quantos em quantos segundos ela executa a spell
range = distancia em sqm que o alvo deve estar pra que ela execute a spell
chance = chance de executar a spell a cada interval (nesse caso a cada 1 segundo tem 50% de chance dela soltar a magia)
Você ainda pode editar aqui em vermelho:
o tempo que leva pra criatura executar a magia.. Por padrão eu deixei 2 segundos, ou seja... eu sumono a aranha, ela vai até o alvo e a cada segundo q ela passa grudada no alvo (1 sqm de distancia) ela tem 50% de chance de ativar a spell e ficar parada no lugar durante 2 segundos até explodir. Se você quiser que ela leve menos tempo pra explodir é só baixar o 2000 (em milisegundos).. Se você quiser aumentar o dano e deixar ela parada por mais tempo até explodir pode editar a vontade aumentando os 2000.
• Bom, isso é tudo que dava pra eu explicar... é óbvio que dá pra editar muito mais coisa mas se você não é scripter e não tem muita idéia de como editar eu dei uma ensinada básica doque você está autorizado a mexer. Espero que vocês curtam a spell e deem aquele REP+ pra fortalecer kkkk
Eu não pretendia liberar essa spell visto que ela é extremamente complexa e nenhum servidor tem ela, mas, acho que seria muito babaca da minha parte ficar guardando um script tão bonito hahaha. Qualquer erro ou dúvida postem nos comentários que eu tento ajudar.
ah, mais uma coisa: Os créditos são 90% meus visto que eu fiz praticamente tudo.. 9% é pro cara que fez a magia original (se vcs derem uma procurada vcs vão ver que não tem quase nada a ver com a minha mas os créditos dele são por ele ter me dado a idéia) e 1% pro cara no suporte que me pediu ajuda numa spell do mesmo gênero e me fez correr atrás de uma forma de fazer essa magia pra versões inferiores a TFS 1.0
-
LordSnow deu reputação a sheyks em [LINK OFF]10.41 Melhor RL Map Baseado 1.0! NEW Roshamuul, novas missões e correção de erros! Open-source!Olá a todos!! Printer decidiu lançar o servidor que esta hospedado há algum tempo, que se baseia em Teckman datapack , mas um monte de correções e alterações foi feita. Como Prometido servidor sendo atualizado frequentemente com varias correções e totalmente atualizado, aproveite um servidor dessa qualidade !!! Imagens
Download & Atualizações do Servidor !!!: https://github.com/PrinterLUA/FORGOTTENSERVER-ORTS
Scan: https://www.virustotal.com/sv/file/...d6565fc24ae5e4d494eadca4/analysis/1385914637/
(Usar para rodar o ):
[10.31] The Forgotten Server 1.0 (#915)
Download: https://github.com/otland/forgottenserver
Download 32 e 64 The gorgotten Server 1.0 (#915): MEGA | SendSpace |
Scan-MEGA: https://www.virustotal.com/sv/url/274b18e83a3b2b1db2350782fdb36e225aa3d656f350d26269233ac115c82f67/analysis/
Scan-SENDSPACE: https://www.virustotal.com/sv/url/86be830199f995576350318af3fecfa1334301e9c9de05798056df42152eb2fd/analysis/1393992362/
(10.37) The Forgotten Server 1.0 64 E 32
DOWNLOAD 64: http://sourceforge.net/projects/compiledtfs10/files/The%20Forgotten%20Server%20x64.7z/download
SCAN:https://www.virustotal.com/en/file/...0d8c85a7557718523f49bee1/analysis/1395871095/
DOWNLOAD 32: http://sourceforge.net/projects/compiledtfs10/files/The%20Forgotten%20Server%20x32.7z/download
SCAN:https://www.virustotal.com/en/file/...9cb1e34b31612508504c6a56/analysis/1395870574/
Websites Recomendados:
1: https://github.com/Znote/ZnoteAAC/archive/master.zip
2: https://github.com/gesior/Gesior2012/tree/TFS-1.0
Baixe:
32-bit C++ redistributable package: http://www.microsoft.com/en-us/download/details.aspx?id=5555
64-bit C++ redistributable package: http://www.microsoft.com/en-us/download/details.aspx?id=14632
Dlls: https://mega.co.nz/#!t0hmURgR!zCrGwU41CbVT0mUi4MZ0Xlqu56fWwayJaH6VVK9Kyus
Creditos: Printer da (Otland)
Se ficar alguem fora dos creditos ficarei feliz em colocalos.
Bom vou deixar aqui pq muita gente vai precisar!!!
Na quest inquisition quando um player de lvl menor faz ele ele ganha xp... isso não é um bug , é só você alterar nesse script!!!
Você pode editar a exp em:
actions/scripts/inquisition/inquisitionQuestRewards e encontrar a linha: Código: doPlayerAddExp (cid, 1000000, true, true) e editar o valor. 1000000 trocar pelo valor de xp ao seu gosto... lembrando que a xp por estage influencia na dobra da xp ganha!!! Download do meu mapa.. https://mega.co.nz/#!85RTCBBK!RF9qM7AamrDKxYI8EwICGAbukG-w-Rwm6vm_3Hh9hBI