Ir para conteúdo
Close

REFORMULAMOS A SEÇÃO DE CLASSIFICADOS! - Crie grátis os seus anúncios de procura e oferta de serviços e produtos relacionados ao OTServ! - Acesse através do nosso menu ou clique aqui e confira já!

adolfbig

Scripting Usar 2 buffs ao mesmo tempo

Posts Recomendados

Eu tenho um buff normal que não dá pra usar em cima de outro buff, como que eu coloco um buff vip semelhante ao kekkei genkai do nto ultimate? que dá pra usar 2 buffs ao mesmo tempo, o natural do player e um premium, no caso eu tenho esse script: 

local tempo = 120 -- tempo em segundos.
local effect = {12} -- effect no player
        
local ml = 15 -- quantos ira aumentar o skill de ML
local skillfist = 15 -- quantos ira aumentar o skill de Fist
local skillsword = 15 -- quantos ira aumentar o skill de Sword
local skillaxe = 15 -- quantos ira aumentar o skill de Axe
local skillclub = 15 -- quantos ira aumentar o skill de Club
local skilldistance = 15 -- quantos ira aumentar o skill de Distance
local skillshield = 15 -- quantos ira aumentar o skill de Shield
local health = 150 -- A cada 1 segundo quantos aumentar de vida
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
        
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml)
setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield)
setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)
setCombatCondition(combat, condition)
        
local condition = createConditionObject(CONDITION_HASTE)
setConditionParam(condition, CONDITION_PARAM_SPEED, 250)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat, condition)
        
local condition = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000)
setCombatCondition(combat, condition)
                  
function magicEffect(tempo2,tempo3,cid)
if (isCreature(cid)) then
        if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then
                for i=1, #effect do
                local position = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
doSendMagicEffect(position, effect[i])
                end
        end
end
end
                                
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then
        doCombat(cid, combat, var)
        tempo2 = 0
        while (tempo2 ~= (tempo*1000)) do
                addEvent(magicEffect, tempo2, tempo2, tempo*1000, cid)
                tempo2 = tempo2 + 300
        end
        setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado.
else
        doPlayerSendCancel(cid, "Voce ja esta com Buff.")
end
end

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

@adolfbig conditions só existe uma, ou seja, uma condition regeneration, uma condition haste e assim por diante.

Caso você queira usar duas iguais ao mesmo tempo, você deve fazer algo que diferencie uma da outra, pois ambas são a mesma coisa, então você deve definir algo para diferencia-las.

 

As conditions permitem isso através de subids, e assim você poderá usar duas ao mesmo tempo, pois existem uma diferença entre elas, ambas contém ids diferentes.

 

Em suma, adicione subid que é um parâmetro existente para as conditions, depois é só sucesso!

 



Não esqueçam de me marca quando eu responder em seu tópico, assim recebo a notificação e volto em seu tópico.
Não dou suporte em mensagem privada ou fora do fórum.
Não esqueça de reputa e agradecer a pessoa que lhe ajudou em algum tópico seu.
"Só ajudo quem eu vejo ajudando." xD                                                                                                                                                       Não esqueça de reputa alguém que lhe ajudou ou tentou lhe ajudar, e agradeça com suas palavras. Seja grato por alguém ter lhe ajudado ou tentado lhe ajudar!

O coitadismo e o conformismo potencializado é a arte de sentir compaixão de si mesmo para você não utilize ferramentas capazes de transformar
sua história!!

-- Augusto Cury

 

                                                               ezgif-1-98aab239f3.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites
local tempo = 120 -- tempo em segundos.
local effect = {12} -- effect no player
        
local ml = 15 -- quantos ira aumentar o skill de ML
local skillfist = 15 -- quantos ira aumentar o skill de Fist
local skillsword = 15 -- quantos ira aumentar o skill de Sword
local skillaxe = 15 -- quantos ira aumentar o skill de Axe
local skillclub = 15 -- quantos ira aumentar o skill de Club
local skilldistance = 15 -- quantos ira aumentar o skill de Distance
local skillshield = 15 -- quantos ira aumentar o skill de Shield
local health = 150 -- A cada 1 segundo quantos aumentar de vida
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
        
local condition1 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition1, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICLEVEL, ml)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST, skillfist)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, skillsword)
setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, skillaxe)
setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, skillclub)
setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, skilldistance)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, skillshield)
setConditionParam(condition1, CONDITION_PARAM_OUTFIT, outfit)
setCombatCondition(combat, condition1)
        
local condition1 = createConditionObject(CONDITION_HASTE)
setConditionParam(condition1, CONDITION_PARAM_SPEED, 250)
setConditionParam(condition1, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition1, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat, condition1)
        
local condition1 = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition1, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition1, CONDITION_PARAM_BUFF, TRUE)
setConditionParam(condition1, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition1, CONDITION_PARAM_HEALTHGAIN, health)
setConditionParam(condition1, CONDITION_PARAM_HEALTHTICKS, 1000)
setCombatCondition(combat, condition1)
                  
function magicEffect(tempo2,tempo3,cid)
if (isCreature(cid)) then
        if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then
                for i=1, #effect do
                local position = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
