Jump to content
Close

Recommended Posts

Quem se dispor, e querer me ajudar, eu queia solicitar um Script de uma Magia que eu vi no DBO Ultimate, essa Magia se chama Mod God. O proposito dela é te dar uma Skin e também alguns aumentos nas Skills, como Ml, Sword, Distance, Shielding e Fast Attack por um determinado tempo. Para cada vocação uma Skin, éeh, também se puderem colocar um Efeito de quando usar e de quando acabar o Tempo, agradeceria muito, e ter um tempo para usar essa Tecnicas de novo, para a pessoa não ficar usando toda hora que o tempo da mesma acabar. Obrigado desde já, rep+ para quem ajudar.


Edited by Phineasz (see edit history)

                     Ajudei você? Ótimo, Boa Sorte!!

 

«Projetos:»

Baiak Alpha

 

«Tópicos:»

Widget Gesior

[Solução] Códigos vem com caracteres especias

 

          «Mapas:»        

Cidade [8.60]

Cave de Gelo [8.60]

Cave de Boss [8.60]

 

«Sites:»

DBO Discord

NTO Discord

Baiak Alpha

Share this post


Link to post
Share on other sites

@gabriel28 E como seria pra por um efeito assim que usar e pra quando ele expirar?



                     Ajudei você? Ótimo, Boa Sorte!!

 

«Projetos:»

Baiak Alpha

 

«Tópicos:»

Widget Gesior

[Solução] Códigos vem com caracteres especias

 

          «Mapas:»        

Cidade [8.60]

Cave de Gelo [8.60]

Cave de Boss [8.60]

 

«Sites:»

DBO Discord

NTO Discord

Baiak Alpha

Share this post


Link to post
Share on other sites

@gabriel28 Estava fuçando no Fórum e achei um Script parecido com o que solicitei acima, porém a pessoa que postou o Script menciona um erro e sem solução por enquanto. Será que você ou outro alguém poderia ajudar a corrigir? Pfv. @Vodkart @Storm @KotZletY @Yan Liima @Kramer @Ivens Pontes @xWhiteWolf.

Spells: Mod God.lua

local outfit = {lookType = 157} -- Outif que usará durante o tempo da magia.
local tempo = 300 * 1000 -- Tempo de duração da magia.
local voc = 50  -- Vocação atribuida durante o tempo da magia.
 
local ml = 70 -- Bonus Magic Level
local skillfist = 50 -- Bonus Atributos
local skillsword = 50 -- Bonus Atributos
local skillaxe = 50 -- Bonus Atributos
local skillclub = 50 -- Bonus Atributos
local skilldistance = 50 -- Bonus Atributos
local skillshield = 50 -- Bonus Atributos
local health = 1000 -- Bonus Atributos
local mana = 1000-- Bonus Atributos
local combat = createCombatObject()
local mhealth = 10000 -- Bonus Atributos
local mmana = 10000 -- Bonus Atributos
setCombatParam(combat, COMBAT_PARAM_EFFECT, 42)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
 
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo)
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)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXHEALTH, mhealth)
setConditionParam(condition, CONDITION_PARAM_STAT_MAXMANA, mmana)
setCombatCondition(combat, condition)
 
local condition = createConditionObject(CONDITION_HASTE)
setConditionParam(condition, CONDITION_PARAM_SPEED, 100)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo)
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)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000)
setConditionParam(condition, CONDITION_PARAM_MANAGAIN, mana)
setConditionParam(condition, CONDITION_PARAM_MANATICKS, 1000)

 
setCombatCondition(combat, condition)
 
local sys = createConditionObject(CONDITION_OUTFIT)
setConditionParam(sys, CONDITION_PARAM_TICKS, tempo)
addOutfitCondition(sys, outfit)
setCombatCondition(combat, sys)
 

function onCastSpell(cid, var)
	registerCreatureEvent(cid, "stordeath")
	setPlayerStorageValue(cid, voc_stor, getPlayerVocation(cid))
	doPlayerSetVocation(cid, voc)
	addEvent(doPlayerSetVocation,tempo,cid,getPlayerStorageValue(cid, voc_stor))
	addEvent(setPlayerStorageValue,tempo,cid,voc_stor,0)
local waittime = 3600 -- Cooldown da Magia.
local storage = 86825

if exhaustion.check(cid, storage) then
doCreatureSay(cid, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos.", TALKTYPE_MONSTER)
return false
end
	exhaustion.set(cid, storage, waittime)
	return doCombat(cid, combat, var)
end

Creaturescripts : stordeath.lua

function onDeath(cid, corpse, deathList)
	local i = getPlayerStorageValue(cid, voc_stor)
	if i > 0 then
		doPlayerSetVocation(cid, i)
		setPlayerStorageValue(cid, voc_stor, 0)
	end
	return true
end

Lib : 000-constant.lua

voc_stor = 86666 -- Storage que salva vocação

ERRO: Consiste apos o buff se encerrar, a vocação original não volta, o buff mesmo se encerrando, acabando os atributos e voltando a outif a vocação que o buff adciona fica, permanece, ficando com a vocação para sempre, sendo que essa vocação deveria ficar somente durante o tempo de duração.

Espero que tenham entendido, e que me ajudem a corrigir ! Agradeço desde já.

 

Postado por @r0bert0lol.



                     Ajudei você? Ótimo, Boa Sorte!!

 

«Projetos:»

Baiak Alpha

 

«Tópicos:»

Widget Gesior

[Solução] Códigos vem com caracteres especias

 

          «Mapas:»        

Cidade [8.60]

Cave de Gelo [8.60]

Cave de Boss [8.60]

 

«Sites:»

DBO Discord

NTO Discord

Baiak Alpha

Share this post


Link to post
Share on other sites

@Phineasz 

 

Spoiler

local skin = {
    
    [1] = 55, -- [Vocation_ID] = Outfit ID
    [2] = 30,
    [3] = 45
    
}

local time = 300 -- Tempo, em segundos.
local exhaust = 300 -- Tempo de exhaust, em segundos.
local storage = 45434 -- Storage
local effect = 55 -- Efeito

local ml = 40 -- quantos ira aumentar o skill de ML
local skillfist = 0 -- quantos ira aumentar o skill de Fist
local skillsword = 40 -- quantos ira aumentar o skill de Sword
local skillaxe = 40 -- quantos ira aumentar o skill de Axe
local skillclub = 40 -- quantos ira aumentar o skill de Club
local skilldistance = 40 -- quantos ira aumentar o skill de Distance
local skillshield = 1 -- quantos ira aumentar o skill de Shield

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, time * 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)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
    local pos = getCreaturePosition(cid)
    if not exhaustion.check(cid, storage) then
        doSendMagicEffect(pos, effect)
        doSetCreatureOutfit(cid, {lookType = skin[getPlayerVocation] or getCreatureOutfit(cid).lookType}, time * 1000)
        exhaustion.set(cid, storage, time + exhaust)
        return doCombat(cid, combat, var)
    else
        doPlayerSendTextMessage(cid, 27, "Exhaust, wait ".. exhaustion.get(cid, storage) .." to use again.")
        doSendMagicEffect(pos, CONST_ME_POFF)
    end 
end

 

 


Edited by Storm (see edit history)

Share this post


Link to post
Share on other sites

@Storm Tem um probleminha hihi, esse Script que você fez estar pegando alguma função dos Scripts postados acima como base? Por que se estiver, poderia me dizer como ficaria o código no Xml do CreatureScripts? Por que no outro tópico que eu pego o Script o cara só mandou os Arquivos Lua, não deixou nada registrado no Xml. Ou o seu Script já faz tudo?



                     Ajudei você? Ótimo, Boa Sorte!!

 

«Projetos:»

Baiak Alpha

 

«Tópicos:»

Widget Gesior

[Solução] Códigos vem com caracteres especias

 

          «Mapas:»        

Cidade [8.60]

Cave de Gelo [8.60]

Cave de Boss [8.60]

 

«Sites:»

DBO Discord

NTO Discord

Baiak Alpha

Share this post


Link to post
Share on other sites

@Phineasz 

 

Spoiler

local skin = {
    
    [1] = 55, -- [Vocation_ID] = Outfit ID
    [2] = 30,
    [3] = 45
    
}

local time = 300 -- Tempo, em segundos.
local exhaust = 300 -- Tempo de exhaust, em segundos.
local storage = 45434 -- Storage
local effect = 55 -- Efeito

local ml = 40 -- quantos ira aumentar o skill de ML
local skillfist = 0 -- quantos ira aumentar o skill de Fist
local skillsword = 40 -- quantos ira aumentar o skill de Sword
local skillaxe = 40 -- quantos ira aumentar o skill de Axe
local skillclub = 40 -- quantos ira aumentar o skill de Club
local skilldistance = 40 -- quantos ira aumentar o skill de Distance
local skillshield = 1 -- quantos ira aumentar o skill de Shield
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, time * 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)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
    local pos = getCreaturePosition(cid)
    if not exhaustion.check(cid, storage) then
        doSendMagicEffect(pos, effect)
        doSetCreatureOutfit(cid, {lookType = skin[getPlayerVocation]} or getCreatureOutfit(cid).lookType, time * 1000)
        exhaustion.set(cid, storage, time + exhaust)
        return doCombat(cid, combat, var)
    else
        doPlayerSendTextMessage(cid, 27, "Exhaust, wait ".. exhaustion.get(cid, storage) .." to use again.")
        doSendMagicEffect(pos, CONST_ME_POFF)
        return false
    end
end

 

 


Share this post


Link to post
Share on other sites

@Storm Funcionou linduxo tenque iu

@gabriel28 Sim, já foi resolvido, valeu pela ajuda



                     Ajudei você? Ótimo, Boa Sorte!!

 

«Projetos:»

Baiak Alpha

 

«Tópicos:»

Widget Gesior

[Solução] Códigos vem com caracteres especias

 

          «Mapas:»        

Cidade [8.60]

Cave de Gelo [8.60]

Cave de Boss [8.60]

 

«Sites:»

DBO Discord

NTO Discord

Baiak Alpha

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


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!

×
×
  • Create New...