Histórico de Curtidas
-
Amorpornto recebeu reputação de Gabrielx17 em Entendendo um pouco sobre spells/script/jutsusdoservidorOla galera do tk desculpe se eu estiver criando o topico na area errada pois estou meio confuso ainda.
Então galera eu sou novo nessas coisas e queria entender um pouco sobre as spells/script/algunsjutsus do meu servidor.
então galera eu queria entender o seguinte se tem como eu colocar um delay quando o effect 359 sair, no meu caso é um meteoro e quando o effect do meteoro aparece ele ja deu o dano no target, se alguem poder me ajudar eu queria colocar um delay nele que so pra quando o meteoro bater no chão dar o dano. uma coisa que eu observei é que ali no distanceeffect eu tenho q colocar uma que n existe para n ter uma distanceeffect a+, eu ja mudei uma vez para effect só que o meteoro precisa ser adicionada uma position que no caso é x+1 precisa andar 1 sqm para a direita pra ficar perfeitinho, os outros effects são um susano no player e uma explosão no target, pra deixar bem claro eu quero deixar no estilo do jutsu do madara do ntoultimate , tfs 0.3.6, a seguir o script:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 42)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -150.3, 1, -153.3, 1)
function onCastSpell(cid, var)
local waittime = 4 -- Tempo de exhaustion
local storage = 115818
if exhaustion.check(cid, storage) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")
return false
end
local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z}
local position2 = {x=getCreaturePosition(cid).x+3, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
local position3 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y, z=getThingPosition(getCreatureTarget(cid)).z}
doSendMagicEffect(position1, 359)
doSendMagicEffect(position2, 310)
doSendMagicEffect(position3, 250)
exhaustion.set(cid, storage, waittime)
return doCombat(cid, combat, var)
end
-
Amorpornto deu reputação a Ackerzin em Ajude-me Item Não FuncionaTem que por no movements.xml, você colocou? tipo assim.
<movevent type="Equip" itemid="11391" slot="shield" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="11391" slot="shield" event="function" value="onDeEquipItem"/>
-
Amorpornto deu reputação a LeoTK em Entendendo um pouco sobre spells/script/jutsusdoservidor@Amorpornto
Retirei o efeito de distancia e adicionei +1 no X do efeito 359 caso quiser mudar só editar o local pos1, pos2, pos3
Coloquei no script o local do tempo pra dar o dano só ler direitinho que tu entende
local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -150.3, 1, -153.3, 1) arr1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local function onCastSpell1(parameters) if not isPlayer(parameters.cid) then return true end if getCreatureTarget(parameters.cid) ~= 0 then local target = getThingPosition(getCreatureTarget(parameters.cid)) local pos1 = {x=target.x+2, y=target.y+0, z=target.z+0} local pos2 = {x=target.x+1, y=target.y+0, z=target.z+0} doSendMagicEffect(pos1, 359) doSendMagicEffect(pos2, 250) end return isCreature(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var) end function onCastSpell(cid, var) local parameters = {cid = cid, var = var} local position1 = {x=getPlayerPosition(cid).x+0, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position1, 310) -- Efeito do Susano local waittime = 4 -- Tempo de exhaustion local storage = 115818 if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.") return false end addEvent(onCastSpell1, 300, parameters) -- no lugar de 300 vai aumentando o tempo até aparecer na hora certa exhaustion.set(cid, storage, waittime) return TRUE end
-
Amorpornto deu reputação a LeoTK em Skills/Magic Level Max 250 Limite / + Skills StagesSalve galera bom demorou mas consegui trazer esse conteúdo para vocês com ajuda de diversos amigos créditos no final do tópico.
Bom vamos lá é um conjunto de configurações + script que vai permitir todas as skills do servidor ficar limitada até 250
Primeiramente vamos até o config.lua do servidor e deixa a Rate Magic em 0.01
Ficando assim
rateMagic = 0.01 Logo depois disso vamos ao vocation.xml e procure por
manamultiplier="1.2" Use o notepad++ Aperte ctrl + H para substituir todos os manamultiplier="1.2" por manamultiplier="1.0"
manamultiplier="1.0" Essa modificação vai permitir a sua magic level chegar a 250
Depois faça isso com as demais skills Club / Sword / Axe / Distance / Shield / Fishing - Mude todos para 1.0
Depois disso agora vamos instalar os scripts para criar limites para as skills não bugarem e também vamos configurar a rate do magic level para não bugar também
Vá em data/creaturescripts/creaturescripts.xml e adicione essas tags
<!-- Skills Block / Stages Skills --> <event type="advance" name="skillblock" event="script" value="skillblock.lua"/> <event type="login" name="skillblock2" event="script" value="skillblock2.lua"/> <event type="death" name="skillblock3" event="script" value="skillblock3.lua"/> <event type="advance" name="skillblock4" event="script" value="skillblock4.lua"/> <event type="login" name="skillblock6" event="script" value="skillblock6.lua"/> Agora abra o login.lua e adicione isso
registerCreatureEvent(cid, "skillblock") registerCreatureEvent(cid, "skillblock2") registerCreatureEvent(cid, "skillblock3") registerCreatureEvent(cid, "skillblock4")
Crie o arquivo skillblock.lua e adicione isso dentro
Lembre-se coloque um numero anterior ao limite ou seja o limite de fist e 250 mas no maxLevel esta 254
Crie o Arquivo skillblock2.lua e adicione isso dentro
Crie o Arquivo skillblock3.lua e adicione isso dentro
Crie o Arquivo skillblock4.lua e adicione isso dentro
Crie o Arquivo skillblock5.lua e adicione isso dentro
Crie um Arquivo skillblock6.lua e adicione isso dentro
Algumas imagens mostrando funcionando no meu caso eu configurei para enviar a mensagem em uma channel caso se interessar nesse sistema basta seguir o link Clicando Aqui
Créditos:
@movie
@Coltera
@lordzetros
@Yan Liima
@aspira
Night Wolf
-
Amorpornto deu reputação a Vodkart em Amuleto Infinito que dropa os itens apenas Red Skullvá até data\creaturescripts\scripts e crie um arquivo.lua e renomeie para preparedeathred.lua
dentro coloque:
function onDeath(cid, corpse, deathList) if (getPlayerSlotItem(cid, 2).itemid == 13755) then -- id do colar doCreatureSetDropLoot(cid, getPlayerSkullType(cid) >= 4 and true or false) if getPlayerSkullType(cid) >= 4 then doPlayerRemoveItem(cid, 13755, 1) end end return true end
em data\creaturescripts\scripts\login.lua adiciona a linha:
registerCreatureEvent(cid, "RedSkullAmulet")
creaturescripts.xml adicione:
<event type="death" name="RedSkullAmulet" event="script" value="preparedeathred.lua"/> em items.xml deixa assim:
<item id="13755" article="a" name="Amulet Vip"> <attribute key="description" value="Protect All 6%, Dropa os items apenas RedSkull" /> <attribute key="weight" value="500" /> <attribute key="absorbPercentAll" value="6" /> <attribute key="slotType" value="necklace" />