doSendMagicEffect(position, effect[i])
                end
        end
end
end
                                
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then
        doCombat(cid, combat, var)
        tempo2 = 0
        while (tempo2 ~= (tempo*1000)) do
                addEvent(magicEffect, tempo2, tempo2, tempo*1000, cid)
                tempo2 = tempo2 + 300
        end
        setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado.
else
        doPlayerSendCancel(cid, "Voce ja esta com Buff.")
end
end

coloquei isso nas conditions, mas quando eu uso outro buff, ele não consegue usar, fala q já tá transformado, era ali mesmo que eu tinha que mudar?


Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 23/12/2018 em 21:17, adolfbig disse:
Spoiler

 



local tempo = 120 -- tempo em segundos.
local effect = {12} -- effect no player
        
local ml = 15 -- quantos ira aumentar o skill de ML
local skillfist = 15 -- quantos ira aumentar o skill de Fist
local skillsword = 15 -- quantos ira aumentar o skill de Sword
local skillaxe = 15 -- quantos ira aumentar o skill de Axe
local skillclub = 15 -- quantos ira aumentar o skill de Club
local skilldistance = 15 -- quantos ira aumentar o skill de Distance
local skillshield = 15 -- quantos ira aumentar o skill de Shield
local health = 150 -- A cada 1 segundo quantos aumentar de vida
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
        
local condition1 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition1, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICLEVEL, ml)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST, skillfist)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, skillsword)
setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, skillaxe)
setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, skillclub)
setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, skilldistance)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, skillshield)
setConditionParam(condition1, CONDITION_PARAM_OUTFIT, outfit)
setCombatCondition(combat, condition1)
        
local condition1 = createConditionObject(CONDITION_HASTE)
setConditionParam(condition1, CONDITION_PARAM_SPEED, 250)
setConditionParam(condition1, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition1, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat, condition1)
        
local condition1 = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition1, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition1, CONDITION_PARAM_BUFF, TRUE)
setConditionParam(condition1, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition1, CONDITION_PARAM_HEALTHGAIN, health)
setConditionParam(condition1, CONDITION_PARAM_HEALTHTICKS, 1000)
setCombatCondition(combat, condition1)
                  
function magicEffect(tempo2,tempo3,cid)
if (isCreature(cid)) then
        if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then
                for i=1, #effect do
                local position = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
doSendMagicEffect(position, effect[i])
                end
        end
end
end
                                
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then
        doCombat(cid, combat, var)
        tempo2 = 0
        while (tempo2 ~= (tempo*1000)) do
                addEvent(magicEffect, tempo2, tempo2, tempo*1000, cid)
                tempo2 = tempo2 + 300
        end
        setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado.
else
        doPlayerSendCancel(cid, "Voce ja esta com Buff.")
end
end

coloquei isso nas conditions, mas quando eu uso outro buff, ele não consegue usar, fala q já tá transformado, era ali mesmo que eu tinha que mudar?

 

 

 

Acabei de enxer o saco do @KotZletY no discord, e ele explicou certinho, aconselho que façam o mesmo, zoeira, HEIUAHEa

 

setConditionParam(condition, CONDITION_PARAM_SUBID, 1)

Isso ai em cima é o SUBID que ele fala, você tem que por isso, com numeros diferentes em cada Buff, no caso no script ai ficaria assim.

Spoiler

local tempo = 120 -- tempo em segundos.
local effect = {12} -- effect no player
        
local ml = 15 -- quantos ira aumentar o skill de ML
local skillfist = 15 -- quantos ira aumentar o skill de Fist
local skillsword = 15 -- quantos ira aumentar o skill de Sword
local skillaxe = 15 -- quantos ira aumentar o skill de Axe
local skillclub = 15 -- quantos ira aumentar o skill de Club
local skilldistance = 15 -- quantos ira aumentar o skill de Distance
local skillshield = 15 -- quantos ira aumentar o skill de Shield
local health = 150 -- A cada 1 segundo quantos aumentar de vida
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
        
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml)
setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield)
setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)
setCombatCondition(combat, condition)
        
local condition = createConditionObject(CONDITION_HASTE)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_SPEED, 250)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat, condition)
        
local condition = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000)
setCombatCondition(combat, condition)
                  
function magicEffect(tempo2,tempo3,cid)
if (isCreature(cid)) then
        if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then
                for i=1, #effect do
                local position = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
doSendMagicEffect(position, effect[i])
                end
        end
end
end
                                
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then
        doCombat(cid, combat, var)
        tempo2 = 0
        while (tempo2 ~= (tempo*1000)) do
                addEvent(magicEffect, tempo2, tempo2, tempo*1000, cid)
                tempo2 = tempo2 + 300
        end
        setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado.
else
        doPlayerSendCancel(cid, "Voce ja esta com Buff.")
end
end

 



5b3137d809d1ec649c262b60c0e3ea2869a757de

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu deadpool, unica coisa q bugou foi o efeito que sumiu kkkkk, fora isso deu tudo certo, tmj


Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×