Ir para conteúdo

Featured Replies

Postado

.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

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo