Ir para conteúdo
  • Cadastre-se

(Resolvido)Guild Bonus


Ir para solução Resolvido por Lyu,

Posts Recomendados

Bom Dia, Alguem consegue fazer um script que quando o player da "guild1" pisar naquele piso (com actionid) ele e os membros da guild dele "guild1" recebe uma storage e todos que tiver essa storage recebe 20% de EXP Bonus, se outro player de outra guild, "guild2" pisar nesse msm piso essa mesma storage que estava com a "guild1" passa a ser da "guild2" e o bonus de 20% passa a ser da "Guild2" e nao da "guild1", Obrigado.

Link para o post
Compartilhar em outros sites
  • Respostas 7
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Tente isso, fiz aqui rapidinho mas não testei (acredito que funcione como você espera)   data/movements/scripts/guildexp.lua if not guildExperienceBonus then guildExperienceBonus = 0 -- default value; no guild end function onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if not player then return true end local guild = player:getGuild() if guild then guildExperienceBonus = guild:getId() player:sendTextMessage(MESSAGE_INFO_DESCR, 'Sua g

  Em 16/10/2019 em 15:15, Avante disse:

Bom Dia, Alguem consegue fazer um script que quando o player da "guild1" pisar naquele piso (com actionid) ele e os membros da guild dele "guild1" recebe uma storage e todos que tiver essa storage recebe 20% de EXP Bonus, se outro player de outra guild, "guild2" pisar nesse msm piso essa mesma storage que estava com a "guild1" passa a ser da "guild2" e o bonus de 20% passa a ser da "Guild2" e nao da "guild1", Obrigado.

 

Mostrar mais  

Tenta fazer usando globalstorage que recebe o id da guild do player que passar pelo piso sendo assim mais fácil você dar essa bônus exp 

Link para o post
Compartilhar em outros sites

Qual a versão do seu TFS?

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • Solução

Tente isso, fiz aqui rapidinho mas não testei (acredito que funcione como você espera)
 

data/movements/scripts/guildexp.lua

if not guildExperienceBonus then
	guildExperienceBonus = 0 -- default value; no guild
end

function onStepIn(creature, item, position, fromPosition)
	local player = creature:getPlayer()
	if not player then
		return true
	end

	local guild = player:getGuild()
	if guild then
		guildExperienceBonus = guild:getId()
		player:sendTextMessage(MESSAGE_INFO_DESCR, 'Sua guild agora possui o bônus em experiência.')
		player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
	end
	return true
end

data/movements/movements.xml

<movevent event="StepIn" actionid="33462" script="guildexp.lua" />

data/events/scripts/player.lua

--[[
	Atenção, procure a função Player:onGainExperience(source, exp, rawExp)
	Adicione o código abaixo antes do último return exp
]]

local guild = self:getGuild()
if guild and guild:getId() == guildExperienceBonus then
  exp = exp * 1.2 -- 20% bonus
end

 

Editado por Lyu
troquei player por self (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96846
    Tópicos
    519606
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo