Ir para conteúdo
  • Cadastre-se

Posts Recomendados

uma spell como? vc diz umas palavras e fica com uma carga da aegis e tem um cooldown de tipo uns 5 minutos?

Deste tipo

 

mano, teria coomo vc adaptar esse script e fazer uma magia? exemplo.. vc usa a magia, e se for morto em "x" segundos, configuravel.. após ter usado a magia, vc revive da forma desse script .. seria muito grato se vc criasse um novo topico  com o script da magia.. obg desde ja, rep+

Isso que quis dizer 

Link para o post
Compartilhar em outros sites
  • 3 months later...
  • Respostas 47
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Fala galera do TK, hoje vim trazer pra vocês um script de um server bem famoso, trata-se de nada mais e nada menos doque a Aegis of Immortal do Fox World. Quase nenhum OTserver consegue me deixar com

como assim só o verdadeiro? Aegis não sumona aegis pra ter mais de um. O restante eu posso fazer

ficou bem merda do jeito q vc pediu, a graça do boss era ele possuir a skill e não deixar corpse.. mas já que vc quer imitar os cara do fox então toma: no xml do monstro vc coloca o corpse: corps

pra versão 7.92 não tem como não :/ precisa de uns callbacks de 8.54+

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • 4 weeks later...

8.54 foi a versão testada

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • 10 months later...

tem como você fazer pro aegis ter efeito da smallholy girando em volta igual no video é pra quem obter a special skill enquanto tiver ela fica com efeito tmb

e  se tiver como tmb ja arruma pra dropa loot só o aegis verdadeiro

e tmb quem da ultimo hit no boss aparecer na teela de todos em branco

O jogador "Nick"absorveu a special skill Aegis f the Immortal ao desferir o último golpe no BOSS Aegis.

 

 

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

como assim só o verdadeiro? Aegis não sumona aegis pra ter mais de um. O restante eu posso fazer

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

faz o  seguinte muda pra primeira vez q mata o boss ja obter a special skill e poem 1 corpse e o efeito q fica girando no boss e pra quem obtter a special skill e pra aparece pra geral msg em branco quem desferiu ultimo golpe se possivel

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

ficou bem merda do jeito q vc pediu, a graça do boss era ele possuir a skill e não deixar corpse.. mas já que vc quer imitar os cara do fox então toma:

no xml do monstro vc coloca o corpse:
corpse="8937"/>

em data\creaturescripts\scripts\aegis.lua coloque assim>
 

Spoiler

local config = {
storagekill = 19500,
storageaegis = 19332,
tempo = 5,
times = 1, --- quantidade de vezes que tenho que matar
charges = 1,
effect1 = 66,
effect2 = 10
}

function onKill(cid, target, lastHit)
	local killed = getPlayerStorageValue(cid,config.storagekill) < 0 and 0 or getPlayerStorageValue(cid,config.storagekill)
	local skill = getPlayerStorageValue(cid, config.storageaegis)

	if isMonster(target) and getCreatureName(target):lower() == 'aegis' then
		if killed + 1 < config.times then
			doCreatureSay(target, "I'll be back mortal...", 20)
			doSendMagicEffect(getCreaturePosition(target), config.effect1)
			setPlayerStorageValue(cid, config.storagekill, killed + 1)
			addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(target), config.effect2)
			addEvent(doCreateMonster, 1000*config.tempo, "Aegis", getCreaturePosition(target), true)
		elseif killed + 1 >= config.times then
			setPlayerStorageValue(cid, config.storagekill, 0)
			if skill < config.charges then
				doPlayerSendTextMessage(cid,22,"Congratulations, you just killed "..getCreatureName(target).." and earned Aegis of Immortal skill!")
				doBroadcastMessage("O jogador ".. getCreatureName(cid) .." absorveu a special skill Aegis of the Immortal ao desferir o último golpe no BOSS Aegis.", 26)
				setPlayerStorageValue(cid, config.storageaegis, config.charges)
				zEffect(cid, 37)
			end
		end
	end
return true
end

 

 

 

em data\lib\function.lua coloque no fim do arquivo

 

Spoiler

function zEffect(uid, effect, n)
	if isCreature(uid) and getPlayerStorageValue(uid, 19332) > 0 then		
		local cpos = getCreaturePosition(uid)
		local positions = {
			[1] = {x = cpos.x + 1, y = cpos.y + 1, z = cpos.z},
			[2] = {x = cpos.x - 1, y = cpos.y + 1 , z = cpos.z},
			[3] = {x = cpos.x - 1, y = cpos.y - 1, z = cpos.z},
			[4] = {x = cpos.x + 1, y = cpos.y - 1, z = cpos.z}
		}
		local n = (n and n <= #positions) and n or 1
		doSendDistanceShoot(positions[n], positions[n + 1] or positions[1], effect)
		addEvent(zEffect, 200, uid, effect, n + 1)
	end
return true
end

 

 

Agora pro monstro Aegis ter o efeito em volta vc vai ter que colocar essa função nele ao criá-lo no mapa. No caso do fox pode ser uma talkaction /startAegis ou um globalEvent (nao sei ql dos dois q é), aí nesse outro script de criar o monstro vc coloca zEffect(monster, 37) que vai ficar rodando nele.

em data\creaturescripts\scripts\login.lua vc adiciona essa linha antes do ULTIMO return true:
 

if getPlayerStorageValue(cid, 19332) > 0 then
	zEffect(cid, 37)
end

 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
Em 31/01/2016 09:37:09, fenixelite disse:

faz o  seguinte muda pra primeira vez q mata ja obter a special skill e poem 1 corpse e   faz o resto q falei se for possivel

 

 

 

é q tou editando 1 fox 8.6 pra uns amg  q jogava fox brinca ^^ mo sdds pvp dedin foxworld era mo divertido

eu botei o aegis ta certinho + n tem como bota só pra quem da ultimo hit pega o special skills? pq todos q atk pega

man eu sou nubi nessa coisa de scripting tem como você faze o script pra sumona com o effect o monster?

Editado por fenixelite (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
addEvent(zEffect, 200, uid, effect, n + 1)

nesse 200 aí, é em milisegundos.. qnt menor mais rápido só que vai ficar mais pesado no seu servidor

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • 2 months later...
Em 02/02/2016 at 07:44, xWhiteWolf disse:

ficou bem merda do jeito q vc pediu, a graça do boss era ele possuir a skill e não deixar corpse.. mas já que vc quer imitar os cara do fox então toma:

no xml do monstro vc coloca o corpse:
corpse="8937"/>

em data\creaturescripts\scripts\aegis.lua coloque assim>
 

  Mostrar conteúdo oculto


local config = {
storagekill = 19500,
storageaegis = 19332,
tempo = 5,
times = 1, --- quantidade de vezes que tenho que matar
charges = 1,
effect1 = 66,
effect2 = 10
}

function onKill(cid, target, lastHit)
	local killed = getPlayerStorageValue(cid,config.storagekill) < 0 and 0 or getPlayerStorageValue(cid,config.storagekill)
	local skill = getPlayerStorageValue(cid, config.storageaegis)

	if isMonster(target) and getCreatureName(target):lower() == 'aegis' then
		if killed + 1 < config.times then
			doCreatureSay(target, "I'll be back mortal...", 20)
			doSendMagicEffect(getCreaturePosition(target), config.effect1)
			setPlayerStorageValue(cid, config.storagekill, killed + 1)
			addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(target), config.effect2)
			addEvent(doCreateMonster, 1000*config.tempo, "Aegis", getCreaturePosition(target), true)
		elseif killed + 1 >= config.times then
			setPlayerStorageValue(cid, config.storagekill, 0)
			if skill < config.charges then
				doPlayerSendTextMessage(cid,22,"Congratulations, you just killed "..getCreatureName(target).." and earned Aegis of Immortal skill!")
				doBroadcastMessage("O jogador ".. getCreatureName(cid) .." absorveu a special skill Aegis of the Immortal ao desferir o último golpe no BOSS Aegis.", 26)
				setPlayerStorageValue(cid, config.storageaegis, config.charges)
				zEffect(cid, 37)
			end
		end
	end
return true
end

 

 

 

em data\lib\function.lua coloque no fim do arquivo

 

  Mostrar conteúdo oculto


function zEffect(uid, effect, n)
	if isCreature(uid) and getPlayerStorageValue(uid, 19332) > 0 then		
		local cpos = getCreaturePosition(uid)
		local positions = {
			[1] = {x = cpos.x + 1, y = cpos.y + 1, z = cpos.z},
			[2] = {x = cpos.x - 1, y = cpos.y + 1 , z = cpos.z},
			[3] = {x = cpos.x - 1, y = cpos.y - 1, z = cpos.z},
			[4] = {x = cpos.x + 1, y = cpos.y - 1, z = cpos.z}
		}
		local n = (n and n <= #positions) and n or 1
		doSendDistanceShoot(positions[n], positions[n + 1] or positions[1], effect)
		addEvent(zEffect, 200, uid, effect, n + 1)
	end
return true
end

 

 

Agora pro monstro Aegis ter o efeito em volta vc vai ter que colocar essa função nele ao criá-lo no mapa. No caso do fox pode ser uma talkaction /startAegis ou um globalEvent (nao sei ql dos dois q é), aí nesse outro script de criar o monstro vc coloca zEffect(monster, 37) que vai ficar rodando nele.

em data\creaturescripts\scripts\login.lua vc adiciona essa linha antes do ULTIMO return true:
 


if getPlayerStorageValue(cid, 19332) > 0 then
	zEffect(cid, 37)
end

 

mano eu botei esse no meu server + todos que ataca e da magias no aegis ganha a aura e tmb aparece q todos desferiu ultimo hit :/ tem como arruma?

Editado por guizerah1995 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 3 weeks later...

depende muito d como seu server interpreta a function onKill.. 
se ele executar pra todos q ajudaram a matar vc precisa editar o aegis.lua no creaturescript e troca onde tá cid por lasthit

como fica :

function onKill(cid, target, lastHit)
local killed = getPlayerStorageValue(lasthit,config.storagekill)
local skill = getPlayerStorageValue(lasthit, config.storageaegis)


if isMonster(target) and getCreatureName(target):lower() == 'aegis' then
if killed < config.times then
doCreatureSay(target, "I'll be back mortal...", 20)
doSendMagicEffect(getThingPos(target), config.effect1)
setPlayerStorageValue(lasthit, config.storagekill, killed+1)
addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(target), config.effect2)
addEvent(doCreateMonster, 1000*config.tempo, "Aegis", getCreaturePosition(target), true)
end


if killed >= config.times then
setPlayerStorageValue(lasthit, config.storagekill, 0)
if skill < config.charges then
doPlayerSendTextMessage(lasthit,22,"Congratulations, you just killed "..getCreatureName(target).." and earned Aegis of Immortal skill!")
setPlayerStorageValue(lasthit, config.storageaegis, config.charges)
end
end
end
return true
end

(lembra q vc tem que fazer checagens pra verificar se o lasthit é player, se ele existe.. etc.) Não sei como funciona nos outros servers mas o meu chama o onKill só para o lasthit então o parametro cid ja é o lasthit e o parametro lasthit é um booleano.

 e como era

function onKill(cid, target, lastHit)
local killed = getPlayerStorageValue(cid,config.storagekill)
local skill = getPlayerStorageValue(cid, config.storageaegis)


if isMonster(target) and getCreatureName(target):lower() == 'aegis' then
if killed < config.times then
doCreatureSay(target, "I'll be back mortal...", 20)
doSendMagicEffect(getThingPos(target), config.effect1)
setPlayerStorageValue(cid, config.storagekill, killed+1)
addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(target), config.effect2)
addEvent(doCreateMonster, 1000*config.tempo, "Aegis", getCreaturePosition(target), true)
end


if killed >= config.times then
setPlayerStorageValue(cid, config.storagekill, 0)
if skill < config.charges then
doPlayerSendTextMessage(cid,22,"Congratulations, you just killed "..getCreatureName(target).." and earned Aegis of Immortal skill!")
setPlayerStorageValue(cid, config.storageaegis, config.charges)
end
end
end
return true
end

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
2 minutos atrás, xWhiteWolf disse:

depende muito d como seu server interpreta a function onKill.. 
se ele executar pra todos q ajudaram a matar vc precisa editar o aegis.lua no creaturescript e troca onde tá cid por lasthit

como fica :


function onKill(cid, target, lastHit)
local killed = getPlayerStorageValue(lasthit,config.storagekill)
local skill = getPlayerStorageValue(lasthit, config.storageaegis)


if isMonster(target) and getCreatureName(target):lower() == 'aegis' then
if killed < config.times then
doCreatureSay(target, "I'll be back mortal...", 20)
doSendMagicEffect(getThingPos(target), config.effect1)
setPlayerStorageValue(lasthit, config.storagekill, killed+1)
addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(target), config.effect2)
addEvent(doCreateMonster, 1000*config.tempo, "Aegis", getCreaturePosition(target), true)
end


if killed >= config.times then
setPlayerStorageValue(lasthit, config.storagekill, 0)
if skill < config.charges then
doPlayerSendTextMessage(lasthit,22,"Congratulations, you just killed "..getCreatureName(target).." and earned Aegis of Immortal skill!")
setPlayerStorageValue(lasthit, config.storageaegis, config.charges)
end
end
end
return true
end

(lembra q vc tem que fazer checagens pra verificar se o lasthit é player, se ele existe.. etc.) Não sei como funciona nos outros servers mas o meu chama o onKill só para o lasthit então o parametro cid ja é o lasthit e o parametro lasthit é um booleano.

 e como era


function onKill(cid, target, lastHit)
local killed = getPlayerStorageValue(cid,config.storagekill)
local skill = getPlayerStorageValue(cid, config.storageaegis)


if isMonster(target) and getCreatureName(target):lower() == 'aegis' then
if killed < config.times then
doCreatureSay(target, "I'll be back mortal...", 20)
doSendMagicEffect(getThingPos(target), config.effect1)
setPlayerStorageValue(cid, config.storagekill, killed+1)
addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(target), config.effect2)
addEvent(doCreateMonster, 1000*config.tempo, "Aegis", getCreaturePosition(target), true)
end


if killed >= config.times then
setPlayerStorageValue(cid, config.storagekill, 0)
if skill < config.charges then
doPlayerSendTextMessage(cid,22,"Congratulations, you just killed "..getCreatureName(target).." and earned Aegis of Immortal skill!")
setPlayerStorageValue(cid, config.storageaegis, config.charges)
end
end
end
return true
end

Blz mano vou testar aqui ok, Obrigado

Link para o post
Compartilhar em outros sites

Primeiro quero parabenizar pelo script! NICE JOB REP+

 

No meu servidor ninguém esta tomando dano e esta dando este erro:

(tanto quem tem o aegis buff e quem não tem)

[02/05/2016 18:28:10] [Error - CreatureScript Interface] 
[02/05/2016 18:28:10] data/creaturescripts/scripts/reborn.lua:onStatsChange
[02/05/2016 18:28:10] Description: 
[02/05/2016 18:28:10] data/creaturescripts/scripts/reborn.lua:13: attempt to call global 'getCreatureHealth' (a nil value)
[02/05/2016 18:28:10] stack traceback:
[02/05/2016 18:28:10]     data/creaturescripts/scripts/reborn.lua:13: in function <data/creaturescripts/scripts/reborn.lua:12>


 

Link para o post
Compartilhar em outros sites
7 horas atrás, Xafixav disse:

Primeiro quero parabenizar pelo script! NICE JOB REP+

 

No meu servidor ninguém esta tomando dano e esta dando este erro:

(tanto quem tem o aegis buff e quem não tem)

[02/05/2016 18:28:10] [Error - CreatureScript Interface] 
[02/05/2016 18:28:10] data/creaturescripts/scripts/reborn.lua:onStatsChange
[02/05/2016 18:28:10] Description: 
[02/05/2016 18:28:10] data/creaturescripts/scripts/reborn.lua:13: attempt to call global 'getCreatureHealth' (a nil value)
[02/05/2016 18:28:10] stack traceback:
[02/05/2016 18:28:10]     data/creaturescripts/scripts/reborn.lua:13: in function <data/creaturescripts/scripts/reborn.lua:12>


 

o erro diz que seu servidor não tem a função getCreatureHealth, que versão que vc usa? sabe qual é a função de pegar a vida atual do player no seu server?

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • 4 weeks later...
Em 03/05/2016 at 02:04, xWhiteWolf disse:

o erro diz que seu servidor não tem a função getCreatureHealth, que versão que vc usa? sabe qual é a função de pegar a vida atual do player no seu server?

 

Desculpe toda esta demora. Utilizo tf 0.3.6. Desconheço alguma que pegue a vida atual, acredito que nem tenha. :\
Estou tendo que utilizar getCreatureMaxHealth em alguns scripts como quebra galho.

Link para o post
Compartilhar em outros sites
  • 6 months later...

Boa tarde..

Queria saber se da para usar o reborn em uma verssao 7.x .

E qual outras funçao sem ser stantchange q posso usar para reviver o 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.

  • Conteúdo Similar

    • Por looktsx
      Salve Rapaziada tudo bom .
      queria ajuda pra cria um teleport ou uma alavanca com tempo ..
      depois do player usa o teleport ou a lavanca ele so poderá usa depois de tal determinado tempo.
       
      SERVIDOR 12.91
      Se alguem poder me ajuda vou fica grato ,
      des de ja agradeço a todos.
      ..
    • Por HSinhori
      Eu já procurei em varios lugares, achei varios artigos sobre, porém nenhum resolveu, alguém sabe como eu faço para tanto o "soul" quanto as "skills" passarem de 256 no client? Eu sei que no servidor ela passa, pois aparece que eu avancei para o skill 300+, mas no cliente, quando é pra estar 257 ele zera e recomeça...
       
      Eu acredito que possa ser no client, posso estar errado, alguem sabe onde é, e como resolver?
       
      Eu uso OTClient e tfs 0.4 rev 4393
    • Por RenanPhellip
      Eai galera!   
       
       
      Estou precisando de um npc que resete o player. Sendo mais específico preciso que tenha as seguintes funções se possível:
       
      Level minimo para resetar: 250.
      Level máximo: 600.
      Preço: 7 esferas do dragão.
      Manter skills, ml, life/mana e adicionar +25k de life/mana.
      Resete para o level 1.
      E por fim, troque a vocação do player (exemplo: se ele esta na vocação 2 , que vá para a 3).
      Aah, vale lembrar, que irei configurar várias vocações e não somente uma.
       
      Distro Utilizada: tfs 0.4 rev.3884
      Versão Do Servidor: 8.60
       
      Antes de mais nada vale lembrar que procurei em vários tópicos aqui no forum e os que encontrei não consegui modificá-los ao ponto que eu quero.
    • Por Balkalima
      Olá, estou com um problema, onde estou tentando colocar uma nova habilidade em um mostro do meu servidor com um efeito diferente o "yalaharighost" porém já tentei de várias formas adicionar essa skill no mostro mais n estou conseguindo... Segue abaixo um pedaço do script do mostro:
       
      <?xml version="1.0" encoding="UTF-8"?> <monster name="Barbossa" tp="1" nameDescription="a barbossa" race="blood" experience="12000" speed="450" manacost="0"> <health now="10000" max="10000"/> <look type="98" corpse="3058"/> <targetchange interval="60000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag staticattack="80"/> <flag lightlevel="0"/> <flag lightcolor="0"/> <flag targetdistance="1"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="1250" min="-580" max="-650"/> <attack name="yalaharighost" interval="1500" chance="40" range="4" radius="7" target="1" min="-550" max="-750"> <attribute key="shotEffect" value="yalaharighost"/> <attribute key="areaEffect" value="yalaharighostarea"/> </attack> </attacks>  
       Queria que o Spell fosse lançado em cima do jogador sem nenhum tipo de "Shootype" no percurso. Desde já agradeço!
    • Por greeneyzer
      Fala galera, minha duvida é o seguinte, gostaria que após um boss for morto uma parede é removida liberando acesso a um teleport, porém não gostaria que fosse temporário, se qualquer player matar o boss a parece some para todos e enquanto o server estiver onn o teleport fica disponível para todos. alguém sabe me informar se isso é possível? grato desde já.



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo