Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Ótima ideia, xD

Só uma otimização no código



xD

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites
  • Respostas 37
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Eai galera, esse script eu fiz para um membro aqui do TibiaKing no suporte e achei que ficou bem legal então decidi postar. Explicação: Ao tomar um dano maior que 300, se o player tiver usando a glacier robe, uma área em volta dele vai ser congelada e todos dentro dessa área ficarão com slow. Caso o player estiver com o full glacier set, além do paralyze, as pessoas dentro da área receberão dano de freezing crie um arquivo em creaturescripts\scripts chamado glacierrobe.lua e adicione isso da

Ótima ideia, xD Só uma otimização no código xD

foi muito engraçado arrumar esse script, qnd eu fiz ele eu tava começando a scriptar e tinha muita checagem desnecessária

muito legal esse outro modo que você utilizou, realmente, com alguns laços e umas tables o script fica infinitas vezes melhor de se mexer.. obrigado pela ajuda max.. só vou corrigir umas coisinhas que acho que vc esqueceu:

--[[Script made 100% by Night Wolf and Nogard
do not remove the fucking credits or I may kill you and practice necrofily with your filthy body]]

--condição que irá adicionar
local gelo_condition = createConditionObject(CONDITION_PARALYZE)
setConditionParam(gelo_condition, CONDITION_PARAM_TICKS, 10000)
setConditionFormula(gelo_condition, -0.9, 0, -0.9, 0)


local frigo = createConditionObject(CONDITION_FREEZING)
setConditionParam(frigo, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(frigo, 5, 2000, -300)
addDamageCondition(frigo, 5, 2000, -200)
addDamageCondition(frigo, 5, 2000, -100)


local config = {
percent = 5, -- se vc quiser 20%, coloque 5 pois 1/5 = 0,2 (20%)
valorvida = 300, -- quanto deve ser o valor minimo de vida a perder para executar o script
itemid = 7897, -- id do item que deverá ser equipado para ativar o gelo
place = 4, -- posição que o item deve estar para funcionar, cheque na tabela abaixo

set = {
[CONST_SLOT_HEAD] = 7902, -- Helmet
[CONST_SLOT_NECKLACE] = 7888, -- Amuleto
[CONST_SLOT_LEGS] = 7896, -- Legs
[CONST_SLOT_FEET] = 7892, -- Boots
},

-- Tabela de slots possíveis
-- CONST_SLOT_HEAD (1) = helmet
-- CONST_SLOT_NECKLACE (2) = necklace slot (amulet of loss etc.)
-- CONST_SLOT_BACKPACK (3) = backpack, bag
-- CONST_SLOT_ARMOR (4) = armor
-- CONST_SLOT_LEFT (5) = left hand (its really hand placed >> (right page on screen))
-- CONST_SLOT_RIGHT (6) = right hand (its really hand placed << (left page on screen))
-- CONST_SLOT_LEGS (7) = legs
-- CONST_SLOT_FEET (8) = boots
-- CONST_SLOT_RING (9) = ring slot
-- CONST_SLOT_AMMO (10) = ammo slot (arrows etc.)
}


function canEffect(pos, pz, proj) -- Night Wolf based on Nord
if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then
return false
end

if getTilePzInfo(pos) and not pz then
return false
end

local n = not proj and 3 or 2

for i = 1, 255 do
pos.stackpos = i
local tile = getTileThingByPos(pos)
if tile.itemid ~= 0 and not isCreature(tile.uid) then
if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
return false
end
end
end

return true
end

local function isUsingSet(cid, set)
for slot, item_id in pairs(set) do
if getPlayerSlotItem(cid, slot).itemid ~= item_id then
return false
end
end

return true
end

local predef_effect_on = {
{x = 0, y = -2}, {x = 0, y = 2},
{x = -2, y = 0}, {x = 2, y = 0},
{x = -2, y = -1}, {x = 2, y = -1},
{x = 2, y = 1}, {x = -2, y = 1},
{x = -1, y = -2}, {x = 1, y = -2},
{x = 1, y = 2}, {x = -1, y = 2},
}

local predef_condition_on = {
--- predef_effect_on
{x = 0, y = -2}, {x = 0, y = 2},
{x = -2, y = 0}, {x = 2, y = 0},
{x = -2, y = -1}, {x = 2, y = -1},
{x = 2, y = 1}, {x = -2, y = 1},
{x = -1, y = -2}, {x = 1, y = -2},
{x = 1, y = 2}, {x = -1, y = 2},

{x = 0, y = -1}, {x = 0, y = 1},
{x = -1, y = 0}, {x = 1, y = 0},

{x = -1, y = 1}, {x = -1, y = -1},
{x = 1, y = -1}, {x = 1, y = 1},
}

function onStatsChange(cid, attacker, type, combat, value)
if getPlayerSlotItem(cid, config.place).itemid == config.itemid then
if type == STATSCHANGE_HEALTHLOSS and value >= config.valorvida then
if math.random (1, config.percent) == 1 then
local pos = getPlayerPosition(cid)

for _, add_pos in ipairs(predef_condition_on) do
local cPos = {x = pos.x + add_pos.x, y = pos.y + add_pos.y, z = pos.z}
local mob = getTopCreature(cPos).uid
doAddCondition(mob, gelo_condition)

if isUsingSet(cid, config.set) then
if isMonster(mob) and canEffect(cPos) then
doAddCondition(mob, frigo)
end

doSendMagicEffect(cPos, 43)
end
end

for _, add_pos in ipairs(predef_effect_on) do
local ePos = {x = pos.x + add_pos.x, y = pos.y + add_pos.y, z = pos.z}
if canEffect(ePos) then
doSendMagicEffect(ePos, 41)
end
end
end
end
end

return true
end
Editado por xWhiteWolf (veja o histórico de edições)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

n da erro nenhum só que nao vai ta ligado? n sai o gelinho da glacier quando vc leva os hit la.... obs: levei mais de 300 hits e n saiu.

Link para o post
Compartilhar em outros sites

vc colocou tudo certo, inclusive no login. lua o register event? Lembra que é 20% de chance de ativar ao levar 300+ de dano então vc tem que levar + de 300 várias vezes.. ou vc aumenta a chance ou vc diminui a vida necessária.. tudo isso no começo do script!

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

vc colocou tudo certo, inclusive no login. lua o register event? Lembra que é 20% de chance de ativar ao levar 300+ de dano então vc tem que levar + de 300 várias vezes.. ou vc aumenta a chance ou vc diminui a vida necessária.. tudo isso no começo do script!

s coloquei só que não sai o gelo na glacier.

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96842
    Tópicos
    519598
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo