Ir para conteúdo
  • Cadastre-se

Normal [Creatureevents] Reflect ALL


Posts Recomendados

Olá, gostaria da ajuda de vocês para criar um script CREATUREEVENTS.

 

Ele funcionaria de tal forma :

  1. Player completa a quest e ganha uma storage XXXXX (não preciso do script da Quest, so o script do creatureevents com o reflect)
  2. Assim que ganha a storage ele começa automaticamente a refletir todo tipo de dano, não 100%, mais uma porcentagem de 15% (Parte editável.)

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites
<event type="statschange" name="reflect" event="script" value="reflect.lua"/>

login.lua:

registerCreatureEvent(cid, "reflect")

 

reflect.lua:

local config = {
	chance = 100,  -- chance de sair o reflect (1 = 1% de chance)
	valor_reflect = 15, -- % do dano do reflect
	storage = 45455 -- storage do reflect
}

function onStatsChange(cid, attacker, type, combat, value)
	if getPlayerStorageValue(cid, config.storage) > 0 then
		if type == STATSCHANGE_HEALTHLOSS and isPlayer(cid) and isCreature(attacker) then
			if math.random (1,100) <= config.chance then
				doCreatureSay(cid, "Reflect!", TALKTYPE_MONSTER_SAY)
				local danoReflect = value * (config.valor_reflect/100)
				doTargetCombatHealth(cid, attacker, COMBAT_PHYSICALDAMAGE, -danoReflect, -danoReflect, CONST_ME_EXPLOSIONAREA)
				return true
			end
		end
	end
	return true
end

 

Link para o post
Compartilhar em outros sites
1 hora atrás, Zanrix disse:

<event type="statschange" name="reflect" event="script" value="reflect.lua"/>

login.lua:


registerCreatureEvent(cid, "reflect")

 

reflect.lua:

1 hora atrás, Zanrix disse:


<event type="statschange" name="reflect" event="script" value="reflect.lua"/>

login.lua:



registerCreatureEvent(cid, "reflect")

 

reflect.lua:



local config = {
	chance = 100,  -- chance de sair o reflect (1 = 1% de chance)
	valor_reflect = 15, -- % do dano do reflect
	storage = 45455 -- storage do reflect
}

function onStatsChange(cid, attacker, type, combat, value)
	if getPlayerStorageValue(cid, config.storage) > 0 then
		if type == STATSCHANGE_HEALTHLOSS and isPlayer(cid) and isCreature(attacker) then
			if math.random (1,100) <= config.chance then
				doCreatureSay(cid, "Reflect!", TALKTYPE_MONSTER_SAY)
				local danoReflect = value * (config.valor_reflect/100)
				doTargetCombatHealth(cid, attacker, COMBAT_PHYSICALDAMAGE, -danoReflect, -danoReflect, CONST_ME_EXPLOSIONAREA)
				return true
			end
		end
	end
	return true
end

 

Ai ele esta so refletindo quando o player perde vida e não mana. Mais eu mesmo alterei e consegue colocar pra refletir quando ta com utamo vita tbm. Valeu <3

 

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites
5 minutos atrás, Sekk disse:

Como vc alterou @tetheuscunha ?

 

Troca

if type == STATSCHANGE_HEALTHLOSS and isPlayer(cid) and isCreature(attacker) then

 

Por essa

if type == STATSCHANGE_HEALTHLOSS or STATSCHANGE_MANALOSS and isPlayer(cid) and isCreature(attacker) then

 

Link para o post
Compartilhar em outros sites
1 minuto atrás, Weslley Kiyo disse:

 

Troca


if type == STATSCHANGE_HEALTHLOSS and isPlayer(cid) and isCreature(attacker) then

 

Por essa


if type == STATSCHANGE_HEALTHLOSS or STATSCHANGE_MANALOSS and isPlayer(cid) and isCreature(attacker) then

 

vlw ^^(to sem rep+ por hj)

Link para o post
Compartilhar em outros sites
8 minutos atrás, Weslley Kiyo disse:

Nudes? HEUEHUEHUE

AUHAUHAUAHAUAHAU sou cabra macho tio

 

 

 

Edit.:

 

 

Como eu sou um inútil da vida, eu gosto de ficar fuçando nas coisas e deixei o script em mod, se alguem quiser, ta ai:

<?xml version="1.0" encoding="utf-8"?>
<mod name="Reflect System" version="1.0" author="Sekk" enabled="yes">
<config name="rc"><![CDATA[
local config = {
	chance = 100,  -- chance de sair o reflect (1 = 1% de chance)
	valor_reflect = 15, -- % do dano do reflect
	storage = 45455 -- storage do reflect
}
]]></config>
<event type="login" name="Reflect_Login" event="script"><![CDATA[
domodlib('rc')

function onLogin(cid)
		registerCreatureEvent(cid, "reflect")
		return true
end]]></event>
<event type="statschange" name="reflect" event="script"><![CDATA[
domodlib('rc')

function onStatsChange(cid, attacker, type, combat, value)
	if getPlayerStorageValue(cid, config.storage) > 0 then
		if type == STATSCHANGE_HEALTHLOSS or STATSCHANGE_MANALOSS and isPlayer(cid) and isCreature(attacker) then
			if math.random (1,100) <= config.chance then
				doCreatureSay(cid, "Reflect!", TALKTYPE_MONSTER_SAY)
				local danoReflect = value * (config.valor_reflect/100)
				doTargetCombatHealth(cid, attacker, COMBAT_PHYSICALDAMAGE, -danoReflect, -danoReflect, CONST_ME_EXPLOSIONAREA)
				return true
			end
		end
	end
	return true
end]]></event>
</mod>

 

Editado por Sekk (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
29 minutos atrás, Sekk disse:

AUHAUHAUAHAUAHAU sou cabra macho tio

 

 

 

Edit.:

 

 

Como eu sou um inútil da vida, eu gosto de ficar fuçando nas coisas e deixei o script em mod, se alguem quiser, ta ai:


<?xml version="1.0" encoding="utf-8"?>
<mod name="Reflect System" version="1.0" author="Sekk" enabled="yes">
<config name="rc"><![CDATA[
local config = {
	chance = 100,  -- chance de sair o reflect (1 = 1% de chance)
	valor_reflect = 15, -- % do dano do reflect
	storage = 45455 -- storage do reflect
}
]]></config>
<event type="login" name="Reflect_Login" event="script"><![CDATA[
domodlib('rc')

function onLogin(cid)
		registerCreatureEvent(cid, "reflect")
		return true
end]]></event>
<event type="statschange" name="reflect" event="script"><![CDATA[
domodlib('rc')

function onStatsChange(cid, attacker, type, combat, value)
	if getPlayerStorageValue(cid, config.storage) > 0 then
		if type == STATSCHANGE_HEALTHLOSS or STATSCHANGE_MANALOSS and isPlayer(cid) and isCreature(attacker) then
			if math.random (1,100) <= config.chance then
				doCreatureSay(cid, "Reflect!", TALKTYPE_MONSTER_SAY)
				local danoReflect = value * (config.valor_reflect/100)
				doTargetCombatHealth(cid, attacker, COMBAT_PHYSICALDAMAGE, -danoReflect, -danoReflect, CONST_ME_EXPLOSIONAREA)
				return true
			end
		end
	end
	return true
end]]></event>
</mod>

 

To usando como mod, e ta dando esse erro quando algum bicho me ataca.

 

Citar

[Error - CreatureScript Interface]
buffer:onStatsChange
Description:
[string "loadBuffer"]:4: attempt to index global 'config' (a nil value)
stack traceback:
        [string "loadBuffer"]:4: in function <[string "loadBuffer"]:3>

 

Link para o post
Compartilhar em outros sites

@diarmaint tenta assim:

<?xml version="1.0" encoding="utf-8"?>
<mod name="Reflect System" version="1.0" author="Sekk" enabled="yes">
<config name="rc"><![CDATA[
rc = {
	chance = 100,  -- chance de sair o reflect (1 = 1% de chance)
	valor_reflect = 15, -- % do dano do reflect
	storage = 45455 -- storage do reflect
}
]]></config>
<event type="login" name="Reflect_Login" event="script"><![CDATA[
domodlib('rc')

function onLogin(cid)
		registerCreatureEvent(cid, "reflect")
		return true
end]]></event>
<event type="statschange" name="reflect" event="script"><![CDATA[
domodlib('rc')

function onStatsChange(cid, attacker, type, combat, value)
	if getPlayerStorageValue(cid, rc.storage) > 0 then
		if type == STATSCHANGE_HEALTHLOSS or STATSCHANGE_MANALOSS and isPlayer(cid) and isCreature(attacker) then
			if math.random (1,100) <= rc.chance then
				doCreatureSay(cid, "Reflect!", TALKTYPE_MONSTER_SAY)
				local danoReflect = value * (rc.valor_reflect/100)
				doTargetCombatHealth(cid, attacker, COMBAT_PHYSICALDAMAGE, -danoReflect, -danoReflect, CONST_ME_EXPLOSIONAREA)
				return true
			end
		end
	end
	return true
end]]></event>
</mod>

 

Editado por Sekk (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
1 minuto atrás, diarmaint disse:

Eu tentei sem deixar sem mod, aí não deu problema nenhum, o problema foi que travou, os personagens começaram a desaparecer, quando andava, travava, aparecia lá na frente.

 

 

wtf, mas tenta ai dnv, acabei de atualizar o mod ali

Link para o post
Compartilhar em outros sites

@diarmaint Pode ser o CreatureSay, o meu estava dando o mesmo problema, as vezes ate levava debug, ai alterei pra   doSendAnimatedText(getPlayerPosition(cid), "REFLECT", TEXTCOLOR_RED). Parou todos os erros

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites

 

Pronto, a qualidade não tá muito boa, mais está acontecendo isso.

Eu uso em meu servidor uma spell que reflete 1 dano recebido, é quase a mesma script, porém não dá erro.

Citar

 

local config = { 
storage = 3482101,
effect1 = 109, --- efeito que sai ao dar reflect
effect2 = 109 -- efeito que aparece na pessoa que levou reflect

function onStatsChange(cid, attacker, type, combat, value)
if value >= 1 and (type == STATSCHANGE_HEALTHLOSS )  then
if getPlayerStorageValue(cid,config.storage) == 1 and isCreature(attacker) then
doSendAnimatedText(getCreaturePosition(attacker),"-"..value, 215)
doCreatureAddHealth(attacker, -value, true)
doCreatureSay(cid,"Jutsu refletido!", 19)
doSendMagicEffect(getCreaturePosition(cid), config.effect1)
doSendMagicEffect(getCreaturePosition(attacker), config.effect2)
setPlayerStorageValue(cid,config.storage, 0)
return false
end
end
return true
end

 

 

6 minutos atrás, tetheuscunha disse:

@diarmaint Pode ser o CreatureSay, o meu estava dando o mesmo problema, as vezes ate levava debug, ai alterei pra   doSendAnimatedText(getPlayerPosition(cid), "REFLECT", TEXTCOLOR_RED). Parou todos os erros

Deu certo, foi só mudar mesmo, agora funcionou beleza, e não está dando erro algum!

Link para o post
Compartilhar em outros sites

@diarmaint O meu eu levava debug freneticamente, travava o tibia por minutos, não dava erro nenhum na distro. Só mudar isso resolveu.

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites

Um dúvida, se é refletido o dano, o certo não seria eu não levar o dano quando reflete?

Eu testei aumentando para 100% mas mesmo assim, eu tomo 5 de dano e devolvo 5 de dano, tem como eu não receber esse dano refletido ?

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

Agora isso não e mais comigo kkkkkk

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

Link para o post
Compartilhar em outros sites
  • 1 month later...

@Zanrix Teria como passar esse script pra 10.98. Mudei a versão do meu ot e o script parou de funcionar.

Senhoras e senhores, se alguma resposta lhe ajudou, marque-a como a melhor resposta e de ponto positivo, assim você incentiva quem lhe ajudou a continuar ajudando!!.

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.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo