Ir para conteúdo

(Resolvido)[PEDIDO] Bonus de EXP para PREMIUM ACCOUNT para TFS 1.0

Featured Replies

Postado

@iErrorzz, se o seu TFS for 1.0, vá em creaturescript/script e crie um arquivo lua com o nome luan_gato.lua e depois coloque esse código dentro:

function onKill(cid, target, lastHit)
	
	if isPremium(cid) then
		local monster = Monster(target)
		if not monster then
			return true
		end

		for id, damage in pairs(monster:getDamageMap()) do
			local player = Player(id)
			if player then
				local experience = damage.total / monster:getType():getHealth() * monster:getType():getExperience() 
				local expFormula = (experience * 0.20)
				player:addExperience(math.floor(expFormula), true)
			end
		end
	end

	return true
end

Depois coloque a seguinte tag em creaturescript/creaturescript.xml:

<event type="kill" name="Exp_Extra" script="luan_gato.lua"/>

E por ultimo registre o evento em creaturescripts/scripts/login.lua:

registerCreatureEvent(cid, "Exp_Extra")

Simples e fácil.

  • Respostas 28
  • Visualizações 4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • luanluciano93
    luanluciano93

    Testa essa bagacera ai ..  -- <event type="kill" name="Exp_Extra" event="script" value="luan_gato.lua"/> -- in login.lua add event: registerCreatureEvent(cid, "Exp_Extra") function onKill(cid

  • luanluciano93
    luanluciano93

    @iErrorzz, se o seu TFS for 1.0, vá em creaturescript/script e crie um arquivo lua com o nome luan_gato.lua e depois coloque esse código dentro: function onKill(cid, target, lastHit) if isPremium

  • luanluciano93
    luanluciano93

    Nem testei, kk   Só para ficar claro, eu add isso: local mensagem_premium = "You have "..player:getPremiumDays().." and 20% more experience." if isPremium(cid) then player:sendTextMessa

Postado
  • Autor

Ok!

Funcionando perfeitamente!

mais no login.lua você temque por assim cara:

player:registerEvent("luan_pica_denoistodos")

do jeito que você colocou aqui se não me engano só serve para 8.60

no resto esta perfeito!

Teria como colocar pra aparecer quando o player logasse uma mensagem?

"Você ainda tem 10 dias de premium account - aproveite a EXP em Dobro"

coisa do tipo? :D:D!

 

MUITOOOO OBRIGADO MEU GATO!

Você é foda!

Você é o TK! õ/

Editado por TioSlash (veja o histórico de edições)

Postado

Reformulando ... coloquei o evento lá que tu falou e fz uma variavel para a porcentagem que vai ganhar de XP.

-- <event type="kill" name="Exp_Extra" event="script" value="luan_gato.lua"/>
-- in login.lua add event: player:registerEvent("Exp_Extra")

local rate = 20 --- porcentagem que irá ganhar a mais.

function onKill(cid, target, lastHit)
	
	if isPremium(cid) then
		local monster = Monster(target)
		if not monster then
			return true
		end

		for id, damage in pairs(monster:getDamageMap()) do
			local player = Player(id)
			if player then
				local experience = damage.total / monster:getType():getHealth() * monster:getType():getExperience() 
				local expFormula = ((experience / 100) * rate)
				player:addExperience(math.floor(expFormula), true)
			end
		end
	end

	return true
end

Sobre a mensagem, vê se em creaturescript tem o arquivo login.lua, se tiver poste ele em spoiler .. 

Postado
  • Autor

function onLogin(cid)

local player = Player(cid)

local loginStr = "Welcome to " .. configManager.getString(configKeys.SERVER_NAME) .. "!"

if player:getLastLoginSaved() <= 0 then

loginStr = loginStr .. " Please choose your outfit."

player:sendTutorial(1)

else

if loginStr ~= "" then

player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)

end

loginStr = string.format("Your last visit was on %s.", os.date("%a %b %d %X %Y", player:getLastLoginSaved()))

end

player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)

player:registerEvent("PlayerDeath")

player:registerEvent("bigfootBurdenQuestVesperoth")

player:registerEvent("bigfootBurdenQuestWarzone")

player:registerEvent("bigfootBurdenQuestWeeper")

player:registerEvent("bigfootBurdenQuestWiggler")

player:registerEvent("bossSummoning")

player:registerEvent("theNewFrontierQuestShardOfCorruption")

player:registerEvent("theNewFrontierQuestTirecz")

player:registerEvent("inServiceOfYalaharQuestsDiseased")

player:registerEvent("inServiceOfYalaharQuestsMorik")

player:registerEvent("inServiceOfYalaharQuestsQuara")

player:registerEvent("inquisitionQuestBosses")

player:registerEvent("inquisitionQuestUngreez")

player:registerEvent("killingInTheNameOfQuestKills")

player:registerEvent("masterVoiceQuest")

player:registerEvent("elementalspheresquestOverlords")

player:registerEvent("SvargrondArenaKill")

player:registerEvent("AdvanceSave")

player:registerEvent("StorageConversion")

player:registerEvent("rookgaardCockroach")

player:registerEvent("luan_pica_denoistodos")

--Others

player:stopMove(false)

return true

end

Editado por TioSlash (veja o histórico de edições)

Postado

Nem testei, kk

function onLogin(cid)
	
	local player = Player(cid)
	
	local loginStr = "Welcome to " .. configManager.getString(configKeys.SERVER_NAME) .. "!"	
	if player:getLastLoginSaved() <= 0 then
		loginStr = loginStr .. " Please choose your outfit."
		player:sendTutorial(1)
	else
		if loginStr ~= "" then
			player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
		end
		loginStr = string.format("Your last visit was on %s.", os.date("%a %b %d %X %Y", player:getLastLoginSaved()))
	end
	
	local mensagem_premium = "You have "..player:getPremiumDays().." and 20% more experience."
	if isPremium(cid) then
		player:sendTextMessage(MESSAGE_STATUS_DEFAULT, mensagem_premium)
	end
	
	player:registerEvent("PlayerDeath")
	player:registerEvent("bigfootBurdenQuestVesperoth")
	player:registerEvent("bigfootBurdenQuestWarzone")
	player:registerEvent("bigfootBurdenQuestWeeper")
	player:registerEvent("bigfootBurdenQuestWiggler")
	player:registerEvent("bossSummoning")
	player:registerEvent("theNewFrontierQuestShardOfCorruption")
	player:registerEvent("theNewFrontierQuestTirecz")
	player:registerEvent("inServiceOfYalaharQuestsDiseased")
	player:registerEvent("inServiceOfYalaharQuestsMorik")
	player:registerEvent("inServiceOfYalaharQuestsQuara")
	player:registerEvent("inquisitionQuestBosses")
	player:registerEvent("inquisitionQuestUngreez")
	player:registerEvent("killingInTheNameOfQuestKills")
	player:registerEvent("masterVoiceQuest")
	player:registerEvent("elementalspheresquestOverlords")
	player:registerEvent("SvargrondArenaKill")
	player:registerEvent("AdvanceSave")
	player:registerEvent("StorageConversion")
	player:registerEvent("rookgaardCockroach")
	player:registerEvent("luan_pica_denoistodos")
	
	--Others
	player:stopMove(false)
	
	return true
end

 

Só para ficar claro, eu add isso:

	local mensagem_premium = "You have "..player:getPremiumDays().." and 20% more experience."
	if isPremium(cid) then
		player:sendTextMessage(MESSAGE_STATUS_DEFAULT, mensagem_premium)
	end

A unica coisa que tu precisa editar é a primeira linha disso que eu adicionei.

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo