Ir para conteúdo
  • Cadastre-se

(Resolvido)Summon que cura o Player


Ir para solução Resolvido por Cerberus,

Posts Recomendados

  Em 01/05/2018 em 17:26, Luis360 disse:

Opa desculpa falha minha tem uma parte que ta escrito assim

 

if (  getCreatureMaster(creature) ) then
  doCreatureAddHealth(getCreatureMaster(creature), 100)
  return doCombat(cid, combat, var)
end	

Mas o correto é :

 

if (  getCreatureMaster(cid) ) then
	doCreatureAddHealth(getCreatureMaster(cid), 100)
	return doCombat(cid, combat, var)
end	

 

Sacou a diferença entre os parenteses da função estava com creature, mas na verdade é cid

Mostrar mais  

Agora funciona mas, ele esta curando os monstros em vez de curar o player.

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

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

vai ser assim configurando monstro primeiro   Tag do creatureevent <event type="cast" name="cura" event="script" value="Cura.lua"/> dentro do creatureevent o script com nome de Cura.lua     agora vai no spelll na TAG.   dentro da pasta Summon/Gnomo  cria o arquivo chamado Gnomo.lua e poe isso dentro     pode marcar esse como melhor resposta ao terminar blz.... ai vai ajuda outros com a mesma duvida.

a sua TFS usa o tempo correto em ves de milisegundos entao use 1 mesmo em vez de 1000 que e igual 1 segundo em outras distro xd.quanto ao valor estando fizo faz seguinte poe ele diretamento no script e testa fica assim   onde tem doCreatureAddHealth(master,cfg.life)   poe assim  doCreatureAddHealth(master,math.random(cfg.min,cfg.max)) e lem cima no Cfg  no lugar de life vc escreve local cfg = { min =  100 , max = 400, storage = 9999, tempo = 10 -- em segundos

retira a linha toda do convence pq ja usei o creature summonem ves do create monster   doConvinceCreature(cid,mons) life = math.random(100,400)   ou poeseparado   min = 100, max = 400, life = math.random(cfg.min,cfg.max ) não esquece de marcar melhor resposta xD.

Posted Images

  Em 01/05/2018 em 17:35, peterson18 disse:

Agora funciona mas, ele esta curando os monstros em vez de curar o player.

Mostrar mais  

Certeza? pq eu testei aqui e ele esta healando o player, pq até então essa função aqui :

doCreatureAddHealth(getCreatureMaster(cid), 100) -- Heala o player
Link para o post
Compartilhar em outros sites
  Em 01/05/2018 em 17:36, Luis360 disse:

Certeza? pq eu testei aqui e ele esta healando o player, pq até então essa função aqui :

doCreatureAddHealth(getCreatureMaster(cid), 100) -- Heala o player
Expand   Mostrar mais  

Poderia dar uma olhada então?
Vou mandar as scripts:

Magia de Sumonar
 

local max = 1
local item = 12621

function onCastSpell(cid, var)

local dir = getPlayerLookDir(cid)
local ppos = getPlayerPosition(cid)

if(dir==1)then
ppos.x = ppos.x + 1
end
local count, pos = #getCreatureSummons(cid), getThingPos(cid)
if count == max then
doPlayerSendCancel(cid, 'Voce nao pode sumonar mais criaturas.')
doSendMagicEffect(pos, CONST_ME_POFF)
return false
end
local summon = getCreatureSummons(cid)
local MaximoSummon = 1
if doPlayerRemoveItem(cid, item, 1) then
	if (table.maxn(summon) < MaximoSummon) then
		local Gnomo = doConvinceCreature(cid, doCreateMonster("Gnomo", ppos))
		doPlayerSendTextMessage(cid, 22, "Voce convocou a Gnomo!")
	end
else
	doPlayerSendCancel(cid, "Voce precisa de um Fragmento de Gnomo.")
end
end

 

Summon:
 

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Gnomo" nameDescription="o Gnomo" race="undead" experience="0" speed="150" manacost="0">
    <health now="25" max="50"/>
	<look type="66" corpse="6015"/>
	<targetchange interval="2000" chance="0"/>
	<strategy attack="100" defense="0"/>
  <flags>
    <flag summonable="1"/>
    <flag attackable="1"/>
    <flag hostile="1"/>
    <flag illusionable="1"/>
    <flag convinceable="1"/>
    <flag pushable="1"/>
    <flag canpushitems="0"/>
    <flag canpushcreatures="0"/>
    <flag targetdistance="1"/>
    <flag staticattack="90"/>
    <flag runonhealth="1"/>
  </flags>
  	<attacks>
	<attacks>
  <attack name="cura" interval="100" chance="100" range="7" target="1"/>
	</attacks>
	</attacks>
	<elements>
	<element energyPercent="40"/>
	<element earthPercent="90"/>
	<element physicalPercent="60"/>
	</elements>
	<immunities>
		<immunity death="1"/>
		<immunity paralyze="1"/>
	</immunities>
	<voices interval="2000" chance="5">
		<voice sentence="?!"/>
		<voice sentence="Tsshh"/>
	</voices>
	<loot>
    <item id="10521" chance="600" /><!-- moon backpack -->
</loot>
</monster>

Magia de Curar:
 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1.5, 2)

function onCastSpell(cid,var)
if (  getCreatureMaster(cid) ) then
doCreatureAddHealth(getCreatureMaster(cid), 100)
return doCombat(cid, combat, var)
end	

end


Spell.XML
 

	<!-- Monstros -->
<instant name="cura" words="cura" lvl="1" mana="0" prem="0" range="3" casterTargetOrDirection="1" blockwalls="1" aggressive="0" exhaustion="2000" needlearn="0" event="script" value="monstros/cura.lua">
</instant>

<instant name="gnomo" words="gnomo" lvl="1" mana="0" prem="0" exhaustion="2000"  needlearn="0" event="script" value="summon/fada.lua">
<vocation id="4"/>
</instant>

 

Não tenho muita experiencia em .lua mas não consigo notar se tem alguma coisa errada, se conseguir me avise.
Desde já grato pela ajuda.

Link para o post
Compartilhar em outros sites

Melhor eu vou te passar os meus arquivos e você verifica.

 

Na magia utilizei o utevo res  funcionou bem.

Utilizei o rat.xml:

 

  Mostrar conteúdo oculto

 

Sepll heala_player.lua:

 

  Mostrar conteúdo oculto

 

Registrei com a seguinte tag:

 

  Mostrar conteúdo oculto

 

Link para o post
Compartilhar em outros sites

tenta

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1.5, 2)

function onCastSpell(cid,var)
if isCreature(target) or isPlayer(target) then
doCreatureAddHealth(target, -100)
doCreatureAddHealth(getCreatureMaster(cid), combat)
return doCombat(cid, combat, var)
end	

end

 

ai se quiser valor em formula faz outro local 2 com a função de dano , ai ele tira dano do bicho e volta pro player

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

    96847
    Tópicos
    519606
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo