Ir para conteúdo

Posts Recomendados

Sistema Ispirado no Sayajin System!! So que Diferenciamos Na Talkactions!

Estavamos Com Devidos Problemas nas Funçoes mais Conseguimos.. Vamos ao Oque Intereça

 

 

Vá em Data>Talkactions.xml Adicione esta Tag:

 

<talkaction words="!buff"  value="buffsystem.lua"/>

 

Agora vá em Data>Talkactions>Scripts crie uma pasta.lua chamada power e coloque isso dentro:

 

--[[ script By Vodkart,Kydrai and DevilMoon]]--

local config = {
ex = 1, -- exausted para ele nao pegar varios buff sempre o mesmo tempo que no time
needpremium = "yes",
level = 100,
s = 9797,
time = 1, -- minutos que ele ficara bufado
price = 10000
}


local sorcerer = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(sorcerer, CONDITION_PARAM_TICKS, config.time*60*1000)
setConditionParam(sorcerer, CONDITION_PARAM_STAT_MAXHEALTH, 300)
setConditionParam(sorcerer, CONDITION_PARAM_STAT_MAXMANA, 500)    
setConditionParam(sorcerer, CONDITION_PARAM_SKILL_SHIELD, 6)  
setConditionParam(sorcerer, CONDITION_PARAM_STAT_MAGICLEVEL, 10)

local druid = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(druid, CONDITION_PARAM_TICKS, config.time*60*1000)
setConditionParam(druid, CONDITION_PARAM_STAT_MAXHEALTH, 250)
setConditionParam(druid, CONDITION_PARAM_STAT_MAXMANA, 600)      
setConditionParam(druid, CONDITION_PARAM_SKILL_SHIELD, 5)  
setConditionParam(druid, CONDITION_PARAM_STAT_MAGICLEVEL, 10)


local paladin = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(paladin, CONDITION_PARAM_TICKS, config.time*60*1000)
setConditionParam(paladin, CONDITION_PARAM_SKILL_DISTANCE, 10)
setConditionParam(paladin, CONDITION_PARAM_SKILL_SHIELD, 5)
setConditionParam(paladin, CONDITION_PARAM_STAT_MAGICLEVEL, 3)
setConditionParam(paladin, CONDITION_PARAM_STAT_MAXHEALTH, 300)
setConditionParam(paladin, CONDITION_PARAM_STAT_MAXMANA, 300)


local knight = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(knight, CONDITION_PARAM_TICKS, config.time*60*1000)
setConditionParam(knight, CONDITION_PARAM_SKILL_CLUB, 12)
setConditionParam(knight, CONDITION_PARAM_SKILL_SWORD, 12)
setConditionParam(knight, CONDITION_PARAM_SKILL_AXE, 12)
setConditionParam(knight, CONDITION_PARAM_SKILL_SHIELD, 3)
setConditionParam(knight, CONDITION_PARAM_STAT_MAGICLEVEL, 2)
setConditionParam(knight, CONDITION_PARAM_STAT_MAXHEALTH, 700)
setConditionParam(knight, CONDITION_PARAM_STAT_MAXMANA, 200)


function onSay(cid, words, param)


if(config.needpremium == "yes") and (not isPremium(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Sorry,This power is someone for premium account.")
return TRUE
end


if getPlayerLevel(cid) >= config.level then
if doPlayerRemoveMoney(cid,config.price) == TRUE then
if (getPlayerStorageValue(cid, config.s) <= os.time()) then
if(isInArray({1, 5}, getPlayerVocation(cid))) then  -- id das vocation 
doAddCondition(cid, sorcerer)
end
if(isInArray({2, 6}, getPlayerVocation(cid))) then  -- id das vocation 
doAddCondition(cid, druid)
end
if(isInArray({3, 7}, getPlayerVocation(cid))) then  -- id das vocation 
doAddCondition(cid, paladin)
end
if(isInArray({4, 8}, getPlayerVocation(cid))) then  -- id das vocation 
doAddCondition(cid, knight)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You are Buffed.") 
setPlayerStorageValue(cid, config.s, os.time()+config.ex*60)
else
doPlayerSendCancel(cid, "Sorry, you only can again use this power after "..config.ex.." minutes.")
end
else
doPlayerSendTextMessage(cid,23,"you dont have " .. config.price .. " gps for buy buff")
end
else
doPlayerSendCancel(cid, "Sorry, you need level "..config.level.." or more.")
end
return TRUE
end

 

Feche e Salve Tudo, e o Tempo ta para 1 Minuto!!

Edite ao Seu Gosto...

 

 

Sugestoes e Duvidas Somente neste Topico.

 

 

Abraços..

Editado por DevilMoon
Link para o comentário
https://xtibia.com/forum/topic/140520-buff-system/
Compartilhar em outros sites

Olha só ... esse script ae Almenta também o maximo de hp de um Player certo^^?

Bom,eu tenhu no meu servidor o comando !buyvida,só que tipo se o player usar o buff e em seguida !buyvida ,ele buga o comando e adiciona 10x + Vida do que o necessário.

tem como arrumar isso tipo Por pra talk só ser usada depois que o buff sair?

meu script ae inbaixo\/

 

function onSay(cid, words, param)

local money = 1000000

local health = 2000

local premium = "yes" -- Apenas players premium accounts "yes" or "no"!?

if premium == "yes" and not isPremium(cid) then

return doPlayerSendTextMessage(cid, 23, "Sorry, only premium players.")

end

if doPlayerRemoveMoney(cid, money) then

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + health)

else

doPlayerSendCancel(cid, "Você precisa de "..money.." gp's")

end

return TRUE

end

Editado por Subwat
Link para o comentário
https://xtibia.com/forum/topic/140520-buff-system/#findComment-927726
Compartilhar em outros sites

sim

 

usando o mesmo valor da storage do buff system =]

 

o script da vida ta ai:

 

 

 

function onSay(cid, words, param)
local money = 1000000
local health = 2000
local s = 9797
local premium = "yes" -- Apenas players premium accounts "yes" or "no"!?
if premium == "yes" and not isPremium(cid) then
return doPlayerSendTextMessage(cid, 23, "Sorry, only premium players.")
end
if (getPlayerStorageValue(cid, s) <= os.time()) then 
if doPlayerRemoveMoney(cid, money) == TRUE then
setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + health)
else
doPlayerSendCancel(cid, "Você precisa de "..money.." gp's")
end
else
doPlayerSendCancel(cid, "Espere o Buff acabar para usar este comando.") 
end
return TRUE
end

 

 

 

Editado por Vodkart
Link para o comentário
https://xtibia.com/forum/topic/140520-buff-system/#findComment-927757
Compartilhar em outros sites

×
×
  • Criar Novo...