Ir para conteúdo
  • Cadastre-se

(Resolvido)Summon que cura o Player


Ir para solução Resolvido por Cerberus,

Posts Recomendados

1 hora atrás, Cerberus disse:

mostra configurado no monstro tb. o <script>   mostra o monstro todo.. o gnomo.

o script de cura ta perfeito... deve ser a configuração.


Segue a script solicitada:

Gnomo.xml

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

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

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

Posted Images

COMO ESPERA TA CURANDO PQ VOCÊ AINDA TA USANDO O OUTRO SPELL   

 <attacks>
        <attack name="melee" interval="2000" skill="10" attack="10"/>
        <attack name="cura" interval="100" chance="100" range="7" target="1"/> ISSO AQUI NÃO PRECISA
    </attacks>

VOCÊ NÃO TA VENDO CURAR PQ NÃO ESTOU PONDO EFEITO.. OU MSG DA CURA.. MAIS TA CURANDO SIM E god NÃO CURA PQ O LIFE NÃO MECHE.

 

VOU ABRIR 1 SERVIDOR 8.6 AQUI SO PARA TESTAR Xd.

VdIHT1E.png

ljSCxLd.png

aqui ta sem erro nenhum versão 8.6

 

vou te passar o daqui dinovo delete tudo que você tem referente a isso. vou usar seu script.deis do summon o gnomo ate o meu ... use tudo que te passar.

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

COMO ESPERA TA CURANDO PQ VOCÊ AINDA TA USANDO O OUTRO SPELL   

 <attacks>
        <attack name="melee" interval="2000" skill="10" attack="10"/>
        <attack name="cura" interval="100" chance="100" range="7" target="1"/> ISSO AQUI NÃO PRECISA
    </attacks>

VOCÊ NÃO TA VENDO CURAR PQ NÃO ESTOU PONDO EFEITO.. OU MSG DA CURA.. MAIS TA CURANDO SIM E god NÃO CURA PQ O LIFE NÃO MECHE.

 

VOU ABRIR 1 SERVIDOR 8.6 AQUI SO PARA TESTAR Xd.

VdIHT1E.png

ljSCxLd.png

aqui ta sem erro nenhum versão 8.6

 

vou te passar o daqui dinovo delete tudo que você tem referente a isso. vou usar seu script.deis do summon o gnomo ate o meu ... use tudo que te passar.

@CerberusNo aguardo dos arquivos....

Link para o post
Compartilhar em outros sites
18 minutos atrás, Cerberus disse:

vai ser assim configurando monstro primeiro

  Ocultar conteúdo


<?xml version="1.0" encoding="UTF-8"?>
<monster name="Gnomo" nameDescription="a Gnomo" race="blood" experience="5000" speed="268" manacost="0">
	<health now="3300" max="3300"/>
	<look type="309" head="20" body="30" legs="40" feet="50" corpse="6080"/>
	<targetchange interval="5000" chance="8"/>
	<strategy attack="100" defense="0"/>
	<flags>
		<flag summonable="0"/>
		<flag attackable="1"/>
		<flag hostile="1"/>
		<flag illusionable="0"/>
		<flag convinceable="0"/>
		<flag pushable="0"/>
		<flag canpushitems="1"/>
		<flag canpushcreatures="1"/>
		<flag targetdistance="1"/>
		<flag staticattack="90"/>
		<flag runonhealth="0"/>
	</flags>
	<attacks>
		<attack name="melee" interval="2000" min="-0" max="-550"/>
	</attacks>
	<defenses armor="30" defense="20">
		<defense name="healing" interval="1000" chance="100" min="10000000" max="20000000">
			<attribute key="areaEffect" value="blueshimmer"/>
		</defense>
	</defenses>
	<elements>
		<element energyPercent="25"/>
		<element icePercent="20"/>
		<element firePercent="20"/>
		<element holyPercent="20"/>
		<element earthPercent="20"/>
		<element physicalPercent="15"/>
		<element deathPercent="-37"/>
	</elements>
	<immunities>
		<immunity paralyze="1"/>
		<immunity invisible="1"/>
	</immunities>
	<voices interval="5000" chance="10">
	</voices>
	<script>
     <event name="cura"/>
</script>
<loot>
	</loot>
</monster>

 

 

Tag do creatureevent


 <event type="cast" name="cura" event="script" value="Cura.lua"/>

dentro do creatureevent o script com nome de Cura.lua

 

  Ocultar conteúdo


local cfg = {
    life = 1000,
	storage = 9999,
	tempo = 10 -- em segundos
    }
	
	function onCast(cid, target)
    local master = getCreatureMaster(cid)
	if exhaustion.check(master, cfg.storage) == false then
			local pos = getCreaturePosition(master)
            local pos2 = getCreaturePosition(target)
            doCreatureAddHealth(master, cfg.life)
			doSendAnimatedText(pos2, "Absorve", TEXTCOLOR_BLUE)
			exhaustion.set(master, cfg.storage,cfg.tempo*1000)
            doSendMagicEffect(pos, 12)
	else
	-- exhaustion.set(master, cfg.storage,0)
        return doPlayerSendTextMessage(master, 27, "Você vai ser curando em " ..exhaustion.get(master, cfg.storage).." segundos.")--doPlayerSendCancel(master, "Você vai ser curando em " ..exhaustion.get(cid, cfg.storage).." segundos.")	
    end
return true 
end

 

 

agora vai no spelll na TAG.

  Ocultar conteúdo


<!-- summon Gnomo teste -->
	<instant name="Summon Gnomo " words="!gnomo" lvl="40" manapercent="10" exhaustion="2000" needlearn="0" event="script" value="summon/Gnomo.lua">
		<vocation id="1"/>
		<vocation id="2"/>
		<vocation id="3"/>
		<vocation id="4"/>	
	</instant>

 

 

dentro da pasta Summon/Gnomo  cria o arquivo chamado Gnomo.lua e poe isso dentro

 

  Ocultar conteúdo


local max = 1
local item = 2394 -- id do item para sumonar

function onCastSpell(cid, var)
  local name = "Gnomo"
  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 não pode sumonar mais criaturas.')
    doSendMagicEffect(pos, CONST_ME_POFF)
    return false
  end
  local summon = getCreatureSummons(cid)
  if doPlayerRemoveItem(cid, item, 1) then
    if (table.maxn(summon) < max) then
      local mons = doSummonMonster(cid, name)
      doConvinceCreature(cid,mons)
      doPlayerSendTextMessage(cid,22,'Você invocou o '..name..'.')
    end
  else
    doPlayerSendCancel(cid, "Voce precisa de um Fragmento de "..name..".")
  end
end

 

 

pode marcar esse como melhor resposta ao terminar blz.... ai vai ajuda outros com a mesma duvida.

Agora sim, esta funcionando sou muito grato a você manow :9a45aa497c27561522a5833971840e17:
 Só uma duvida:
Esta dando o seguinte erro quando Sumona:

 

Spoiler

image.png.1d9ef651173e7cbe32116685f4ae3687.png


Mas mesmo com esse erro esta, curando normal.

Então tenho 2 perguntas antes de fechar o tópico:
1- Tem como colocar minimo e max healer, que o summon ira curar o player (Ou seja na script Cura do Creature), Caso não tenha, não tem problema, já esta muito bom.

2- Com esse erro pode crasha o Executaver ?

Link para o post
Compartilhar em outros sites

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.

Link para o post
Compartilhar em outros sites
27 minutos atrás, Cerberus disse:

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 )

Bom o erro da distro sumiu (vlw de novo)
Só que não consegui colocar para curar minimo/max

Quando coloco:

life = math.random(100,400)

Da o seguinte erro:

Spoiler

image.thumb.png.d331d459cab2fec24144c4a9b3541b85.png

 

Script NotePad++
 

Spoiler

image.thumb.png.cf1994d3e5bd1dc4185f726666501702.png


Quando coloco:

min = 100,

max = 400,

life = math.random(cfg.min,cfg.max )

Da erro:

Spoiler

image.thumb.png.6c7f56f990bc8fef077118b0cdf8c4d7.png

 

Script NotePad++

Spoiler

image.thumb.png.510bdd65ce2d5cd1bbd843239fb6083f.png

Link para o post
Compartilhar em outros sites

depois de life tem que ter  a virgula   life = math.random(100,400),

 

local cfg = {
    life = math.random(100,400),
	storage = 9999,
	tempo = 10 -- em segundos
    }
	
Editado por Cerberus (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
30 minutos atrás, Cerberus disse:

depois de life tem que ter  a virgula   life = math.random(100,400),

 


local cfg = {
    life = 
	storage = 9999,
	tempo = 10 -- em segundos
    }
	


Esta funcionando sem erro na distro, mas fica curando fixo exemplo:

Coloquei life = math.random(1,50),

 

Ele cura apenas 27 (Sempre 27)

 

Spoiler

image.thumb.png.3db68affe3ee9be3681bc20f0493c2b0.png

 

Obs: Eu mudei o tempo e a Storage pois estava contando o tempo x storage e ficava "Voce vai ser curado em 9999 segundos", mas desse jeito ele cura conforme configurado no Monster.XML eu acho melhor assim.

Link para o post
Compartilhar em outros sites
2 horas atrás, Cerberus disse:

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
    }

 

Funcionando Perfeitamente,

Muito obrigado Novamente
 :11007dbce4ff8f52e8a983e586f6f423:

Link para o post
Compartilhar em outros sites

@Cerberus

 

Tibiaking agradece pelo seu esforço!! Você conseguiu resolver este problema, parabéns!! Você que tens muito futuro no campo de scripts!!

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart vlw.. estou tentando... ainda vou consegui fazer isso em 1 xml que nem vc xD.. 

Link para o post
Compartilhar em outros sites
8 horas atrás, Cerberus disse:

vai ser assim configurando monstro primeiro

  Ocultar conteúdo


<?xml version="1.0" encoding="UTF-8"?>
<monster name="Gnomo" nameDescription="a Gnomo" race="blood" experience="5000" speed="268" manacost="0">
	<health now="3300" max="3300"/>
	<look type="309" head="20" body="30" legs="40" feet="50" corpse="6080"/>
	<targetchange interval="5000" chance="8"/>
	<strategy attack="100" defense="0"/>
	<flags>
		<flag summonable="0"/>
		<flag attackable="1"/>
		<flag hostile="1"/>
		<flag illusionable="0"/>
		<flag convinceable="0"/>
		<flag pushable="0"/>
		<flag canpushitems="1"/>
		<flag canpushcreatures="1"/>
		<flag targetdistance="1"/>
		<flag staticattack="90"/>
		<flag runonhealth="0"/>
	</flags>
	<attacks>
		<attack name="melee" interval="2000" min="-0" max="-550"/>
	</attacks>
	<defenses armor="30" defense="20">
		<defense name="healing" interval="1000" chance="100" min="10000000" max="20000000">
			<attribute key="areaEffect" value="blueshimmer"/>
		</defense>
	</defenses>
	<elements>
		<element energyPercent="25"/>
		<element icePercent="20"/>
		<element firePercent="20"/>
		<element holyPercent="20"/>
		<element earthPercent="20"/>
		<element physicalPercent="15"/>
		<element deathPercent="-37"/>
	</elements>
	<immunities>
		<immunity paralyze="1"/>
		<immunity invisible="1"/>
	</immunities>
	<voices interval="5000" chance="10">
	</voices>
	<script>
     <event name="cura"/>
</script>
<loot>
	</loot>
</monster>

 

 

Tag do creatureevent


 <event type="cast" name="cura" event="script" value="Cura.lua"/>

dentro do creatureevent o script com nome de Cura.lua

 

  Ocultar conteúdo


local cfg = {
    life = 1000,
	storage = 9999,
	tempo = 10 -- em segundos
    }
	
	function onCast(cid, target)
    local master = getCreatureMaster(cid)
	if exhaustion.check(master, cfg.storage) == false then
			local pos = getCreaturePosition(master)
            local pos2 = getCreaturePosition(target)
            doCreatureAddHealth(master, cfg.life)
			doSendAnimatedText(pos2, "Absorve", TEXTCOLOR_BLUE)
			exhaustion.set(master, cfg.storage,cfg.tempo*1000)
            doSendMagicEffect(pos, 12)
	else
	-- exhaustion.set(master, cfg.storage,0)
        return doPlayerSendTextMessage(master, 27, "Você vai ser curando em " ..exhaustion.get(master, cfg.storage).." segundos.")--doPlayerSendCancel(master, "Você vai ser curando em " ..exhaustion.get(cid, cfg.storage).." segundos.")	
    end
return true 
end

 

 

agora vai no spelll na TAG.

  Ocultar conteúdo


<!-- summon Gnomo teste -->
	<instant name="Summon Gnomo " words="!gnomo" lvl="40" manapercent="10" exhaustion="2000" needlearn="0" event="script" value="summon/Gnomo.lua">
		<vocation id="1"/>
		<vocation id="2"/>
		<vocation id="3"/>
		<vocation id="4"/>	
	</instant>

 

 

dentro da pasta Summon/Gnomo  cria o arquivo chamado Gnomo.lua e poe isso dentro

 

  Ocultar conteúdo


local max = 1
local item = 2394 -- id do item para sumonar

function onCastSpell(cid, var)
  local name = "Gnomo"
  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 não pode sumonar mais criaturas.')
    doSendMagicEffect(pos, CONST_ME_POFF)
    return false
  end
  local summon = getCreatureSummons(cid)
  if doPlayerRemoveItem(cid, item, 1) then
    if (table.maxn(summon) < max) then
      local mons = doSummonMonster(cid, name)
      doConvinceCreature(cid,mons)
      doPlayerSendTextMessage(cid,22,'Você invocou o '..name..'.')
    end
  else
    doPlayerSendCancel(cid, "Voce precisa de um Fragmento de "..name..".")
  end
end

 

 

pode marcar esse como melhor resposta ao terminar blz.... ai vai ajuda outros com a mesma duvida.

tem o script do action para sumonar o gnomo vc colocou um id ali

local max = 1
local item = 2394 -- id do item para sumonar

 

prescisa de uum action nao?

Link para o post
Compartilhar em outros sites
26 minutos atrás, mullino disse:

tem o script do action para sumonar o gnomo vc colocou um id ali


local max = 1
local item = 2394 -- id do item para sumonar

 

prescisa de uum action nao?

 

Não pois esse item esta na Spell, ou seja para usar essa Spell precisa do item "2394"
E não ao clicar no item "2394" sumona o Gnomo.

Link para o post
Compartilhar em outros sites
22 minutos atrás, mullino disse:

intendii obrigadoooo

mas tem como fazer por action??

au clicar ne item x sumona o gnomo

Ai ja não sei, mas creio que tenha.

Não entendo muito de scripts...

Link para o post
Compartilhar em outros sites
local max = 1
local ID = 2394 -- id do item para sumonar
local ActionID = 2394 -- action no item
local name = "Gnomo"
local remover = true -- se por false não remove o item ao sumonar o gnomo
function onUse(cid, item, fromPosition, itemEx, toPosition)
	  if item.itemid == ID then
			if item.actionid == ActionID then

			  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 não pode sumonar mais criaturas.')
				doSendMagicEffect(pos, CONST_ME_POFF)
				return false
			  end
			  local summon = getCreatureSummons(cid)
			 if getPlayerItemCount(cid,ID) >= 1 then
			  if (table.maxn(summon) < max) then
				local mons = doSummonMonster(cid, name)
				doPlayerSendTextMessage(cid,22,'Você invocou o '..name..'.')
				if remover == true then
				  doPlayerRemoveItem(cid, ID, 1) then
				end
			  end
			else   	
			  doPlayerSendCancel(cid, "Voce precisa de um Fragmento de "..name..".")
			end 
		  end
	end
end
return true
end

 

editei ai para remover ou não o item do summon ai depende de vc xD poe true = remove false = não remove.

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

gente eu to acompanhando o forum e esse topico, entao fui testar no meu sv e da isso

image.thumb.png.cc3f621554d555cc2a2502795c6a303a.png

 

enquanto o monstro fica brilhando em baixo dele

 

image.thumb.png.e3374831a056956ee2ed9fcfe6f4f24c.png

 

e caso eu morra ainda continua contando, e se eu deslogar tbm continua contando.

 

O que podemos fazer?

Link para o post
Compartilhar em outros sites
2 horas atrás, Luzetti disse:

gente eu to acompanhando o forum e esse topico, entao fui testar no meu sv e da isso

image.thumb.png.cc3f621554d555cc2a2502795c6a303a.png

 

enquanto o monstro fica brilhando em baixo dele

 

image.thumb.png.e3374831a056956ee2ed9fcfe6f4f24c.png

 

e caso eu morra ainda continua contando, e se eu deslogar tbm continua contando.

 

O que podemos fazer?


Ola, aqui também estava assim, ali em cima o Cerberus explicou o pq acontece isso... 

Respondendo: É pq a sua TFS usa o tempo normal e não em Milésimos de segundo, então faça assim, coloque assim no creature events:

 

	local cfg = {
    min =  20 ,
	max = 50,
	storage = 1,
	tempo = 1 -- em segundos
    }
	
	function onCast(cid, target)
    local master = getCreatureMaster(cid)
	if exhaustion.check(master, cfg.storage) == false then
			local pos = getCreaturePosition(master)
            local pos2 = getCreaturePosition(target)
			doCreatureAddHealth(master,math.random(cfg.min,cfg.max))
			doSendAnimatedText(pos2, "Sana!", TEXTCOLOR_GREEN)
			exhaustion.set(master, cfg.storage,cfg.tempo*1)
            doSendMagicEffect(pos, 12)
	else
	-- exhaustion.set(master, cfg.storage,0)
        return doPlayerSendTextMessage(master, 27, "Voce se sente calmo com a presensa do Gnomo.")--doPlayerSendCancel(master, "Você vai ser curando em " ..exhaustion.get(cid, cfg.storage).." segundos.")	
    end
return true 
end

E configura o tempo que sera curado pelo arquivo montro.xml nessa linha: 

	<defense name="healing" interval="5000" chance="50" min="1" max="25">

Obs: Esse min e max será que o monstro irá se curar.
Obss: Quando for testar essa scrit tem que trocar de char, se não vai continuar contando os 9999 segundos.

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.




×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo