.Qual servidor ou website você utiliza como base?
Uso Base Cyan 3.0
Qual o motivo deste tópico?
Estava mexendo em uma base que baixei recentemente (Jornadas) e acabei me deparando com script de xp banner (Item que eu coloco no chão e aumenta minha exp rate em uma determinada área) fui copiando, colando e editando os scripts para a base que eu uso (cyan) e quando fui testar o banner é colocado no chão mas não aumenta a minha exp ganha, alguém poderia me ajudar?
Expplank.lua
expplank.lua
function onUse(cid, item, frompos, itemEx, topos)
if (getPlayerStorageValue(cid, player_use_banner) >= 1) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você já está usando um XP Banner!.")
return true
end
if (config_banner[item.itemid]) then
local banner = config_banner[item.itemid]
if (remove_banner_item == true or remove_banner_item == TRUE) then
doPlayerRemoveItem(cid, item.itemid, 1)
end
CreateBanner(cid, banner, itemEx)
TimeBannerCheck(cid, banner, getThingPos(itemEx.uid))
-- EffectBanner(getThingPos(itemEx.uid))
end
end
function CreateBanner(cid, banner, itemEx)
local bannerze = doCreateItem(banner.banner_id, getThingPos(itemEx.uid))
doItemSetAttribute(bannerze, "name", ""..banner.banner_name..". Pertence a: "..getCreatureName(cid))
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você usou um "..banner.banner_name..", que te dará "..banner.banner_percent.."% de exp a mais, tem duração de "..banner.time_left.." minuto(s).")
setPlayerStorageValue(cid, storage_banner_x, getThingPos(itemEx.uid).x)
setPlayerStorageValue(cid, storage_banner_y, getThingPos(itemEx.uid).y)
setPlayerStorageValue(cid, storage_banner_z, getThingPos(itemEx.uid).z)
setPlayerStorageValue(cid, storage_banner_id, banner.banner_id)
-- doExtraBannerRateStart(cid, banner.time_left, banner.exp_bonus)
if (doExtraExpRateStart(cid, banner.time_xp, banner.exp_bonus)) then
doSendMagicEffect(getThingPos(itemEx.uid), effect_invoke_banner)
else
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
end
setPlayerStorageValue(cid, player_use_banner, 1)
setPlayerStorageValue(cid, time_banner, os.time() + (banner.time_left * time_in_minutes))
end
function TimeBannerCheck(cid, banner, banner_pos)
if not isCreature(cid) then
if (isItem(getTileItemById(banner_pos, 15443))) then
doRemoveItem(getTileItemById(banner_pos, 15443).uid)
elseif (isItem(getTileItemById(banner_pos, 15444))) then
doRemoveItem(getTileItemById(banner_pos, 15444).uid)
elseif (isItem(getTileItemById(banner_pos, 15445))) then
doRemoveItem(getTileItemById(banner_pos, 15445).uid)
elseif (isItem(getTileItemById(banner_pos, 15446))) then
doRemoveItem(getTileItemById(banner_pos, 15446).uid)
elseif isItem(getTileItemById(banner_pos, 15447)) then
doRemoveItem(getTileItemById(banner_pos, 15447).uid)
end
doSendMagicEffect(banner_pos, effect_decay_banner)
return true
end
if (getPlayerStorageValue(cid, time_banner) == os.time()) then
if (isItem(getTileItemById(banner_pos, 15443))) then
doRemoveItem(getTileItemById(banner_pos, 15443).uid)
doSendMagicEffect(banner_pos, effect_decay_banner)
elseif (isItem(getTileItemById(banner_pos, 15444))) then
doRemoveItem(getTileItemById(banner_pos, 15444).uid)
doSendMagicEffect(banner_pos, effect_decay_banner)
elseif (isItem(getTileItemById(banner_pos, 15445))) then
doRemoveItem(getTileItemById(banner_pos, 15445).uid)
doSendMagicEffect(banner_pos, effect_decay_banner)
elseif (isItem(getTileItemById(banner_pos, 15446))) then
doRemoveItem(getTileItemById(banner_pos, 15446).uid)
doSendMagicEffect(banner_pos, effect_decay_banner)
elseif isItem(getTileItemById(banner_pos, 15447)) then
doRemoveItem(getTileItemById(banner_pos, 15447).uid)
doSendMagicEffect(banner_pos, effect_decay_banner)
end
setPlayerStorageValue(cid, player_use_banner, -1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Seu "..banner.banner_name.." quebrou.")
return true
end
addEvent(function()
TimeBannerCheck(cid, banner, banner_pos)
end, 1000)
end
012-extraexprate
--------- EXTRA XP RATE ---------
local function doExtraExpRateReset(pid)
if (isPlayer(pid)) then
setPlayerExtraExpRate(pid, 0)
setPlayerExtraExpRateTime(pid, 0)
setPlayerExtraExpRateValue(pid, 0)
-- doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE, "Your bonus experience has ended.")
doSendMagicEffect(getCreaturePosition(pid), EFFECT_RED_BUFF)
end
end
function doExtraExpRateCheck(pid) -- Called onLogin
local remaingTime = getPlayerExtraExpRateTime(pid) - os.time()
if (remaingTime > 0) then
-- doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE, string.format(__L(pid, "Remaining %s minutes of bonus experience."), math.floor(remaingTime / 60)))
setPlayerExtraExpRate(pid, getPlayerExtraExpRateValue(pid))
addEvent(doExtraExpRateReset, remaingTime * 1000, pid)
elseif (getPlayerExtraExpRateValue(pid) > 0) then
doExtraExpRateReset(pid)
end
end
function doExtraExpRateStart(pid, seconds, value)
if (getPlayerExtraExpRate(pid) > 0) then
return false
end
setPlayerExtraExpRate(pid, value)
setPlayerExtraExpRateTime(pid, os.time() + seconds)
setPlayerExtraExpRateValue(pid, value)
-- doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE, string.format(__L(pid, "Your %s%% bonus experience has started. Duration: %s minutes."), math.round(value * 100), math.floor(seconds / 60)))
doSendMagicEffect(getCreaturePosition(pid), EFFECT_RED_BUFF)
addEvent(doExtraExpRateReset, seconds * 1000, pid)
return true
end
--------- EXTRA XP RATE ---------
--------- EXTRA BANNER RATE ---------
local function doExtraBannerRateReset(pid)
if (isPlayer(pid)) then
setPlayerExtraBannerRate(pid, 0)
setPlayerExtraBannerRateTime(pid, 0)
setPlayerExtraBannerRateValue(pid, 0)
doSendMagicEffect(getCreaturePosition(pid), EFFECT_RED_BUFF)
end
end
function doExtraBannerRateCheck(pid) -- Called onLogin
local remaingTime = getPlayerExtraBannerRateTime(pid) - os.time()
if (remaingTime > 0) then
doExtraBannerRateReset(pid)
elseif (getPlayerExtraBannerRateValue(pid) > 0) then
doExtraBannerRateReset(pid)
end
end
function doExtraBannerRateStart(pid, seconds, value)
if (getPlayerExtraBannerRate(pid) > 0) then
return false
end
setPlayerExtraBannerRate(pid, value)
setPlayerExtraBannerRateTime(pid, os.time() + seconds)
setPlayerExtraBannerRateValue(pid, value)
doSendMagicEffect(getCreaturePosition(pid), EFFECT_RED_BUFF)
addEvent(doExtraBannerRateReset, seconds * 1000, pid)
return true
end
--------- EXTRA BANNER RATE ---------
Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
https://ibb.co/k6Tj0T2
Nessa imagem mostra o que aparece na distro após o uso do banner